Skip to content
On this page

API reference · 0.1.0

convt API

Paid conversions. Upload directly using PUT to upload_url, then POST start. Poll status and download every output. Upload exactly input_bytes; the PUT signature binds Content-Length. Inputs and outputs expire after 24 hours. Each account may retain at most 100 job prefixes and 50 GB of declared input storage; cancellations retain this commitment until expiry cleanup succeeds. API price: 1 cent per successful job, pending launch price approval. 120 requests per minute per key. No webhooks.

Base URLhttps://api.convt.app

Authentication

cvt_live_ API key. Browser converters use a 5-minute account-scoped cvt_web_ credential issued by the site Worker. Create keys on the dashboard under API. Keys work once a payment method is on file.

Endpoints

Reserve a conversion and get a 15-minute upload URL

post/v1/jobs

Request body

  • input_formatstringrequired
  • target_formatstringrequired
  • input_bytesintegerrequired

Response body · 200

  • jobJob
  • upload_urlstring (uri)
  • upload_expires_ininteger

Responses

  • 200Successobject
  • 400Request refusedError
  • 401Request refusedError
  • 403Request refusedError
  • 404Request refusedError
  • 429Request refusedError
  • 502Request refusedError
Request
curl -X POST https://api.convt.app/v1/jobs \
  -H "Authorization: Bearer $CONVT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
      "input_format": "<input_format>",
      "target_format": "<target_format>",
      "input_bytes": 1
    }'

Read the status of an owned job

get/v1/jobs/{id}

Parameters

  • idstringrequired

    path

Responses

Request
curl https://api.convt.app/v1/jobs/id \
  -H "Authorization: Bearer $CONVT_API_KEY"

Seal the upload, validate its actual size and queue the job

post/v1/jobs/{id}/start

Parameters

  • idstringrequired

    path

Responses

Request
curl -X POST https://api.convt.app/v1/jobs/id/start \
  -H "Authorization: Bearer $CONVT_API_KEY"

Cancel an owned job and release its reservation

post/v1/jobs/{id}/cancel

Parameters

  • idstringrequired

    path

Responses

Request
curl -X POST https://api.convt.app/v1/jobs/id/cancel \
  -H "Authorization: Bearer $CONVT_API_KEY"

Get signed download URLs for completed outputs

get/v1/jobs/{id}/download

Parameters

  • idstringrequired

    path

Response body · 200

  • outputsarray of object
  • expires_ininteger

Responses

  • 200Successobject
  • 400Request refusedError
  • 401Request refusedError
  • 403Request refusedError
  • 404Request refusedError
  • 429Request refusedError
  • 502Request refusedError
Request
curl https://api.convt.app/v1/jobs/id/download \
  -H "Authorization: Bearer $CONVT_API_KEY"

List formats

get/v1/formats

Responses

  • 200Successarray of object
Request
curl https://api.convt.app/v1/formats \
  -H "Authorization: Bearer $CONVT_API_KEY"

Objects

Job

  • idstringrequired
  • statusstringrequired

    createduploadedqueuedrunningsucceededfailedcancelled

  • input_formatstring
  • target_formatstring
  • input_bytesintegernull
  • attemptinteger
  • error_codestringnull
  • expires_atstring (date-time)required

Error

  • errorobject