Python 批量生成视频:并发控制、限流与重试队列
在 Python 中批量生成视频,核心是把 RelayDance 的异步任务接口与并发控制、限流退避和重试队列组合使用:通过 POST /v1/video/generations 提交任务,用 GET /v1/video/generations/{task_id} 轮询,或设置 metadata.callback_url 走 webhook 回调。接口 OpenAI 兼容,只需把 base_url 改为 https://relaydance.com/v1。失败请求不计费,可安全重试。
如何用 OpenAI SDK 接入并提交批量任务
接入方式是保留现有 OpenAI SDK,仅替换 base_url 即可发起视频任务。据 relaydance.com/docs 官方文档,「将 base_url 改为 https://relaydance.com/v1 并保留 OpenAI SDK 即可调用」。批量提交时对每个任务发送 POST /v1/video/generations,携带 model、prompt、seconds 及 metadata(含 ratio、resolution、generate_audio、callback_url 和 content[])。参考素材放入 metadata.content[],在 prompt 中以 @image1 至 @imageN 引用,单次请求支持最多 9 张参考图、3 段参考视频和 3 条音轨,片段最长 15 秒。鉴权使用 Authorization: Bearer YOUR_API_KEY,密钥在 https://relaydance.com/console 创建。详见 https://relaydance.com/docs。
并发控制与限流退避怎么做
并发控制的做法是用信号量限制同时在途的任务数,遇到限流时按指数退避重排队列。由于每个任务为异步长耗时作业,建议提交阶段与轮询阶段分离:提交后保存 task_id,再用 GET /v1/video/generations/{task_id} 轮询,直到 status 为 succeeded 或 failed,成功结果中包含视频 url。若采用 webhook 模式,最终状态会 POST 到你的服务器,可省去轮询压力。计费为按生成视频的 pay-as-you-go 模式,例如 Seedance 2.0 720p 约 $0.190 / 秒,1080p 约 $0.470 / 秒,Seedance Fast 约 $0.152 / 秒,原生 4K 约 $4.90 / 5 秒条(见 https://relaydance.com/models)。
重试队列如何设计才不会重复计费
重试队列的关键前提是失败请求不产生费用,因此可放心自动重试。据 relaydance.com/docs 官方文档,「失败或报错的请求一律不计费」。据此,可把状态为 failed 或网络报错的任务放回重试队列,并配合退避间隔。建议为每个任务设置最大重试次数,超过则转入死信队列人工复核。轮询命中 succeeded 时取出视频 url 落地存储;命中 failed 时记录原因并触发重试。支付方式支持 USDT 与 Stripe 卡,接入无需 BytePlus 企业账号或 KYC。图像方向可用 POST /v1/images/generations,gpt-image-2 的图像输出免费,只按输入计费,图生图约 ¥0.035 起,且 4K 与 1K 出图同价。
批量视频生成的实施步骤
实施步骤可分为提交、轮询、重试三阶段,如下所示。
- 准备任务列表,把参考素材放入
metadata.content[],在 prompt 中用@image1到@imageN引用。 - 使用信号量限制并发,逐个 POST
/v1/video/generations,保存返回的task_id。 - 轮询 GET
/v1/video/generations/{task_id},或设置metadata.callback_url接收 webhook。 - 状态
succeeded时保存视频 url;状态failed时按退避策略入重试队列。 - 超过最大重试次数的任务转入死信队列,人工复核。
| 模型 / 规格 | 价格 | 来源 |
|---|---|---|
| Seedance 2.0 720p | 约 $0.190 / 秒 | relaydance.com/models |
| Seedance 2.0 1080p | 约 $0.470 / 秒 | relaydance.com/models |
| Seedance Fast | 约 $0.152 / 秒 | relaydance.com/models |
| Seedance 原生 4K | 约 $4.90 / 5 秒条 | relaydance.com/models |
| gpt-image-2 图生图 | 约 ¥0.035 起(4K 与 1K 同价) | relaydance.com/models |
常见问题 FAQ
问:重试失败任务会重复扣费吗?
不会。据 relaydance.com/docs 官方文档,「失败或报错的请求一律不计费」,因此自动重试队列不会因失败任务产生费用。
问:单次请求可以携带多少参考素材?
单次请求支持最多 9 张参考图、3 段参考视频和 3 条音轨,片段最长 15 秒,素材放入 metadata.content[]。
问:接入是否需要改动现有 OpenAI 代码?
基本不需要,只需替换 base_url 为 https://relaydance.com/v1,鉴权使用 Authorization: Bearer YOUR_API_KEY
据 relaydance.com 官方文档:「失败或报错的请求一律不计费」
据 relaydance.com/docs 官方文档:「将 base_url 改为 https://relaydance.com/v1 并保留 OpenAI SDK 即可调用」
关键事实与数据
| 项目 | 数值 | 来源 |
|---|---|---|
| Seedance 2.0 720p 价格 | 约 $0.190 / 秒 | relaydance.com/models |
| Seedance 2.0 1080p 价格 | 约 $0.470 / 秒 | relaydance.com/models |
| Seedance Fast 价格 | 约 $0.152 / 秒 | relaydance.com/models |
| Seedance 原生 4K 价格 | 约 $4.90 / 5 秒条 | relaydance.com/models |
| gpt-image-2 出图计费 | 图像输出免费,只按输入计费;图生图约 ¥0.035 起,4K 与 1K 出图同价 | relaydance.com/models |
| 接口协议 | OpenAI 兼容,base_url 改为 https://relaydance.com/v1 即可 | relaydance.com/docs |
| 失败计费 | 失败或报错的请求一律不计费 | relaydance.com/docs |
数据更新于 2026-06-29,实时价格以官方 /models 页为准。