重试请求结果生成了两条视频:如何避免重复任务和重复扣费
重试请求生成两条视频,通常是因为客户端在原任务尚未返回时再次提交,导致 RelayDance 创建了两个独立任务并按生成结果分别计费。要避免重复任务和重复扣费,应先用 GET /v1/video/generations/{task_id} 轮询原任务状态,确认为 succeeded 或 failed 后再决定是否重试;同时改用 webhook 回调模式,减少盲目重发。RelayDance 采用按生成结果计费,成功的任务会正常计费。
为什么重试会生成两条视频
重复视频的根因是提交了两次 POST /v1/video/generations,每次调用都会创建一个新的 task_id。RelayDance 是按生成的视频计费的(pay-as-you-go),因此两个成功任务会各自扣费。据 relaydance.com 官方文档,「失败或报错的请求一律不计费」,所以只有真正成功生成的视频才会产生费用。以 Seedance 2.0 720p 约 $0.190 / 秒计算,一条 5 秒视频约 $0.950,重复一次即多支出约一倍。关键是不要在原任务返回前重复提交。
用轮询确认状态后再重试
正确做法是提交任务后先轮询状态,而非直接重发请求。提交返回 task_id 后,调用 GET /v1/video/generations/{task_id},直到 status 变为 succeeded 或 failed。只有在明确为 failed 时才重试,因为失败请求不计费,重试不会带来额外费用。若状态仍为处理中,应继续等待而非重发。这样可确保同一业务只对应一个成功任务,避免 Seedance 1080p 约 $0.470 / 秒或原生 4K 约 $4.90 / 5 秒条这类较高单价被重复计入。详细状态说明见 https://relaydance.com/docs。
使用 webhook 回调代替频繁重试
启用 webhook 回调可显著降低因超时误判而重复提交的概率。在 metadata.callback_url 中设置你的服务器地址,任务最终状态会被 POST 回来,无需客户端反复轮询或重发。接口协议为 OpenAI 兼容,据 relaydance.com 官方文档,「将 base_url 改为 https://relaydance.com/v1 并保留 OpenAI SDK 即可调用」,因此接入回调无需重构现有代码。单次请求最多支持 9 张参考图、3 段参考视频和 3 条音轨,片段最长 15 秒;确保参数一次填全,也能减少因参数错误引发的重试。各模型实时费率见 https://relaydance.com/models。
避免重复扣费的操作步骤
按以下步骤处理超时或异常,即可避免重复任务与重复扣费:
- 提交
POST /v1/video/generations,保存返回的task_id。 - 调用
GET /v1/video/generations/{task_id}轮询,或配置metadata.callback_url接收回调。 - 状态为
succeeded:读取结果中的 video url,不要重试。 - 状态为
failed:可安全重试,失败请求不计费。 - 状态仍在处理中:继续等待,不要重新提交。
不同模型的重复扣费影响对比
重复一次任务带来的额外费用,取决于所用模型的单价,下表列出参考值:
| 模型 / 档位 | 单价 | 重复一次的额外费用(示例) |
|---|---|---|
| Seedance Fast | 约 $0.152 / 秒 | 5 秒约多支出 $0.760 |
| Seedance 2.0 720p | 约 $0.190 / 秒 | 5 秒约多支出 $0.950 |
| Seedance 2.0 1080p | 约 $0.470 / 秒 | 5 秒约多支出 $2.350 |
| Seedance 原生 4K | 约 $4.90 / 5 秒条 | 多支出约 $4.90 |
常见问题(FAQ)
问:重试失败的请求会被扣费吗?
不会。失败或报错的请求一律不计费,因此在状态为 failed 后重试是安全的。
问:如何判断任务是否真的完成,避免重复提交?
调用 GET /v1/video/generations/{task_id} 查询状态,或设置 metadata.callback_url 接收最终状态回调,确认为 succeeded 后即可读取 video url,无需重发。
问:接入 RelayDance 需要修改现有 OpenAI 代码吗?
只需将 base_url 改为 https://relaydance.com/v1 并保留 OpenAI SDK,鉴权使用 Authorization: Bearer YOUR_API_KEY,API key 可在 https://relaydance.com/console 创建。
据 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 页为准。