Retrieve a video task
H3 video task API · /api/v3
Endpoint
GET
https://fablun.com/api/v3/contents/generations/tasks/{id}Use the original cgt-… ID returned by creation. Retrieval is limited to 20 QPS shared by the account.
Request and response
cURL
curl 'https://fablun.com/api/v3/contents/generations/tasks/cgt-0123456789abcdef0123456789abcdef' \
-H "Authorization: Bearer $ARK_API_KEY"JSON · Successful response example
{
"id": "cgt-0123456789abcdef0123456789abcdef",
"model": "h3-pro",
"status": "succeeded",
"created_at": 1793600000,
"updated_at": 1793600030,
"content": {
"video_url": "https://YOUR_RESULT_HOST/video.mp4?SIGNED_QUERY"
},
"seed": 42,
"resolution": "480p",
"duration": 5,
"ratio": "16:9",
"framespersecond": 24,
"generate_audio": true,
"service_tier": "default",
"error": null
}| Field | Type | Description |
|---|---|---|
status | string | Task status; see the table below. |
content.video_url | string | null | Playback/download URL, valid for one hour after completion. Queries do not extend it. |
seed | integer | Actual seed, including the resolved value for random requests. |
created_at / updated_at | integer | Unix timestamp in seconds. |
error | object | null | On failure, read code / message; null on success. |
Task states
| status | Meaning | What to do |
|---|---|---|
queued | Queued | Keep polling the same task. |
running | Running | Preparing inputs, generating or delivering video; continue polling. |
succeeded | Succeeded | Read content.video_url; it may be null after the link expires. |
failed | Failed | Read error.code and error.message. |
expired | Expired | The task lifetime, including queueing, has ended. |
cancelled | Cancelled | Stop polling. |
Poll about every 2 seconds. A client timeout does not cancel the task; save the ID and continue querying. Normal records are retained for 7 days from creation, cancelled records for 24 hours; video URLs remain valid for only 1 hour.