在上一章里我们把LTX-2.3文生视频工作流里面。设置要制作视频分辨率、帧率、时长(总帧率)的节点、以及输入提示词的节点已经添加好了如上图。这一章我们接着上一章的内容继续。按我们前面工作流的搭法下一步应该是主模型、lora、采样器了。一、添加lora模型这里我们先去魔塔下载一个Lora名称为“ltx-2-19b-lora-camera-control-dolly-in”这是LTX官方提供的一个摄像机控制的Lora。下载完成后添加一个Lora的组件 如下图这里主模型和lora链接的时候为了让大家看起来更清晰我用了一个“转节点(Reroute)的组件如下图这个”Reroute“在一些比较复杂的工作流是很常见的就是起一个链接两条线的作用没什么特殊含义搜索的时候搜索”Reroute“。二、添加采样器在前面的文生图工作流里有一个K采样器的东西我们可以直接使用。但是在LTX的工作流里我们需要用好几个组件去组装一个完整的采样器。1、CFG引导器输入参数的含义分别是model大模型主体、positive(正向提示词条件编码)、negative(反向负面提示词条件编码)cfg一般建议2-5这里我们给4。输出参数GUIDERCFG引导器不会直接采样出图而是打包「模型 正负条件 CFG 强度」生成一个GUIDER数据包输出到支持 Guider 接口的专用采样节点执行去噪生成。下来我们先把模型给来链接起来接下来是不是该链接 positive和negative了按以前图片工作流的链接方法我们只需要把两个Clip链接过来就ok了。但在这里不行因为这是一个视频模型再给提示词的时候我们需要把帧率也一块给传进来所以我们需要再Clip和Cfg之间再加一个组件”LTXV条件“这里又出了一个问题当我想把Frame Rate(int)这个帧率组件的值直接传给”LTXV条件“时发现链接不过来我用红线标的地方原因是因为LTX内部的帧率用的float的数据类型而我们那个帧率组件输出的时int的数据类型所以直接没法赋值我们需要一个float的转换节点。加入这个IntToFloat组件以后我们就可以正常的链接了如下图。CFG引导器是好了再想想我们以前文生图工作流的K采样器还有什么参数是不是还有需要一个种子。2、RandomNoise随机噪波就是种子的意思3、种子有了是不是还需要一个“采样方法”也就是“采样器选择”这里的采样器名称我们选择LTX官方推荐的res_2s其实euler(速度快)”和“dpmpp_2m(画质好)”也是可以的。这下CFG引导器、RandomNoise、K采样器选择都有了我们还需要一个东西把这三个整合起来构成一个完整的采样器 。4、添加“SamplerCustomAdvanced定义采样器高级”我这个添加以后是个中文的翻译的不是特别准确我再弄一个英文的贴出来这里面的noise对应种子随机噪声、guider对应CFG引导其、sample对应的是采样器选择。这都没啥说的和我们上面添加的三个组件是一一对应的。latent_Image就是用来输入图像潜空间的单由于我们这个LTX模型是音画同步所以这里我们不能只传入图像分辨率的latent,是需要和声音一块传入的。因此这里就需要一个“LTXVConcatAVLatent”组件把声音和图像汇总一下。还剩下这个“sigmas”这个其实就是我们前面制作图片用到的K采样器的调度器我们先把LTX的调度器加进来看一下。可以看到他的输出节点就是“SIGMAS”,对应采样器的SIGMAS。而他的输入节点latent就同样需要图像与声音的汇总因此我们需要把“LTXVConcatAVLatent”组件的输出结果也给他一份。到这里其实我们的采样器就构建完成了靠我们前面这些组件模型在潜空间内部其实已经能把视频给制作出来了。下来就是需要把他在潜空间里制作好的视频翻译成我们人类能看懂的东西了进行解码。三、添加解码器我们先看这个采样器的输出下面降噪那个就是输出降噪图就是我们在以前做图片,生产过程中在K采样器下面看到的噪声图的变化我们不用去管它。主要是这个“latent”的输出前面我们传入的时候十八音频和图像一起打包传入的输出的时候又需要把他俩分解开。因此我们需要添加一个“LTXVSeparateAVLatent分离音视频潜空间”的组件如下图我们可以看到他有一个输入点“音频视频潜空间”两个输出点 “video(视频潜空间 )” 和 “audio(音频潜空间)”。既然有一个 “video(视频潜空间 )” 和 一个“audio(音频潜空间)” 的输出那必然会分别有一个视频解码 和 一个音频解码的组件来接受他。1我们先加入一个视频的解码组件我给你大家解释一下这个组件可以看他的名字“VAE解码分块”重点关注“分块”。我们前面制作图片用的普通vae解码是把整张图片一次性传给Vae让他去解码。这个分块的意思就是他一张大的图片分成好几个小块再去解码解码完成后再拼接成功一个完整的图片。这样做的目的还是为了节省显存防止出现显存溢出。他的参数含义分别是输入节点latent(用来接收采样器传出来的视频潜空间)vae(用来接收进行vae解码的vae模型文件)。输出节点Image(图像)解码完成后的图像输出。①tile_size 分块尺寸直到是要把图片分成多大的图片块默认512意思就是把图片分割成512*512大小的图块比如2048×2048 的大图会切成 4×4 共 16 块 512×512 的图片块。如果没法被512除尽呢比如1080P的视频分辨率是1920*1080这个尺寸如果用512去分割那就是横向1920÷5123.75横向就有4个512*512的方块前三个是完整的512*512最后一个是384*512。纵向1080÷5122.11取整需要3块两个完整的512*512最后一个56*512。分块越少越好如果是想出1920*1080的视频如果显存支持我们就可以把分块尺寸设置为768这样就是6个768*768的方块。再一个有一点大家需要注意我们前面有一个缩小1倍的操作所以我们的1920*1080其实到这块的时候是960*540。②overlap 块重叠像素相邻两块之间预留重叠区域用来消除拼接时明显的分割缝、色块断层。一般默认64太小32画面中间会出现竖线 / 横线拼接痕迹。太大128增加计算量、变慢但过渡更自然64是一个比较平衡的值在真实的使用过程中我们可以根据实际效果自己去调整。③temporal_size(时间尺寸) /temporal_overlap(时间重叠)这两个参数都是视频专用的参数如果是图片的画是没有用的可以直接忽略。temporal_size就是告诉VAE解码的时候一次解码多少帧一帧就是一张图片所以解码图片的时候是没有用的。temporal_overlap就是设置帧与帧之间的时间重叠防止视频画面闪烁断层。2添加完了视频解码再添加一个音频的解码组件“LTXV音频VAE解码”这个就没有啥说的了样本就是接收Latent,下面的Audio Vae就是接收vae模型文件的。再把视频vae和音频vae的模型文件给他链接起来。这下前期该准备的都差不多了下来就是把解码以后的东西给咱展示出来让我们用眼睛能看到。四、添加“合并为视频”参数的话图像连 视频vae解码音频 链接 音频vae解码帧率链接 我们前面的 帧率注意这里需要float类型的值。连好了线我们点击运行试试效果。OK!运行成功不过别着急还没有完我们前面不是为了节省显存让制作视频的时候缩小一倍来制作加这最后一个“合并为视频”的节点只是为了让大家看看阶段性的成果你运行以后会发现这个视频并没有完整的保存出来。output里面只有一张静图、一张动图。五、 Execution Order Controller顺序控制介绍这个LTX的工作流里我们的主模型、VAE、文本编码我们都用的是主模型文件如下图这几个模型加起来都超过70G了有点大太吃电脑配置。为了减少这个LTX-2.3工作流对电脑配置的要求在这一章的最后我再给大家教一个小组件“Execution Order Controller”。Execution Order Controller来自于我们最开始让大家安装的ComfyUI-Impact-Pack插件里面。专门用于强制控制 ComfyUI 节点的执行先后时序解决原生连线无法约束执行顺序的问题。它可以让加载模型的时候先排个序先加载一个等这个加载完以后再加载下一个可以在一定程度上减少工作流对硬件的要求减少OOM爆显存的可能性。那么他到底是如何工作的呢我们看他的参数上面一对signal(信号)输入输出下面一堆value(数据)输入输出他的运行原理就是“保证提供signal(信号)输出的节点会在提供value(数据)输出的节点之前先运行”。也就是signal先运行、value后运行。我把正面提示词的输出点连接到signal把主模型的输出点给value,这样他就会先调用文编码器去处理提示词等题词处理完以后他才会加载主模型如下图。我把到目前为止我们已经完成的工作流截个图放到下面等全部完成后我会把整个工作流分享到我们的QQ群里。---------结束线---------这个还是比较复杂的一章写不完我们下一章继续。现在我们已经搭建好了 LTX-2.3的文生图工作流的“模型加载、提示词输入、分辨率帧率控制、初次采样”四个部分的工作流搭建 今天就先到这里我们下章开始搭建最后一部分“二次采样”。我建了一个群方便大家在学习的过程中相互交流。有兴趣的朋友可以加一下平时也会在群里分享一些资料。如果大家在阅读文章的时候有什么困惑可以在文章的底部留言我看到的第一时间就会进行回复。再一个也可以在赞赏文章后针对所赞赏文章的内容有不明白的地方可以和我约个时间进行一对一的实时交流赞赏金额不限制多少都可以