Seedance 2 · Video
Image to VideoNEW
📌 What is this:Turn reference images into a moving video.
💡 When to use:Use when you have an image and want it animated; prompt is optional when reference images drive it.
Endpoints
| Usage | Method | Path |
|---|---|---|
| Submit task | POST | /api/cqt/generator/seedance2 |
| Query Result | GET | /api/cqt/info/seedance2?id={taskId} |
⏱ Recommended polling interval:Video generation is slow (~1-4 min); poll every 15s until status = succeeded / failed.
Request Parameters
| Param | Type | Required | Description |
|---|---|---|---|
| model | string | — | Fixed seedance2 |
| prompt | string | — | Video description (optional for image-to-video) |
| imageUrls | array | — | Reference image URL array (<=2, must be publicly reachable) |
| firstFrameUrl | string | — | First-frame image URL (optional) |
| lastFrameUrl | string | — | Last-frame image URL (optional) |
| seconds | integer | — | Duration (sec) 4-15, default 5 |
| resolution | string | — | Resolution 480p / 720p, default 720p |
| generateAudio | boolean | — | Whether to generate audio, default false |
Request Example
curl -X POST https://api.cqtai.com/api/cqt/generator/seedance2 \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "seedance2",
"prompt": "make this photo come alive",
"imageUrls": ["https://example.com/input.jpg"],
"seconds": 5,
"resolution": "720p",
"generateAudio": false
}'
# -> { "code":200, "data":"<taskId>" }Response Example
{
"code": 200,
"data": {
"id": "<taskId>",
"status": "succeeded",
"resultUrl": "https://.../result.mp4",
"createTime": "2026-06-15 10:00:00",
"completeTime": "2026-06-15 10:02:00"
}
}Response Fields
| Field | Type | Description |
|---|---|---|
| code | number | Status code; 200 means success |
| msg | string | Status message; "success" on success |
| data.id | string | Task ID (taskId); use it to poll GET /api/cqt/info |
| data.status | string | Task status: succeeded / failed / otherwise still processing |
| data.resultUrl | string | URL of the generated video; returned when status = succeeded, null otherwise |
| data.errorMsg | string | null | Failure reason; null on success |
| data.createTime | string | Task creation time |
| data.completeTime | string | null | Task completion time; null until finished |
Billing & Credits
5 credits x duration (sec) (x your user rate). Auto-refunded on failure.