Skip to content

调研:图生视频治漂移 + 动作类型分流 + 成本模型(视频路线实测,Refs #25 #3) #35

Description

@johnnyzhang-eng

背景

本轮实测把七牛 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/generationsGET /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/张

二、核心结论

  1. 图生视频治"角色漂移":图生图逐帧水平漂移 154px(19% 宽)随机乱跳;从锁定母版做 image-to-video 后降到 65px(5%)且平滑。根因是控制维度(时序连贯),不是提示词——逐帧独立生成没有跨帧一致性通道。
  2. 可循环两条路:① 模型端首尾帧 image_tail——kling-video-o1/pro 支持v2.5-turbo/stdv2-1/std API 明确报错拒绝),但 o1 会重绘画风 + 加灰底、伤一致性;② 后期找与首帧最相似帧裁闭环——任意机型、保画风(推荐)。
  3. 提示词只写正向:负面词("禁止烟尘 / NO shadow")会被模型 latch,反而生成更多;删掉负面词后画面干净。
  4. 母版预处理:i2v 整块像素平移,角色贴边时武器一挥就出画被裁 → 母版缩到 ~65%、四周留 ≥20% 安全边。
  5. Veo 当前在本网关不可用veo-3.1-fast 所有输入秒失败(含无害卡通文生视频),veo-3.0-fast 排队超时不出片 → 非内容审核,是模型/队列问题。选型暂排除。

三、动作类型 → 方法 + 成本模型

动作 方法 说明
待机 idle 视频 i2v(局部呼吸)/ 骨骼绑定 逐帧图生图对 idle 过度变化(需极小帧间差,模型偏爱大变化)
走路 / 跑 披风角色 → 视频 i2v;露腿角色 → 逐帧 + 骨架条件 见第四条
攻击 / 冲刺 视频 i2v coherent 大动态,治漂移
  • 统一管线:母版(留边)→ i2v → 找匹配帧无缝循环 → 烤成 N 帧序列帧。视频 = 一次性"生产工具",序列帧 = 交付物(进引擎零成本、单帧可编辑、可复用)。
  • 成本:一个角色 ≈ ¥1–2(母版≈免费 + 招牌动作视频 ¥1.5/条 + 其余走绑骨/程序化 ¥0)。

四、发现的管线问题(建议改,关联实现 Issue)

  1. 逐帧流程丢了骨架条件(回归):FLOWLOG 步骤③"骨架条件图"(skeleton_gen.py)没接进逐帧生成的主流程(gen_actiongen_frame 未传 skeleton_path)→ 缺姿势约束。已在实现管线仓分支修复(gen_action + autofixskeleton_path)。露腿角色(骷髅/精灵)走路依赖此步,Refs 实现:逐帧对齐 + 循环闭合 lastmile.alignment/loop(填桩 · Refs #3) #21
  2. 披风/长裙角色走路的边界skeleton_gen 文档明示"仅露腿角色有意义"。重甲骑士长披风 + 腰裙遮住腿 → 逐帧 + 骨架显示不出迈步(实测:腿几乎不动 + 骨架青色渗染进画面);改走视频 i2v 后走路正常。→ 走路方法应按"腿是否可见"分流。
  3. 一致性质检(VLM)默认关qa.run_qa / autofixuse_vlm=False;角色一致性漂移正是 VLM 层能抓的。建议默认开(已在分支改,--no-qa-vlm 可关),Refs 实现:动作级质检 evaluation(承接 PR#2 老师 L201 · Refs #3) #23
  4. 抠图残留:生成图的品红背景 / 斜向特效边缘经 rembg 后偶有残留,仍需 QC,Refs 实现:抠图去背 lastmile.matting(填桩 · Refs #3) #20

五、附

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1优先级 P1(次级)documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions