Video

Get Video Task

Check a video task and collect the finished clip.

Poll every 10 to 15 seconds. When status is succeeded, output.video_url holds a durable CDN URL. Tasks from POST /v1/videos/edits (edits and motion transfer) are polled here too.

GET/v1/videos/tasks/{id}Try it
Get Video Task
cURL
curl --request GET \
  --url https://api.spicyapi.com/v1/videos/tasks/task_5d9e2f10 \
  --header 'Authorization: Bearer $SPICYAPI_KEY'
200
JSON
{
  "id": "task_5d9e2f10",
  "object": "task",
  "type": "video",
  "model": "spicy-motion-3",
  "status": "succeeded",
  "output": {
    "video_url": "https://cdn.spicyapi.com/outputs/a1b2/task_5d9e2f10.mp4"
  },
  "error": null,
  "error_code": null,
  "cost_usd": 3.2,
  "usage": { "output_seconds": 8, "input_seconds": 8, "resolution": "720P" }
}

Authorizations

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>, where <token> is your SpicyAPI key (sk-spicy-…). Create one in the dashboard under API Keys.

Response

200 · application/json

Successful Response

idstringrequired

The task id.

statusstringrequired

queued, processing, finalizing, succeeded, or failed.

outputobject | null

Present once finished.

errorstring | null

Failure reason, if any. Failed tasks are refunded.

error_codestring | null

blocked when the model declined the content; otherwise null.

cost_usdnumberrequired

What the task cost. Equal to the amount debited at creation, except for duration: -1 tasks, which settle to the rendered length once succeeded (the difference is refunded).

usageobject | null

What was rendered. Null until the task succeeds.

Was this page helpful?