Text to Video
doubao-seedance-2-fast
Draft model pending operator verification
Quick start
Submit a request with this public model ID. The API immediately returns a normalized job; poll GET /v1/jobs/{jobId} while its status is queued or running.
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-fast","prompt":"Ocean waves at sunrise","duration":5,"size":"16:9","resolution":"720p","generate_audio":false,"return_last_frame":false}'Request
Headers
| Header | Required | Description |
|---|---|---|
| Authorization | Yes | Bearer token for an Artany API key. |
| Content-Type | Yes | Must be application/json. |
| Idempotency-Key | Recommended | 8–128 characters. Reusing it with an identical request prevents duplicate jobs and charges. |
Body
{
"model": "doubao-seedance-2-fast",
"prompt": "Ocean waves at sunrise",
"duration": 5,
"size": "16:9",
"resolution": "720p",
"generate_audio": false,
"return_last_frame": false
}Request Parameters
Only fields in this model’s public request contract are shown. Defaults are applied before validation and quoting.
Note:Fast video generation supports text, image, first/last-frame, reference-video, reference-audio, and generated-audio requests.
Stable public model ID for this request.
Video content description. Required for text-to-video and optional when source media supplies the visual context.
Length: 1–4000
- Describe the subject, action, camera movement, and style. The maximum length is 4,000 characters.
Requested output duration in seconds.
Range: 4–15
Note:Use a plain JSON number and one of the duration values supported by this model.
Output video aspect ratio or size selection for this workflow.
Allowed: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive
Requested output resolution tier. The selected tier can affect quote and availability.
Allowed: 480p, 720p
Optional generation seed for supported reproducibility behavior.
Whether to generate synchronized audio with the video.
Allowed: false, true
Whether to return the final video frame as an image for a subsequent request.
Allowed: false, true
Image URL array for image-to-video. One image supplies an opening frame; two images supply opening and ending frames.
Items: 1–9
- Up to 9 reference images are supported.
[ "https://example.com/opening-frame.jpg" ]
Note:Do not send image_urls together with image_with_roles.
Image URL objects with explicit frame or reference roles.
Items: 1–9
Field description
- url
- Accessible image URL.
- role
- first_frame for the opening frame, last_frame for the ending frame, or reference_image for a reference portrait.
[
{
"url": "https://example.com/day.jpg",
"role": "first_frame"
},
{
"url": "https://example.com/night.jpg",
"role": "last_frame"
}
]Note:Do not combine this field with image_urls.
Note:When using first_frame or last_frame, do not also provide video_urls or audio_urls.
Reference video URL array for video-conditioned generation.
Items: 1–3
- Up to 3 reference videos are supported.
[ "https://example.com/reference.mp4" ]
Note:Do not combine reference video with start or end in image_with_roles.
Reference audio URL array for an audio-conditioned request.
Items: 1–3
- Up to 3 reference audio files are supported; their combined duration must be 15 seconds or less.
[ "https://example.com/speech.wav" ]
Note:Do not combine reference audio with start or end in image_with_roles.
Use Cases
Choose the request shape that matches the source media you provide. The examples use the public model ID and accepted public fields.
Text-to-video
Create a clip directly from a prompt.
{
"model": "doubao-seedance-2-fast",
"prompt": "A kitten yawning at the camera",
"resolution": "720p",
"size": "16:9",
"duration": 5,
"generate_audio": true
}Image-to-video
Use one source image as the opening frame.
{
"model": "doubao-seedance-2-fast",
"prompt": "The kitten stands and walks toward the camera",
"image_urls": [
"https://example.com/cat.jpg"
],
"duration": 5
}First/last-frame video
Use explicit roles to set both ends of the clip.
{
"model": "doubao-seedance-2-fast",
"prompt": "Transition from day to night",
"image_with_roles": [
{
"url": "https://example.com/day.jpg",
"role": "first_frame"
},
{
"url": "https://example.com/night.jpg",
"role": "last_frame"
}
],
"duration": 5
}Reference video with audio
Provide reference video and audio together.
{
"model": "doubao-seedance-2-fast",
"prompt": "A person speaks to the camera",
"video_urls": [
"https://example.com/reference.mp4"
],
"audio_urls": [
"https://example.com/speech.wav"
],
"duration": 11
}Continuous video generation
Request the final frame and use it in the next image-to-video request.
{
"model": "doubao-seedance-2-fast",
"prompt": "The kitten continues walking",
"image_urls": [
"https://example.com/last-frame.png"
],
"return_last_frame": true
}Response and task status
A successful asynchronous submission returns HTTP 202 with a supplier-neutral job.
{
"id": "job_…",
"object": "generation.job",
"model": "doubao-seedance-2-fast",
"status": "queued",
"progress": 0,
"output": null,
"error": null,
"billing": {
"estimated_credits": "…",
"frozen_credits": "…",
"charged_credits": "0",
"state": "frozen",
"price_version": "2026-07-18.picverse-parity"
},
"created_at": "2026-07-21T00:00:00.000Z",
"completed_at": null
}- queued / running: continue polling.
- succeeded: retrieve media URLs from
output; billing has settled. - failed / canceled: inspect
error; frozen Credits are released.