Quotaflow
llms.txtOpenAPIDashboard
Model Library

Seedance 2.0 Fast — text, image, and portrait to video API

Use seedance-2.0-fast when you want Seedance-style motion generation through the same Quotaflow /openai/v1/videos task API. The public call stays unified: create a task, store the returned id, and poll until the task completes.

Seedance 2.0 and Veo are different video model families. seedance-2.0-fast is never used as a fallback for veo-* requests.

Model contract

PropertyValue
Model idseedance-2.0-fast
EndpointPOST https://api.quotaflow.ai/openai/v1/videos
Status endpointGET https://api.quotaflow.ai/openai/v1/videos/{task_id}
Content endpointGET https://api.quotaflow.ai/openai/v1/videos/{task_id}/content
FlowCreate task, show pending state, poll result, download content
Best forShort clips, portrait animation, product motion, social video drafts

Call /models with your production key before launch. Video access is key-enabled, so a key without Seedance video access should not show seedance-2.0-fast.

4K Seedance requests should still use the public seedance-2.0-fast id. Quotaflow maps those jobs to the appropriate 4K-capable Seedance 2.0 capacity internally; there is no separate public seedance-2.0-4k model id.

Supported public inputs

Quotaflow prepares reference media internally when a Seedance workflow needs asset-style inputs. Your application should keep using the public /videos endpoint.

Portrait / identity reference example

curl https://api.quotaflow.ai/openai/v1/videos \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0-fast",
    "prompt": "Animate this portrait into a natural 4 second speaking-style social clip. Keep the face identity, lighting, and framing consistent.",
    "reference_images": [{ "url": "https://example.com/reference-face.jpg" }],
    "durationSeconds": 4,
    "resolution": "4k",
    "aspectRatio": "9:16",
    "generate_audio": true,
    "watermark": false,
    "return_last_frame": true
  }'

Product reference example

curl https://api.quotaflow.ai/openai/v1/videos \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0-fast",
    "prompt": "Create a smooth lifestyle product clip from the reference image. Keep the product shape and color consistent, soft studio lighting, slow camera push-in.",
    "image_urls": ["https://example.com/product-reference.png"],
    "durationSeconds": 4,
    "resolution": "720p",
    "aspectRatio": "16:9"
  }'

Poll the task

curl https://api.quotaflow.ai/openai/v1/videos/$TASK_ID \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY"

Download the completed video

curl https://api.quotaflow.ai/openai/v1/videos/$TASK_ID/content \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY" \
  --output seedance.mp4

You may instead fetch the completed response's temporary data[0].url directly without an Authorization header. It expires after 15 minutes; poll the task again to refresh it.

Treat Seedance tasks as async media jobs. Portrait, identity, audio-reference, 1080p, 4k, or longer-duration jobs can take longer and may fail model safety review. Store task ids, poll idempotently, and show a pending state in your UI.

Notes

Next steps