diff --git a/工作流搭建指南/ComfyUI工作流搭建指南.md b/工作流搭建指南/ComfyUI工作流搭建指南.md new file mode 100644 index 0000000..ade2d62 --- /dev/null +++ b/工作流搭建指南/ComfyUI工作流搭建指南.md @@ -0,0 +1,808 @@ +# ComfyUI工作流搭建指南:节点作用、连线方法与短剧实操 + +仓库归档日期:2026-11-01。参考图/音频未纳入Git,使用前阅读[素材替换说明](示例素材/README.md)。 + +接口与原任务核对日期:2026-10-31。适用地址:,本次读到的ComfyUI版本为0.39.0。 + +这份指南让你能够看懂一张工作流、从空画布重新搭出它,并知道遇到不同制作任务该改哪一部分。主要用本机实际跑过的Z-Image、Qwen Image 2.1和MiniMax H3举例,最后补充配乐和指定音频驱动的区别。 + +本次只整理文档、复制既有示例和检查接口,没有提交新生成任务。示例是旧片工作流的原样副本,参考图、旧台词和输出前缀都保留,导入后需要按自己的镜头替换。技术成功不代表对白或剧情已经自然;上一版《应许之路》的艺术修订仍在进行。 + +## 阅读路线 + +- 完全新手:先读第1—4节,再动手搭第5节文生图。 +- 想保持同一个人物:读第6节参考图编辑、第8节多参考视频和第10节声音。 +- 想做分海等变化:先理解第7节图生视频,再读第9节首尾帧。 +- 想理解每个参数:读第11—13节;排错读第15节。 +- 已有工作流想查端口:打开[39种节点端口速查](节点端口速查.md)。 + +目录: + +1. [工作流是什么](#1-工作流是什么) +2. [模型节点参数分别是什么](#2-模型节点参数分别是什么) +3. [先认识连线的数据类型](#3-先认识连线的数据类型) +4. [在画布上怎样搭建](#4-在画布上怎样搭建) +5. [练习一文生图](#5-练习一文生图z-image) +6. [练习二图生图与参考图编辑](#6-练习二图生图与参考图编辑) +7. [练习三图生视频](#7-练习三图生视频h3-i2v) +8. [练习四多参考人物对白](#8-练习四多参考人物对白h3-ref2va) +9. [练习五首尾帧](#9-练习五首尾帧视频) +10. [配音和指定音频驱动](#10-配音和指定音频驱动) +11. [LoRA结构控制和常用扩展](#11-lora结构控制和常用扩展) +12. [参数怎样调整](#12-参数怎样调整) +13. [练习六独立配乐](#13-练习六独立配乐minimax-music3) +14. [把工作流用于一场短剧](#14-把工作流用于一场短剧) +15. [常见问题怎么排查](#15-常见问题怎么排查) +16. [保存复用和接口](#16-保存复用和接口) +17. [练习与检查清单](#17-练习与检查清单) +18. [依据和验证范围](#18-依据和验证范围) + +## 1. 工作流是什么 + +工作流是一张处理数据的有向图。每个节点做一件事,连线把前一个节点的输出送到后一个节点的输入。 + +典型生成过程包含五部分:加载正确模型、把文字/图片变成条件、准备潜空间和噪声、采样生成、解码并保存。 + +```mermaid +flowchart LR + M[加载生成模型] --> S[采样] + T[文字和参考素材] --> C[条件编码] + C --> S + L[潜空间与噪声] --> S + S --> D[VAE解码] + D --> O[图片/音频/视频输出] +``` + +例如你要做“法老听完摩西的话,停止转动戒指”:先有法老正确的脸和站位图,再写动作与视线,模型才去生成这一个镜头。把“整部出埃及故事”塞进一个节点,不会自动得到完整分镜、合理对白和准确剪辑。 + +画布位置用于方便阅读,执行次序由依赖连线决定。把一个节点拖到最右边不会让它自动最后执行;没有连接到本次输出的支路通常不会参与本次生成。 + +## 2. 模型、节点、参数分别是什么 + +| 名称 | 实际含义 | 例子 | +|---|---|---| +| 模型文件 | 学到生成能力的一组权重 | Z-Image主模型、H3主模型 | +| 节点 | 加载或操作数据的一段程序 | `UNETLoader`、`KSampler` | +| 参数 | 这个节点本次怎么工作 | seed、steps、宽高 | +| 输入素材 | 本次用到的具体内容 | 摩西定妆图、对白录音 | +| 工作流JSON | 节点、参数和连线的描述 | 附带的6套GUI示例 | +| 自定义节点包 | 给ComfyUI增加节点的代码扩展 | 本机T8音频控制节点包 | + +下载一个JSON不会自动带来模型权重。装了一个自定义节点包,也不代表它依赖的模型已经齐全。主模型、文本编码器、VAE、LoRA要按该模型家族配套。 + +### 2.1 四类模型组件 + +| 组件 | 负责什么 | 常用加载节点 | +|---|---|---| +| 生成模型/去噪模型 | 依据条件预测如何更新潜空间 | `UNETLoader` | +| 文本或多模态编码器 | 把文字、以及部分任务中的图像/音频上下文变成模型能用的表示 | `CLIPLoader`、`DualCLIPLoader` | +| VAE | 在像素/波形与潜空间之间转换 | `VAELoader` | +| LoRA | 在基础模型上应用一个较小的适配权重 | `LoraLoader`、`LoraLoaderModelOnly` | + +`UNETLoader`是历史节点名,实际可以加载受支持的Transformer类生成模型。`CLIP`也是接口类型名,本机Qwen/H3文本编码器不等于传统CLIP模型。不要仅凭节点名称判断内部架构。 + +### 2.2 本机已跑过的配套关系 + +下面都是项目执行记录里的组合,本次接口下拉列表仍能找到对应文件。 + +| 任务 | 主模型 | 文本编码器与type | VAE | +|---|---|---|---| +| Z-Image文生图 | `z_image_turbo_bf16.safetensors` | `qwen_3_4b.safetensors`,`lumina2` | `ae.safetensors` | +| Qwen2.1参考编辑 | `qwen_image_2.1_bf16.safetensors` | `qwen3vl_8b_bf16.safetensors`,`qwen_image` | `qwen_image_2.1_vae_bf16.safetensors` | +| H3图生/首尾帧 | `minimax_h3_fl2va_pruned_int8_convrot.safetensors` | `qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors`,`minimax` | 视频:`minimax_h3_video_vae_fp16.safetensors`;音频:`minimax_h3_audio_vae_fp32.safetensors` | +| H3多参考 | `minimax_h3_ref2va_pruned_int8_convrot.safetensors` | 与上一行相同 | 与上一行相同 | +| Music3配乐 | `minimax_music3_dit_fp16.safetensors` | `minimax_music3_text_encoder_pruned_int8_convrot.safetensors`,`minimax` | `minimax_music3_dav.safetensors` | + +H3和Music3的编码器type都写`minimax`,文件却不同,不能互换。两个VAE都输出`VAE`类型,也不代表它们能给同一个模型解码。 + +`CheckpointLoaderSimple`用于支持的整合式检查点,一次给出`MODEL / CLIP / VAE`。上表使用拆分加载,不能拿任意SDXL整合检查点替换这些专用组件。 + +## 3. 先认识连线的数据类型 + +节点左侧一般是输入,右侧一般是输出。端口名说明“这份数据用来做什么”,数据类型说明“它是什么”。连线颜色只作辅助,以当前端口标注为准。 + +| 类型 | 通俗理解 | 典型连接 | +|---|---|---| +| `MODEL` | 加载或修饰后的生成模型对象 | 模型加载器→采样器/Guider | +| `CLIP` | 编码器对象 | 编码器加载器→文本/多模态编码节点 | +| `VAE` | 编解码器对象 | VAE加载器→Encode/Decode | +| `CONDITIONING` | 已编码的条件,不是原始文字 | TextEncode→采样器positive | +| `LATENT` | 模型处理的潜空间数据 | 空潜空间→采样器→VAE解码 | +| `IMAGE` | 图片张量,也可以是一批视频帧 | LoadImage→参考节点;视频解码→CreateVideo | +| `MASK` | 表示区域范围的蒙版 | 蒙版→支持局部控制的节点 | +| `AUDIO` | 波形及其采样率等信息 | LoadAudio/音频解码→CreateVideo.audio | +| `VIDEO` | 包含视频帧及相关信息的视频对象 | CreateVideo→SaveVideo | +| `NOISE` | 噪声生成对象 | RandomNoise→高级采样器noise | +| `GUIDER` | 使用模型与条件指导采样的对象 | BasicGuider→高级采样器guider | +| `SAMPLER` | 采样算法对象 | KSamplerSelect→高级采样器sampler | +| `SIGMAS` | 采样的噪声级别序列 | BasicScheduler→高级采样器sigmas | +| `CONTROL_NET` | 结构控制模型对象 | ControlNetLoader→ControlNetApplyAdvanced | +| `STRING / INT / FLOAT / BOOLEAN` | 文字/整数/小数/开关 | 提示词、帧数、强度、启用开关 | + +三条常见错误: + +- `CLIP`是编码器对象,不能直接接采样器`positive`;中间需要条件编码。 +- `LATENT`尚未成为可看的图片,不能直接接`SaveImage`;中间需要匹配的`VAEDecode`。 +- 普通`AUDIO`不能接`CreateVideo.images`;它应接`audio`输入。 + +类型匹配是必要条件,还要检查模型家族、张量通道、尺寸和任务模式。`LATENT`同名也有图像、视频、音频、联合声画等不同内部结构。 + +### 3.1 端口和小控件有什么区别 + +下拉框、文本框和滑块是参数控件。例如`KSampler.steps=9`是参数;`KSampler.model`则需要一根`MODEL`连线。部分控件能在右键菜单转换成输入端口,供其他节点控制。 + +当某个参数已经接线,真正的值来自上游。Music3的`seconds`会接到潜空间时长输入,这时修改旁边旧的数字控件不会覆盖那根线传来的值。 + +## 4. 在画布上怎样搭建 + +### 4.1 从示例开始 + +1. 打开ComfyUI,先把当前工作流另存。 +2. 将本文件夹`示例工作流`中的GUI JSON拖到画布,或从工作流菜单打开。 +3. 找到模型加载节点,确认下拉文件名有实际值。 +4. 对`LoadImage / LoadAudio`上传自己的对应素材,或从本机完整学习包取得参考文件;参见[素材替换说明](示例素材/README.md)。 +5. 修改提示词和保存前缀,例如`learning_20261031/shot01`。 +6. 第一遍保持原采样参数,只改一段文字或一张参考图。 +7. 点击运行/Queue,看到保存节点返回结果后检查内容。 +8. 另存自己的版本,记录模型、参数、输入和结果。 + +这些是本机旧项目的已执行副本。在原服务器上,旧输入路径可能直接可用;换机器或清理过输入目录后需要重新上传。素材上传到服务器后,节点用的是服务器文件名,不是你Windows磁盘上的本地路径。 + +### 4.2 真正从空画布搭建 + +1. 在空白处打开节点搜索,输入本指南的英文节点名。 +2. 先放加载器和最终保存节点,明确输入和交付格式。 +3. 放编码、潜空间、采样、解码节点。 +4. 从左到右按本指南连线表连接,每接一根确认类型和端口。 +5. 填匹配的模型文件,再填提示词和小规模参数。 +6. 先跑通单张图或一条短镜头,再增加参考、分支与后期。 + +节点编号只在一张工作流内部有意义。本指南表里的编号来自附带实例,你自己新建时出现其他编号很正常。 + +## 5. 练习一:文生图(Z-Image) + +用途:没有参考图时,探索人物定妆、服装、场景和风格。先选出满意的法老主图,再进入参考编辑。 + +示例:[GUI](示例工作流/01_文生图_ZImage.json) · [API](示例工作流/01_文生图_ZImage.api.json)。 + +### 5.1 节点分别做什么 + +| 编号 | 节点 | 作用 | +|---:|---|---| +| 16 | `UNETLoader` | 加载Z-Image主模型 | +| 11 | `ModelSamplingAuraFlow` | 按这条模型配方调整采样时间参数,示例shift=3;不负责画面内容 | +| 18 | `CLIPLoader` | 加载Qwen4B编码器,type为lumina2 | +| 17 | `VAELoader` | 加载ae VAE | +| 6 | `CLIPTextEncode` | 把正向提示词编码为条件 | +| 7 | `CLIPTextEncode` | 提供负向条件;示例文本为空 | +| 13 | `EmptySD3LatentImage` | 准备本模型所需的空潜空间,设置宽高和batch | +| 3 | `KSampler` | 根据模型、条件、seed等完成采样 | +| 8 | `VAEDecode` | 将采样结果解码为图片 | +| 9 | `SaveImage` | 把图片写入服务器输出目录并返回预览 | + +`EmptySD3LatentImage`的名字不表示只适用于SD3;本例用它准备Z-Image需要的潜空间形状。不要随意换成另一个空潜空间节点。 + +### 5.2 连线 + +```mermaid +flowchart LR + U[UNETLoader] --> A[ModelSamplingAuraFlow] + A --> K[KSampler] + C[CLIPLoader] --> P[正向CLIPTextEncode] + C --> N[负向CLIPTextEncode] + P --> K + N --> K + L[EmptySD3LatentImage] --> K + K --> D[VAEDecode] + V[VAELoader] --> D + D --> S[SaveImage] +``` + +| 从哪里 | 接到哪里 | 类型 | +|---|---|---| +| 16.MODEL | 11.model | MODEL | +| 11.MODEL | 3.model | MODEL | +| 18.CLIP | 6.clip、7.clip | CLIP | +| 6.CONDITIONING | 3.positive | CONDITIONING | +| 7.CONDITIONING | 3.negative | CONDITIONING | +| 13.LATENT | 3.latent_image | LATENT | +| 3.LATENT | 8.samples | LATENT | +| 17.VAE | 8.vae | VAE | +| 8.IMAGE | 9.images | IMAGE | + +### 5.3 第一次填什么 + +| 参数 | 本例实际值 | 调整目的 | +|---|---|---| +| 宽×高 | 1344×768 | 画布比例和像素量 | +| batch_size | 1 | 同一次生成的图片数,增加会占更多显存 | +| steps | 9 | 与Turbo配方相配的采样步数 | +| cfg | 1 | 此配方不依靠常规正负CFG增强 | +| sampler / scheduler | euler / simple | 保持配方组合 | +| denoise | 1 | 完整生成 | +| shift | 3 | Z-Image这条配方的时间参数 | + +法老定妆练习提示词可以写: + +> 原创古埃及法老,约五十岁,神态克制,深色短发或剃发,金蓝相间王巾、亚麻衣与宽领饰。单人胸上定妆,双眼可见,嘴闭合,侧窗柔光,背景简洁,真实皮肤与织物。不要把人物设计成欧洲王冠、重甲或夸张魔王。 + +这只是可替换的练习文字,没有在本轮实际生成。满意后固定主图,并给它编号PH01。下一次换场景应从主图参考编辑开始,不能只靠相同seed重新抽同一个人。 + +## 6. 练习二:图生图与参考图编辑 + +### 6.1 普通图生图的基本概念 + +在适配的图像模型中,`LoadImage.IMAGE → VAEEncode.pixels`,再把匹配VAE接到`VAEEncode.vae`,编码出的`LATENT`送到采样器。`denoise`决定重新采样的程度。最终仍经过VAE解码和保存。 + +```text +LoadImage → VAEEncode → KSampler.latent_image → VAEDecode → SaveImage + ↑ ↑ ↑ + 匹配VAE 模型与文字条件 同一匹配VAE +``` + +这是普通图生图的结构说明,本包没有单独提供其已运行示例。不同模型接受的潜空间和采样方式不同,不能把这段概念连线直接套到H3或所有编辑模型上。 + +### 6.2 本机参考编辑用Qwen Image2.1 + +用途:保留同一演员,再换场景、衣物、景别、机位或修掉指定问题。示例:[GUI](示例工作流/02_参考图编辑_Qwen21.json) · [API](示例工作流/02_参考图编辑_Qwen21.api.json)。 + +| 编号 | 节点 | 作用 | +|---:|---|---| +| 1 | `LoadImage` | 输入主参考图,本例为摩西主定妆 | +| 20 | `UNETLoader` | Qwen Image2.1主模型 | +| 21 | `CLIPLoader` | 对应Qwen3-VL 8B编码器,type=qwen_image | +| 22 | `VAELoader` | Qwen2.1专用VAE | +| 23 | `QwenImage21Cache` | 管理这套模型的前缀缓存位置与精度 | +| 30 | `TextEncodeQwenImage21` | 读取编辑文字与有序参考图,输出正向、负向条件和对齐潜空间 | +| 31 | `KSampler` | 按编辑条件采样 | +| 32 | `VAEDecode` | 使用同一套VAE解码 | +| 33 | `SaveImage` | 保存编辑结果 | + +### 6.3 连线 + +```mermaid +flowchart LR + U[Qwen主模型] --> C[QwenImage21Cache] + C --> K[KSampler] + E[Qwen编码器] --> T[TextEncodeQwenImage21] + I[LoadImage参考图] --> T + V[Qwen2.1 VAE] --> T + T -->|positive / negative / latent| K + K --> D[VAEDecode] + V --> D + D --> S[SaveImage] +``` + +| 从哪里 | 接到哪里 | +|---|---| +| 20.MODEL | 23.model | +| 23.MODEL | 31.model | +| 21.CLIP | 30.clip | +| 22.VAE | 30.vae、32.vae | +| 1.IMAGE | 30.images.image_1 | +| 30.positive(输出0) | 31.positive | +| 30.negative(输出1) | 31.negative | +| 30.latent(输出2) | 31.latent_image | +| 31.LATENT | 32.samples | +| 32.IMAGE | 33.images | + +这一行的关键是**用编码节点给出的latent**。它与第一张有效参考图的尺寸对齐,不要额外造一块不同大小的空潜空间替换它。 + +### 6.4 多张参考图怎样接 + +每一张图用独立的`LoadImage`,依次接`image_1、image_2……`。本机API名为`images.image_1`等;画布可能显示折叠后的参考图分组。 + +例如图1是场景构图,图2是法老定妆,图3是摩西定妆,可以这样分工: + +> 以的王宫构图为基础。左侧高位的法老使用的人脸与服饰;右侧下位的摩西使用的人脸、银发长须、红披肩和木杖。保持两个人分开,法老看右,摩西看左,灯光来自同一扇窗。 + +这类多人合成需要另外检查是否混脸、换位或改变道具,本例实际执行只有单参考,不能把单参考成功当成三参考同框已经验证。节点目前显示最多16个槽位;先从1—3张开始,不靠堆参考数量保证质量。不要把多张图先塞进一个图片batch代替独立槽位。 + +### 6.5 参数怎么理解 + +- 本例40步、CFG1、euler/simple、denoise1,`resolution=1024`,缓存`auto/default`。 +- `resolution`约指参考像素面积的尺度,保留长宽比并按节点规则取整,不是强制宽高都等于1024。 +- Qwen参考编辑的`denoise=1`仍有图像条件,不等于把参考图丢掉;不要照搬普通图生图“调低就更像”的经验。 +- CFG1时常规负向引导不起作用,要在正向编辑指令里清楚写出该保留和该改变的内容。 +- 缓存管内存与计算,不是角色记忆或人脸数据库。改变缓存精度不能代替角色参考。 + +从“一次只改背景”开始,成功后再试机位或动作。人物脸没有保持住时,先对照输入图和指令,再考虑参数。 + +## 7. 练习三:图生视频(H3 I2V) + +用途:让一张已经确认的分镜首帧运动起来。适合行走、举杖、倾听、单人表演等。示例:[GUI](示例工作流/03_图生视频_H3_I2V.json) · [API](示例工作流/03_图生视频_H3_I2V.api.json)。 + +该示例原本是摩西说“让我的百姓走”的镜头,包含旧对白。做静默反应时,必须把旧句替换成你的静默表演要求,并检查输出有没有多余讲话。 + +### 7.1 它为什么比文生图多很多节点 + +H3此处把声画一起生成,采样又拆成噪声、指导器、算法和噪声日程等独立节点。你可以把这几个节点整体理解为“展开的采样器”。 + +| 编号 | 节点 | 作用 | +|---:|---|---| +| 1 | `LoadImage` | 已确认的镜头首帧 | +| 6 | `UNETLoader` | 加载FL2VA主模型 | +| 121 | `LoraLoaderModelOnly` | 加载匹配的8步FL2V加速LoRA | +| 13 | `CLIPLoader` | H3专用Qwen3-VL编码器 | +| 11 | `VAELoader` | H3视频VAE | +| 24 | `VAELoader` | H3音频VAE,与视频VAE分开 | +| 104 | `MiniMaxH3ImageToVideo` | 编码提示词/首帧,设置画幅与长度,输出条件及联合声画潜空间 | +| 15 | `RandomNoise` | 提供由noise_seed决定的噪声 | +| 16 | `BasicGuider` | 把模型与条件组合成指导器;此节点不提供常规正负CFG旋钮 | +| 17 | `KSamplerSelect` | 选择采样算法,本例res_multistep | +| 9 | `BasicScheduler` | 依据模型、步数和denoise生成SIGMAS日程 | +| 14 | `SamplerCustomAdvanced` | 使用上述输入执行采样 | +| 10 | `VAEDecode` | 从采样结果解出视频图片帧 | +| 23 | `VAEDecodeAudio` | 从同一联合结果解出音频 | +| 91 | `CreateVideo` | 把图片帧和音频组合成VIDEO对象 | +| 92 | `SaveVideo` | 将VIDEO对象编码保存为实际视频文件 | + +### 7.2 完整连线 + +```mermaid +flowchart LR + U[FL2VA主模型] --> L[匹配FL2V LoRA] + L --> G[BasicGuider] + L --> B[BasicScheduler] + C[H3编码器] --> H[H3 ImageToVideo] + I[首帧] --> H + V[视频VAE] --> H + H -->|positive| G + H -->|LATENT| S[SamplerCustomAdvanced] + G --> S + B --> S + N[RandomNoise] --> S + A[KSamplerSelect] --> S + S --> D[视频VAE解码] + S --> E[音频VAE解码] + V --> D + W[音频VAE] --> E + D --> M[CreateVideo] + E --> M + M --> O[SaveVideo] +``` + +| 从哪里 | 接到哪里 | 类型 | +|---|---|---| +| 6.MODEL | 121.model | MODEL | +| 121.MODEL | 16.model、9.model | MODEL | +| 13.CLIP | 104.clip | CLIP | +| 11.VAE | 104.vae、10.vae | VAE | +| 1.IMAGE | 104.first_frame | IMAGE | +| 104.positive(0) | 16.conditioning | CONDITIONING | +| 104.LATENT(1) | 14.latent_image | LATENT | +| 15.NOISE | 14.noise | NOISE | +| 16.GUIDER | 14.guider | GUIDER | +| 17.SAMPLER | 14.sampler | SAMPLER | +| 9.SIGMAS | 14.sigmas | SIGMAS | +| 14.output(0) | 10.samples、23.samples | LATENT | +| 24.VAE | 23.vae | VAE | +| 10.IMAGE | 91.images | IMAGE帧batch | +| 23.AUDIO | 91.audio | AUDIO | +| 91.VIDEO | 92.video | VIDEO | + +已经应用LoRA的MODEL要同时进入Guider和Scheduler。不要把其中一根线仍留在原始主模型上。 + +### 7.3 已验证参数 + +本例:960×544、175帧、24fps、8步、res_multistep/simple、denoise1、LoRA强度1。175帧约7.29秒。 + +`MiniMaxH3ImageToVideo`设置模型生成的宽、高和帧数;`CreateVideo.fps`设置组装视频时使用的帧率。H3这里按24fps设计,不能只把CreateVideo改成30就当成模型多生成了6帧/秒。 + +### 7.4 提示词怎么写 + +本地H3基础模式采用三个字段,I2V前面还有参考图片说明。下面是练习用的原创新提示词,不代表本轮已生成: + +```text +For the target video, at 0.00 seconds into the target video, (from [Shot 1]) is fully referenced. + +integrated_multimodal_description: [Shot 1] A locked medium close-up of the same Pharaoh in the reference. He looks toward Moses just offscreen right. He listens, stops moving the ring on his finger, and replies quietly but firmly: [Chinese] 男人可以。孩子留下。 His visible mouth matches the audible sentence. After speaking he closes his mouth and waits for the reply. Keep his face, clothing and light unchanged. No other speaker, no cuts, no captions. + +overall_soundscape: A quiet stone hall, faint cloth movement, and only the specified Mandarin line. No background conversation. + +non_diegetic_music: None. +``` + +镜头提示词写谁、怎么动、对谁说、说什么、听完怎样。对白文字放在`[Chinese] ... `里;身份、音色、情绪和动作写在标签外。静默镜头删除对白标签,并明确闭嘴和具体倾听动作。 + +时间提示只能提出期望,不能保证模型在那一毫秒开口。仍需实际看嘴部、听语气、核对说话时间;ASR用于核字,不代替表演判断。 + +## 8. 练习四:多参考人物对白(H3 Ref2VA) + +用途:给人物图片、声音等参考,再生成一条新的声画镜头。它适合继续同一角色的外观与音色;生成构图仍可能变化,不保证和参考图逐像素重合。 + +示例:[GUI](示例工作流/04_多参考对白_H3_Ref2VA.json) · [API](示例工作流/04_多参考对白_H3_Ref2VA.api.json)。默认引用摩西图和摩西声音,法老需要替换成法老自己的图和声音。 + +### 8.1 从I2V改哪些部分 + +| 部位 | I2V | Ref2VA | +|---|---|---| +| 主模型 | FL2VA | Ref2VA | +| 加速LoRA | FL2V 8步 | 匹配Ref2V 4步 | +| 条件节点104 | `MiniMaxH3ImageToVideo` | `MiniMaxH3ReferenceToVideo` | +| 图片连接 | `first_frame` | `ref_images.ref_image_1` | +| 音频连接 | 本例无参考音频 | 增加`LoadAudio → ref_audios.ref_audio_1` | +| VAE输入 | 视频VAE | 同时接视频`vae`和音频`audio_vae` | +| 提示词 | 三字段 | 六字段 | +| 采样步数 | 本例8 | 本例4,与匹配LoRA一起使用 | + +它们不是只换一个节点名字。换模式时,主模型、LoRA、条件输入、步数与提示词结构一起核对。 + +### 8.2 参考输入怎样连 + +在前一节采样、解码与保存结构保持不变的基础上: + +| 从哪里 | 接到哪里 | +|---|---| +| H3编码器CLIP | 104.clip | +| H3视频VAE | 104.vae、视频解码器vae | +| H3音频VAE | 104.audio_vae、音频解码器vae | +| LoadImage.IMAGE | 104.ref_images.ref_image_1 | +| LoadAudio.AUDIO | 104.ref_audios.ref_audio_1 | +| 104.positive(0) | BasicGuider.conditioning | +| 104.LATENT(1) | SamplerCustomAdvanced.latent_image | + +增加第二张角色图时,用另一个`LoadImage`接下一参考槽位。增加另一个人物声音时,用另一`LoadAudio`接下一声音槽位,并在文字里明确谁对应哪张图、哪段声音。 + +`ref_image_size`本例为`max`。它使用更大的参考处理尺度,可能增加显存和计算;不等于开启“绝对锁脸”。先复用本例,不在未看结果时同时增加画幅、时长和参考数量。 + +### 8.3 六字段提示词示意 + +```text +subject_definitions: is Pharaoh (S1). His face, clothes and appearance come from . His voice identity comes from