Dreamina Seedance 2.0 / Dreamina Seedance 2.5
This page covers Dreamina Seedance 2.0 and Dreamina Seedance 2.5 together. Each version has its own model ID and accepts the common video request format or the Volcengine-compatible request format. Check the console or GET /v1/models for models available to your account before integrating. Inclusion in the documentation does not enable a model for your account.
Models and parameters
| Setting | Dreamina Seedance 2.0 | Dreamina Seedance 2.5 |
|---|---|---|
| Model ID | dreamina-seedance-2-0-260128 | dreamina-seedance-2-5-260628 |
| Duration | 4–15 seconds | 4–30 seconds |
| Image reference example | Two reference images | Two reference images |
| Example resolution and aspect ratio | 720p, 16:9 | 720p, 16:9 |
| 4K | Check current model capabilities | Not supported |
| Asset ID authentication | Not yet verified; use public image URLs | Not yet verified; use public image URLs |
Do not apply one version's duration, resolution or reference limits to the other version. Video references, audio references, first/last frames, callbacks and advanced parameters depend on the selected model and request validation. The two-image example does not establish support for every input combination.
Capability matrix
| Capability | Dreamina Seedance 2.0 | Dreamina Seedance 2.5 |
|---|---|---|
| Text-to-video | Check the model capability available to the account | Check the model capability available to the account |
| Image-to-video | Supports the public reference-image format on this page | Supports the public reference-image format on this page |
| Multiple image references | This page uses 2 images | This page uses 2 images |
| First/last frames | Subject to model validation | Subject to model validation; do not apply the fixed-ratio example to adaptive mode |
| Video and audio references | Check the model capability matrix | Check the model capability matrix |
| Callbacks | Check the account and API response | Check the account and API response |
Common request fields
| Field | Type | Description |
|---|---|---|
model | string | dreamina-seedance-2-0-260128 or dreamina-seedance-2-5-260628. |
prompt | string | Scene, action, camera and reference-binding instructions. |
references[] | array | Reference media. Images use media_type=image, role=reference_image and an anonymously downloadable HTTPS url. |
duration | number | 2.0 accepts 4–15; 2.5 accepts 4–30. Unit: seconds. |
aspect_ratio | string | For example, 16:9. Only ratios allowed by the model are accepted. |
resolution | string | For example, 720p. Inspect the downloaded media for the actual output. |
The server preserves explicit false and 0. Do not remove user-provided zero values with omitempty or empty-value merging, and do not send two conflicting reference formats in one request.
Common video API
POST /v1/videos accepts prompt, references, duration, aspect_ratio and resolution.
curl https://moonnexai.com/v1/videos \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "dreamina-seedance-2-5-260628",
"prompt": "Create a smooth cinematic transition using the two reference images.",
"references": [
{"media_type": "image", "role": "reference_image", "url": "https://example.com/reference-1.jpg"},
{"media_type": "image", "role": "reference_image", "url": "https://example.com/reference-2.jpg"}
],
"duration": 15,
"aspect_ratio": "16:9",
"resolution": "720p"
}'Replace both example URLs with HTTPS images you are authorized to use and that can be downloaded without authentication. The reference_image role means a visual reference; it does not automatically designate a first or last frame. To use Dreamina Seedance 2.0, replace the model ID and keep the duration at 15 seconds or less. Dreamina Seedance 2.5 also accepts duration: 30.
Minimal 2.0 request:
curl https://moonnexai.com/v1/videos \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "dreamina-seedance-2-0-260128",
"prompt": "Animate the two reference images with a slow camera move.",
"references": [
{"media_type": "image", "role": "reference_image", "url": "https://example.com/reference-1.jpg"},
{"media_type": "image", "role": "reference_image", "url": "https://example.com/reference-2.jpg"}
],
"duration": 15,
"aspect_ratio": "16:9",
"resolution": "720p"
}'The 2.5 request can use the 15-second example above or set duration to 30; 2.0 does not accept 30 seconds.
Save the public task ID from the creation response and query it:
curl https://moonnexai.com/v1/videos/video_example \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>"Check status and error first. Read the result url only after the task reaches a successful terminal state, such as completed. A URL alone does not prove success. Continue polling while the task is queued or running. Stop polling after failure and inspect the safe error message.
Volcengine-compatible API
POST /api/v3/contents/generations/tasks accepts content[], ratio, resolution and duration. Compatibility refers to the request format; it does not allow API keys or asset IDs from other platforms.
curl https://moonnexai.com/api/v3/contents/generations/tasks \
-H "Authorization: Bearer <MOONNEXAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "dreamina-seedance-2-5-260628",
"content": [
{"type": "text", "text": "Create a smooth cinematic transition using the two reference images."},
{"type": "image_url", "image_url": {"url": "https://example.com/reference-1.jpg"}, "role": "reference_image"},
{"type": "image_url", "image_url": {"url": "https://example.com/reference-2.jpg"}, "role": "reference_image"}
],
"duration": 15,
"ratio": "16:9",
"resolution": "720p"
}'| Operation | Method and path |
|---|---|
| Create a task | POST /api/v3/contents/generations/tasks |
| Get a task | GET /api/v3/contents/generations/tasks/{id} |
| List your tasks | GET /api/v3/contents/generations/tasks |
For a single task, check status and error before reading content.video_url when status is succeeded. The list endpoint accepts page_num, page_size, filter.status, filter.model, filter.service_tier and repeated filter.task_ids. By default, it lists the last seven days in the default service tier, restricted to tasks the authenticated identity may access.
Explicit false and 0 are preserved as parameter values. Do not discard them while cleaning a request body. Passing a field does not imply the selected model supports every value; follow the validation error if a value is rejected.
Responses and polling
After creation, the API returns a public task ID. The task normally starts in a queued or running state:
{
"id": "video_example",
"status": "queued",
"model": "dreamina-seedance-2-5-260628"
}Poll until a terminal state. Example successful response:
{
"id": "video_example",
"status": "completed",
"model": "dreamina-seedance-2-5-260628",
"output": {"url": "https://media.example.com/video.mp4"}
}Compatibility layers may use succeeded, completed, failed or cancelled; follow the enum returned by the selected endpoint. Read url, video_url or output.url only in a successful terminal state. Treat queued, submitted, running, failed and cancelled as non-downloadable states.
Common failures include an unavailable model, a duration or ratio outside the capability, a reference URL that cannot be fetched anonymously, an invalid media role, or insufficient balance or group permission. Read safe error.code, error.message and param, then correct the request before retrying. The presence of a URL does not replace the status check.
Download results
For a successful task, use the returned media URL or GET /v1/videos/{id}/content. The content endpoint requires this site's API key, supports HEAD and Range requests, and may return a 307 redirect to the downloadable media.
Never forward Authorization to another host when following a media redirect. Normal cURL -L limits credential forwarding across hosts; do not use --location-trusted. Download temporary results promptly rather than relying on a URL remaining available forever.
Billing and troubleshooting
Consult the console and actual billing records for current amounts. Dreamina Seedance settles against the output tokens recorded by its billing policy. The initial preauthorization can differ from the final cost; the difference is charged or refunded according to that policy. The account's displayed billing currency applies.
A rejected submission that creates no task must not be treated as a successful billed generation. For a failed task, check its final status and refund or settlement record. When reporting a problem, provide the public task ID, request time, model ID, duration, resolution and error code. Do not send your API key.
Asset ID authentication is not part of the verified scope described here. Use public image URLs. Converting an identifier to Asset:// does not prove that authentication has completed.