JavaScript SDK
The status of @convt/sdk, and what to use until it is published.
Once it is published, the SDK runs all five steps in one call. Pass baseUrl while api.convt.app is not live, because the SDK defaults to that host:
import { Convt } from "@convt/sdk";
const convt = new Convt({
apiKey: process.env.CONVT_API_KEY,
baseUrl: "https://convt-api-production.up.railway.app",
});
const result = await convt.convert("report.docx", { to: "pdf" });
await result.save("report.pdf");
convert() detects the input format from the file extension, reserves the job, uploads, starts, polls once a second and returns the outputs. If anything fails or you abort it, it cancels the job so the reservation is released.
Options
| Option | Type | Description |
|---|---|---|
to |
Format |
Target format id. Required. |
from |
Format |
Input format id. Needed when the file name has no recognized extension. |
signal |
AbortSignal |
Cancels the conversion and the job. |
onProgress |
(job) => void |
Called with the job after each poll. |
timeoutMs |
number |
Gives up and cancels after this long. Defaults to 660,000 (11 minutes). |
Results
convert() returns a Conversion with job, outputs, and helpers to read them:
blob(index = 0)downloads one output as aBlob.save(path)writes the only output to disk. Node only.saveAll(directory)writes every output into a folder under the names the API returns, such asinput.pngandinput-2.png. Node only.
Errors are ConvtError instances with the API’s code and the HTTP status.
The lower-level methods create, start, status, cancel and download map one to one onto the API routes.