Skip to content
Open CastalyConsole

Video

Seedance task status and result

Create a Seedance video task through Modelflare, poll its normalized status, and download the completed video.

Seedance video creation is asynchronous. The create request returns a task ID; poll Modelflare until the task is completed or failed.

This guide covers seedance-2.5, seedance-2.5-nsfw, seedance-2.0, and seedance-2.0-nsfw.

Use the matching model page for the complete request body:

Terminal windowbash
curl https://modelflare.dev/v1/videos \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"content": [{"type": "text", "text": "A cat walks through a sunlit room"}],
"resolution": "720p",
"duration": 5,
"ratio": "16:9"
}'

Save id from the response. Compatibility responses may use task_id.

Terminal windowbash
curl https://modelflare.dev/v1/videos/TASK_ID \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY"

The public response is normalized across video providers:

JSON
{
"id": "TASK_ID",
"object": "video",
"model": "seedance-2.5",
"status": "in_progress",
"progress": 42,
"created_at": 1786084139,
"seconds": "5",
"metadata": {
"action": "omniGenerate",
"resolution": "1080p",
"ratio": "9:16",
"output_format": "mp4",
"generate_audio": true,
"usage": {"completion_tokens": 120, "total_tokens": 140}
}
}

Poll while status is queued or in_progress. Stop at completed or failed.

Status Meaning Next step
queued Waiting to run Poll again
in_progress Processing Poll again
completed Video is ready Download the content
failed Task failed Read the error and fix the request

When the service response includes them, metadata may contain the normalized action, resolution, ratio, output format, audio flag, and token usage. Treat these fields as optional; use status and the content endpoint as the stable contract.

Terminal windowbash
curl --fail --location \
https://modelflare.dev/v1/videos/TASK_ID/content \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
--output seedance-result.mp4

The content endpoint returns the video stream. Store it promptly because result URLs can expire.

Creation can return a task ID before provider validation finishes. A later poll can therefore change the task to failed. Keep the request ID when investigating errors. Do not retry by silently changing the request envelope to another model family.