Core Endpoint
GET /api/v1/requests/{requestId}
Poll the current state of a previously submitted request.
Usage
curl https://www.cannonstudio.app/api/v1/requests/req_123 \ -H "x-api-key: YOUR_API_KEY"
Start polling after the create response's poll_after_ms. Stop when status is succeeded or failed.
Returned object
{
"id": "req_123",
"operation": "video.generate",
"status": "succeeded",
"billableCredits": 48,
"inputPreview": "A handheld chase through a crowded market at blue hour.",
"outputPreview": "Asset ready: https://storage.googleapis.com/...",
"createdAtMs": 1762479300000,
"startedAtMs": 1762479301200,
"completedAtMs": 1762479338200,
"errorMessage": null,
"output": {
"task_id": "vid_123",
"asset_type": "video",
"status": "succeeded",
"video_url": "https://storage.googleapis.com/.../video.mp4",
"provider": "seedance",
"model": "seedance2"
},
"requestLog": {
"available": true,
"retentionDays": 7,
"retainedUntilMs": 1763084138200,
"input": {
"prompt": "A handheld chase through a crowded market at blue hour.",
"model": "seedance2"
},
"output": {
"video_url": "https://storage.googleapis.com/.../video.mp4"
},
"errorMessage": null
}
}`requestLog` contains the submitted input and resulting output for API-originated calls. Detailed logs are retained for seven days, then removed by the storage-retention sweep.