Video: Convert format — API reference

Convert video to a different format

All API tools
POST

/api/v1/jobs

tool: video-convert
scope: video:write
~5 credits

Convert video to a different format

Request body

FieldTypeRequiredDescription

tool

string

required

Must be "video-convert" for this endpoint.

input.url

string (URL)

required

Publicly fetchable URL of the source video file. Use /v1/uploads to upload directly to R2 if you don't have one.

options

object

optional

Tool-specific knobs. Defaults shown in the example. Unknown keys are ignored.

webhookUrl

string (URL)

optional

If set, we POST the final result to this URL. Pro/Max only — see Webhooks.

idempotencyKey

string

optional

Re-submitting with the same key within 24 h returns the original response without re-running the job.

Code sample

curl -X POST https://api.utified.com/v1/jobs \
  -H "Authorization: Bearer utf_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "video-convert",
    "input": { "url": "https://download.samplelib.com/mp4/sample-5s.mp4" },
    "options": {
      "format": "mp4",
      "quality": "medium"
    }
  }'

Responses

202

Accepted — job queued

{
  "id": "job_abc123def456",
  "state": "queued",
  "statusUrl": "/api/v1/jobs/job_abc123def456"
}

Polled status (GET /api/v1/jobs/<id>)

{
  "id": "job_abc123def456",
  "tool": "video-convert",
  "state": "completed",
  "progress": 100,
  "result": {
    "status": "converted",
    "outputFormat": "mp4",
    "downloadUrl": "https://media.utified.com/processed/abc123-clip_converted.mp4",
    "message": "Successfully converted to mp4"
  },
  "createdAt": "2026-05-17T15:42:00.000Z",
  "startedAt": "2026-05-17T15:42:01.124Z",
  "finishedAt": "2026-05-17T15:42:13.842Z",
  "queue": "video-standard-queue"
}

Pull result.downloadUrl once state === 'completed'. Set up a webhook to skip polling — see /docs/api/webhooks.