Skip to content

视频生成 ​

primerouter 提供 Seedance 视频生成:文生视频、首尾帧生视频、参考图 / 参考视频 / 参考音频生视频。任务是异步的:先提交拿到任务 ID,再查询进度,完成后拿到视频下载链接。

需要「Seedance」分组的 Key

视频模型只在 Seedance 分组里。请在控制台新建(或编辑)一个 API Key,分组选「Seedance」,再用它调用下面的接口。

端点用途
POST /v1/video/generations提交任务
POST /v1/videos提交任务(同上,OpenAI 视频格式的路径)
GET /v1/video/generations/{task_id}查询任务(通用格式)
GET /v1/videos/{task_id}查询任务(OpenAI 视频格式)

两个提交端点完全等价,请求体都是 JSON。

模型 ​

模型时长分辨率
seedance-2.04–15 秒480P 720P 1080P 2K 4K
seedance-2.54–30 秒480P 720P 1080P 2K 4K

文生视频 ​

bash
curl https://primerouter.ai/v1/video/generations \
  -H "Authorization: Bearer $PRIMEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0",
    "prompt": "清晨的湖面上,一只红色纸船缓缓漂过,镜头慢慢推近",
    "duration": 5,
    "metadata": { "resolution": "1080P", "ratio": "16:9" }
  }'

返回:

json
{
  "id": "task_xxxxxxxx",
  "task_id": "task_xxxxxxxx",
  "object": "video",
  "model": "seedance-2.0",
  "status": "queued",
  "progress": 0,
  "created_at": 1761484800
}

记下 id,用它查询。

首尾帧生视频 ​

images 的第 1 张是首帧,第 2 张是尾帧(只给 1 张就只有首帧;也可以用 image 传单张):

bash
curl https://primerouter.ai/v1/video/generations \
  -H "Authorization: Bearer $PRIMEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.5",
    "prompt": "镜头从花苞缓慢过渡到盛开的花",
    "images": ["https://example.com/first.png", "https://example.com/last.png"],
    "duration": 8,
    "metadata": { "resolution": "720P" }
  }'

参考图 / 参考视频 / 参考音频 ​

参考素材放在 metadata.content 数组里,每个元素写清类型和用途(role):

bash
curl https://primerouter.ai/v1/video/generations \
  -H "Authorization: Bearer $PRIMEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0",
    "prompt": "参考视频的运镜,让图片里的人物走进画面",
    "duration": 6,
    "metadata": {
      "resolution": "720P",
      "content": [
        { "type": "image_url", "image_url": { "url": "https://example.com/character.png" }, "role": "reference_image" },
        { "type": "video_url", "video_url": { "url": "https://example.com/camera-move.mp4" }, "role": "reference_video" }
      ]
    }
  }'
  • type 只能是 image_url、video_url、audio_url(text 元素会被忽略,文字请写在 prompt)
  • role 用 reference_image、reference_video、reference_audio
  • 参考音频不能单独用,需要同时给参考图或参考视频,否则任务会失败
  • 参考视频总时长最多 15 秒

查询任务 ​

bash
curl https://primerouter.ai/v1/videos/task_xxxxxxxx \
  -H "Authorization: Bearer $PRIMEROUTER_API_KEY"

status 依次为 queued → in_progress → completed 或 failed。刚提交、还没同步到进度时,status 可能是 unknown,请当作进行中、继续查询。完成后视频链接在 metadata.url:

json
{
  "id": "task_xxxxxxxx",
  "object": "video",
  "model": "seedance-2.0",
  "status": "completed",
  "progress": 100,
  "metadata": { "url": "https://...mp4?..." }
}

失败时 error.message 是失败原因。

用通用格式 GET /v1/video/generations/{task_id} 查询时,状态在 data.status(QUEUED / IN_PROGRESS / SUCCESS / FAILURE;刚提交时可能是 NOT_START,同样当作进行中),视频链接在 data.result_url,失败原因在 data.fail_reason。

一般 2–5 分钟完成,建议每 15–30 秒查一次。

请在 12 小时内下载

下载链接是临时的,请在 12 小时内下载保存,过期后无法再获取。

请求参数 ​

字段说明
modelseedance-2.0 或 seedance-2.5,必填
prompt提示词,必填
duration时长(秒,整数)。不传默认 5 秒;传 -1 由模型自己决定时长
seconds时长的另一种写法(字符串,如 "8");duration 优先
image / images首帧 / 尾帧图片 URL,最多 2 张
metadata.resolution480P 720P 1080P 2K 4K,必须大写;不传默认 720P
metadata.ratio21:9 16:9 4:3 1:1 3:4 9:16 adaptive
metadata.duration时长的第三种写法(整数);顶层 duration、seconds 都没传时才用
metadata.content参考图 / 参考视频 / 参考音频,见上文
metadata.options只接受 return_last_frame(目前结果里不会返回尾帧图片,传了不影响生成)

几点说明:

  • 分辨率和时长只认上面的参数,写在提示词里(如 --rs 1080p --dur 10)无效
  • 素材 URL 必须是公网可访问的 http / https 链接。链接打不开时任务会失败(不收费)
  • 含真实人脸的图片可能被拒绝,任务失败(不收费)
  • metadata 里上表以外的字段(如 seed、watermark)不会生效
  • 不支持表单上传(multipart/form-data)和 input_reference,请把素材放到可访问的链接里再传 URL

报错 ​

以下错误在提交时直接返回 HTTP 400,不扣费:

错误信息原因
only JSON requests with media URLs are supported用了表单上传,或传了 input_reference
images accepts at most 2 entries (first and last frame); put reference images in metadata.contentimages 超过 2 张;参考图请放进 metadata.content
metadata.options only supports return_last_framemetadata.options 里有其他字段
metadata.content items must be image_url, video_url, audio_url or textmetadata.content 里有不支持的类型
media URLs must use http or https素材链接不是 http / https
model <模型名> is not available for video generation该模型暂不能用于视频生成,请换用上表的模型或联系管理员
model <模型名> has no price configured, please contact the administrator模型还没有定价,请联系管理员

分辨率、比例、时长不在支持范围内(如 1080p 小写、seedance-2.0 传 20 秒)时,同样在提交时返回 400,不扣费。

计费 ​

  • 按秒计费:价格由模型、输出分辨率决定,乘以视频秒数
  • 带参考视频时,参考视频的秒数也计费(按同一分辨率的「带参考视频」单价,输入、输出分别计)
  • 生成失败不收费
  • 提交时按这次请求最多可能花费的金额预扣(例如时长传 -1 按该模型的最长时长预扣),生成完成后按实际用量多退少补
  • 各分辨率每秒单价见 定价页 的「Seedance」标签页,已含分组倍率