Create a job
Reserves one conversion and returns a signed upload_url that stays valid for 15 minutes (upload_expires_in is 900 seconds).
input_bytes must be the exact size of the file you will upload, from 1 byte to 2 GB. The upload signature binds Content-Length, so a different size fails at upload or at start.
Creating a job reserves 1 cent against your spend cap until the job finishes. A job that fails or is cancelled releases the reservation.
/v1/jobsAuthorizationBearer token · headerrequiredA cvt_live_ API key from the dashboard, sent as Authorization: Bearer cvt_live_…. Keep it on your server.
application/jsoninput_formatstringrequiredFormat id of the file you upload, such as png or docx. See Formats.
target_formatstringrequiredFormat id to convert to. It must differ from input_format and be a target the input can reach.
input_bytesintegerrequiredExact size of the upload in bytes.
The job was reserved. Upload the file to upload_url next.
jobJobOne conversion and its state.
Show propertiesHide properties
idstringrequiredJob id, prefixed job_.
statusstringrequiredcreated → queued → running → succeeded or failed. cancelled can happen at any point before the job finishes. uploaded is reserved and not used yet.
createduploadedqueuedrunningsucceededfailedcancelledinput_formatstringtarget_formatstringinput_bytesinteger | nullSize you reserved
attemptintegerHow many times a worker has picked up the job. Starts at 0.
error_codestring | nullWhy a failed job failed (conversion_failed, expired_or_exhausted or worker_shutdown), otherwise null.
expires_atstring<date-time>requiredWhen the job and its files are deleted
upload_urlstring<uri>Signed URL. Send the file bytes to it with PUT.
upload_expires_inintegerSeconds until upload_url stops accepting uploads. Always 900.
unsupported_format or file_too_large.
errorobjectShow propertiesHide properties
codestringmessagestringunauthorized: no Authorization: Bearer header.
errorobjectShow propertiesHide properties
codestringmessagestringunauthorized (key invalid or revoked) or a billing limit.
errorobjectShow propertiesHide properties
codestringmessagestringnot_found: the job does not exist, belongs to another account, or has expired.
errorobjectShow propertiesHide properties
codestringmessagestringrate_limited: more than 120 requests in a minute for this key.
errorobjectShow propertiesHide properties
codestringmessagestringstorage_unavailable: object storage did not answer. Retry with backoff.
errorobjectShow propertiesHide properties
codestringmessagestring