Skip to content

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.

{"task_id":"task_id"}

Get Video Generation Task Status

Query the status and result of a video generation task.

curl https://www.chnllm.com/v1/video/generations/task_id \
  -H "Authorization: Bearer $WS_API_KEY"

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: queued
  • in_progress: in progress
  • completed: completed
  • failed: 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 01; 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 01; 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: submitted
  • processing: in progress
  • succeed: completed
  • failed: failed