ComfyUI H3 剧本转视频(v5.0 导演级视听语言与工业工程化规范版)
v5.0 重大里程碑更新(2026-11,视听语言工业化与七大落地痛点全量攻坚)
- 1. 分镜定帧图前置生成工序(I2V 场景/角色/道具联合定帧): 彻底终结无定帧图下的 T2V 盲跑。每个分镜在视频采样前,先由生图模型结合分镜机位、角色三视图、道具设定生成 16:9 联合首帧定帧图(
keyframe_segXX.png),质检定案后喂入 I2V 节点,第 0 帧锁死骨骼几何、衣服纹理与道具轮廓。- 2. 单人说话锁定与全员闭嘴抑制协议(Speaker Lock & Mouth Suppression): 彻底消灭“场景里所有人跟着台词一起动嘴”的木偶剧惨状。在
[Subject 1]明确唯一主说话人,在[Action 1]强制主谓动作分离,非发言角色强制追加闭嘴抑制死条款(lips tightly sealed, completely silent, showing tense glare without mouth movement)。- 3. 全局风格母卡(Global Style Bible)与前置定风闸门: 拒绝每集随机制图风格漂移。剧作启动前必须确立全局 Style Bible(明确
visual_genre,environment_base,lighting_base,color_palette,quality_base),生成 4 张不同景别定风样张人工确认后全剧锁定继承。- 4. 短剧黄金语速与密度调控(Pacing & Density Normalization): 解决人物说话拖沓、拉长音发呆问题。175 帧(7.29s)标准时序下,台词严格匹配 20~28 个纯汉字(短剧黄金语速 3.2~4.0 字/秒);并在
[Audio 1]中显式声明spoken crisply and rapidly without dragging syllables;前 4.5s 快速讲完,后 2.8s 切入冷眼凝视与动作反应。- 5. 六大电影级动态运镜与动线调度库(Director Camera & Blocking): 严禁连续出现两人正面站桩交谈!强制引入 6 大动态镜头调度:① 动线交错慢推、② 道具特写拉焦至眼眸、③ 荷兰角斜切逼迫、④ 背身转头冷酷回眸、⑤ 贴耳逼近压迫、⑥ 侧光剪影对峙。
- 6. 纯正普通话发音规约与 ASR 语种漂移闸门(Mandarin Purity & Language Gate): 台词全量纯中文归一化(阿拉伯数字转大写汉字、剥离英文缩写与非法符号);在
[Audio 1]强制添加Strict Mandarin Chinese dialogue only, standard native Chinese accent, zero foreign tone;集成 Whisper ASR 语言检测,自动拦截非中文字幕与语言漂移。- 7. 工程化 Master 母调度管线闭环: 沉淀
scripts/director_engine_v3.py,实现分镜表、提示词编译、语速密度核算、说话主体锁定的全流程自动化。v4.1 更新(2026-11,官方 v2.2 提示词规约与 175 帧时序深化)
- 提示词规范升级至 v2.2:
- 接入 MiniMax 官方 Prompt 指南(
references/official/base-en.txt,ref-en.txt);- 运镜三要素(类型+幅度+速度)以自然句写入镜头内部,严禁拍末 Tag 堆叠;
- 素材权限明确声明
不复制原图机位,不复制占画比例;- 严格执行复杂度预算:单段(175帧/7.29s)最多 3 主体 + 1 句台词。
- 段长锁定主力 175 帧(7.29s):
- 243 帧正式退役,硬上限设为 192 帧(8.00s),生产主力统一锁定 175 帧,段尾留足 1.0~1.2s 闭嘴缓冲;
- 调度层服从度禁区(远景只建空间认脸切进中近景、禁用后拉与穿窗)。
- Windows UTF-8 全终端防御:
force_utf8_stdio()统一重置 stdout/stderr 为 UTF-8,杜绝 GBK/CP936 编码异常崩溃。- 质检与远景修脸工具链扩容:
- 引入 Whisper ASR 台词质检 (
scripts/check_dialogue_asr.py)、尾拍光流与接缝质检 (scripts/sop_check.py)、续接尾段留白豁免 (--tail-exempt) 与中远景自适应修脸 (scripts/face_refine_pipeline.py)。v4.0 更新(2026-10,工业级首帧锁脸防形变与影视配乐双革命)
- 首帧生图核验 + I2V 几何锁脸铁律(根治纯文生视频 T2V 人脸变形与道具软化): 单张文生图仅需 5-15 秒,不满意秒级重抽;严禁在没定首帧的情况下盲跑 8 分钟 T2V 碰运气!事后自动质检只能亡羊补牢,高代价重抽治标不治本。凡有人物特写、关键道具交互,必须先定首帧,注入
first_frame走 I2V 模式,第 0 帧锁死解剖几何与道具电路,H3 仅负责时序动力学与唇形同步,人脸形变率从 30% 暴跌至 2% 以下。详见references/keyframe_i2v_guide.md。- 影视级配乐融合与人声智能避让 (Audio Ducking): 提示词彻底禁止 H3 自带生成失真床音;清洗对白与动作拟音后,全片统一铺设独立高保真 BGM,采用 FFmpeg 原生
sidechaincompress动态侧链避让:人声开口瞬时下潜 -14dB,台词结束 0.3-0.5s 平滑扬起,打造商业短剧视听爽感。新增工具scripts/cinematic_audio_mixer.py。- 新增首帧闸门工具
scripts/keyframe_gate.py:支持工程级首帧状态巡检、ComfyUI 仓同步与 I2V 节点安全注入。v3.2 更新(2026-10-25)
- 新增 §13 什么时候更新这个 skill:六个触发条件、四类不许搬进来的内容、迁移三问、落位规则、改完三步自检
- 一句话纪律:只沉淀「换剧本后仍成立」的机制与判据,项目文件一律不进 skill
v3.1 更新(2026-10,13 段 / 86 秒成片实测沉淀)
- 新增 §4.1 H3 的服从度边界(后拉失效、穿窗开门、窗外运动不生成、景别锁死、否定式镜头指令)
- 新增 §5.1 显存回收(曾经让一段从 5 分钟跑成 33 分钟)
- §8 决策树补 6 条(结尾动作被抢、一拍动作过多、拟音被铺成床音、quiet-gain 副作用、F0 误判)
- §12 补台词位置四版梯度、
cont off的 trim 记账- §3 段长推荐改为 175 帧(原写 124/243,已过时)
- 修正了提示词规范里两处会误导的旧示例:「台词写在节拍末尾」应为节拍最前; 「胸腔每 2.5 秒起伏」会被当成发声指令生成呼吸声,已删除
把剧本变成成片:握手 → 导演调度 → 首帧核验(I2V) → 提示词 → 提交 → 监工双检 → 收片 → 避让混音与拼接。
v4 的核心认知:把"生成视频碰运气 + 事后质检重抽"升级为"前置低成本控图 + I2V 锁脸执行 + 影视级避让混音"。
一条铁律:一个任务 = 一个本地工程目录 + 一个导演台工程名(
h3_chain/<工程名>)。 这两样从第一段定下来到concat结束都不许换。换了不是"文件放错地方",而是续接直接断: 续拍档按chain.order[k-1]找上一段,工程名一变就找不着,本段会被静默当成第一段重画, 成片还会归位到另一部片子的目录。绑定会写进project.json的chain字段,submit每次都比对,不一致直接拒收(不是警告)。要换只能整体换:新工程 + 新导演台工程名, 从第一段重来。完整规则见 §10.1。
0. 运行契约(先明确谁干什么)
| 谁 | 负责 |
|---|---|
| Agent(全自动) | 读剧本、导演调度、首帧核验、写提示词、preflight、提交、监工、双检、收片、清床音、配乐避让混音、拼接、交付、写台账 |
| 用户(只做三件事) | ① 打开 ComfyUI 并载入工作流,说一声"就绪" ② 剧本/风格/首帧候选的一次性定调 ③ 看片验收 |
Agent 不许做的七件事
- 不许在工作流没握手(
wf_map.json不存在)时提交。 - 不许跳过
gate(一采双检)直接finish—— 脚本会拒收,不要试图绕。 - 不许把 state/抽帧/临时 wav 写进技能目录(
paths.py有硬护栏)。 - 不许凭"上次的节点号"改接线 —— 只注入三段数据,绝不动超分/终片节点的连线。
- 不许在有人物特写或关键道具交互时,跳过首帧核验盲跑纯文生视频 (T2V) —— 静态生图核验只要 5-15 秒,不满意秒级重抽;跑 8 分钟 T2V 再事后质检是高代价自杀。必须先定首帧,注入
first_frame走 I2V 锁脸锁道具! - 不许在没抽帧看画面时就提下一段 —— preflight 只管文本结构,不管画面。落盘后先抽 4-6 格拼图看一眼,再提下一段;正好也避开了"两段提交太快导致显存脏态"(见 §5.1)。
- 不许把当次的项目文件无脑搬进 skill —— 片名/角色名/段号/
plan.json/assets/*.json/某段提示词原文/当次 trim 账/黑名单 seed,一律留在项目目录。只沉淀「换剧本后仍成立」的机制、判据、写法。判据与落位规则见 §13。
只有这四种情况才停下来问用户:剧本有歧义且影响分镜结构 / 风格或画幅定调 / 素材缺失且无法用文字定义 / 同一段重抽 3 次仍不过。
1. 核心工具集(完整生产工具链)
| 工具 | 干什么 | 关键子命令 |
|---|---|---|
scripts/h3wf.py | 工作流握手:从 ComfyUI 读实际执行过的图,自动认节点角色 | sync show doctor |
scripts/sop_run.py | 生产:提交(内含 preflight)、自动监工、等终片 | submit watch final abort |
scripts/h3proj.py | 工程与闸门:台账、一采双检、视觉签字、收片、拼接、残留清理 | new status gate review finish concat residue |
scripts/keyframe_gate.py | 首帧核验与 I2V 注入:首帧状态巡检、ComfyUI 仓同步、注入 first_frame | --project --seg --sync |
scripts/face_refine_pipeline.py | 外部远景修脸工作流:中远景条件修脸、音频原样直通、自定义节点缺失平滑降级 | --input --output --char-ref --dry-run |
scripts/cinematic_audio_mixer.py | 影视级配乐智能避让混音:外挂独立 BGM,sidechaincompress 自动避让人声 | --input --output --bgm --volume |
scripts/check_dialogue_asr.py | 台词 ASR 自动比对:VAD 定位语声段 → Whisper 转写 → 与 <d> 原文比对 | --file --text --seg |
scripts/sop_check.py | 尾拍动作能量与接缝相似度质检:8 格联络表、动作光流比率、钉帧比对 | --video --seg |
scripts/shisei_pose.py | (可选) 打斗/对峙姿态:多视角姿态检索与线稿提取 | --search --duo --get --view |
解释器固定用带 cv2 的 venv:
C:/Users/windows/.workbuddy/binaries/python/envs/default/Scripts/python.exe(下称 PY)
2. 第 0 步:工作流握手(每次开工第一件事,不可跳过)
为什么不能固化:用户的工作流会更新(加三采、改超分尺寸、换输出前缀),节点号一变, 写死的"接线修复"就会把一条跑得通的链路改坏 —— 这是 v2 每次报错的根因。
核心口径:用户会随时在画布上调参数(改超分尺寸、换模型、调采样步数),生成必须用他当下的值。
submit 每次都会先核对一遍画布保存版(h3wf.refresh_if_stale):
文件 mtime 变了就重新读图,并把改了哪些参数逐条打出来([wf ] 检测到 N 处参数变更)。
rack/desk/cast 的 h3_data、seed、filename_prefix 是运行时注入的,不算用户改动,已排除。
但有一个 API 层面绕不过的限制,必须主动告知用户:
ComfyUI 的画布状态只有在保存工作流(Ctrl+S)之后才落到
ComfyUI/user/default/workflows/*.json,未保存的画布改动任何接口都读不到。
所以每次开工要跟用户说一句:改了参数请 Ctrl+S。
如果用户改完还按过一次 Queue,那条执行图会进 /history,也能被第二条判据捕到。
动作:
- 先提醒用户:打开 ComfyUI 桌面程序,载入这次要用的工作流,等他说"好了"。
- 前提:
sync读的是 ComfyUI/history里最近一次成功跑完的视频任务。- 刚换过工作流 / 刚装好 → 请用户在界面里手动跑一次(哪段都行,跑通即可),再
sync。 - 一次都没跑成功过 → 用界面文件兜底:
h3wf.py sync --from-ui "<工作流>.json"(需要 ComfyUI 在跑)。
- 刚换过工作流 / 刚装好 → 请用户在界面里手动跑一次(哪段都行,跑通即可),再
- 探活 + 识别:
$PY scripts/h3wf.py show # 只看识别结果 $PY scripts/h3wf.py sync # 识别通过后落盘为本次生产依据 - 判读输出:
rack/desk/cast/seed/final五个必需角色必须全部有值;缺了就是工作流换了节点类名, 把这行贴给用户看,不要自己猜。[note]里会写多候选是怎么选的。 同一份输出还会给出三样东西,缺一样都会让后面的环节踩坑:- 工程名(导演台
chain.name):submit用它决定成片归位到h3_chain/的哪个目录, 并且第一次submit就把它写进project.json.chain当绑定。显示「—」说明导演台没填工程名, 此时submit会退回技能工程名并告警 —— 那等于另起一部片子(且不会写绑定)。 绑定之后换名字会被拒收,见 §10.1。 - 一采前缀:
watch/gate --latest靠它只认一采文件。显示「—」时退回全前缀,跑完 整链后可能把超分/终片当成一采去双检。 [WARN]收片链路:缺「段尾归位」或它的「顺序锚」没接线,成片不会回到导演台,下一段接不上。
- 工程名(导演台
- ComfyUI 没开时允许无头启动(端口 8188,不影响桌面程序):
但优先用用户自己开的那份,节点状态以他的界面为准。cd "D:/Comfy-Desktop/ComfyUI-Installs/ComfyUI (1)/ComfyUI" ".venv/Scripts/python.exe" main.py --port 8188 \ --input-directory "D:/Comfy-Desktop/ComfyUI-Shared/input" \ --output-directory "D:/Comfy-Desktop/ComfyUI-Shared/output" \ --enable-assets --disable-auto-launch
工作流变了怎么办:h3wf.py doctor 会列出「节点号变了 / 前缀变了 / 工程名变了 / 角色缺失」。
确认是有意更新 → h3wf.py sync --force 重新握手,之后所有提交自动用新图。
submit 每次都复核指纹,漂移未确认会直接拒收(不会偷偷用旧图跑一夜)。
握手时会记一条 history_seq 水位线:比它更早的执行图不算漂移(/history 清空前留下的旧记录),
只有握手之后新跑出来的图不同才会拒收。
3. 第 1 步:导演调度(强制,拿到剧本第一件事)
不允许拿到剧本直接写提示词。 先加载 director-advisor 技能出完整分镜方案:
- 拆五要素:情绪基调 / 戏剧节拍 / 人物关系 / 空间 / 动作
- 定节奏骨架:镜头数、张力曲线(最高点只有一个)、开场镜与收尾镜
- 逐镜设计:景别=情绪距离、运镜=情绪运动、一镜一个动作单元、时长 1-3s(最长 5s),每镜带一行设计理由
- 挂 1-2 个真实电影案例锚(只从
director-advisor/references/master_cases.md取)
再按 references/directing_bridge.md 换算成 H3 的段,并落盘段规划表:
{"name": "片名", "segs": [
{"seg": "seg01", "length": 175, "shots": "1-4", "dialogue": false,
"hook": "首段:从全景建立空间", "sfx": true, "event": "她走进石屋并放下灯"}
]}
length:175(≈7.29s,3-4 镜)是推荐值;124(≈5.17s,1-2 镜)/ 243(≈10.13s,2-4 镜)也可用。 关键公式:净新画面 = length − cont_frames。cont_frames=5 时,175 帧净剩 170 帧(7.08s), 124 帧净剩 85 帧(3.54s)—— 同样的续接开销,175 的净产出翻倍,渲染只要 4–4.5 分钟,是性价比拐点。 有台词段也用 175,不要用 243:段越长台词越容易顶到段末(见 §12 台词时间轴铁律)。hook:与上段的接续(姿态/视线/光线承接),写不出 hook 说明段拆错了。dialogue/sfx:决定音频闸门查哪几项(无台词段查静音,无拟音段关掉--fx)。- 校验:
$PY scripts/h3proj.py plan --check
一段 = 一个事件,段内可多镜([节拍 N] 就是镜头位,写「硬切至…」H3 就照切);
不能切空间(地图)和主要事件。切点必须踩在动作上,不能按秒均分。
写分镜时同时过两道内容关(详见 references/vividness.md):
- 逻辑四问:人物这一刻想干什么?他在哪、朝向谁?时间/光线是否连续?上一个动作的因果有没有断?
- 生动三件套:每拍至少给一个"动作起因 + 环境反馈 + 材质触感",不能只有"站着说话"。
3.1 可选增强:高质量打斗与双人对峙姿态管线 (Shisei Pose Guidance)
当剧本涉及近身打斗、兵刃交锋、双人正反打对峙或复杂肢体纠缠时,为避免视频模型常见的"动作发软、解剖变形、正对翻背对(180°轴线翻转)",挂载本地 Shisei 姿态引导(详见 references/shisei_combat_pipeline.md):
- 姿态检索:使用本地检索脚本查询 55 组双人对峙动作及 288 组单人动作:
python scripts/shisei_pose.py --duo --search "近身" - 多视角线稿提取:根据导演机位导出 5 大视角(
front正视 /side侧视 /diag45°斜角 /above俯视 /below仰视)线稿至工程目录:python scripts/shisei_pose.py --get D001 --view diag --out references/poses - 首帧骨架锚定:将提取的姿态线稿与角色卡(
sal_character_sheet.jpg等)联合喂入生图引擎(Imagen / Qwen),产出 100% 构图严谨的首帧,再注入 MiniMax H3,杜绝空间漂移与动作软趴。
3.2 强制工序:分镜首帧生图核验与 I2V 几何锁脸 (Keyframe Gate)
工业铁律(最高优先级认知): 凡是有人物正面/半身特写、关键道具交互(如拆表、握枪、数钱、盖章)的段落, 严禁纯文生视频 (T2V) 盲跑!必须执行「首帧生图核验 ➔ 图生视频 (I2V) 锁脸防变形」。
- 核心逻辑:
- 静态生图仅需 5 ~ 15 秒/张,能将全部潜空间分辨率集中在五官发丝与道具微结构上,不满意秒级重抽;
- 视频渲染单段耗时 4 ~ 8 分钟。纯文生视频在无物理锚点下极易发生解剖漂移,事后“自动质检”重抽成本高出 40 倍且治标不治本;
- 将选定的首帧图注入
MiniMaxH3ImageToVideo的first_frame端口后,第 0 帧作为几何真值锁死,模型无需脑补结构,注意力全部分配给「驱动动作与对齐口型」,人脸形变率从 30% 暴跌至 2% 以下!
- 执行流程:
- G0 角色资产卡:开工前按
references/character_sheet_standard.md准备好 2+3 头身解耦角色设定卡; - G1.5 首帧生图核验:分镜写毕后,使用生图工具快速生成 16:9 首帧电影剧照,核对五官、眼神聚焦与道具真确性;
- 定稿落盘:核验通过后保存至
<工程>/segments/<seg_id>_keyframe.png(或.jpg); - 自动识别与 I2V 挂载:流水线检测到首帧图存在时,通过
scripts/keyframe_gate.py自动同步至 ComfyUI 并连接first_frame端口。未检测到时自动平滑降级为纯文本驱动。详见references/keyframe_i2v_guide.md。
- G0 角色资产卡:开工前按
4. 第 2 步:写提示词(标准 = references/prompt_standard_v2.md)
- 七段骨架、
[节拍 N]、<Audio N>声线卡、overall_soundscape三层声音,一个字都不能改段名。 - 提示词写到
segments/<seg>.txt(纯提示词正文,不要包代码块)。 - 声线卡:项目里
voice_card.json优先(h3proj.py new已复制模板),跨段逐字一致。 - preflight 不用单独跑:
submit内部会调check_prompt_v2.check(),有 FAIL 直接拒收。 想提前单独看:$PY scripts/check_prompt_v2.py --file segments/seg01.txt --length 243
格式口径速查(细节以规范文档为准):<Subject N> 全部带 权限=;情绪词零容忍;
每拍 音效: 逐条点名 +「仅此 N 类,无其他声音」封口;台词结束距段末 ≥1.0s;一段一句台词。
否定词反噬(实测,踩过两次):H3 会把禁词里的实体名当正面提示去画。
在 防错约束 写「严禁生成水龙卷、水柱、喷泉」,画面里就长出一根白色水柱;
在动作描述里写「头盔前沿向上抬」,主角头上就凭空多一个透明头盔。
规则:要某个东西别出现,就把它的名字从句子里彻底删掉,改成正面描述你真正要的画面
(例:"垂直向下俯拍,只有圆形下沉凹陷与沉入水中的黑色人影"),而不是写"不是X、不要X"。
防错约束 只留抽象约束(无水印/无字幕/无畸形手/不做火焰光效)。
续接 latent 会把首拍人物带歪(本项目 5 次复现,最贵的一条坑):
带 --cont 的段落,首拍稳定生成一个穿黑色长袍、披散长发的高个背影,即使——
上一段尾帧是"俯拍水面 + 落水黑影"(seg02)还是"陈默面部近景、黑 T 恤"(seg03),
参考图已正确注入([rack] 素材 1 件:陈默→陈默.png)、文案已逐字写清衣物,全都压不住。
同一提示词、同一参考图、同一 seed 区间,改 --cont off 后两次全部恢复正常
(seg02 首拍变回黑 T 恤短发陈默;seg03 首拍变回纯空镜城市俯瞰)。
判定与处置:
- 本项目结论:续接保留,但只钉 5 帧(
project.json的cont_frames: 5,即 0.21 秒)。 用户要的就是"给几帧保证上下文一致",39 帧(1.625 秒)太浪费、后期还要逐段掐头。 纯硬切处(海边 → 门外这类剧本本身的地点跳转)用--cont off。 锚点污染在 5 帧下是否仍会出现,需要实测记录;一旦首拍人物不对,先试--cont off。 - 通用判据:续接只在「同一空间、同一机位、动作直接延续」时才可能有用;
一旦发现首拍人物服装/体型/发型不对,先换
--cont off验一次(一采只要 2 分钟), 比改文案快得多,改文案是无效的。 - 开启续接时会打印
[cont ] 承接 clip_xxxx(…);确认首帧再决定要不要留。
4.1 H3 的服从度边界(写提示词前必读)
这些是实测出来的硬边界,改文案没用、换 seed 也没用,只能在写法上绕。 全部来自 13 段 / 86 秒成片的连续记录,不是推测。
| 你想让它做的事 | 实测结果 | 换成什么写法 |
|---|---|---|
| 后拉 / 拉远 / 推近(位移式运镜) | 4 次全败。写「只退到看得见挡杆就停」照样退到窗外、露出另一种内壁 | 改用纯摇(同机位只改角度:先向下摇到地板、再向上摇回),或直接硬切 |
| 机位穿过窗 / 洞进入内景 | 会顺手把门打开。写死「门保持关闭、只从空着的窗洞穿入」也没用 | 段内硬切进内景,组装时把段头裁到刀口;比任何运镜过渡都可靠 |
| 窗外景物在移动(车在行驶) | 生成不出来。改写「白虚线每秒三条迎面涌来」也没用(窗外区帧间差:静止 1.26 / 写了运动 4.15,肉眼都看不出在走) | 行驶感靠后期引擎声 + 轻微机身抖动补,别指望生成 |
| 「景别不变 / 不推近 / 不推拉」 | 服从度低,后半段照样推近 | 改成正向描述**「画面里始终装得下整个 X(门框上沿到踏板)」**——用「必须包含什么」来控 |
| 「不要出现 X / 不是 X」 | 反向生效,X 反而被画出来(同上面的否定词反噬) | 把 X 的名字从句子里彻底删掉 |
| 同一拍做 2 个以上动作 | 每个只做一半,或直接跳过最「无趣」的那个(关门输给「双手放方向盘」) | 一拍最多两个动作;四个动作就拆拍或删 |
| 「约在第 X 秒说完 / 第 N 拍开头发出」 | 时间描述完全无效 | H3 的时间轴由文本事件顺序决定,只能调整块的先后位置 |
| 单段写多个时间段运镜(0-3s推,3-5s停) | Qwen3-VL 误以为中途切机位,诱发段内画面闪切 | 单段 [Shot 1] 严格只写 1 个贯穿首尾的运镜指令 |
中近景写站起 (rises from chair) | 人物头顶冲出画框上边缘,被削掉半个头 | 爆发戏改用 leans sharply forward across table with veins bulging(暴怒前倾撑桌) |
| 侧脸戏写复数五官 (brows/eyes) 或否定句 | 模型为画双眼或被否定词反噬,强行转头看镜头 | 严禁复数五官与 turn/camera 词,纯用正向侧脸静态描述,尾端用 TailLock 潜变量夹具锁死 |
| 平静声纹导致高潮戏吼不出来 | 参考音频的平静语调锁死了音频潜空间能量 | 采用 T8mars 协议:台词加咆哮副语言前缀,并在 0.4s 注入物理撞击瞬态拟音拉爆声能 (+10dB) |
一句话:H3 听「画面里必须有什么」,不听「镜头不要做什么」;听「事件顺序」,不听「秒数」。
续接段还有一条专属边界:续写块结束的那一帧,模型最容易「重置」回参考图构图。 如果这时恰好是一次硬切,它就有了「另起一个镜头」的机会 —— 实测 seg02 首版前 38 帧承接完美, 第 39 帧一结束人物整个消失,跳成参考图里那张无人的大全景。 所以:续接段不写硬切,一镜到底 + 同机位最稳;要分镜切换就单独成段。
5. 第 3 步:生成、监工、收片(一条命令一件事)
# ① 提交(preflight + 工程登记 + 续接 + 挑 seed + 记基线)
$PY scripts/sop_run.py submit --seg seg01 --assets 素材.json [--length 243] [--silent]
# 素材.json:{"角色1":"cglide/<项目>/角色1.png", "场景":"cglide/<项目>/场景.png"}
# --dry-run 只组装不提交(不登记新段、不碰工程档案),并让 ComfyUI 校验图的必填项
# --chain <工程名> 覆盖握手图里的 chain.name(必须等于已绑定值,否则拒收)
# --rebind 确实要换导演台工程时才用(改绑,续接从此断开)
# --cont auto|off|<续拍档路径> 默认 auto=接上一段,off=当第一段
# --allow-nocont 本段确实要独立开头时用:放行"拿不到续拍档"
# ② 监工(建议后台跑:这一步会一直等到一采落盘,然后立刻双检)
$PY scripts/sop_run.py watch --seg seg01 --timeout 3600
判失败必须当场让出 GPU。一采一落盘,二采就开跑;如果等完整质检(抽帧+视觉定量,
十几秒)出结论再 abort,三采/超分往往已经在跑,算力白烧。所以 watch 现在分两道:
- 落盘即刻的音频快检(
_fast_audio_gate)
... [truncated for translation, rest of SKILL.md follows same pattern]