Skip to main content

Overview

Use the cgt-... ID returned by create. Poll every few seconds while the task is queued or running. Stop when the task is succeeded, failed, cancelled, or expired.
Do not reuse the unified v1 task enum or response struct here. /v1/tasks/{id} uses pending, processing, completed, and failed; this v3 endpoint uses the official enum above. In the v3 JSON object, duration is a string when present and error is omitted unless the task failed. A strict Go client should declare Duration as string with the JSON tag duration,omitempty, and stop on every v3 terminal status.
See also Seedance 2.0 Video Models and Video Generation.

Status Values

  • queued: accepted and waiting to run.
  • running: generation is in progress.
  • succeeded: result is ready and content.video_url is present.
  • failed: generation failed; inspect error.code and error.message.
  • cancelled: the task was cancelled before completion.
  • expired: the task expired before completion.

Response Fields

  • id: compatibility task ID, starting with cgt-.
  • model: model identifier echoed for compatibility.
  • status: one of the status values above.
  • content.video_url: final video URL on success.
  • content.last_frame_url: present only when requested and available.
  • usage: token usage when available.
  • created_at and updated_at: task timestamps.
  • error: present only when the task failed; omitted for non-failed tasks.
The response never adds TokenLab fields such as progress, return_last_frame, watermark, priority, or camera_fixed.

Example

Go