Poll the status and result of a video generation task created via POST /v1/video-generation.
Call this endpoint periodically with the task_id returned from task creation. When status is Success, file_url contains the generated video URL.
Note: this endpoint’s envelope uses message, not msg as the create task endpoint does. Plan both field names when parsing.
Video generation averages 2+ minutes. Use this schedule to balance responsiveness and request cost:
| Phase | Elapsed | Interval |
|---|---|---|
| Initial wait | 0 – 30s | — (no requests) |
| Medium | 30s – 2 min | every 5s |
| Dense | 2 – 4 min | every 3s (peak) |
| Slow | 4 – 8 min | every 8s |
| Idle | 8 – 15 min | every 15s |
| Timeout | > 15 min | stop, report error |
Stop polling when status is Success, Failed, or Cancelled.
curl --request GET \
--url https://api.linkai.one/api/v1/query/video-generation \
--header 'Authorization: Bearer <token>'{
"code": 0,
"data": {
"task_id": "aurora_abc123",
"prompt": "A futuristic city at sunset",
"file_url": "https://cdn.xxx.com/out.mp4",
"first_frame_image": "<string>",
"last_frame_image": "<string>",
"model": "sora-2",
"duration": 10,
"metadata": "<string>",
"msg": "<string>",
"status": "Success"
},
"message": "success",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Task id returned from POST /v1/video-generation.
"aurora_abc123"
curl --request GET \
--url https://api.linkai.one/api/v1/query/video-generation \
--header 'Authorization: Bearer <token>'{
"code": 0,
"data": {
"task_id": "aurora_abc123",
"prompt": "A futuristic city at sunset",
"file_url": "https://cdn.xxx.com/out.mp4",
"first_frame_image": "<string>",
"last_frame_image": "<string>",
"model": "sora-2",
"duration": 10,
"metadata": "<string>",
"msg": "<string>",
"status": "Success"
},
"message": "success",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}