Seedance / Doubao video generation uses the native Volcengine Ark task protocol, transparently forwarded: request body, response body and status values are identical to the official Ark API; just replace authentication with your MaiToken API Key. Available model names (e.g. doubao-seedance-2-0, doubao-seedance-1-5-pro, doubao-seedance-1-0-pro) come from List Models.
Authorizations
Bearer Token authentication.
Authorization: Bearer YOUR_API_KEYSubmit a task
POST /api/v3/contents/generations/tasksRequest headers match the official Ark API: only Authorization: Bearer <token> and Content-Type: application/json (Seedance officially supports API Key auth only — no other special headers). Native Ark body:
model(required)content(required): array oftype: "text"(prompt; parameter directives like--resolution 720p --duration 5may be appended) andtype: "image_url"items —image_url.urlaccepts public URLs, Base64 data URIs orasset://<ASSET_ID>for library assets (see Virtual Avatar Assets);rolemay befirst_frame/last_frame/reference_image- Other parameters follow the official Ark documentation and are forwarded as-is:
resolution/duration/ratio/seed/watermark/camera_fixed/generate_audio/return_last_frame/service_tier(default/flex) /callback_url(status-change callback), etc.
Query a task
GET /api/v3/contents/generations/tasks/{id}Native Ark task object; status values (native Ark): queued / running / succeeded / failed / cancelled / expired. On success, content.video_url holds the generated video (valid for 24 hours — download promptly); with return_last_frame: true the last frame is in content.last_frame_url.
List tasks
GET /api/v3/contents/generations/tasks?page_num=1&page_size=20Native Ark list endpoint with filter.status, filter.task_ids, filter.model etc. (page_num / page_size range 1–500); the response is items[] + total.
Cancel / delete a task
DELETE /api/v3/contents/generations/tasks/{id}Native Ark semantics: for queued tasks this cancels (status becomes cancelled); for succeeded / failed / expired tasks it deletes the record; running and cancelled tasks do not support this operation. Returns an empty JSON {} on success.
Notes
- Query with the same API Key used for submission; task Ids are queryable for 7 days, then 404
task_not_found - Endpoints outside the whitelist return 404
unsupported_endpoint - Poll every 5–10 seconds until a terminal state (
succeeded/failed) asset://references require the asset to beActive— see Virtual / Real-Person assets- Full field definitions follow the official Volcengine Ark documentation; the platform performs no field rewriting
