Video job status
Check a video job's progress. Only the job's owner can read it.
Implemented
Request
GET
/videos/generations/{jobId}Requires the Authorization: Bearer apl_... header
| Field | Type | Description |
|---|---|---|
jobIdrequired | string (path) | The job ID returned at creation. |
Response
| Field | Type | Description |
|---|---|---|
statusrequired | "queued" | "running" | "completed" | "failed" | Current status. |
content_url | string | Present only when completed. Path to download the MP4 through ApiLux. |
actual_duration_seconds | integer | Actual seconds, when the provider reports it. |
apilux.credit_refundedrequired | integer | Credits refunded (non-zero when the job failed). |
Billing
Free. Polling never charges anything.
Examples
curl https://apilux.net/api/v1/videos/generations/vidjob_YOUR_JOB_ID \
-H "Authorization: Bearer apl_YOUR_API_KEY"Errors
| HTTP | Code | Meaning |
|---|---|---|
| 401 | auth_missing_or_malformed | Missing Authorization header, or it is not in the Bearer apl_... form. |
| 401 | auth_invalid | The API key does not exist. |
| 401 | auth_revoked | The API key has been revoked. |
| 401 | auth_expired | The API key has expired. |
| 404 | not_found | The job does not exist, or is not yours — both cases return the same response. |
| 502 | upstream_error | The model provider failed. You are not charged. |
| 504 | upstream_timeout | The provider did not respond in time. You are not charged. |
| 429 | upstream_rate_limited | Rate limited. Retry after a few seconds. |
Notes
Poll about every 5 seconds. Videos usually finish in 40–180 seconds depending on model and length.