功能说明
纯文本输入生成视频;input_image 可加入普通图片;需要首尾帧或视频/音频角色时使用 metadata.content。不同模型能力见模型表。
第一步:鉴权
在控制台 API 密钥取得青云 API Key。每次创建、查询和下载请求都发送以下请求头:
Authorization: Bearer YOUR_API_KEY将 YOUR_API_KEY 替换为自己的 Key,保留 Bearer 和其后一个空格。无需先请求登录接口。
第二步:调用模型生成
POST https://top.qingyuntop.ai/v1/responses,Content-Type: application/json。
| 参数 | 类型 | 必填 | 详细说明 |
|---|---|---|---|
| model | string | 是 | 完整 Seedance 模型 ID。 |
| input | string 或 array | 是 | 文本字符串,或含 input_text、input_image 的消息数组。参考视频请求也应带非空文本。 |
| input[].content[].image_url | string | 图片项必填 | 可访问的 HTTPS URL 或完整 data:image/…;base64,…。 |
| seconds | integer | 建议 | 正整数秒,支持范围见模型表。 |
| duration | integer | 否 | seconds 缺省时才使用的别名;避免同时填两个。 |
| metadata | object | 否 | 豆包生成选项,如 resolution、ratio、generate_audio。 |
| metadata.content | object[] | 否 | 首尾帧、参考图、视频、音频;角色和结构与豆包 content 相同。 |
| resolution | string | 否 | 会覆盖 metadata.resolution;建议只填写 metadata.resolution 一处。 |
| size | string | 否 | 缺省 resolution 时仅推断清晰度档位,不推断比例;请显式填写 metadata.ratio。 |
| background | boolean | 否 | true 后台任务;默认 false。 |
| stream | boolean | 否 | true 使用 SSE;默认 false。 |
其余选项与豆包创建参数一致,放入 metadata。文本请放 input,不要把唯一文本放 metadata.content。不要将视频写成 input_video:本入口不接受这种视频输入方式。
文生视频代码
cURL 使用 Bash 语法;Python 先安装 requests;Node.js 使用 22+ 并保存为 .mjs。示例中的 Key、素材 URL 和任务 ID 都需要替换。
curl --fail-with-body "https://top.qingyuntop.ai/v1/responses" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-5-260628",
"input": "一只橙色的猫走过雨后屋顶,镜头缓慢推进,柔和的傍晚光线,伴随轻微雨声。",
"seconds": 5,
"metadata": {
"resolution": "720p",
"ratio": "16:9",
"generate_audio": true
},
"background": true,
"stream": false
}'图片输入
将上面代码的请求体替换为:
{
"model": "doubao-seedance-2-5-260628",
"input": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "保持产品外观,镜头慢慢向前推进。"
},
{
"type": "input_image",
"image_url": "https://example.com/product.png"
}
]
}
],
"seconds": 5,
"metadata": {
"resolution": "720p",
"ratio": "adaptive"
},
"background": true,
"stream": false
}URL 必须能直接读取图片;本机路径、需要登录的页面不能作为素材。data URL 要包含 MIME 和 base64 前缀,不要使用缺少该前缀的裸 Base64。顶层 image、input_reference、images 也是别名入口,但应选一种写法避免重复图片。
首尾帧、视频及音频
首尾帧用 metadata.content 中的 image_url,并设置 first_frame、last_frame。参考视频/音频使用如下完整请求体;首尾帧与多模态参考分别组织:
{
"model": "doubao-seedance-2-5-260628",
"input": "参考视频中的运动,配合音频节奏生成新的产品展示。",
"seconds": 5,
"metadata": {
"resolution": "720p",
"ratio": "16:9",
"omni_reference_task_type": "reference",
"content": [
{
"type": "video_url",
"video_url": {
"url": "https://example.com/reference.mp4"
},
"role": "reference_video"
},
{
"type": "audio_url",
"audio_url": {
"url": "https://example.com/music.mp3"
},
"role": "reference_audio"
}
]
},
"background": true,
"stream": false
}2.5 编辑时省略 seconds/duration 顶层字段,在 metadata 设置 duration: -1、ratio: adaptive、omni_reference_task_type: edit。素材和模型限制见原生格式说明。
创建结果与下一步
结构示例:
{
"id": "resp_doubao_example",
"object": "response",
"status": "queued",
"output": [],
"metadata": {
"task_id": "task_doubao_example"
}
}保存 id 与 metadata.task_id,按查询与下载处理。成功的 output_text 是视频预览文本,下载直接使用公共 task ID 的 content 接口。