我用 Hermes Agent + ComfyUI 搭了一条「AI 拍短剧」流水线(基础版) 摘要
文档概览
本文要解决的问题,不是“写一个提示词,让 AI 生成一段视频”这种单点操作,而是把 一句话创意→剧本→分镜→关键帧→视频→质检 串成一条尽量全自动走完的流水线。
作者给出的总体链路是 5 个生产环节加 1 个输出结果:
- 剧本策划:由 Hermes Agent 先把一句话创意拆成可拍的短剧结构。
- 分镜提示词:由 Agent 把剧情转译成可用于画面生成和视频工作流的提示词包。
- 关键帧生成:先生成关键帧图片,作为后续视频合成的节奏锚点。
- ComfyUI 视频合成:由 ComfyUI 调用视频工作流,把关键帧送入图生视频链路。
- 后期质检:由 Agent 自动检查输出质量。
- 最终输出:产出一条 MP4 视频。
作者明确区分了核心分工:
- Hermes Agent 是编排与控制层,负责拆解创意、生成提示词、维护角色一致性、调用 API、检查输出质量。
- ComfyUI 是渲染执行层,负责真正把画面做出来。
- Agent 不负责“画图”本身,实际出画面和视频渲染由模型工作流承担。
关键事实
1. 目标是端到端短剧流水线,而不是单点视频生成
作者一开始的动机,是看到像 Hermes 这样的 Agent 框架已经能产出文字和图片内容,于是继续追问:视频是否也能纳入同一类 Agent 编排能力中。
因此本文的重点不是证明某个模型单次生成视频有多强,而是强调:当前 AI 视频工具虽然不少,但“从灵感到成品”的各环节串联,仍缺少成熟方案。本文是在这个背景下做的一次初期尝试,可作为参考模板。
2. 基础版示例采用四宫格分镜结构
文中给出的示例创意是一句话剧情:
一个程序员在咖啡店写代码时,电脑突然蓝屏,咖啡洒了,最后发现是老板关的服务器。
这句话不会直接进入视频生成,而是先被 Agent 拆成 四宫格分镜。该结构包含 4 个分镜,每段 5 秒,总时长约 20 秒,并且每一段都承担明确戏剧功能:
| 分镜 | 时长 | 戏剧功能 | 内容 |
|---|---|---|---|
| 1 | 5 秒 | 开场钩子 | 程序员在咖啡店专注写码,先建立情境 |
| 2 | 5 秒 | 冲突触发 | 电脑蓝屏,角色表情从专注转为崩溃 |
| 3 | 5 秒 | 高潮发展 | 咖啡意外翻倒,矛盾进一步爆发 |
| 4 | 5 秒 | 收尾反转 | 老板现身关服务器,形成反转或悬念收尾 |
也就是说,这条基础版短剧并不是任意拼接的 4 段画面,而是按照“开场钩子→冲突触发→高潮发展→收尾反转”的戏剧节奏组织起来的。
3. Agent 对每个分镜都要产出完整提示词包
作者没有把分镜只理解为一句画面提示词,而是让 Agent 为每段分镜生成多种产物,至少包括:
- 画面描述
- 动作线
- TTS 旁白文本
- BGM 情绪点位标注
- 英文 Prompt
这里的英文 Prompt 不是可有可无,而是因为后续视频工作流需要英文输入。
4. Agent 要把剧本语言转译成可执行的视频生成语言
在“分镜提示词”阶段,Hermes Agent 的角色更像导演或转译器。它不是停留在剧情文本层,而是要为每个分镜生成结构化提示词包,让后续工作流可以直接消费。
文中给出了一段典型结构,包含:
- 分镜标题,例如
Focused Coding in Cozy Coffee Shop - 英文 Prompt,描述角色、场景、光线、镜头运动、质感与分辨率,如
cinematic lighting、4k、slow camera pan right - 中文画面描述,例如中景、暖色调、侧后方视角、咖啡店安静舒适、屏幕柔和发光、咖啡热气上升
- 角色参照路径,用于绑定到角色资料
- 色彩基调,例如“暖橙 + 柔和棕色”
- 动作线,例如手指持续敲击、镜头缓慢横移、阳光投影缓慢移动、蒸汽轻微上升
- TTS 旁白
- BGM 情绪点位,例如
0s - 5s:轻松 lofi + 咖啡店环境音 + 低频暖音垫
这说明本文中的 Agent 编排不是只生成自然语言脚本,而是把剧情拆成了镜头、动作、声音、氛围、提示词等多模态生产指令。
重要细节
1. 跨分镜角色一致性是核心难点
作者特别指出,如果让 Agent 独立生成 4 个分镜的提示词,那么大概率每段里的“程序员”都会长得不一样。这不是局部瑕疵,而是 AI 短剧可用性中的关键问题,因为一旦角色在镜头之间跳变,连续性就会被破坏。
文中给出的基础版解决思路不是复杂模型方案,而是先通过 角色资产库 + 统一角色提示词 维持最基本的一致性:
- 让每个分镜都自动引用同一份角色专属提示词。
- 让服装、发型、环境描述保持一致。
- 不追求像素级一致性,但至少让观感不要跳跃。
作者也明确承认,这种方法不能保证视频模型做到严格一致,只能先在描述层和素材层减少偏移。
2. 角色资产库采用目录化组织,可放进 Git 仓库管理
文中建议把角色进行规范化管理,并给出了一个按目录组织的角色资产库结构。每个角色可以单独存放在仓库中,例如一个“程序员小王”目录下包含:
character_bible.md:角色档案ref_photos/:参考照片,包含正脸、侧脸、全身、表情等voice_samples/:各情绪音频样本prompts/:角色专属提示词prompts/main.txt:供 Agent 在各分镜统一引用的主描述
作者给出的参考文件例子还包括:
front.jpgside.jpgangry.jpgneutral.wav
这种组织方式的意义在于:
- 角色档案、参考图、语音样本、专属提示词都能被固定下来。
- Agent 在生成各分镜时,可自动引用统一描述源。
- 这些资产可以直接纳入 Git 仓库做版本管理。
也就是说,角色一致性在本文里不是靠“记忆”保证,而是靠目录化资产与固定引用路径来约束。
3. 关键帧阶段不是附属步骤,而是先定节奏的中间层
在进入 ComfyUI 之前,作者要求先生成 4 张关键帧。这一步不是可有可无的预览,而是整个流程中的关键中间层,用来先把节奏和叙事节点定下来。
关键帧顺序被明确写成:
- 首帧:建立场景
- 发展帧:冲突出现
- 高潮帧:矛盾爆发
- 结尾帧:反转或悬念
这些关键帧会根据剧本内容生成,然后再送入视频工作流。也就是说,本文采用的是“先用 4 张图确定叙事节奏,再做视频生成”的思路,而不是直接从一句话文生视频。
在工具选择上,作者提到:
- 可以直接使用 GPT Image 2 出图。
- 也可以使用一些免费的开源模型,例如 qwen-image。
- 文生图工作流可以搜索现成方案下载使用。
- 如果已有 ChatGPT 订阅,也可以直接用它生成关键帧,作者认为效果也不错。
4. ComfyUI 是整套流水线的核心枢纽
作者把 ComfyUI 生成阶段称为“核心环节”与“整套流水线的枢纽”。在这个阶段,Hermes Agent 通过 ComfyUI REST API 发起任务,整体交互形式是:
- Agent 向
/prompt提交工作流 - 同时上传图片和音频文件
- ComfyUI 在 GPU 上执行渲染
- 最终输出 MP4
文中说整段交互大概只需要 50 行 Python,核心流程包括 5 步:
- 导出 API 格式的 workflow:必须在 ComfyUI 界面中使用
Save (API Format)导出工作流。 - 上传图片:把 4 张关键帧通过
POST /upload/image上传。 - 提交 workflow:把 workflow JSON 连同参数注入后,
POST /prompt。 - 轮询等待:通过
/history/{prompt_id}轮询,直到返回status: success。 - 下载视频:从
/view拉取最终 MP4。
这里有一个很重要的边界条件:
- 编辑器格式的工作流,尤其是带
subgraph的格式,不能直接提交给 API。 - 必须导出为 API 格式后才能被程序调用。
这是本文中少数明确写出的“不能这样做”的技术约束,属于实际接入时容易踩坑的点。