图生视频 API:用 RelayDance 让一张图片动起来
使用 RelayDance 的图生视频 API,你可以将一张静态图片转为动态视频:通过 POST /v1/video/generations 提交任务,把参考图片放入 metadata.content[],并在 prompt 中用 @image1 引用它,同时设置 model、seconds 和可选的 ratio、resolution 等参数。随后轮询 GET /v1/video/generations/{task_id} 直到状态为 succeeded,即可获得视频 url。RelayDance 兼容 OpenAI 接口,Base URL 为 https://relaydance.com/v1。
如何提交图生视频任务
图生视频的核心是把参考图片与文本提示词结合。将图片放入请求的 metadata.content[] 数组,每张参考媒体按顺序对应 @image1 到 @imageN,并在 prompt 文本中引用它们,例如描述 @image1 中人物如何运动。一个请求最多支持 9 张参考图片、3 段参考视频和 3 条音频轨道,生成的片段最长 15 秒。你还可以在 metadata 中设置 ratio、resolution 和 generate_audio 来控制输出。认证使用请求头 Authorization: Bearer YOUR_API_KEY,API Key 可在 https://relaydance.com/console 创建。
获取结果:轮询与 Webhook 两种方式
提交任务后有两种获取结果的方式。第一种是轮询:调用 GET /v1/video/generations/{task_id},直到 status 变为 succeeded 或 failed,成功时返回结果中包含视频 url。第二种是 Webhook 回调:在请求中设置 metadata.callback_url,任务到达最终状态后,RelayDance 会将结果以 POST 方式发送到你的服务器,免去持续轮询。两种模式可按业务场景选择,长任务推荐使用 Webhook 以减少请求次数。完整接口说明见 https://relaydance.com/docs。
可用模型与图片生成
RelayDance 提供多组视频与图像模型,包括 ByteDance Seedance 2.0 和 Seedance 1.5 Pro、HappyHorse 视频模型,以及 Grok Imagine 视频和图像模型,另有 Grok 文本模型。如果你需要先生成或编辑一张图片再做图生视频,可调用图像接口 POST /v1/images/generations。各模型的实时单价请查看 https://relaydance.com/models,按模型分别计费。主流模型分组的价格比官方列表价低 30% 或更多,且失败或报错的请求从不计费。
图生视频请求步骤
- 在 https://relaydance.com/console 创建 API Key,并在请求头加入
Authorization: Bearer YOUR_API_KEY。 - 向
POST /v1/video/generations发送请求,填写model、prompt和seconds。 - 把参考图片放入
metadata.content[],并在prompt中用@image1等引用。 - 按需设置
metadata中的ratio、resolution、generate_audio。 - 轮询
GET /v1/video/generations/{task_id},或设置metadata.callback_url接收 Webhook。 - 状态为 succeeded 后,从结果中读取视频 url。
对比:轮询模式与 Webhook 模式
| 项目 | 轮询模式 | Webhook 模式 |
|---|---|---|
| 获取方式 | 调用 GET /v1/video/generations/{task_id} | 设置 metadata.callback_url 接收 POST |
| 触发时机 | 客户端主动反复查询 | 任务到达最终状态时由服务端推送 |
| 适用场景 | 短任务或需要即时查看状态 | 长任务或需要减少请求次数 |
| 最终状态 | succeeded 或 failed | 最终状态被 POST 到你的服务器 |
常见问题
问:一个请求最多可以放几张参考图片?
答:每个请求最多支持 9 张参考图片、3 段参考视频和 3 条音频轨道,生成的片段最长 15 秒。
问:失败的请求会计费吗?
答:不会。失败或报错的请求从不计费。RelayDance 支持 USDT 和 Stripe 银行卡支付。
问:在 prompt 中如何引用参考图片?
答:把图片放入 metadata.content[] 后,在 prompt 文本中使用 @image1 到 @imageN 按顺序引用对应媒体。