【免费下载链接】flowkit
AI agent can create video content better than you. No reason why you do it manually in google flow!
FlowKit 是一个让 AI agent 自动制作视频的开源系统,它解决新手做 AI 视频最头疼的问题:角色一致性。通过内置的参考图系统,同一个角色在几十个场景里保持相同的脸、发型和服装,真正做到跨场景不崩脸。本文带你弄懂参考图系统的底层原理,并给出 3 个实用的防崩脸技巧。
一、为什么 AI 视频总是"崩脸"?
传统 AI 生图是"无状态"的:每次调用模型,它都只看到你的文字提示词,看不到上一次生成的结果。于是同一个"戴眼镜的白大褂医生",第 1 个场景是圆脸,第 3 个场景变成方脸,服装颜色也悄悄变了——这就是新手常说的崩脸。
FlowKit 的思路很直白:
先给每个角色生成一张"标准照",之后所有场景生成都把这张标准照作为参考图一起交给模型。
参考图就像演员的定妆照,模型每次"对表",人物自然稳定。
二、参考图系统是怎么工作的?
整个系统由 3 个环节组成,代码都集中在 agent/sdk/services/ 目录下。
2.1 角色是一等公民,而不是一段文字
FlowKit 里的角色是独立的数据库实体,定义在 agent/models/character.py 中,关键字段包括:
| 字段 | 作用 |
|---|---|
image_prompt | 描述角色外貌的提示词(脸型、发型、服装、体型) |
reference_image_url | 参考图地址 |
media_id | 图片在 Google Flow 中的 UUID 编号,后续引用的"锚点" |
新建角色时写一份详细的外貌描述,就是给后面的参考图打地基。
2.2 批量生成参考图:一次定妆,全程复用
执行技能命令/fk-gen-refs <project_id>后,系统为项目中每个还没有参考图的实体发起生成请求(详见 skills/fk-gen-refs.md)。
核心逻辑在 agent/sdk/services/operations.py 的generate_reference_image方法中,有两个巧妙设计:
- 按实体类型自动选比例:人物类(character、creatures)生成竖版全身像,地点类(location)生成横版环境照;
- 强制标准构图:人物参考图会附加 "portrait full-body, head-to-toe, front-facing, centered"(全身、从头到脚、正面居中)的构图约束,保证每张定妆照信息量一致,模型容易比对。
图片生成后,FlowKit 会把它上传回 Google Flow 换取一个 UUIDmedia_id并写入数据库。这个 UUID 才是后续所有场景"认人"的钥匙。
💡 如果角色参考图已经存在(比如你自己上传的图),系统走"快速路径":跳过生成,直接注册拿
media_id,不浪费配额。
2.3 场景生成时自动挂载参考图
这是不崩脸的关键一步。每个场景创建时可以声明character_names列表(即本场景出场了哪些角色),场景提示词里甚至不需要反复描述人物外貌。
当场景图片生成时,agent/sdk/services/media_resolver.py 的resolve_references函数会做自动解析:
场景的 character_names → 匹配项目中的角色(按 name 或 slug 匹配) → 取出每个角色的 media_id → 作为 character_media_ids 附在生成请求上这些参考图最终作为 imageInputs 传给 Flow。在 agent/services/flow_client.py 的注释里写得很清楚:
*"character_media_ids are attached as reference images,which is what keeps an entity the same across scenes"(附加参考图正是让实体在场景间保持相同的原因)
如果某个角色还没有media_id(参考图未生成),系统会直接暂停并提示"Waiting for reference images",宁可排队也不带伤上阵,从机制上杜绝漏挂参考图。
三、跨场景不崩脸的 3 个实战技巧
技巧 1:按依赖分波次生成,别跳步
场景图片生成技能/fk-gen-images <project_id> <video_id>内置了波次调度(详见 skills/fk-gen-images.md):
| 波次 | 场景类型 | 请求类型 |
|---|---|---|
| Wave 1 | 根场景(ROOT) | 全新生成 |
| Wave 2+ | 续接场景(CONTINUATION) | 基于父场景图编辑 |
同一波内的场景互相独立、可并行;下一波必须等上一波完成。这套调度避免了"子场景在父场景还没出图时就开跑"的一致性事故。
技巧 2:续接场景用"编辑"而不是"重新生成"
这是 FlowKit 防崩脸最核心的设计。对于叙事上连续的场景(chain_type 为 CONTINUATION),系统不是重新画一张新图,而是:
- 把父场景的成品图作为 BASE_IMAGE(底图);
- 把角色参考图依次排在其后作为 REFERENCE 输入,顺序为
[父场景图, 角色A, 角色B, ...]。
环境、光线、人物站位都是在上一个镜头的基础上自然演进的,而不是从零重掷一次随机骰子。效果对比很直观——同一个医生角色,在手术室、访谈室等不同场景里始终是同一个人:
技巧 3:视频阶段也带上参考图(r2v)
很多人只给图片挂了参考图,结果镜头一切起来人物又变了。FlowKit 在视频生成阶段支持reference-to-video(r2v)模式:把角色的media_id直接传给generate_video_from_references(见 agent/sdk/services/flow_provider.py 的_run_video_refs),让模型在运动过程中也持续对照定妆照,面部在转头、低头等动作下依然稳定。
四、遇到安全过滤拦截怎么办?
参考图生成可能触发PUBLIC_ERROR_UNSAFE_GENERATION错误(通常是提示词过于指向真实公众人物)。skills/fk-gen-refs.md 内置了一套渐进去特征化方案,按顺序尝试:
- 第一轮:改为"左侧 3/4 侧脸"视角,靠轮廓、发型、服装保留辨识度;
- 第二轮:仍失败就改成"纯背面"全身剪影;
- 第三轮:最后手段,只保留发型、体型、服装等通用特征。
规则很克制:只修改真正失败的实体,已生成的参考图不动。这样既能过审,又最大限度保住人物特征。
五、真实案例:50 个场景,两张脸零漂移
FlowKit 官方展示过一个 50 场景的纪录片项目。医生角色横跨手术室、访谈室 4 个完全不同的场景,眼镜、白大褂、面部特征全部一致:
脱北者角色则从重症监护病房一路到首尔街头,光照和背景天差地别,但面部始终没有漂移——这正是"一次定妆、全程复用"机制的实际效果。
六、快速上手:三步建立你的角色一致性流程
- 建项目、建角色:为每个角色写一份详尽的
image_prompt(脸型、年龄感、发型、体型、标志性服装),这是定妆照质量的决定性因素; - 跑流水线:依次执行
/fk-gen-refs(定妆)→/fk-gen-images(场景图)→/fk-gen-videos(视频),每个场景记得在character_names里挂上出场的角色; - 看看板:在 FlowKit Dashboard 里实时监控每个场景的状态与产出:
总结
| 关键点 | 一句话 |
|---|---|
| 核心原理 | 每个角色一张定妆参考图,后续所有生成自动挂载 |
| 识别锚点 | 角色图片注册后的 UUIDmedia_id |
| 最强技巧 | 续接场景走"编辑"而非"重生成" |
| 进阶技巧 | 视频阶段也用 r2v 参考模式 |
| 兜底方案 | 安全拦截时渐进去特征化改写提示词 |
角色一致性不是玄学,而是一套"定妆照 + 自动引用 + 链式编辑"的工程体系。把 FlowKit 的参考图系统用起来,你的 AI 视频也能做到几十镜不崩脸。
【免费下载链接】flowkit
AI agent can create video content better than you. No reason why you do it manually in google flow!
相关推荐
LumenX 角色资产生成实战:角色三视图、场景定调图与道具参考图如何锁定人物一致性
LumenX 角色资产生成实战:角色三视图、场景定调图与道具参考图如何锁定人物一致性 LumenX Studio 是一个 AI 短漫剧一站式生产平台,能把小说文
长篇小说角色怎么管才不崩?AI 小说作家角色卡与人物关系实用清单
长篇小说角色怎么管才不崩?AI 小说作家角色卡与人物关系实用清单 长篇小说写到几十万字,角色性格漂移、关系记串、状态前后矛盾几乎是必然。AI 小说作家(AI N
Seafile分布式系统一致性保障:最终一致性与强一致性场景选择
Seafile分布式系统一致性保障:最终一致性与强一致性场景选择 在分布式系统中,数据一致性是确保系统可靠性和正确性的核心挑战。Seafile作为高性能文件同步
存储后端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考