Text to Video
doubao-seedance-2-5
Video generation with text, image, video, audio, first/last-frame, edit, and extend workflows.
Commercial useAsync API
API reference
Submit this model to the capability endpoint, then poll the returned job until it is terminal. Only the parameters below are accepted.
Required headers
Authorization: Bearer $ARTANY_API_KEY Content-Type: application/json Idempotency-Key: unique-request-id
Use a new 8–128 character Idempotency-Key for each logical generation. Retrying the same request with the same key will not double-charge.
Request body
{
"model": "doubao-seedance-2-5",
"prompt": "A cinematic miniature landscape at sunset",
"resolution": "720p",
"size": "16:9",
"duration": 5,
"generate_audio": true,
"output_format": "mp4",
"return_last_frame": false
}Parameters
| Field | Type | Required | Description | Default | Constraints |
|---|---|---|---|---|---|
| model | string | Yes | Stable Artany public model ID. | doubao-seedance-2-5 | This exact public model ID. |
| seed | integer | No | Optional deterministic seed for reproducing a generation when the provider supports it. | — | — |
| size | string | No | Requested output image aspect ratio or canvas size. Available values are model-specific. | "adaptive" | Allowed: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive |
| prompt | string | Yes | Natural-language instruction describing the desired image or video. Include subject, setting, composition, motion, lighting, and style as needed. | — | Length: 1–4000 |
| duration | integer | No | Target generated video length in seconds. Available durations are model-specific and can affect price. | 5 | Range: 4–30 |
| audio_urls | array (string items) | No | Public audio URLs used as references when the selected workflow accepts multiple audio inputs. | — | Items: 0–10 |
| image_urls | array (string items) | No | Public image URLs or supported image data used as source or reference images. | — | Items: 0–30 |
| resolution | string | No | Requested output quality tier. Available values are model-specific and can affect price. | "720p" | Allowed: 480p, 720p |
| video_urls | array (string items) | No | Public video URLs used as the source or reference video for a supported video workflow. | — | Items: 0–10 |
| output_format | string | No | Requested file format for the generated image when the selected model supports format selection. | "mp4" | Allowed: mp4, mov |
| generate_audio | boolean | No | Whether to generate synchronized audio for this video when supported. | true | — |
| image_with_roles | array (object items) | No | Role-labelled reference images used by a model that supports character or subject consistency. | — | Items: 0–30 |
| return_last_frame | boolean | No | Whether to include the generated final frame in the completed job output. | false | — |
Accepted response
The submit endpoint returns HTTP 202 with a normalized job. Poll GET /v1/jobs/{jobId} until the status is terminal.
{
"id": "job_…",
"object": "generation.job",
"model": "doubao-seedance-2-5",
"status": "queued",
"progress": 0,
"output": null,
"error": null,
"billing": {
"estimated_credits": "…",
"frozen_credits": "…",
"charged_credits": "0",
"state": "frozen",
"price_version": "…"
},
"created_at": "2026-07-21T00:00:00.000Z",
"completed_at": null
}Lifecycle and failures
- queued / running — wait and poll again.
- succeeded — read output URLs from
output; the actual charge is settled. - failed / canceled — inspect
error; frozen Credits are released. - For a schema error, the API returns an error object and identifies the invalid field in
paramwhen applicable.
Input
Runs are billed to your Credits at the listed price — same engine as the public API.
Output
Run the model to see results here
Integrate in minutes
curl -X POST "https://api.artany.ai/v1/videos/generations" \
-H "Authorization: Bearer $ARTANY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: unique-request-id" \
-d '{"model":"doubao-seedance-2-5","prompt":"A cinematic miniature landscape at sunset","resolution":"720p","size":"16:9","duration":5,"generate_audio":true,"output_format":"mp4","return_last_frame":false}'
# poll until terminal
curl "https://api.artany.ai/v1/jobs/{job_id}" \
-H "Authorization: Bearer $ARTANY_API_KEY"