Video¶
Seedance 2.0¶
Create Video Generation Task¶
Submit a video generation task. Supports text-to-video and image-to-video.
curl -X POST "https://www.chnllm.com/v1/video/generations" \
-H "Authorization: Bearer $WS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-0-260128",
"prompt": "First-person POV throughout, using the composition of video 1 and audio 1 as background music. A first-person fruit-tea promo for AVG \"WSAI\" Apple Fruit Tea limited edition; first frame is image 1, your hand picks a dew-covered Aksu red apple with a crisp snap; 2-4s: quick cut, your hand drops apple chunks into a shaker with ice and tea base, shakes vigorously, ice and shaking sounds sync to upbeat drums, voiceover: \"Freshly cut, freshly shaken\"; 4-6s: first-person close-up of the finished product, layered fruit tea poured into a clear cup, your hand spreads cream cap on top, applies a pink label, camera moves in on the layered texture; 6-8s: first-person hold-up, you raise the fruit tea from image 2 to the camera (as if handing it to the viewer), label clearly visible, voiceover: \"Take a fresh sip\", final frame freezes on image 2. All background voice unified as female timbre.",
"images": [
"https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic1.jpg",
"https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic2.jpg"
],
"videos" :["https://ark-project.tos-cn-beijing.volces.com/doc_video/r2v_tea_video1.mp4"],
"audios": [
"https://ark-project.tos-cn-beijing.volces.com/doc_audio/r2v_tea_audio1.mp3"
],
"metadata": {
"generate_audio": true,
"resolution" : "480p",
"ratio": "4:3",
"duration": 5,
"watermark": false
}
}'
Returns a task ID. Use the GET endpoint to query task status.
Get Video Generation Task Status¶
Query the status and result of a video generation task.
Task status:
{
"code": "success",
"message": "",
"data": {
"task_id": "task_id",
"action": "generate",
"status": "SUCCESS",
"fail_reason": "",
"submit_time": 1775188030,
"start_time": 1775188043,
"finish_time": 1775188329,
"progress": "100%",
"data": {
"id": "task_id",
"draft": false,
"model": "volcengine/doubao-seedance-2-0-260128",
"ratio": "4:3",
"frames": 0,
"result": {
"id": "cgt-20260403114650-qgcb2",
"seed": 40141,
"draft": false,
"model": "doubao-seedance-2-0-260128",
"ratio": "4:3",
"usage": {
"total_tokens": 99111,
"completion_tokens": 99111
},
"status": "succeeded",
"content": {
"video_url": "video download URL"
},
"duration": 5,
"created_at": 1775188030,
"resolution": "480p",
"updated_at": 1775188324,
"service_tier": "default",
"generate_audio": true,
"framespersecond": 24,
"execution_expires_after": 172800
},
"status": "succeed",
"duration": 5,
"created_at": "2026-04-03T03:47:10Z",
"resolution": "480p",
"updated_at": "2026-04-03T03:52:04Z"
}
}
}
queued: queuedin_progress: in progresscompleted: completedfailed: failed
Kling¶
Text-to-Video - Create Task¶
Submit a text-to-video task. Returns a task ID. Use the GET endpoint to query task status.
curl -X POST "https://www.chnllm.com/kling/v1/videos/text2video" \
-H "Authorization: Bearer $WS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-v3",
"prompt": "A cat playing piano in the garden",
"negative_prompt": "blurry, low quality",
"cfg_scale": 0.7,
"mode": "pro",
"aspect_ratio": "16:9",
"duration": "4",
"metadata": {
"sound": "on"
}
}'
Request parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
model |
string | Yes | Model name, e.g. kling-v3 |
prompt |
string | Yes | Positive prompt describing the desired video content |
negative_prompt |
string | No | Negative prompt describing content to avoid |
cfg_scale |
float | No | Prompt adherence, range 0–1; higher values follow the prompt more closely |
mode |
string | No | Generation mode, std (standard) or pro (high quality) |
aspect_ratio |
string | No | Aspect ratio, e.g. 16:9, 9:16, 1:1 |
duration |
string | No | Video duration in seconds, e.g. 4, 5, 10 |
metadata.sound |
string | No | Whether to generate audio, on to enable, off to disable |
Response example:
{
"code": 0,
"message": "SUCCEED",
"request_id": "request_id",
"data": {
"task_id": "task_id",
"task_status": "submitted",
"created_at": 1775188030000,
"updated_at": 1775188030000
}
}
Text-to-Video - Query Task¶
Query the status and result of a text-to-video task.
curl "https://www.chnllm.com/kling/v1/videos/text2video/task_id" \
-H "Authorization: Bearer $WS_API_KEY"
Task status:
{
"code": 0,
"message": "SUCCEED",
"request_id": "request_id",
"data": {
"task_id": "task_id",
"task_status": "succeed",
"task_status_msg": "",
"created_at": 1775188030000,
"updated_at": 1775188329000,
"task_result": {
"videos": [
{
"id": "video_id",
"url": "video download URL",
"duration": "4"
}
]
}
}
}
Image-to-Video - Create Task¶
Submit an image-to-video task using an image as the first frame (optional last frame). Returns a task ID.
curl -X POST "https://www.chnllm.com/kling/v1/videos/image2video" \
-H "Authorization: Bearer $WS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-v3",
"image": "https://example.com/first-frame.jpg",
"image_tail": "https://example.com/last-frame.jpg",
"prompt": "A cat playing piano in the garden",
"negative_prompt": "blurry, low quality",
"cfg_scale": 0.7,
"mode": "pro",
"duration": "4",
"metadata": {
"sound": "on"
}
}'
Request parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
model |
string | Yes | Model name, e.g. kling-v3 |
image |
string | Yes | First frame image, supports image URL or Base64 encoding |
image_tail |
string | No | Last frame image, supports image URL or Base64 encoding |
prompt |
string | No | Positive prompt describing the desired video content |
negative_prompt |
string | No | Negative prompt describing content to avoid |
cfg_scale |
float | No | Prompt adherence, range 0–1; higher values follow the prompt more closely |
mode |
string | No | Generation mode, std (standard) or pro (high quality) |
duration |
string | No | Video duration in seconds, e.g. 4, 5, 10 |
metadata.sound |
string | No | Whether to generate audio, on to enable, off to disable |
Response example:
{
"code": 0,
"message": "SUCCEED",
"request_id": "request_id",
"data": {
"task_id": "task_id",
"task_status": "submitted",
"created_at": 1775188030000,
"updated_at": 1775188030000
}
}
Image-to-Video - Query Task¶
Query the status and result of an image-to-video task.
curl "https://www.chnllm.com/kling/v1/videos/image2video/task_id" \
-H "Authorization: Bearer $WS_API_KEY"
Task status:
{
"code": 0,
"message": "SUCCEED",
"request_id": "request_id",
"data": {
"task_id": "task_id",
"task_status": "succeed",
"task_status_msg": "",
"created_at": 1775188030000,
"updated_at": 1775188329000,
"task_result": {
"videos": [
{
"id": "video_id",
"url": "video download URL",
"duration": "4"
}
]
}
}
}
Kling task status:
submitted: submittedprocessing: in progresssucceed: completedfailed: failed