背景
本轮实测把七牛 qnaigc 的视频/图像生成用于 2D 角色动作,跑通"生成 → 序列帧"管线,沉淀对/错/原因,供三条生成路径(#25 )与架构主干(#3 )参考。
一、平台与接入(实测)
base https://api.qnaigc.com/v1;视频在独立端点:
Kling / Sora:POST /videos → 轮询 GET /videos/:id(结果 task_result.videos[0].url)
Veo:POST /videos/generations → GET /videos/generations/:id(body 结构不同)
单价:kling-v2-5-turbo 0.3 元/秒(5s = ¥1.5);kling-video-o1 0.6 元/秒(¥3.0);gemini-2.5-flash-image ¥0.28/张
二、核心结论
图生视频治"角色漂移" :图生图逐帧水平漂移 154px(19% 宽)随机乱跳;从锁定母版做 image-to-video 后降到 65px(5%)且平滑。根因是控制维度 (时序连贯),不是提示词——逐帧独立生成没有跨帧一致性通道。
可循环两条路 :① 模型端首尾帧 image_tail——仅 kling-video-o1/pro 支持 (v2.5-turbo/std、v2-1/std API 明确报错拒绝),但 o1 会重绘画风 + 加灰底、伤一致性;② 后期找与首帧最相似帧裁闭环——任意机型、保画风(推荐 )。
提示词只写正向 :负面词("禁止烟尘 / NO shadow")会被模型 latch,反而生成更多;删掉负面词后画面干净。
母版预处理 :i2v 整块像素平移,角色贴边时武器一挥就出画被裁 → 母版缩到 ~65%、四周留 ≥20% 安全边。
Veo 当前在本网关不可用 :veo-3.1-fast 所有输入秒失败(含无害卡通文生视频),veo-3.0-fast 排队超时不出片 → 非内容审核,是模型/队列问题。选型暂排除。
三、动作类型 → 方法 + 成本模型
动作
方法
说明
待机 idle
视频 i2v(局部呼吸)/ 骨骼绑定
逐帧图生图对 idle 过度变化(需极小帧间差,模型偏爱大变化)
走路 / 跑
披风角色 → 视频 i2v ;露腿角色 → 逐帧 + 骨架条件
见第四条
攻击 / 冲刺
视频 i2v
coherent 大动态,治漂移
统一管线 :母版(留边)→ i2v → 找匹配帧无缝循环 → 烤成 N 帧序列帧。视频 = 一次性"生产工具",序列帧 = 交付物 (进引擎零成本、单帧可编辑、可复用)。
成本 :一个角色 ≈ ¥1–2 (母版≈免费 + 招牌动作视频 ¥1.5/条 + 其余走绑骨/程序化 ¥0)。
四、发现的管线问题(建议改,关联实现 Issue)
逐帧流程丢了骨架条件(回归) :FLOWLOG 步骤③"骨架条件图"(skeleton_gen.py)没接进逐帧生成的主流程(gen_action 调 gen_frame 未传 skeleton_path)→ 缺姿势约束。已在实现管线仓分支修复(gen_action + autofix 传 skeleton_path)。露腿角色(骷髅/精灵)走路依赖此步 ,Refs 实现:逐帧对齐 + 循环闭合 lastmile.alignment/loop(填桩 · Refs #3) #21 。
披风/长裙角色走路的边界 :skeleton_gen 文档明示"仅露腿角色有意义"。重甲骑士长披风 + 腰裙遮住腿 → 逐帧 + 骨架显示不出迈步 (实测:腿几乎不动 + 骨架青色渗染进画面);改走视频 i2v 后走路正常 。→ 走路方法应按"腿是否可见"分流。
一致性质检(VLM)默认关 :qa.run_qa / autofix 的 use_vlm=False;角色一致性漂移正是 VLM 层能抓的。建议默认开(已在分支改,--no-qa-vlm 可关),Refs 实现:动作级质检 evaluation(承接 PR#2 老师 L201 · Refs #3) #23 。
抠图残留 :生成图的品红背景 / 斜向特效边缘经 rembg 后偶有残留,仍需 QC,Refs 实现:抠图去背 lastmile.matting(填桩 · Refs #3) #20 。
五、附
背景
本轮实测把七牛 qnaigc 的视频/图像生成用于 2D 角色动作,跑通"生成 → 序列帧"管线,沉淀对/错/原因,供三条生成路径(#25)与架构主干(#3)参考。
一、平台与接入(实测)
https://api.qnaigc.com/v1;视频在独立端点:POST /videos→ 轮询GET /videos/:id(结果task_result.videos[0].url)POST /videos/generations→GET /videos/generations/:id(body 结构不同)kling-v2-5-turbo0.3 元/秒(5s = ¥1.5);kling-video-o10.6 元/秒(¥3.0);gemini-2.5-flash-image¥0.28/张二、核心结论
image_tail——仅kling-video-o1/pro支持(v2.5-turbo/std、v2-1/stdAPI 明确报错拒绝),但 o1 会重绘画风 + 加灰底、伤一致性;② 后期找与首帧最相似帧裁闭环——任意机型、保画风(推荐)。veo-3.1-fast所有输入秒失败(含无害卡通文生视频),veo-3.0-fast排队超时不出片 → 非内容审核,是模型/队列问题。选型暂排除。三、动作类型 → 方法 + 成本模型
四、发现的管线问题(建议改,关联实现 Issue)
skeleton_gen.py)没接进逐帧生成的主流程(gen_action调gen_frame未传skeleton_path)→ 缺姿势约束。已在实现管线仓分支修复(gen_action+autofix传skeleton_path)。露腿角色(骷髅/精灵)走路依赖此步,Refs 实现:逐帧对齐 + 循环闭合 lastmile.alignment/loop(填桩 · Refs #3) #21。skeleton_gen文档明示"仅露腿角色有意义"。重甲骑士长披风 + 腰裙遮住腿 → 逐帧 + 骨架显示不出迈步(实测:腿几乎不动 + 骨架青色渗染进画面);改走视频 i2v 后走路正常。→ 走路方法应按"腿是否可见"分流。qa.run_qa/autofix的use_vlm=False;角色一致性漂移正是 VLM 层能抓的。建议默认开(已在分支改,--no-qa-vlm可关),Refs 实现:动作级质检 evaluation(承接 PR#2 老师 L201 · Refs #3) #23。五、附
experiments/video_route/CASE_LOG.md+cases/。