视频
用最好的视频模型生成视频:只用文字、从图片开始,或延长一个已完成的视频。
同一个密钥和余额也能生成视频。发起一个视频,读取它的任务直到完成,然后获取文件。在网站上,大家可以在视频页面用同样的模型生成视频。
生成视频
curl https://binference.io/api/v1/videos \
-H "Authorization: Bearer $BINF_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "alibaba/wan-3.0",
"prompt": "A paper boat drifts across a calm pond at sunrise, slow tracking shot",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}'接口立即返回任务:
{
"id": "vid_TFEnw4pmFHxtp2oqMHR8",
"object": "video.generation",
"status": "pending",
"polling_url": "https://binference.io/api/v1/videos/vid_TFEnw4pmFHxtp2oqMHR8",
"estimated_cost": 0.6,
"usage": null
}每隔约 10 秒用你的密钥读取一次 polling_url。大多数视频需要 2 到 4 分钟。当 status 变为 completed 时,用你的密钥 GET unsigned_urls 中的链接:它会跳转到文件,一个所有浏览器都能播放的 H.264 MP4。
curl -L "https://binference.io/api/v1/videos/vid_TFEnw4pmFHxtp2oqMHR8/content" \
-H "Authorization: Bearer $BINF_API_KEY" \
-o video.mp4选择模型
GET /videos/models 列出每个模型支持的时长、分辨率和画面比例,是否能生成声音,可以从哪些画面开始或结束,接受几张参考图,以及能否延长。模型不支持的值会在预留任何费用前返回 400。
| 模型 | 适合 |
|---|---|
alibaba/wan-3.0 | 最长 30 秒、1080p,带声音 |
bytedance/seedance-2.5 | 最长 30 秒,参考图,延长 |
minimax/hailuo-3 | 2K,首帧和尾帧 |
black-forest-labs/flux-3-video | 首帧和尾帧,延长,最高 1080p |
kwaivgi/kling-v3.0-pro | 首帧和尾帧,带声音 |
google/veo-3.1-fast | 最高 4K,带声音,参考图 |
从图片开始
- 首帧和尾帧。 在模型支持时,在
frame_images中设置first_frame、last_frame或两者。视频从第一张图片开始,停在最后一张图片上。 - 参考图。
input_references:要在视频中保留的人物、物品或风格的图片,最多为模型的max_input_references张。不能与frame_images同时使用。 - 链接。 服务商通过公开的
https链接获取每张图片。如果图片在你的电脑上,请先上传:它的链接有效 24 小时,足够使用。
延长视频
在支持 extends: true 的模型上,用你的一个已完成视频作为 previous_job_id,就能在同一个模型上继续延长它。在 prompt 中写下接下来发生什么。
费用
estimated_cost 是这个视频的最高花费。在视频结束前从你的余额中预留,实际按它的成本扣费,绝不会更多。生成失败的视频不收费。视频一旦开始就无法停止。
GET /videos/models 中的 from_price 是每个模型最短、最小视频的价格。时长、分辨率和声音会提高价格。
限制
- 每个 Agent 最多同时生成 3 个视频,每天 100 个。第四个会返回
429和at_once。 - 每个密钥每分钟最多读取 60 次任务。
Idempotency-Key:第二次调用使用同一个键时,会返回同一个视频,不会生成新的视频。- API 参考中没有列出的字段会被忽略。
- 每个视频保留 30 天后删除。它的提示词从不存储。
通过 MCP
create_video 和 get_video 让 Agent 的 MCP 客户端完成同样的操作;视频完成后,get_video 会给出下载链接。
错误
| 状态 | 代码 | 何时 |
|---|---|---|
| 400 | invalid_request | 模型不支持的设置、缺少字段,或链接不是 https |
| 400 | model_not_served | 不是我们提供的视频模型 |
| 400 | video_option_not_served | callback_url、provider、size 或 n |
| 400 | video_input_not_served | 视频或音频参考:目前只支持图片 |
| 401 | invalid_api_key | 密钥缺失、错误或已撤销 |
| 402 | no_credit | 余额不够 estimated_cost |
| 402 | key_limit | 密钥的花费上限不够 |
| 403 | videos_need_credit | 免费余额和私密余额不能支付视频 |
| 403 | agent_paused, agent_* | Agent 的所有者暂停了它,或 Agent 不是活跃状态 |
| 404 | not_found | 这个密钥没有这个视频,或 previous_job_id 不是你的视频 |
| 404 | not_ready | 视频完成前,或删除后读取 /content |
| 429 | at_once、daily_limit | 已有 3 个在生成,或今天已满 100 个:Retry-After 告诉你何时可以继续 |
| 429 | busy | 同时调用太多:请稍后再试 |
| 429 | rate_limited | 每分钟读取任务超过 60 次:Retry-After 告诉你何时可以继续 |
| 503 | unavailable | 暂时无法生成视频:请稍后再试 |
失败的任务会有 status: "failed" 和一个 error.code:content_refused(模型拒绝了提示词或图片)、invalid_request(模型拒绝了某项设置或图片链接)、upstream_failed、upstream_expired、upstream_busy、save_failed、unplayable、submit_lost 或 stuck。这些都不收费。