sd-2-c8
10 / 15 秒;支持文字、图片、视频、音频参考。
通过 https://new.fluapi.com/v1 创建异步视频任务,调用 7 个可用视频模型,并使用统一的任务状态接口获取最终视频。
视频生成是异步流程:创建任务 → 保存 task_id → 轮询状态 → 下载视频。所有请求都带同一个 Bearer Token。
https://new.fluapi.com/v1/videoscurl https://new.fluapi.com/v1/videos \ -H "Authorization: Bearer $FLU_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "sd-2-c8", "prompt": "海边日落,镜头缓慢向前推进", "duration": 15, "ratio": "16:9", "resolution": "720p", "audio": true }'
task_id(或 id)和 status。随后请求 GET /videos/{task_id},直到状态变为 completed、succeeded 或 done。模型 ID 必须原样传递,大小写也要保持一致。
10 / 15 秒;支持文字、图片、视频、音频参考。
4–15 秒;支持文字、图片、视频、音频参考。
固定 30 秒;最多 10 张图片参考。
10 / 15 / 30 秒;最多 9 张图片参考。
固定 8 秒;支持多图和 1 个视频编辑参考。
固定 8 秒;支持图片参考和首尾帧。
5 / 10 / 15 秒;支持图片参考。
curl https://new.fluapi.com/v1/models \ -H "Authorization: Bearer $FLU_API_KEY"
所有模型都接受 model、prompt、duration、ratio、resolution;不同模型的合法组合如下。
| 模型 | duration | ratio | resolution / size | 参考素材 |
|---|---|---|---|---|
| sd-2-c8 | 10、15 秒 | 16:9、9:16、1:1 | 720p · 1280x720 / 720x1280 / 720x720 | 图片 9 · 视频 3 · 音频 3 |
| sd-2-c5 | 4–15 秒 | 16:9、9:16、1:1、4:3、3:4、21:9、9:21 | 720p · 按比例输出 | 图片 9 · 视频 3 · 音频 3 |
| sd-2.5-c1 | 30 秒 | 16:9、9:16、1:1、4:3、3:4、21:9、9:21 | 720p · 按比例输出 | 图片 10 |
| Cseadanco2.5K | 10、15、30 秒 | 16:9、9:16、1:1、4:3、3:4、21:9、9:21 | 720p · 按比例输出 | 图片 9 |
| flow-omni-1.1-flash | 4、6、8、10 秒 | 16:9、9:16 | 360p / 720p / 1080p / 4K 640x360 至 3840x2160 | 图片 6 · 视频 1 |
| flow-veo-3-1 | 4、6、8 秒;1080p / 4K 仅 8 秒 | 16:9、9:16 | 720p / 1080p / 4K 1280x720 至 3840x2160 | 图片 3 · 首帧 + 尾帧 |
| OOsd2.5 | 5、10、15 秒 | 16:9、9:16、1:1、4:3、3:4、21:9、9:21 | 720p · 按比例输出 | 图片 9 |
flow-omni-1.1-flash 支持 360p、720p、1080p、4K;flow-veo-3-1 不支持 360p。其余 5 个模型固定使用 720p,传其他值不会改变上游输出。标准创建接口是 JSON。图片、视频、音频参考素材会以 URL 数组或 data URL 写入对应字段;如果你的客户端直接上传文件,请先把素材放到可访问的 URL。
curl https://new.fluapi.com/v1/videos \ -H "Authorization: Bearer $FLU_API_KEY" -H "Content-Type: application/json" \ -d '{ "model": "sd-2-c5", "prompt": "城市夜景中的汽车追逐", "duration": 10, "ratio": "21:9", "resolution": "720p", "audio": true, "images": ["https://cdn.example.com/car.png"], "video_reference": ["https://cdn.example.com/style.mp4"], "audio_reference": ["https://cdn.example.com/engine.mp3"] }'
{
"model": "flow-veo-3-1",
"prompt": "从白天过渡到夜晚",
"seconds": "8",
"duration": 8,
"size": "1280x720",
"resolution": "720p",
"resolution_name": "720p",
"quality": "720p",
"ratio": "16:9",
"aspect_ratio": "16:9",
"first_image_url": "data:image/png;base64,...",
"last_image_url": "data:image/png;base64,..."
}Omni 使用 seconds(字符串)和 duration(数字)双字段;Veo 的首尾帧使用 first_image_url 与 last_image_url。这些字段按模型分支传递。
创建接口返回的任务 ID 用于查询任务。建议每 4 秒轮询一次,设置总超时;不要高频打满接口。
https://new.fluapi.com/v1/videos/{task_id}const base = 'https://new.fluapi.com/v1' async function waitForVideo(taskId) { for (let i = 0; i < 180; i++) { const r = await fetch(`${base}/videos/${encodeURIComponent(taskId)}`, { headers: { Authorization: `Bearer ${process.env.FLU_API_KEY}` } }) const body = await r.json() if (!r.ok) throw new Error(body.error?.message || body.error || `HTTP ${r.status}`) const status = String(body.status || body.data?.status || '').toLowerCase() if (['completed','succeeded','success','done'].includes(status)) return body if (['failed','error','cancelled','canceled','expired','rejected'].includes(status)) throw new Error(body.error || body.message || 'video task failed') await new Promise(resolve => setTimeout(resolve, 4000)) } throw new Error('video task timeout') }
url、video_url、download_url、data.url 或 metadata.url。如果返回 /videos/{task_id}/content,使用同一个 Bearer Token 下载。不同模型读取不同字段。URL 必须能被上游访问;Veo 和 Omni 的图片/视频参考也可以使用 data URL。
| 用途 | 字段 | 适用模型 | 值形状 |
|---|---|---|---|
| 普通图片参考 | images | 7 个模型 | 图片 URL 数组 |
| 视频参考 | video_reference | sd-2-c8、sd-2-c5;Omni 使用 input_reference | 视频 URL 数组 / 单个 data URL |
| 音频参考 | audio_reference | sd-2-c8、sd-2-c5 | 音频 URL 数组或单个 URL |
| Veo 首帧 | first_image_url、first_frame | flow-veo-3-1 | 图片 URL 或 data URL |
| Veo 尾帧 | last_image_url、last_frame | flow-veo-3-1 | 图片 URL 或 data URL |
| 状态 | 含义 | 处理方式 |
|---|---|---|
| 400 | 模型、时长、比例、分辨率或参考字段不合法。 | 按参数矩阵修正后再提交。 |
| 401 | Invalid token / API Key 无效。 | 检查 Bearer Token 和账户权限。 |
| 413 | 请求体或参考素材过大。 | 压缩素材、减少数量或改用 URL。 |
| 429 | 触发限流或账户额度限制。 | 降低创建并发,按 Retry-After 或指数退避。 |
| 500–504 | 上游任务创建或状态服务暂时失败。 | 创建阶段最多重试 2–3 次;轮询阶段继续退避。 |