curl --request POST \
--url https://api.aiohub.org/v1/contents/generations/tasks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "doubao-seedance-2-5-260628",
"content": [
{
"type": "text",
"text": "A blue ceramic cup on a wooden table in daylight, slow camera push-in."
}
],
"resolution": "720p",
"ratio": "16:9",
"duration": 5
}
'{
"id": "task_ADQ5XK6AKWg36WePoJ3sZRyDvWl1ogGZ"
}{
"code": "invalid_duration",
"message": "duration must be between 4 and 30 seconds for this model"
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": "<string>",
"code": "<string>"
}
}Create video · Ark / Seedance
Submit a Seedance video task using Ark / Seedance, with examples, input limits and full parameters.
curl --request POST \
--url https://api.aiohub.org/v1/contents/generations/tasks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "doubao-seedance-2-5-260628",
"content": [
{
"type": "text",
"text": "A blue ceramic cup on a wooden table in daylight, slow camera push-in."
}
],
"resolution": "720p",
"ratio": "16:9",
"duration": 5
}
'{
"id": "task_ADQ5XK6AKWg36WePoJ3sZRyDvWl1ogGZ"
}{
"code": "invalid_duration",
"message": "duration must be between 4 and 30 seconds for this model"
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": "<string>",
"code": "<string>"
}
}Setup
Usehttps://api.aiohub.org. Every request carries Authorization: Bearer <AIOHUB_API_KEY>. Replace the placeholder with your full sk- API key and choose a key group that can access the model.
Example request
Start with a text-only request so no image setup is needed.curl https://api.aiohub.org/v1/contents/generations/tasks \
-H "Authorization: Bearer <AIOHUB_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-5-260628",
"content": [{"type": "text", "text": "A blue ceramic cup on a wooden table in daylight."}],
"resolution": "720p",
"ratio": "16:9",
"duration": 5
}'
id. Save it for polling; the video is not ready yet.
{"id": "task_example"}
Image, audio and video inputs
An Ark / Seedance task request carries acontent[] array of a text prompt and reference media. Each media item names its role:
| Media | role values |
|---|---|
image_url | first_frame (default when omitted), last_frame, reference_image |
video_url | reference_video |
audio_url | reference_audio |
url values are HTTPS URLs. Images and audio also accept base64 data URLs such as data:image/png;base64,.... Each item may be up to 100 MB.
| Input | 2.5 | 2.0, 2.0 fast, 2.0 mini |
|---|---|---|
| Text only | yes | yes |
One first_frame image | yes, any ratio | yes, any ratio |
first_frame + last_frame | yes, ratio: adaptive | yes, any ratio |
reference_image images only | 1 to 30 | 1 to 9 |
| Reference images with videos or audio | up to 30 images, 10 videos, 10 audios | up to 9 images, 3 videos, 3 audios |
reference_audio only | 1 to 10 | |
Video edit (omni_reference_task_type: "edit") | one reference_video, ratio: adaptive, duration: -1 |
role: reference_image. Reference clips are 2 to 30 s each and 30 s in total on 2.5, and 2 to 15 s each and 15 s in total on the 2.0 series. An edit source video is 4 to 30 s and the output follows its length.
Status callbacks
Setcallback_url at creation to receive the task object by POST on status changes. Requests carry User-Agent: AIOHub-LibTV-Callback/1. Respond with 2xx within 5 seconds; failed deliveries are retried up to three times.
Authorizations
API key (sk-xxx)
Body
Video model name. See Video generation for the models and their limits.
"doubao-seedance-2-5-260628"
Prompt and reference media. Text-to-video needs one text item only.
Show child attributes
Show child attributes
Output resolution. The allowed values depend on the model.
480p, 720p, 1080p, 4k Aspect ratio. adaptive lets the model follow the prompt or the input image.
adaptive, 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 Duration in whole seconds. The allowed range depends on the model. Video edit tasks use -1.
Whether to generate audio.
How reference media is used. edit edits a single reference_video.
auto, reference, edit When true, the task result includes content.last_frame_url, a JPEG of the final frame.
Set to [{"type": "web_search"}] to let the model search the web while generating.
Show child attributes
Show child attributes
Queue priority. Higher values dequeue earlier; running tasks are not preempted.
0 <= x <= 9Public HTTPS URL. AIOHub POSTs the task object to it on each status change; reply with 2xx within 5 seconds or the delivery is retried up to three times.
Stable end-user identifier, up to 64 characters, echoed in task reads.
64Response
Task created
Task ID