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.
Supported models
Section titled “Supported models”This guide covers seedance-2.5, seedance-2.5-nsfw, seedance-2.0, and seedance-2.0-nsfw.
Create a task
Section titled “Create a task”Use the matching model page for the complete request body:
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.
Poll the task
Section titled “Poll the task”curl https://modelflare.dev/v1/videos/TASK_ID \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY"The public response is normalized across video providers:
{ "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.
Download the result
Section titled “Download the result”curl --fail --location \ https://modelflare.dev/v1/videos/TASK_ID/content \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \ --output seedance-result.mp4The content endpoint returns the video stream. Store it promptly because result URLs can expire.
Failed tasks
Section titled “Failed tasks”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.