/v1/videos that mirrors the Sora/Veo API shape, and the native VolcArk interface at /volcark/api/v3/contents/generations/tasks that closely follows official VolcArk documentation. Both interfaces share the same task ID system and support text-to-video (T2V) and image-to-video (I2V) generation.
Both interfaces submit tasks asynchronously. Create a task, then poll for completion. Neither interface blocks while the video is being generated.
Available Models
| Model Name | Type | Notes |
|---|---|---|
doubao-seedance-1-5-pro | Text-to-video | High-quality Pro with audio support (generate_audio) |
doubao-seedance-1-0-pro | Text-to-video | High-quality, longer duration support |
doubao-seedance-1-0-pro-fast | Text-to-video | Faster variant of Pro |
doubao-seedance-1-0-lite-t2v | Text-to-video | Lightweight, cost-efficient |
doubao-seedance-1-0-lite-i2v | Image-to-video | Requires a reference image in the request |
Option A: OpenAI-Style Interface (/v1/videos)
Use this interface when you want to keep your codebase aligned with OpenAI Sora/Veo conventions. All task IDs are prefixed with video_.
Endpoints
| Action | Method | Path |
|---|---|---|
| Create task | POST | /v1/videos |
| Query task | GET | /v1/videos/{id} |
| Download video | GET | /v1/videos/{id}/content |
Text-to-Video (T2V)
id field always starts with video_ and is consistent across the task panel and all query endpoints.
Image-to-Video (I2V)
Pass a reference image URL ininput_reference:
input_reference accepts a string array, a single string, or a stringified JSON array.
Query Task Status
Poll the task ID returned at creation:queued → in_progress → completed / failed
The video_url is Fhddos’s proxy URL — the upstream source domain is never exposed.
Download Video
VolcArk Field Compatibility
When using/v1/videos with Seedance models, you can also pass native VolcArk fields alongside the OpenAI fields:
| VolcArk Field | Notes |
|---|---|
duration | Alias for seconds |
ratio | Aspect ratio (e.g. 16:9) |
resolution | e.g. 720p, 1080p |
watermark | Boolean watermark control |
generate_audio | kling-v2-6 style audio (only doubao-seedance-1-5-pro) |
camera_fixed | Camera motion lock |
| Model | seconds Range | Max input_reference Images | resolution Options |
|---|---|---|---|
doubao-seedance-1-5-pro | 4–12 | 2 | 480p, 720p |
doubao-seedance-1-0-pro | 2–12 | 2 | 480p, 720p, 1080p |
doubao-seedance-1-0-pro-fast | 2–12 | 1 | 480p, 720p, 1080p |
Option B: Native VolcArk Interface
Use this interface when you want your request body to match the official VolcArk API documentation directly.Endpoints
| Action | Method | Path |
|---|---|---|
| Create task | POST | /volcark/api/v3/contents/generations/tasks |
| Query task | GET | /volcark/api/v3/contents/generations/tasks/{task_id} |
| List tasks | GET | /volcark/api/v3/contents/generations/tasks |
| Cancel task | DELETE | /volcark/api/v3/contents/generations/tasks/{task_id} |
Text-to-Video (T2V)
The request body uses acontent array of typed content items:
id: The native VolcArk task ID (e.g.cgt-2025...). Use this with VolcArk official documentation.platform_id: Fhddos’s global tracking ID withvideo_prefix. This matches the ID shown in the task panel.
Image-to-Video (I2V)
Include both atext and an image_url item in content:
ratio for best results (e.g. use a portrait image for 9:16).
Query Task Status
Query using either the native Ark ID or the Fhddos platform ID:queued → running → succeeded / failed / cancelled
List and Cancel Tasks
page_num, page_size, filter.status, filter.task_ids, filter.model.
Interface Comparison
| Dimension | Native VolcArk /volcark/... | OpenAI Style /v1/videos |
|---|---|---|
| Create path | /volcark/api/v3/contents/generations/tasks | /v1/videos |
| Request body | model + content[{type, text/image_url}] | model + prompt + seconds + size + input_reference |
| Task ID format | Ark id (no prefix) + platform_id | video_<PlatformTaskID> |
| Query path | /volcark/api/v3/contents/generations/tasks/{id} | /v1/videos/{id} |
Troubleshooting
I2V returns 'image to video models require image in content'
I2V returns 'image to video models require image in content'
The model is set to an I2V variant but no image was provided. Add an
image_url content item (native interface) or pass input_reference (OpenAI interface).Task is stuck in queued or running for a long time
Task is stuck in queued or running for a long time
Poll
GET /volcark/api/v3/contents/generations/tasks/{id} and check the status and error fields. If the task doesn’t terminate, cancel it with DELETE and resubmit. The platform records all task durations and errors for debugging.How do I tell T2V and I2V models apart?
How do I tell T2V and I2V models apart?
Text-to-video models:
doubao-seedance-1-5-pro, doubao-seedance-1-0-pro, doubao-seedance-1-0-pro-fast, doubao-seedance-1-0-lite-t2v. Image-to-video models: doubao-seedance-1-0-lite-i2v. Dynamically check the model name suffix (t2v vs i2v) to enforce image requirements in your code.