U9 AI · DOCUMENTATION
Seedance 2.0 V2 video API
Create, track and download Seedance Mini or Fast V2 video tasks with the public API.
Download Markdown ↓# Seedance 2.0 V2 video API
This is U9AI's current public contract for Seedance 2.0 Mini and Fast V2 video tasks. It uses a U9AI API key, never a provider key, browser cookie, or signed-in website session. V2 is asynchronous: a successful creation response means that a task was accepted, not that a video is ready.
Endpoints and authentication#
Use HTTPS and Authorization: Bearer $U9AI_API_KEY for every request. Start with model discovery to confirm that the key authenticates for this request. Actual model access still depends on the returned result.
| Operation | Method and URL |
|---|---|
| List available models | GET https://u9ai.ai/v1/models |
| Create a Mini task | POST https://u9ai.ai/api/v2/open/aigc/seedance2-0-mini-oversea |
| Create a Fast task | POST https://u9ai.ai/api/v2/open/aigc/seedance2-0-fast-oversea |
| Read one task | GET https://u9ai.ai/api/v2/open/aigc/{taskId} |
| Read tasks in batch | POST https://u9ai.ai/api/v2/open/aigc/batch |
| Read balance / request records | GET https://u9ai.ai/api/v2/open/balance / GET https://u9ai.ai/api/v2/open/records |
Do not mix an upstream V3 /api/v3/... path or its generate_audio field into this V2 request. The U9AI Seedance V2 audio field is camelCase: generateAudio.
Create a task#
content is an array and must include at least one type: "text" prompt. Mini and Fast support 480p and 720p; duration is 4–15 seconds. Common ratios are 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, and adaptive.
Use a complete server-readable HTTPS URL or a complete data:image/...;base64,... URI for reference material. Do not send a local path, private-network URL, or a URL that requires browser login. Image roles include first_frame, last_frame, and reference_image. Do not use one image as both first and last frame; for multiple reference images, explain their order in the prompt.
curl --fail-with-body -sS "https://u9ai.ai/api/v2/open/aigc/seedance2-0-mini-oversea" \
-H "Authorization: Bearer $U9AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": [
{"type":"text","text":"Use image 1 as reference and create a short video with natural camera movement."},
{"type":"image_url","image_url":{"url":"https://example.com/your-authorized-image.jpg"},"role":"reference_image"}
],
"ratio":"9:16",
"duration":5,
"resolution":"720p",
"generateAudio":true
}'Replace mini in the path with fast to create a Fast task. Set generateAudio: false only for a silent result. Generated audio is not a guarantee of word-perfect narration, captions, or a particular soundtrack; review the final media.
Creation is accepted only when the HTTP response succeeds, no business error is present, and data.taskId is non-empty. Persist data.taskId, the U9AI X-Request-ID, and the time, without logging the API key. On timeout, 5xx, or no task ID, mark the submission as unknown and do not automatically create it again; use request records or support to determine whether a billable task exists.
Track, download, and handle errors#
curl --fail-with-body -sS \
-H "Authorization: Bearer $U9AI_API_KEY" \
"https://u9ai.ai/api/v2/open/aigc/YOUR_TASK_ID"Typical V2 states are processing, success, and failed. On success, read the result URLs from data.result; on failed, read data.errorMsg. Respect 429 and Retry-After, use one concurrent creation at first, and back off polling. Do not send the API key to a result-file domain. Verify HTTP status, a non-empty file, a playable video stream, and audio before exposing a download.
Creation consumes credit. Set per-task and total budgets first, then use U9AI request records and wallet entries as the final cost source. A successful GET /v1/models confirms only authentication and model discovery, not video completion.
Safe support handoff#
For troubleshooting, provide timestamp with timezone, model, HTTP status, X-Request-ID, CF-Ray when present, business error code, taskId, final status, and data.errorMsg. Never send an API key, Authorization header, cookie, private asset URL, source media, or payment data.