要批量调用Runway Gen-4.5需对接API:先获取rw_sk_开头的API密钥并安全存储;再向https://api.runwayml.com/v1/video-generation提交含prompt、model等字段的POST请求获取task_id;接着轮询https://api.runwayml.com/v1/video-generation/{task_id}直至status为succeeded,提取video_url下载视频。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要用程序批量调用 Runway Gen-4.5 生成视频,必须绕过网页界面直接对接 API,否则无法集成进自动化流水线、无法批量提交提示词、也无法实时监听任务状态——手动点“生成”一百次不是生产,是体力劳动。
准备 API 访问凭证
登录 Runway 官网 → 进入 Account Settings → 找到 Developer → 点击 Create New API Key → 复制生成的密钥字符串(以 rw_sk_ 开头)。
【密钥只显示一次,关闭页面后无法再次查看,务必立刻存到安全位置】
把密钥保存为环境变量 RW_API_KEY,或写进配置文件。别硬编码在脚本里,下次 git push 就等于公开泄露权限。
构造请求体并提交生成任务
向 https://api.runwayml.com/v1/video-generation 发送 POST 请求,Header 必须包含:
Authorization: Bearer <你的密钥>
Content-Type: application/json
Body 示例(JSON 格式):
{
"prompt": "一只银渐层猫蹲在窗台,阳光斜射,尾巴缓慢摆动,窗外树叶微晃",
"model": "gen-4.5",
"duration": 8,
"aspect_ratio": "16:9",
"seed": 4271
}
注意:duration 只能填 5、8 或 10;aspect_ratio 目前仅支持 "16:9"、"9:16"、"1:1"、"4:3"、"21:9" 五种;seed 是可选整数,不填则每次结果随机。
响应会返回一个 task_id 字符串,形如 "task_abc123xyz" ——这是后续查结果的唯一凭据,必须立刻记录下来。
轮询获取生成结果
第一步:用刚拿到的 task_id 向 https://api.runwayml.com/v1/video-generation/<task_id> 发送 GET 请求(同样带 Authorization Header)。
第二步:检查响应中的 status 字段。只要还是 "processing" 或 "queued",就等待 3 秒再重试。别狂刷,每秒请求超 2 次会被限流。
第三步:当 status 变成 "succeeded",提取 response 中的 video_url 字段——这是一个有效期 24 小时的直链,可直接下载或嵌入播放器。
如果 status 是 "failed",看 error_message 字段内容。常见原因是提示词含违禁词、图像 URL 失效、或 seed 超出 32 位整数范围。
处理失败与重试逻辑
方法一:对 status == "failed" 的任务,检查 error_message 是否含 "invalid prompt" 字样。若是,说明提示词触发了内容策略过滤,需删减形容词、去掉品牌名、避免暴力/成人暗示词,重新构造 prompt 后重发请求。
方法二:若 error_message 显示 "quota exceeded",说明本月积分已用完。此时不要反复重试,应暂停任务队列,改用本地缓存的备用种子生成低质量预览版,等次月重置后再补高质量版本。
方法三:遇到 network timeout 或 503 错误,立即启用指数退避重试(首次延迟 1s,第二次 2s,第三次 4s……上限 60s),超过 5 次仍失败则标记为 dead task 并告警。
下载并保存视频文件
拿到 video_url 后,用 curl 或 requests.stream 下载。注意:URL 带临时签名,过期即失效,必须在获取后 5 分钟内发起下载请求。
下载时设置 timeout=120,因为 Gen-4.5 输出的 8 秒 720p 视频平均大小约 45MB,慢速网络可能需要一分半才能传完。
保存文件名建议拼接 task_id + timestamp,例如 task_abc123xyz_202607211422.mp4,避免同名覆盖。


















