Video Generation API

Video generation uses an asynchronous task model: create a task → poll the status → read the result. Video and 3D share the same task API and are routed by the model field.

There are currently no publicly discoverable video model call names in the model list or the Model Plaza. The video requests below only illustrate the structure and cannot be executed directly; <MODEL_CALL_NAME> must be replaced with a real call name published later on the Model Plaza.

Video generation uses the platform's own API + API key, not Volcengine AK/SK signing. The Volcengine-compatible APIs are for asset management only.

Key Parameters

ParameterTypeRequiredDescription
modelstringYesModel call name; must come from the Model Plaza or the model list
contentarrayYesInput content; supports text, image_url, video_url, audio_url
resolutionstringNoModel pass-through field; common values 480p / 720p / 1080p, per model details
ratiostringNoModel pass-through field; common values 16:9 / 9:16 / 4:3 / 3:4 / 1:1 / 21:9
durationintegerNoModel pass-through field; duration range per model details
framesintegerNoModel pass-through field; whether it can replace duration per model details
generate_audiobooleanNoModel pass-through field; audio support per model details
toolsarrayNoModel pass-through field; supported tools per model details

Creating tasks: Authorization: Bearer <API_KEY> or x-api-key: <API_KEY>

Querying and canceling tasks: Authorization: Bearer <API_KEY>

https://www.silvamux.com/api/v3 is the /api/v3 path under the access domain, routing to /api/v3/contents/generations/tasks.

Creating a Task

POST/api/v3/contents/generations/tasks

创建任务

Bearer API KeyUse the Authorization: Bearer sk_live_... header; x-api-key is also supported.
Confirm the model call name firstFirst filter models that support this endpoint format on the Models page, then open a model detail page to copy its call name. Your account's final availability also depends on organization permissions.

Request structure

The section below confirms the method, URL and authentication scheme. It is an HTTP structure snippet, not a standalone runnable example.

HTTP
POST https://www.silvamux.com/api/v3/contents/generations/tasks
Authorization: Bearer $SILVAMUX_API_KEY
Content-Type: application/json

Request body

application/json · ContentTaskRequest · Required

FieldTypeRequiredDescription
callback_urlstring (uri)No
contentarray<FreeFormObject>No
modelstringYes

Response

200任务创建成功。

application/json · ContentTask

FieldTypeDescription
contentFreeFormObject
created_atstring (date-time) | integer (int64)API 版本 2026-01-01 返回 RFC3339;2026-06-01 返回 Unix 秒。
errorFreeFormObject
idstring
kindstring (video | 3d)
modelstring
statusContentTaskStatus
updated_atstring (date-time) | integer (int64)API 版本 2026-01-01 返回 RFC3339;2026-06-01 返回 Unix 秒。

defaultVolcengine 兼容错误。

application/json · VolcengineError

FieldTypeDescription
errorFreeFormObject

Text-to-Video

curl -X POST https://www.silvamux.com/api/v3/contents/generations/tasks \
  -H "Authorization: Bearer $SILVAMUX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<MODEL_CALL_NAME>",
    "content": [{"type": "text", "text": "A golden retriever running on the beach"}],
    "resolution": "720p",
    "ratio": "16:9",
    "duration": 5,
    "generate_audio": true
  }'

Image-to-Video

Image-to-video has two mutually exclusive scenarios: first frame, and first + last frames.

First Frame

curl -X POST https://www.silvamux.com/api/v3/contents/generations/tasks \
  -H "Authorization: Bearer $SILVAMUX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<MODEL_CALL_NAME>",
    "content": [
      {"type": "image_url", "image_url": {"url": "https://example.com/first.jpg"}, "role": "first_frame"},
      {"type": "text", "text": "The camera slowly pulls back"}
    ]
  }'

First and Last Frames

curl -X POST https://www.silvamux.com/api/v3/contents/generations/tasks \
  -H "Authorization: Bearer $SILVAMUX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<MODEL_CALL_NAME>",
    "content": [
      {"type": "image_url", "image_url": {"url": "https://example.com/first.jpg"}, "role": "first_frame"},
      {"type": "image_url", "image_url": {"url": "https://example.com/last.jpg"}, "role": "last_frame"},
      {"type": "text", "text": "The scene transitions from day to night"}
    ]
  }'

Multimodal-Reference Video

Generate video from reference images (1–9) + reference videos (0–3) + reference audio (0–3) + an optional text prompt, supporting fresh generation, editing, and extension.

curl -X POST https://www.silvamux.com/api/v3/contents/generations/tasks \
  -H "Authorization: Bearer $SILVAMUX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<MODEL_CALL_NAME>",
    "content": [
      {"type": "image_url", "image_url": {"url": "asset://AST-XXXX"}, "role": "reference_image"},
      {"type": "text", "text": "Make the character in the frame dance"}
    ]
  }'

Audio cannot be the only input — include at least one reference video or image. The three image-to-video scenarios (first frame / first + last frames / multimodal reference) are mutually exclusive.

The content Field

Text (text)

FieldRequiredDescription
typeYestext
textYesPrompt, Chinese or English. Recommended ≤500 characters (Chinese) or ≤1000 words (English)

Image (image_url)

FieldRequiredDescription
typeYesimage_url
image_url.urlYesImage URL, base64 data (data:image/png;base64,...), or asset ID (asset://<ASSET_ID>)
roleConditionalfirst_frame, last_frame, reference_image

Image requirements: formats jpeg/png/webp/bmp/tiff/gif; aspect ratio (0.4, 2.5); dimensions 300–6000px; each ≤30MB.

Video (video_url)

FieldRequiredDescription
typeYesvideo_url
video_url.urlYesVideo URL or asset ID
roleConditionalOnly reference_video is currently supported

Video requirements: formats mp4/mov; resolutions 480p/720p/1080p; duration ≤15s, at most 3 reference videos totaling ≤15s; each ≤50MB; frame rate 4–60fps.

Audio (audio_url)

Audio cannot be the only input.

FieldRequiredDescription
typeYesaudio_url
audio_url.urlYesAudio URL, base64 data, or asset ID
roleConditionalOnly reference_audio is currently supported

Audio requirements: formats wav/mp3; duration ≤15s, at most 3 clips totaling ≤15s; each ≤15MB.

Response

Creating a task returns a task ID:

{
  "id": "VTK-01JXXXXXXXXXXXXXX",
  "model": "<MODEL_CALL_NAME>",
  "status": "queued",
  "created_at": "2026-03-31T12:00:00Z"
}

Querying a Task

GET /api/v3/contents/generations/tasks/:id
GET/api/v3/contents/generations/tasks/{id}

查询任务

Bearer API KeyUse the Authorization: Bearer sk_live_... header; x-api-key is also supported.

Request structure

The section below confirms the method, URL and authentication scheme. It is an HTTP structure snippet, not a standalone runnable example.

HTTP
GET https://www.silvamux.com/api/v3/contents/generations/tasks/{id}
Authorization: Bearer $SILVAMUX_API_KEY

Request parameters

ParameterType & locationRequiredDescription
idstring · pathYes

Response

200任务详情。

application/json · ContentTask

FieldTypeDescription
contentFreeFormObject
created_atstring (date-time) | integer (int64)API 版本 2026-01-01 返回 RFC3339;2026-06-01 返回 Unix 秒。
errorFreeFormObject
idstring
kindstring (video | 3d)
modelstring
statusContentTaskStatus
updated_atstring (date-time) | integer (int64)API 版本 2026-01-01 返回 RFC3339;2026-06-01 返回 Unix 秒。

defaultOpenAI 兼容错误。

application/json · OpenAIError

FieldTypeDescription
errorobject
error.codestring | integer
error.messagestring
error.typestring
curl https://www.silvamux.com/api/v3/contents/generations/tasks/VTK-01JXXXXXXXXXXXXXX \
  -H "Authorization: Bearer $SILVAMUX_API_KEY"

Successful response:

{
  "id": "VTK-01JXXXXXXXXXXXXXX",
  "status": "succeed",
  "result": {"video_url": "https://..."}
}

Task statuses: queuedrunningsucceed / failed / cancelled / expired.

Task List

GET /api/v3/contents/generations/tasks
GET/api/v3/contents/generations/tasks

任务列表

Bearer API KeyUse the Authorization: Bearer sk_live_... header; x-api-key is also supported.

Request structure

The section below confirms the method, URL and authentication scheme. It is an HTTP structure snippet, not a standalone runnable example.

HTTP
GET https://www.silvamux.com/api/v3/contents/generations/tasks
Authorization: Bearer $SILVAMUX_API_KEY

Request parameters

ParameterType & locationRequiredDescription
page_numinteger · queryNo
page_sizeinteger · queryNo
filter.statusContentTaskStatus · queryNo
filter.modelstring · queryNo
filter.kindstring (video | 3d) · queryNo
filter.task_idsarray<string> · queryNo

Response

200任务列表。

application/json · object

FieldTypeDescription
itemsarray<ContentTask>
items.contentFreeFormObject
items.created_atstring (date-time) | integer (int64)API 版本 2026-01-01 返回 RFC3339;2026-06-01 返回 Unix 秒。
items.errorFreeFormObject
items.idstring
items.kindstring (video | 3d)
items.modelstring
items.statusContentTaskStatus
items.updated_atstring (date-time) | integer (int64)API 版本 2026-01-01 返回 RFC3339;2026-06-01 返回 Unix 秒。
totalinteger (int64)

defaultOpenAI 兼容错误。

application/json · OpenAIError

FieldTypeDescription
errorobject
error.codestring | integer
error.messagestring
error.typestring

Canceling a Task

DELETE /api/v3/contents/generations/tasks/:id
DELETE/api/v3/contents/generations/tasks/{id}

取消任务

Bearer API KeyUse the Authorization: Bearer sk_live_... header; x-api-key is also supported.

Request structure

The section below confirms the method, URL and authentication scheme. It is an HTTP structure snippet, not a standalone runnable example.

HTTP
DELETE https://www.silvamux.com/api/v3/contents/generations/tasks/{id}
Authorization: Bearer $SILVAMUX_API_KEY

Request parameters

ParameterType & locationRequiredDescription
idstring · pathYes

Response

200任务已取消。

application/json · object

FieldTypeDescription
idstring
statusstring (cancelled)

409OpenAI 兼容错误。

application/json · OpenAIError

FieldTypeDescription
errorobject
error.codestring | integer
error.messagestring
error.typestring

defaultOpenAI 兼容错误。

application/json · OpenAIError

FieldTypeDescription
errorobject
error.codestring | integer
error.messagestring
error.typestring

Only queued tasks can be canceled.

Generation Showcase

Multimodal-reference video (background image + costume three-view sheet + face close-up + prompt):

Prompt:

Background reference image 1. A pale flash crosses the frame; the young nobleman (costume reference image 2; likeness strictly follows image 3) spins and snaps open a folding fan, gilded blades springing out as the ink-bamboo fan face flutters, a slow drum booming once. Close-up: the fan blade parries the villain's long saber, steel on steel; the nobleman's lips curl into a sly smile while his eyes stay cold, fingertips idly twirling the fan handle. Slow motion: he leans low and slides sideways, the fan blade grazing the villain's leg and leaving a faint mark, his robe hem sweeping the ground, jade hairpin swaying. Quick cut: he whirls and throws the fan — the blade shoots past the villain's neck and buries itself in the wooden pillar behind; the villain freezes, not daring to move. Reversal: a palm wind rushes in from behind; he spins to catch it, and as fingertips touch he borrows the force to leap back while the fan blade flies back to his hand from the pillar, eyes alert. Slow-motion highlight: fan half closed, blade resting by his lips, he glances back over his shoulder, hair lifted by the wind, brow raised with a trace of defiance. Pull-back: the nobleman stands on the stone terrace of a courtyard, lightly waving the fan as the camera pulls away, masked figures with curved sabers emerging from all four corners, closing in. Freeze frame: the fan half folded, gilded edge gleaming, he steps forward as the frame darkens, leaving only his silhouette and the blade's glint, sound cut to silence. SFX: crisp fan snaps + blade-wind hiss + slow drum hits (steady).

Available Models

The 3D sample model currently discoverable in the Model Plaza: doubao-seed3d-2.0. There are no publicly discoverable call names for video models yet.

The full model catalog is on the Model Plaza. Some models require permission flags configured by administrators.

Billing

Video generation is billed by model and video parameters (resolution, duration, audio); check current unit prices on the corresponding model detail page in the Model Plaza.

Differences from the Volcengine Official API

SilvaMux's Seedance API resembles the Volcengine official API field-wise (same models), but:

  • Authentication: the platform API key (sk_live_), not Volcengine AK/SK.
  • Base URL: https://www.silvamux.com/api/v3 (the platform domain), not the Volcengine Ark domain.
  • model: the real call name shown by the Model Plaza or the model list, not a Volcengine endpoint ID.
  • Task queries: poll GET /api/v3/contents/generations/tasks/:id for task status.