Skip to content

Doubao Seedance 2.0 视频生成

Doubao Seedance 2.0 是字节跳动推出的新一代视频生成模型,支持文本生成视频、图片驱动视频、音频驱动视频等多种模式,具备出色的运动一致性和画面连贯性,适合短视频创作、数字人和广告制作等场景。

快速开始

bash
curl -X POST https://open.dieyuyun.com/v1/video/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0",
    "prompt": "一位女性新闻主播在演播室中播报新闻,正面镜头,表情自然",
    "size": "1280x720",
    "duration": 5
  }'

请求端点

项目
方法POST
路径/v1/video/generations
Base URLhttps://open.dieyuyun.com
兼容协议OpenAI-compatible

认证

所有请求均需在请求头中携带 API Key:

http
Authorization: Bearer YOUR_API_KEY

标准请求字段

字段类型必填默认值说明
modelstring模型标识,如 doubao-seedance-2-0
promptstring视频内容描述
sizestring1280x720视频分辨率,支持 1280x720720x12801920x1080
durationinteger5视频时长(秒),支持 5 或 10
imagestring起始帧图片 URL(图生视频模式)
modestringtext生成模式:text(文生视频)、image(图生视频)、audio(音频驱动)

扩展字段(metadata)

字段类型说明
metadata.generate_audioboolean是否自动生成配音,默认 false
metadata.seedinteger随机种子,用于结果复现
metadata.camera_fixedboolean是否固定镜头(不产生镜头运动),默认 false
metadata.watermarkboolean是否添加水印,默认 false
metadata.audio_urlstring音频文件 URL,用于音频驱动模式
metadata.video_urlstring参考视频 URL,用于视频风格迁移

请求示例

文生视频

bash
curl -X POST https://open.dieyuyun.com/v1/video/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0",
    "prompt": "一位厨师在厨房中翻炒铁锅,火焰升腾,慢动作特写",
    "size": "1280x720",
    "duration": 5
  }'
python
import requests

response = requests.post(
    "https://open.dieyuyun.com/v1/video/generations",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "model": "doubao-seedance-2-0",
        "prompt": "一位厨师在厨房中翻炒铁锅,火焰升腾,慢动作特写",
        "size": "1280x720",
        "duration": 5
    }
)

task = response.json()
task_id = task["task_id"]
print(f"任务已创建: {task_id}")
javascript
const response = await fetch('https://open.dieyuyun.com/v1/video/generations', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'doubao-seedance-2-0',
    prompt: '一位厨师在厨房中翻炒铁锅,火焰升腾,慢动作特写',
    size: '1280x720',
    duration: 5,
  }),
})

const task = await response.json()
console.log('任务已创建:', task.task_id)

图生视频

bash
curl -X POST https://open.dieyuyun.com/v1/video/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0",
    "mode": "image",
    "prompt": "人物微笑并缓缓转头",
    "image": "https://example.com/portrait.jpg",
    "size": "720x1280",
    "duration": 5
  }'

音频驱动

bash
curl -X POST https://open.dieyuyun.com/v1/video/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0",
    "mode": "audio",
    "prompt": "数字人播报以下音频内容",
    "image": "https://example.com/avatar.jpg",
    "duration": 10,
    "metadata": {
      "audio_url": "https://example.com/speech.mp3"
    }
  }'

响应格式

视频生成为异步任务,提交后返回任务 ID,需轮询获取结果。

任务创建响应

json
{
  "task_id": "task_seed456",
  "status": "queued",
  "progress": 0,
  "created_at": "2025-01-15T10:30:00Z"
}

轮询任务状态

bash
curl https://open.dieyuyun.com/v1/video/generations/task_seed456 \
  -H "Authorization: Bearer YOUR_API_KEY"

任务完成响应

json
{
  "task_id": "task_seed456",
  "status": "completed",
  "progress": 100,
  "metadata": {
    "url": "https://cdn.dieyuyun.com/videos/task_seed456.mp4",
    "duration": 5,
    "size": "1280x720"
  },
  "completed_at": "2025-01-15T10:34:00Z"
}

轮询示例

python
import time
import requests

# 提交任务
resp = requests.post(
    "https://open.dieyuyun.com/v1/video/generations",
    headers={"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"},
    json={
        "model": "doubao-seedance-2-0",
        "prompt": "一位女性新闻主播在演播室中播报新闻",
        "duration": 5
    }
)
task_id = resp.json()["task_id"]

# 轮询结果
while True:
    status = requests.get(
        f"https://open.dieyuyun.com/v1/video/generations/{task_id}",
        headers={"Authorization": "Bearer YOUR_API_KEY"}
    ).json()

    if status["status"] == "completed":
        print(f"视频地址: {status['metadata']['url']}")
        break
    elif status["status"] == "failed":
        print("生成失败")
        break

    time.sleep(5)

异步任务

视频生成为异步任务。完整的任务轮询流程、状态说明和最佳实践,请参阅 异步任务

最佳实践

  1. 数字人场景:使用 audio 模式配合人物正面照片和语音音频,可生成口型同步的数字人视频
  2. 动作描述:Seedance 2.0 对动作描述敏感,详细描述人物动作可获得更好的运动一致性
  3. 固定镜头:对于不需要镜头运动的场景(如新闻播报),设置 metadata.camera_fixed: true 可提升稳定性
  4. 图生视频:提供高清正面参考图可显著提升人物表情和动作的自然度
  5. 时长选择:5 秒适合测试和短片段,10 秒适合完整叙事场景

速率限制

限制项
每分钟请求数5 RPM
每日请求数100 次/天
并发任务数2

如需更高限额,请在 控制台 提交工单申请。