视频生成 API
视频生成采用异步任务模式:创建任务 → 轮询状态 → 取结果。视频与 3D 共用同一个任务接口,按 model 字段分流。
当前模型列表和模型广场暂无公开可发现的视频模型调用名。以下视频请求仅用于展示结构,不能直接执行;<MODEL_CALL_NAME> 必须替换为模型广场后续发布的真实调用名。
视频生成走自有接口 + API Key,不是火山 AK/SK 签名。火山兼容接口仅用于素材管理。
| 参数 | 类型 | 必填 | 说明 |
|---|
model | string | 是 | 模型调用名,必须从模型广场或模型列表获取 |
content | array | 是 | 输入内容,支持 text、image_url、video_url、audio_url |
resolution | string | 否 | 模型透传字段;常见值为 480p / 720p / 1080p,以模型详情为准 |
ratio | string | 否 | 模型透传字段;常见值为 16:9 / 9:16 / 4:3 / 3:4 / 1:1 / 21:9 |
duration | integer | 否 | 模型透传字段;时长范围以模型详情为准 |
frames | integer | 否 | 模型透传字段;是否可与 duration 互换以模型详情为准 |
generate_audio | boolean | 否 | 模型透传字段;是否支持配音以模型详情为准 |
tools | array | 否 | 模型透传字段;支持的工具以模型详情为准 |
创建任务认证: Authorization: Bearer <API_KEY> 或 x-api-key: <API_KEY>
查询和取消任务认证: Authorization: Bearer <API_KEY>
https://www.silvamux.com/api/v3 即接入域名下的 /api/v3,对应路由 /api/v3/contents/generations/tasks。
POST/api/v3/contents/generations/tasks
创建任务
🔑Bearer API Key请求头使用 Authorization: Bearer sk_live_...,也支持 x-api-key。
🧩先确认模型调用名请先在 模型广场 筛选支持当前接口格式的模型,打开模型详情页复制调用名。当前账号的最终可用范围还受组织权限影响。 请求结构
下方内容用于确认方法、地址和鉴权方式,属于 HTTP 结构片段,不是可独立执行示例。
POST https://www.silvamux.com/api/v3/contents/generations/tasks
Authorization: Bearer $SILVAMUX_API_KEY
Content-Type: application/json
请求体
application/json · ContentTaskRequest · 必填
| 字段 | 类型 | 必填 | 说明 |
|---|
callback_url | string (uri) | 否 | — |
content | array<FreeFormObject> | 否 | — |
model | string | 是 | — |
响应
200任务创建成功。
application/json · ContentTask
| 字段 | 类型 | 必填 | 说明 |
|---|
content | FreeFormObject | 否 | — |
created_at | string (date-time) | integer (int64) | 否 | API 版本 2026-01-01 返回 RFC3339;2026-06-01 返回 Unix 秒。 |
error | FreeFormObject | 否 | — |
id | string | 是 | — |
kind | string (video | 3d) | 否 | — |
model | string | 否 | — |
status | ContentTaskStatus | 是 | — |
updated_at | string (date-time) | integer (int64) | 否 | API 版本 2026-01-01 返回 RFC3339;2026-06-01 返回 Unix 秒。 |
defaultVolcengine 兼容错误。
application/json · VolcengineError
| 字段 | 类型 | 必填 | 说明 |
|---|
error | FreeFormObject | 否 | — |
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": "一只金毛犬在海滩上奔跑"}],
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"generate_audio": true
}'
# pip install requests
import os
import requests
resp = requests.post(
"https://www.silvamux.com/api/v3/contents/generations/tasks",
headers={
"Authorization": f"Bearer {os.environ['SILVAMUX_API_KEY']}",
"Content-Type": "application/json",
},
json={
"model": "<MODEL_CALL_NAME>",
"content": [{"type": "text", "text": "一只金毛犬在海滩上奔跑"}],
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"generate_audio": True,
},
)
resp.raise_for_status()
print(resp.json()) # {"id": "VTK-...", "status": "queued", ...}
// Node 18+(内置 fetch)
const resp = await fetch(
"https://www.silvamux.com/api/v3/contents/generations/tasks",
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SILVAMUX_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "<MODEL_CALL_NAME>",
content: [{ type: "text", text: "一只金毛犬在海滩上奔跑" }],
resolution: "720p",
ratio: "16:9",
duration: 5,
generate_audio: true,
}),
},
);
const task = await resp.json();
console.log(task); // { id: "VTK-...", status: "queued", ... }
// 仅依赖标准库
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
payload := []byte(`{
"model": "<MODEL_CALL_NAME>",
"content": [{"type": "text", "text": "一只金毛犬在海滩上奔跑"}],
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"generate_audio": true
}`)
req, err := http.NewRequest("POST", "https://www.silvamux.com/api/v3/contents/generations/tasks", bytes.NewReader(payload))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("SILVAMUX_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
图生视频分首帧、首尾帧两种场景(互斥)。
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": "镜头缓缓拉远"}
]
}'
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": "镜头从白天过渡到夜晚"}
]
}'
参考图片(19)+ 参考视频(03)+ 参考音频(0~3)+ 文本提示词(可选)生成视频,支持全新生成、编辑、延长。
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": "让画面中的角色跳舞"}
]
}'
不可单独输入音频,应至少包含 1 个参考视频或图片。三种图生视频场景(首帧/首尾帧/多模态参考)互斥。
| 字段 | 必选 | 说明 |
|---|
type | 是 | text |
text | 是 | 提示词,支持中英文。建议中文 ≤500 字,英文 ≤1000 词 |
| 字段 | 必选 | 说明 |
|---|
type | 是 | image_url |
image_url.url | 是 | 图片 URL、Base64 编码(data:image/png;base64,...)或素材 ID(asset://<ASSET_ID>) |
role | 条件 | first_frame、last_frame、reference_image |
图片要求:格式 jpeg/png/webp/bmp/tiff/gif;宽高比 (0.4, 2.5);宽高 300–6000px;单张 ≤30MB。
| 字段 | 必选 | 说明 |
|---|
type | 是 | video_url |
video_url.url | 是 | 视频 URL 或素材 ID |
role | 条件 | 当前仅支持 reference_video |
视频要求:格式 mp4/mov;分辨率 480p/720p/1080p;时长 ≤15s,最多 3 个参考视频,总时长 ≤15s;单个 ≤50MB;帧率 4–60fps。
不可单独输入音频。
| 字段 | 必选 | 说明 |
|---|
type | 是 | audio_url |
audio_url.url | 是 | 音频 URL、Base64 编码或素材 ID |
role | 条件 | 当前仅支持 reference_audio |
音频要求:格式 wav/mp3;时长 ≤15s,最多 3 段,总时长 ≤15s;单个 ≤15MB。
创建任务返回任务 ID:
{
"id": "VTK-01JXXXXXXXXXXXXXX",
"model": "<MODEL_CALL_NAME>",
"status": "queued",
"created_at": "2026-03-31T12:00:00Z"
}
GET /api/v3/contents/generations/tasks/:id
GET/api/v3/contents/generations/tasks/{id}
查询任务
🔑Bearer API Key请求头使用 Authorization: Bearer sk_live_...,也支持 x-api-key。
请求结构
下方内容用于确认方法、地址和鉴权方式,属于 HTTP 结构片段,不是可独立执行示例。
GET https://www.silvamux.com/api/v3/contents/generations/tasks/{id}
Authorization: Bearer $SILVAMUX_API_KEY
请求参数
| 参数 | 类型与位置 | 必填 | 说明 |
|---|
id | string · path | 是 | — |
响应
200任务详情。
application/json · ContentTask
| 字段 | 类型 | 必填 | 说明 |
|---|
content | FreeFormObject | 否 | — |
created_at | string (date-time) | integer (int64) | 否 | API 版本 2026-01-01 返回 RFC3339;2026-06-01 返回 Unix 秒。 |
error | FreeFormObject | 否 | — |
id | string | 是 | — |
kind | string (video | 3d) | 否 | — |
model | string | 否 | — |
status | ContentTaskStatus | 是 | — |
updated_at | string (date-time) | integer (int64) | 否 | API 版本 2026-01-01 返回 RFC3339;2026-06-01 返回 Unix 秒。 |
defaultOpenAI 兼容错误。
application/json · OpenAIError
| 字段 | 类型 | 必填 | 说明 |
|---|
error | object | 是 | — |
error.code | string | integer | 否 | — |
error.message | string | 是 | — |
error.type | string | 否 | — |
curl https://www.silvamux.com/api/v3/contents/generations/tasks/VTK-01JXXXXXXXXXXXXXX \
-H "Authorization: Bearer $SILVAMUX_API_KEY"
# pip install requests
import os
import requests
task_id = "VTK-01JXXXXXXXXXXXXXX"
resp = requests.get(
f"https://www.silvamux.com/api/v3/contents/generations/tasks/{task_id}",
headers={"Authorization": f"Bearer {os.environ['SILVAMUX_API_KEY']}"},
)
resp.raise_for_status()
print(resp.json()) # {"id": "...", "status": "succeed", "result": {...}}
// Node 18+(内置 fetch)
const taskId = "VTK-01JXXXXXXXXXXXXXX";
const resp = await fetch(
`https://www.silvamux.com/api/v3/contents/generations/tasks/${taskId}`,
{
headers: { Authorization: `Bearer ${process.env.SILVAMUX_API_KEY}` },
},
);
const task = await resp.json();
console.log(task); // { id: "...", status: "succeed", result: {...} }
// 仅依赖标准库
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
taskID := "VTK-01JXXXXXXXXXXXXXX"
req, err := http.NewRequest("GET", "https://www.silvamux.com/api/v3/contents/generations/tasks/"+taskID, nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("SILVAMUX_API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
成功响应:
{
"id": "VTK-01JXXXXXXXXXXXXXX",
"status": "succeed",
"result": {"video_url": "https://..."}
}
任务状态:queued(排队)→ running(生成中)→ succeed / failed / cancelled / expired。
GET /api/v3/contents/generations/tasks
GET/api/v3/contents/generations/tasks
任务列表
🔑Bearer API Key请求头使用 Authorization: Bearer sk_live_...,也支持 x-api-key。
请求结构
下方内容用于确认方法、地址和鉴权方式,属于 HTTP 结构片段,不是可独立执行示例。
GET https://www.silvamux.com/api/v3/contents/generations/tasks
Authorization: Bearer $SILVAMUX_API_KEY
请求参数
| 参数 | 类型与位置 | 必填 | 说明 |
|---|
page_num | integer · query | 否 | — |
page_size | integer · query | 否 | — |
filter.status | ContentTaskStatus · query | 否 | — |
filter.model | string · query | 否 | — |
filter.kind | string (video | 3d) · query | 否 | — |
filter.task_ids | array<string> · query | 否 | — |
响应
200任务列表。
application/json · object
| 字段 | 类型 | 必填 | 说明 |
|---|
items | array<ContentTask> | 是 | — |
items.content | FreeFormObject | 否 | — |
items.created_at | string (date-time) | integer (int64) | 否 | API 版本 2026-01-01 返回 RFC3339;2026-06-01 返回 Unix 秒。 |
items.error | FreeFormObject | 否 | — |
items.id | string | 是 | — |
items.kind | string (video | 3d) | 否 | — |
items.model | string | 否 | — |
items.status | ContentTaskStatus | 是 | — |
items.updated_at | string (date-time) | integer (int64) | 否 | API 版本 2026-01-01 返回 RFC3339;2026-06-01 返回 Unix 秒。 |
total | integer (int64) | 是 | — |
defaultOpenAI 兼容错误。
application/json · OpenAIError
| 字段 | 类型 | 必填 | 说明 |
|---|
error | object | 是 | — |
error.code | string | integer | 否 | — |
error.message | string | 是 | — |
error.type | string | 否 | — |
DELETE /api/v3/contents/generations/tasks/:id
DELETE/api/v3/contents/generations/tasks/{id}
取消任务
🔑Bearer API Key请求头使用 Authorization: Bearer sk_live_...,也支持 x-api-key。
请求结构
下方内容用于确认方法、地址和鉴权方式,属于 HTTP 结构片段,不是可独立执行示例。
DELETE https://www.silvamux.com/api/v3/contents/generations/tasks/{id}
Authorization: Bearer $SILVAMUX_API_KEY
请求参数
| 参数 | 类型与位置 | 必填 | 说明 |
|---|
id | string · path | 是 | — |
响应
200任务已取消。
application/json · object
| 字段 | 类型 | 必填 | 说明 |
|---|
id | string | 是 | — |
status | string (cancelled) | 是 | — |
409OpenAI 兼容错误。
application/json · OpenAIError
| 字段 | 类型 | 必填 | 说明 |
|---|
error | object | 是 | — |
error.code | string | integer | 否 | — |
error.message | string | 是 | — |
error.type | string | 否 | — |
defaultOpenAI 兼容错误。
application/json · OpenAIError
| 字段 | 类型 | 必填 | 说明 |
|---|
error | object | 是 | — |
error.code | string | integer | 否 | — |
error.message | string | 是 | — |
error.type | string | 否 | — |
仅 queued 状态可取消。
多模态参考生视频(背景图 + 妆造三视图 + 面部特写图 + 提示词):

提示词:
背景参考图片 1,月白虚影闪过,公子(妆造参考图片 2;人物形象严格参考图片 3)旋身开合折扇,鎏金扇刃弹出,墨竹扇面翻飞,慢鼓重响 1 声;特写:折扇刃格挡反派长刀,扇骨与刀身相击,公子唇角勾轻佻笑意,眼神却冷冽,指腹轻转扇柄。慢镜:公子侧身贴地滑步,折扇刃贴反派腿侧划过,带起一道浅痕,锦袍下摆扫过地面,玉簪轻晃。快切:公子旋身抬手,折扇刃飞射而出,擦过反派脖颈,钉入身后木柱,反派僵立不敢动。反转:身后突然传来掌风,公子旋身接掌,指尖相触时借力后跳,折扇刃从木柱飞回手中,眼神警惕。慢镜高光:公子折扇半开,扇刃抵唇侧,抬眸望向身后,碎发被风吹起,眉梢微扬,带一丝桀骜。拉镜:公子立于庭院石台上,折扇轻摇,镜头拉远,庭院四角同时浮现戴面具的黑影(持弯刀,呈合围之势)。定格:公子折扇合起一半,扇刃露鎏金锋芒,抬步向前,画面压暗,只留他的侧影和扇刃光,音效骤停。音效:折扇开合脆响 + 刃风切割声 + 慢鼓卡点(偏沉稳)。
当前可在模型广场发现的 3D 样例模型:doubao-seed3d-2.0。视频模型暂无公开可发现的调用名。
完整模型清单见模型广场。部分模型需要权限标志,由管理员配置。
视频生成按模型与视频参数(分辨率、时长、是否配音)计费,当前单价请在模型广场打开对应模型详情查看。
SilvaMux 的 Seedance 接口与火山官方接口字段相似(同款模型),但:
- 鉴权:用平台 API Key(
sk_live_),不是火山 AK/SK。 - Base URL:
https://www.silvamux.com/api/v3(平台域名),不是火山方舟域名。 - model:使用模型广场或模型列表展示的真实调用名,不是火山 endpoint ID。
- 任务查询:通过轮询
GET /api/v3/contents/generations/tasks/:id 查询任务状态。