POST/v1/predict0 or 20 credits
Retry start
Not the happy path. Use this only if Get prediction stays awaiting_upload after a 2xx Upload the clip — credit miss, busy, or daily cap. The same upload_id retries the reserve. If the job is already queued, this returns that prediction and charges 0.
upload_id is upl_ plus 32 hex characters from Get upload link. Duration is read from the file. Do not attach the MP4 to this request.
Needs predict:write on the key. This is a permission on the key, not a request header. Missing it returns 403 api_not_enabled. This call reserves 20 only when consume has not already reserved. Refunded if the job expires or errors.
Request parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
upload_id |
body | string | Required | Id from Get upload link, upl_ plus 32 hex characters. JSON only — no file body. |
Response
{
"object": "prediction",
"id": "pred_7b3e0c1d2e3f4a5b6c7d8e9f0a1b2c3d",
"status": "queued",
"created_at": "2026-09-15T14:02:11.000Z",
"completed_at": null,
"input": { "duration_sec": 18 },
"result": null,
"error": null
}
Response fields
| Name | Type | Required | Description |
|---|---|---|---|
object |
string | Required | Always prediction. |
id |
string | Required | Public id, pred_ plus 32 hex characters. |
status |
string | Required | One of awaiting_upload, queued, running, succeeded, failed. |
created_at |
string | Required | When the job was created. |
completed_at |
string | Nullable | Set when the job finishes. null while awaiting upload, queued, or running. |
input |
object | Nullable | Echo of accepted input, or null. |
input.duration_sec |
number | Nullable | Present when input is set. |
result |
object | Nullable | Score payload on success. null until then and on failure. |
result.band |
string | Optional | Present when result is set. |
result.hook_duration_sec |
number | Nullable | Present when result is set. |
result.category |
object | Nullable | Present when result is set. May itself be null. |
result.category.slug |
string | Optional | Present when result.category is set. |
error |
object | Nullable | Set on failure. null otherwise. |
error.type |
string | Optional | When error is set: unsupported, unsafe, or system_error. |
error.message |
string | Optional | Present when error is set. English text. |