name: skill-video
网关 api.fmode.cn/v1/video/generations 目前不可用。
new-api 的 Google Veo 插件(plugins/tasks/google/plugin.js 第 44 行)用 GET 查任务,而 Google 要求 POST :fetchPredictOperation,所以永远返回 upstream task not found (HTTP 404)。
本技能绕过网关,直连上游 closeai。 通道已验证可出片(H.264 / 1280×720 / 8s)。
https://api.openai-proxy.org/google/opt/data/.fmode/secrets/closeai.key(渠道 3 的 key,勿外传)veo-3.1-generate-001(标准)、veo-3.1-fast-generate-001(快速)KEY=$(cat /opt/data/.fmode/secrets/closeai.key)
curl -s -X POST "https://api.openai-proxy.org/google/v1beta/models/veo-3.1-generate-001:predictLongRunning" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"instances":[{"prompt":"你的提示词"}],"parameters":{"aspectRatio":"16:9","durationSeconds":8}}'
返回:
{"name":"projects/wv-s-gemini0910/locations/global/publishers/google/models/veo-3.1-generate-001/operations/xxxx"}
OP="刚才返回的完整 name"
curl -s -X POST "https://api.openai-proxy.org/google/v1beta/models/veo-3.1-generate-001:fetchPredictOperation" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d "{\"operationName\":\"$OP\"}"
必须是 POST + :fetchPredictOperation。 GET 查会 404。
判断:
"done": false 或字段不存在 → 继续等(间隔 15-20 秒)"done": true → 完成了,取视频{"done":true,"response":{"raiMediaFilteredCount":0,"videos":[{"bytesBase64Encoded":"...","mimeType":"video/mp4"}]}}
base64 解码写 mp4。注意 curl 要设 --max-time 300,视频有 2-3MB,默认超时会截断 JSON。
raiMediaFilteredCount > 0 → 有内容被安全策略拦了,看 raiMediaFilteredReasons| 参数 | 类型 | 说明 |
|---|---|---|
prompt |
string | 文本提示词,英文效果更稳 |
image |
object | 图生视频:{"bytesBase64Encoded":"...","mimeType":"image/png"} |
| 参数 | 可选值 | 默认 | 对费用影响 |
|---|---|---|---|
aspectRatio |
16:9 / 9:16 |
16:9 | 不影响 |
durationSeconds |
4 / 6 / 8 | 8 | ★ 核心变量,按秒计费 |
resolution |
720p / 1080p |
720p | 1080p 更贵 |
sampleCount |
1-4 | 1 | ★ 成倍增加费用 |
generateAudio |
true/false | — | 可能额外计费 |
negativePrompt |
string | — | 不影响 |
personGeneration |
allow_adult / dont_allow |
— | 含人物时注意合规 |
| 模型 | 官方基础价 | 我方倍率 | 实际扣费 |
|---|---|---|---|
| veo-3.1-generate-001 | $1.38 / 次(8s, 720p) | 2.0× | $2.76 |
| veo-3.1-fast-generate-001 | $0.35 / 次(8s, 720p) | 2.0× | $0.70 |
倍率说明:new-api 渠道当前
group_ratio=2.5,用户要求按 官方 2 倍 计。技能按 2.0 报预算,实际扣费以网关为准。
单条费用 ≈ 基础价 × (durationSeconds / 8) × (1080p ? 1.8 : 1.0) × sampleCount × 倍率
| 组合 | 标准版 | 快速版 |
|---|---|---|
| 8s · 720p · 1条 | $2.76 | $0.70 |
| 8s · 720p · 4条 | $11.04 | $2.80 |
| 4s · 720p · 1条 | $1.38 | $0.35 |
| 8s · 1080p · 1条 | $4.97 | $1.26 |
| 6s · 720p · 1条 | $2.07 | $0.53 |
sampleCount任何一次生成前,先报预估费用和替代方案:
本次预估:8s · 720p · 标准版 · 1条 = $2.76(约 ¥20)
省钱替代:先用 fast 试稿 $0.70,确认后再用标准版 = 合计 $3.46(比直接出 2 条标准版省 37%)
是否继续?
| 报错 | 原因 | 解决 |
|---|---|---|
upstream task not found (HTTP 404) |
用 GET 查了 | 改 POST :fetchPredictOperation |
Invalid task protocol request |
走了网关 /v1/videos |
直连上游,用 /v1beta/models/{m}:predictLongRunning |
json.decoder.JSONDecodeError |
curl 超时截断 | --max-time 300 |
raiMediaFilteredCount > 0 |
触发安全审核 | 改提示词,避开人物/暴力/违禁 |
| 401 | key 不对 | 重取 /opt/data/.fmode/secrets/closeai.key |
Veo 对英文更敏感。结构:
[主体] + [动作] + [环境] + [镜头] + [光线] + [风格]
例:
A golden retriever running on the beach at sunset, tracking shot,
warm golden hour light, cinematic, shallow depth of field, 4k
中文提示词也能用,但英文出片质量更稳。 技能默认把中文需求翻成英文再提交。
scripts/gen.mjs —— 一条命令完成 提交→轮询→下载:
node scripts/gen.mjs --prompt "..." --duration 8 --ratio 16:9 --model fast --out /path/to.mp4
参数:
--prompt 必填--duration 4/6/8(默认 8)--ratio 16:9 / 9:16--model standard / fast(默认 fast,省钱)--resolution 720p / 1080p--count 1-4(默认 1)--estimate-only 只算钱不生成
---网关 api.fmode.cn 的视频模型只有 2 个,且当前都不可用:
| 模型 | 状态 |
|---|---|
veo-3.1-generate-001 |
❌ 任务查询 404(插件 bug) |
veo-3.1-fast-generate-001 |
❌ 同上 |
以下模型网关均未接入(全部返回 503,不是名字写错,是通道不存在):
jimeng-3.0 / jimeng-video / seedance-1.0 / seedance-pro /
doubao-seedance-1-0-pro / doubao-seedance-1-0-lite /
kling-v2 / minimax-hailuo-02 / wan-2.5
有人会说「即梦的 Seedance」,注意区分: Seedream(doubao-seedream-4-0)是图像模型,网关支持且正常(走
/v1/images/generations)。 Seedance 是视频模型,网关没有。
结论:视频生成只能用 Veo 3.1,且必须直连上游 closeai,不能走网关。
如果任务需要「图片 + 视频」混合:
| 类型 | 走哪里 | 端点 |
|---|---|---|
| 图像 | 网关(走计费) | POST https://api.fmode.cn/v1/images/generations,模型 doubao-seedream-4-0-250828 |
| 视频 | 上游直连(不走计费) | 本文档第二节流程 |