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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions