跳转到正文

SD2 / Seedance 2.0 ​

本页说明 SD2 的清晰度、画面比例、时长等参数,以及如何把它们放进请求。模型名称使用 AICC-Doubao-Seedance-2.0;调用前请在模型广场确认当前账号可用,并查看相应价格。

先选调用方式 ​

调用方式提交地址提示词怎么传
通用视频接口,自己编写程序时可选https://www.taokennet.com/v1/videosprompt 字符串
Ark / 豆包视频格式,工具明确要求时使用https://www.taokennet.com/v1/contents/generations/taskscontent 数组中的文本项

两种方式都使用自己的平台 API Key,通过 Authorization: Bearer 你的平台APIKey 发送。下面的示例使用 JSON,请同时发送 Content-Type: application/json。

**清晰度、比例、时长都放在 JSON 请求体的顶层,与 model 同级。**不要放在提示词、地址或请求头中。它们只在创建任务时设置,查询已创建的任务不能改变这些参数。

常用参数与默认值 ​

参数类型可选值不传时的默认值用途
model字符串,必填AICC-Doubao-Seedance-2.0,以模型广场可用名称为准无,必须填写选择模型
resolution字符串480p、720p、1080p720p视频清晰度
ratio字符串adaptive、21:9、16:9、4:3、1:1、3:4、9:16adaptive画面宽高比例;adaptive 表示自适应
seconds整数,通用视频接口推荐如 5、10 等,具体可选时长取决于模型支持5视频时长(秒)
duration整数,Ark 格式推荐如 5、10 等,具体可选时长取决于模型支持5视频时长(秒)的另一种写法
generate_audio布尔值true、falsetrue是否同时生成音频

seconds 和 duration 选一个填写即可。两者都省略时为 5 秒;同时填写时数值必须相同。当前不支持用 -1 自动决定时长,也不能填写小数秒数。

布尔值使用 JSON 的 true、false,不要加引号,也不要写成 Python 的 True / False。Python 的 requests 示例可以写 True,库会自动转换成正确的 JSON。

清晰度与比例分别控制什么? ​

resolution 控制清晰度档位,ratio 控制画面的形状。比如:

想要的画面resolutionratio
1080p 横屏"1080p""16:9"
720p 竖屏"720p""9:16"
480p 正方形"480p""1:1"
默认清晰度,自动选择比例省略,使用 720p省略,使用 adaptive

1080p 是清晰度档位,不代表所有比例都输出 1920×1080。要明确横屏或竖屏,请同时传 ratio。不同清晰度、时长、音频或参考视频可能对应不同价格,提交前查看模型广场中的计费说明。

其他可选参数 ​

参数类型与可选值不传时的行为
watermark布尔值:true、false,控制是否带水印不指定,由模型服务的默认行为决定
return_last_frame布尔值:true、false,控制是否返回尾帧不指定,由模型服务的默认行为决定
seed整数,范围 -1~2147483647不指定固定种子
size字符串,仅支持下表的四种像素尺寸不覆盖 resolution 和 ratio

通常直接传 resolution 和 ratio 更清楚。若已有工具只能传 size,可使用以下对应关系:

size等效 resolution等效 ratio
"1280x720""720p""16:9"
"720x1280""720p""9:16"
"1920x1080""1080p""16:9"
"1080x1920""1080p""9:16"

**只要填写了 size,就会按上表覆盖清晰度和比例。**因此不要再同时传 resolution / ratio。其他尺寸字符串不受支持,480p 或其他比例请直接使用 resolution 和 ratio。

通用视频接口:提交 1080p 横屏视频 ​

下面三种语言提交的是同一组参数:1080p、16:9、5 秒,并生成音频。选择一种执行一次即可,不要为了比较示例重复提交。

Python ​

先按 Python 准备教程安装 requests,保存为 sd2_video.py 后运行 python sd2_video.py:

python
import getpass
from pathlib import Path
import requests

API_BASE_URL = "https://www.taokennet.com"
api_key = getpass.getpass("粘贴你的平台 API Key,然后按回车:").strip()
headers = {"Authorization": f"Bearer {api_key}"}

response = requests.post(
    f"{API_BASE_URL}/v1/videos",
    headers=headers,
    json={
        "model": "AICC-Doubao-Seedance-2.0",
        "prompt": "海边日出,镜头缓慢向前移动,画面平稳",
        "resolution": "1080p",
        "ratio": "16:9",
        "seconds": 5,
        "generate_audio": True,
    },
    timeout=180,
)
if not response.ok:
    print("提交失败:", response.status_code, response.text)
    raise SystemExit(1)

video_id = response.json()["id"]
Path("video-task-id.txt").write_text(video_id, encoding="utf-8")
print("任务 ID:", video_id)
print("已保存到 video-task-id.txt。接下来只查询进度,不要重新运行提交程序。")

cURL(Bash) ​

bash
API_BASE_URL='https://www.taokennet.com'
printf '粘贴你的平台 API Key,然后按回车:'
read -r -s API_KEY
printf '\n'

curl --fail-with-body -sS "$API_BASE_URL/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "AICC-Doubao-Seedance-2.0",
    "prompt": "海边日出,镜头缓慢向前移动,画面平稳",
    "resolution": "1080p",
    "ratio": "16:9",
    "seconds": 5,
    "generate_audio": true
  }'

PowerShell ​

powershell
$ErrorActionPreference = 'Stop'
$apiBaseUrl = 'https://www.taokennet.com'
$apiKey = Read-Host '粘贴你的平台 API Key,然后按回车'
$headers = @{ Authorization = "Bearer $($apiKey.Trim())" }
$body = @{
  model = 'AICC-Doubao-Seedance-2.0'
  prompt = '海边日出,镜头缓慢向前移动,画面平稳'
  resolution = '1080p'
  ratio = '16:9'
  seconds = 5
  generate_audio = $true
} | ConvertTo-Json -Depth 5

$created = Invoke-RestMethod `
  -Uri "$apiBaseUrl/v1/videos" `
  -Method Post `
  -Headers $headers `
  -ContentType 'application/json' `
  -Body ([Text.Encoding]::UTF8.GetBytes($body))

$videoId = $created.id
$videoId | Set-Content -LiteralPath 'video-task-id.txt'
Write-Host "任务 ID:$videoId。已保存,请继续查询进度。"

查询进度并下载 ​

提交成功只表示任务已创建,返回结果中的 id 是后续查询使用的任务 ID。

操作方法与地址
查询进度GET https://www.taokennet.com/v1/videos/任务ID
完成后下载GET https://www.taokennet.com/v1/videos/任务ID/content

两步都发送同一个 Bearer 请求头。queued 表示排队,in_progress 表示生成中;等 status 为 completed 再下载,为 failed 时查看 error。完整的 Python 等待、cURL 查询下载和 PowerShell 步骤见通用视频教程。

如果希望直接使用通用教程的自动等待程序,把它的 MODEL_ID 改为 AICC-Doubao-Seedance-2.0,并在 json 请求体中加入本页示例的 resolution、ratio、seconds 和 generate_audio。

改成竖屏或不生成音频 ​

只修改创建请求体里的相应字段,其他步骤不变。例如,想要 720p、9:16、8 秒的无音频视频:

json
{
  "model": "AICC-Doubao-Seedance-2.0",
  "prompt": "竖屏构图,一只小猫走过阳光下的窗台",
  "resolution": "720p",
  "ratio": "9:16",
  "seconds": 8,
  "generate_audio": false
}

Ark / 豆包格式:同样指定清晰度和比例 ​

工具要求 Ark / 豆包格式时,Base URL 填 https://www.taokennet.com/v1,API Key 填平台密钥,模型填 AICC-Doubao-Seedance-2.0。如果工具会自己追加 /v1/contents/generations/tasks,Base URL 改填 https://www.taokennet.com,避免出现重复的 /v1。

与前面的接口相比,这里将提示词放入 content,时长使用 duration;清晰度和比例仍放在请求体顶层。下面的 cURL 在 Bash 运行:

bash
API_BASE_URL='https://www.taokennet.com'
printf '粘贴你的平台 API Key,然后按回车:'
read -r -s API_KEY
printf '\n'

curl --fail-with-body -sS "$API_BASE_URL/v1/contents/generations/tasks" \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "AICC-Doubao-Seedance-2.0",
    "content": [
      {"type": "text", "text": "海边日出,镜头缓慢向前移动,画面平稳"}
    ],
    "resolution": "1080p",
    "ratio": "16:9",
    "duration": 5,
    "generate_audio": true
  }'

保存返回的 id,保持同一个终端窗口,用下面的命令查询:

bash
printf '粘贴返回的任务 ID,然后按回车:'
read -r VIDEO_ID

curl --fail-with-body -sS "$API_BASE_URL/v1/contents/generations/tasks/$VIDEO_ID" \
  -H "Authorization: Bearer $API_KEY"

status 为 queued 或 running 时,等几秒后继续查询;为 succeeded 时,在返回 JSON 中复制 content.video_url,打开并保存视频。failed、cancelled、expired 表示任务已结束且未成功,查看 error,不要继续等待。注意这里的成功状态是 succeeded,通用视频接口则是 completed。

加入参考图或首尾帧 ​

两种调用方式均可用 content 表达参考素材。下面是带参考图的完整 JSON 请求体;它可以替换前面任一接口的请求体,时长在这里统一使用 duration:

json
{
  "model": "AICC-Doubao-Seedance-2.0",
  "content": [
    {"type": "text", "text": "保持参考图中人物的外观,镜头缓慢向前移动"},
    {
      "type": "image_url",
      "image_url": {"url": "https://example.com/your-reference.jpg"},
      "role": "reference_image"
    }
  ],
  "resolution": "720p",
  "ratio": "16:9",
  "duration": 5,
  "generate_audio": true
}

example.com 是占位地址,请换成模型服务能直接访问的真实图片链接,不要填写电脑上的 C:\... 路径、localhost 或需要登录的网页链接。文本描述放在 text 项中,避免同时再填 prompt 导致描述重复。

素材用途typeURL 所在字段role
参考图片image_urlimage_url.urlreference_image
视频首帧image_urlimage_url.urlfirst_frame
视频尾帧image_urlimage_url.urllast_frame
参考视频video_urlvideo_url.urlreference_video
参考音频audio_urlaudio_url.urlreference_audio

图片最多 9 张,参考视频和参考音频各最多 3 个。首帧、尾帧各最多一张;尾帧必须和首帧一起传,首尾帧不能与 reference_image 混用。参考音频需同时提供图片或视频,不能仅传音频。不同素材的可用性还需满足模型本身的要求。

常见问题 ​

  • **不传清晰度和比例会怎样?**使用 720p 和 adaptive;时长不传为 5 秒,音频默认开启。
  • **传了 1080p,结果仍按 720p 处理?**检查是否还传了 size;size 会覆盖清晰度与比例。
  • **提示清晰度不支持?**值填写 480p、720p 或 1080p,不要填写 1080、2K 或 4K。
  • **提示比例不支持?**使用表中的英文冒号字符串,例如 "9:16",不要写 9/16 或中文冒号。
  • **提示时长不支持?**按模型支持的时长填写整数秒数,如 5、10 等,且不要同时传数值不同的 seconds 和 duration。
  • **提交后没立即返回视频?**这是异步生成,先保存任务 ID,再查询。查询参数里重新传清晰度不会改变已有任务。

继续:视频模型目录 · 通用视频生成与下载 · 常见问题。