Communitygithub.com

Comfy Director

用于制作叙事视频(广告、品牌短片、预告片、音乐视频等)的AI导演技能,确保故事优先、镜头连贯,避免蒙太奇式的拼凑。

Comfy Director 是什么?

Comfy Director 是一个专注于多镜头叙事视频制作的 AI 导演技能,旨在解决 AI 生成视频中常见的“缺乏故事性”、“不连贯”和“感觉像蒙太奇”等问题。它强调故事优先于画面,要求用户或 AI 代理在接触任何生成管线之前,先完成概念构思和剧本创作。该技能提供了一套完整的操作流程,包括概念设计、剧本撰写、镜头列表、音频设计和后期制作。它特别注重镜头间的连续性,提供了多种策略(如角色参考图、关键帧传递、精确音频对口型等)来确保主角身份和动作在不同镜头间的一致性。支持的平台包括可以与 ComfyUI CLI 交互的环境(依赖 `comfy` 技能),并推荐在整个项目中使用 `LOG.md` 和 `job_ids.txt` 进行严格的作业追踪和故障恢复。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/quantiqueue/comic-skills/tree/HEAD/vendor/comfy-cli-skills/comfy-director

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Comfy Director 是做什么的?

故事优先,画面其次。多镜头AI电影的失败往往发生在剪辑阶段,而非渲染阶段:如果节拍之间缺乏因果关系,即使每个镜头再精美,读起来也只是一部披着故事外衣的蒙太奇。

必需前提:comfy 技能(CLI 机制 + 配方路径 —— apply/capture/foreach —— 用于可重复的多阶段工作流)。如果任务失败,请使用 comfy-debug。

操作顺序

  1. 概念 —— 一个陌生人都能复述的核心创意。
  2. 剧本 —— 在触碰管线之前完成。首先将剧本交给用户。
  3. 镜头列表 —— 将每个场景映射到一种连续性策略。
  4. 音频设计 —— 根据剧本的情感节拍进行设计,而非在画面完成后才考虑。
  5. 制作 → 合版 → 质量控制。

跳过第2步直接进行渲染是导致剪辑被毙的首要原因。

剧本规则

  • 一个主角,镜头可以跟随。在每一个镜头中都能被识别。
  • 因果测试: 每一次切换都要回答“正因为此……” —— 绝不能是“然后,在别的地方……”。如果一个节拍可以随意重新排序而不破坏任何东西,那它还不是一个故事。
  • 陌生人测试: 一个零上下文的陌生人必须能用两句话复述剧情(“X想要A,B阻止了他,他做了C,所以D”)。
  • 节拍携带的时间总和应等于目标时长。

概念规则

  • 品牌/产品应被感受到,而非被点名提及:阐述其理念;屏幕上直接引用内部梗和社区传说会被视为粉丝服务。
  • 客户提到的一种技术(“风格迁移”、模型名称)是火花,而非命令 —— 仅在创意需要时才使用它。围绕一种技术构建电影是供应商(而非导演)的做派。
  • 怪异必须层层叠加:令人惊讶的主体 与 客体 与 场景。在一个常规画面中加入一个怪异元素只是装饰。

镜头提示

  • 写实镜头: 仅使用真人电影摄影师/胶片语言。在逼真的提示中混入一个插画师/动漫/漫画的名字会破坏效果。插画风格的参考只应出现在刻意风格化的镜头中。
  • 运动提示描述的是场景如何移动,而非其中有什么(参见 comfy 技能视频常见陷阱 —— t2v/i2v 模型陷阱、SaveVideo、fps 接线)。

连续性工具包

按镜头选择,大致按强度排序:

策略用途
将角色/位置参考图带入每个镜头的 i2v 工作流主角身份一致性
通过参考图编辑实现相同身份、不同构图(一张主角图 → N 个角度)跨剪辑的可识别面孔
镜头 N 的关键帧作为镜头 N+1 的种子(基于图像引用的重风格化或结束帧)连续动作
讲话者头部输入确切的播放音频(KlingAvatar),在同一个口型同步头部 的不同角度之间切换 —— 绝不要在画外音上覆盖 B-roll必须感觉真实的对话
在每个提示中逐字重复相同的服装/光线/镜头参数廉价的基线粘合剂

如果一个镜头无法保持连续性,重写剧本,使其不需要那个镜头 —— 不要强推有问题的剪辑。

音频

  • 配乐 = 简短设计的线索,在故事转折点连接;一次性的长生成无法跟随动态弧线(它会在你需要高潮的地方正好反转)。
  • 通过数学计算放置画外音:音轨持续时间 vs 节拍窗口,在混音之前进行。
  • 将配乐压在画外音之下;对最终混音进行响度归一化(约 -14 LUFS)。
  • 对话必须通过构建方式实现口型同步。 用确切播放的音频驱动嘴部(KlingAvatar sound_file),并在同一个口型同步头部的不同角度之间切换 —— 在连续的画外音上覆盖 B-roll 读起来像蒙太奇,而 i2v 生成的嘴部会漂移。“无口型同步/感觉不真实”是典型的否决理由。(在流程图中生成音频 —— 云端的 LoadAudio 无法看到上传文件;参见 comfy 音频陷阱。)
  • 在昂贵的渲染之前,务必通过听觉锁定语音和选角。 声音/口音是主观的,无法从波形中读取 —— 渲染几个便宜的候选 TTS 版本(同一句台词),让用户选择,然后 将胜出的结果投入到昂贵且易出现 transient_auth 错误的虚拟角色/口型同步镜头中。因语音被否决而重新渲染所有这些镜头是可以避免的浪费。主角外观同理:在从主角图生成所有镜头之前,先批准主角静态图。
  • 通过测量而非感觉验证混音。 你无法听到渲染结果 —— 使用 ffmpeg volumedetect 检查每个部分:结尾的“死寂”或被掩埋的对白会显示为接近 -91 dB 的窗口。在宣布完成前,确认每个节拍都以应有的电平存在。

制作操作

  • 在提交时,将每次提交 —— 镜头、关键帧、音频干声、重新提交 —— 追加到 job_ids.txt(<job_name> <prompt_id>)。仅追加:重新提交会获得新行(shot_s3_resubmit <id>),绝不覆盖,这样已失效的 prompt_id 仍保留其镜头身份。

  • 在项目根目录维护 LOG.md:一个仅追加的事件日志,在事件发生时(而非会话结束时) 写入 —— 每次提交/重新提交(+ 失败代码)一行,每次 QC 判定(+ 重新生成原因)一行,以及每个会使先前工作失效的决策:重新选角、提示更改、哪个参考图或干声现在是规范的。逐帧发现记录在 qc/QC_LOG.md 中;LOG.md 索引它们。

    17:36 ERROR shot_s3 transient_auth -> RESUBMIT 27dd45b4 (same workflow, no re-login)
    17:44 QC shot_s2 FAIL background-crawl -> re-roll (same kf, new seed); recut beat if 2nd fails
    17:50 DECISION recast protagonist -> ref_ray.png canonical; vo2, vo6 stale, re-gen
    
  • 恢复契约: 一个零记忆的后续代理必须仅从磁盘恢复:LOG.md(发生了什么,为什么)→ job_ids.txt(哪些作业)→ comfy jobs status(它们的状态)。一个不在 LOG.md 中的决策会随着会话消亡 —— 已完成但已过时的作业(旧选角的 VO 干声)否则看起来和好的作业一模一样。

  • 对每个下载的片段使用 ffprobe;在合版前对不符合规格的时长/尺寸进行归一化。

  • 在剪辑前,从每个片段中抽取一帧与剧本进行质量控制检查。

  • 精确时长:使用 ffmpeg 按节拍修剪/重新定时,不要指望运气。

常见错误(每个都曾导致真实剪辑被毙)

错误结果
在剧本之前进行渲染“八个好看的节拍,但互不因果”
屏幕上显示社区内部梗“太直接,粉丝服务”
将客户提到的技术作为概念“我说它是为了激发创意”
没有连续性计划主角每切一次镜头就换张脸
一次生成40秒音乐弧线在高潮处反转
在连续画外音上覆盖 B-roll“感觉像蒙太奇/音频不匹配”
在用户听到声音之前将其烘焙到 N 个镜头中用户否决时重新渲染所有内容
直接拼接讲话者头部片段声音漂移不同步(虚拟角色将视频填充超过音频)

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能