Home Creators Posts Import Register Favorites Logout

Downloads

Content

Hey everyone! I’ve just released a new video on the BEST FREE VIDEO AI KING, “LTX-2.3”. It’s an absolutely insane open-source model that can generate videos from text, images and even other videos, and now with VIDEO EXTEND AND MULTI-FRAME control, it’s even more powerful than before. This is easily one of the craziest and most fun video models I have ever tried!

You can check out the video right here: https://youtu.be/nOCMsqVujBI

I also created a 1-click installer for the Webui for my Patreon supporters for Local AND Runpod, that you can find right here: https://www.patreon.com/posts/153598152

Here the link to the manual install guide: https://pastebin.com/171Pers1

Down below you will also find the LTX-2-3_ULTRA_WORKFLOW.json for you to use!

As always, supporting me on Patreon allows me to keep creating helpful resources like this for the community. Thank you for your support - now go have some fun😉!

Files

Comments

Mikael Svenson

Hi, can you explain the first/middle/last frame flow? And I can totally see how to use this for longer clips. Been enjoying playing with the nvfp4 for ltx23 myself lately.

Mikael Svenson

Been using ltx23 instead of tts actually..as emotions are a lot better. Fish S2 is getting there, but these multimodal models give a lot better emotions so far.

Mikael Svenson

You could add a TTS flow to the overall json 🙂 ignore video, and transform audio script with emotion tags to a vid prompt.

steri eth

His video on youtube shows him working with it, pretty cool and simple

Jeremiah Everett

VAELoaderKJ Error(s) in loading state_dict for VideoVAE: size mismatch for decoder.conv_in.conv.weight: copying a param with shape torch.Size([1024, 128, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 128, 3, 3, 3]). size mismatch for decoder.conv_in.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([256]). size mismatch for decoder.up_blocks.0.res_blocks.0.conv1.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3, 3]). size mismatch for decoder.up_blocks.0.res_blocks.0.conv1.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([256]). size mismatch for decoder.up_blocks.0.res_blocks.0.conv2.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3, 3]). size mismatch for decoder.up_blocks.0.res_blocks.0.conv2.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([256]). size mismatch for decoder.up_blocks.0.res_blocks.1.conv1.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3, 3]). size mismatch for decoder.up_blocks.0.res_blocks.1.conv1.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([256]). size mismatch for decoder.up_blocks.0.res_blocks.1.conv2.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3, 3]). size mismatch for decoder.up_blocks.0.res_blocks.1.conv2.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([256]). size mismatch for decoder.up_blocks.1.conv.conv.weight: copying a param with shape torch.Size([4096, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 256, 3, 3, 3]). size mismatch for decoder.up_blocks.1.conv.conv.bias: copying a param with shape torch.Size([4096]) from checkpoint, the shape in current model is torch.Size([1024]). size mismatch for decoder.up_blocks.2.res_blocks.0.conv1.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.2.res_blocks.0.conv1.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.2.res_blocks.0.conv2.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.2.res_blocks.0.conv2.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.2.res_blocks.1.conv1.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.2.res_blocks.1.conv1.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.2.res_blocks.1.conv2.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.2.res_blocks.1.conv2.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.3.conv.conv.weight: copying a param with shape torch.Size([4096, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.3.conv.conv.bias: copying a param with shape torch.Size([4096]) from checkpoint, the shape in current model is torch.Size([1024]). size mismatch for decoder.up_blocks.4.res_blocks.0.conv1.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.4.res_blocks.0.conv1.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.4.res_blocks.0.conv2.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.4.res_blocks.0.conv2.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.4.res_blocks.1.conv1.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.4.res_blocks.1.conv1.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.4.res_blocks.1.conv2.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.4.res_blocks.1.conv2.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.4.res_blocks.2.conv1.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.4.res_blocks.2.conv1.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.4.res_blocks.2.conv2.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.4.res_blocks.2.conv2.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.4.res_blocks.3.conv1.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.4.res_blocks.3.conv1.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.4.res_blocks.3.conv2.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.4.res_blocks.3.conv2.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.5.conv.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.5.conv.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([256]). size mismatch for decoder.up_blocks.6.res_blocks.0.conv1.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.6.res_blocks.0.conv1.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.6.res_blocks.0.conv2.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.6.res_blocks.0.conv2.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.6.res_blocks.1.conv1.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.6.res_blocks.1.conv1.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.6.res_blocks.1.conv2.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.6.res_blocks.1.conv2.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.6.res_blocks.2.conv1.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.6.res_blocks.2.conv1.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.6.res_blocks.2.conv2.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.6.res_blocks.2.conv2.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.6.res_blocks.3.conv1.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.6.res_blocks.3.conv1.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.6.res_blocks.3.conv2.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.6.res_blocks.3.conv2.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.6.res_blocks.4.conv1.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.6.res_blocks.4.conv1.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.6.res_blocks.4.conv2.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.6.res_blocks.4.conv2.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.6.res_blocks.5.conv1.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.6.res_blocks.5.conv1.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.6.res_blocks.5.conv2.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3, 3]). size mismatch for decoder.up_blocks.6.res_blocks.5.conv2.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([128]). size mismatch for decoder.up_blocks.7.conv.conv.weight: copying a param with shape torch.Size([512, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 128, 3, 3, 3]).

Kaiser Lowendachs

in the past, I have been able to fix this by switching from the nightly to the stable update of Comfyui and updating. Once or twice it has broken comfy though but you can revert to nightly if you go into the config.ini file in Comfyui windows portable/comfyui/user/_manage folder - if nothing else is working give it a go

C W

What is your recommendation for if someone is using stable matrix?

PTMarks

So happy to see the new FMLF addition to your workflow. That's awesome. Is there any reason you dropped the V2V workflow? That would be useful beyond the extended video workflow (which is awesome as well!). I tried to update the existing V2V in your LTX-2 workflow set, but it failed. Not sure if it is still an option. Thanks for all of your efforts! Glad you are recovering!

Gi Doe

The model card says "Width & height settings must be divisible by 32. Frame count must be divisible by 8 + 1". Yet the workflow and demo video are using values for height and frame rate that don't follow these rules. Is this workflow really smart enough to do the extra padding/cropping to correct for the bad input format?

Tyler

SAME ISSUE - any fix? Updating the normal stuff did not resolve.

Tyler

Yeah I can't figure this one out, LLMs dunno the fix and I've never seen a VAE just fail like this before. Please help!

Tyler

Welp, great, this broke my comfyUI again.

newtoai

I have the same issue / error and no clue how to solve it. Please help!

Ash

I get this error when I open ComfyUI Missing Node Packs (1) This workflow uses custom nodes you haven't installed yet. To install missing nodes, first run pip install -U --pre comfyui-manager in your Python environment to install Node Manager, then restart ComfyUI with the --enable-manager flag. RES4LYF (1) Frames Slice

Neal Barnett

FYI: in the video extension section, your subgraph is sending the rate back to the video input's force_rate which causes a loop. comfyui won't submit the workflow with that loop, so it's best to disconnect that link.

Rob113

Great workflow! For the video extend, should prompt describe the scene and speaking of the source video, or just what happens in the extend part?

newtoai

which part? I might experiencing the same issue

BuAuch

I did a fresh install using the one-click installer and I wasn't getting this error anymore. Only problem I'm facing now is a GPU crash that freezes my computer and needs a forced restart. Haven't figured out what the issue here is.

BuAuch

I keep getting this as well. I close the workflow and drag it into comfyui again and it works. It gives the same error if I load up from scratch again, until I close and drag the workflow back in.

Thoth Amon

This is working well for image-to-video, but as the output is 1920x1080, your input needs similar dimanesions, or gets cropped. Is there an easy way to adapt it to make the output match the input aspect ratio? (Ideally scaled to a max res of 1920 w or 1080 h). This would really help with square or portrait images.

troy X

Anyone have issues with the last 3 steps? Sometimes after the first render, my GPU would stall at 100% for 10 times longer than usual. I usually end up closing Comfyui and restarting to solve the issue.

Aitrepreneur

You could, it's pretty much like using a custom audio but instead of loading a custom audio you generate an audio from scratch

Aitrepreneur

It happens for me too sometimes, I added a clear vram/clear cache nodes but it still happens sometimes, comfyui is known for frequent memory leaks...very annoying unfortunately.

Aitrepreneur

I mean you can change the resolution of the output so that it makes your original image res

Aitrepreneur

It needs to be simple, for example here's the prompt for the soprano video: Style: realistic, Tony Soprano in a dim warmly lit room with a bookshelf behind him, close-up, he looks slightly off-camera then back, speaking in an annoyed deadpan with perfect lip sync: “Meanwhile these days? Everybody’s yappin’ nonstop. Even my toaster’s got opinions.” He pauses, squints, then adds: “What happened to mindin’ your business?” Subtle head shake, natural blinking, camera locked, background unchanged.

Tobias

Updating ComfyUI over Git resolved the Issue for me. git pull origin master and then update the requirements.

Aitrepreneur

I don't really have that issue, what error are you seeing?

Aitrepreneur

I recommend going into the ComfyUI_windows_portable\ComfyUI\custom_nodes folder and deleting the RES4LYF folder. Then use the LTX-2-3-MODELS-NODES_INSTALL.bat put that installer into the ComfyUI_windows_portable\ComfyUI folder and run it, it will reinstall all the missing node. Or you can do it manually, for this, you can go to the ComfyUI_windows_portable\ComfyUI\custom_nodes folder click on the folder path, type cmd, press enter, this will open a cmd window in that folder and there type: git clone https://github.com/ClownsharkBatwing/RES4LYF ..\..\python_embeded\python.exe -m pip install -r RES4LYF\requirements.txt That RES4LYF node is extremely famous to cause errors and needs to be installed manually for it to work

Aitrepreneur

This unfortunately happens more often than you think, to me as well... that's not an issue with my installers unfortunately, it's sometimes a weird combo of existing nodes, env, etc... Hence why I often recommend a fresh install

Aitrepreneur

The way I do it is that it I just put a resize video node at the end, so it should always resizes correctly the final video to the values you input before the generation

Aitrepreneur

You mean the controlnet ic one? Yeah because the ic lora for ltx2.3 is just bad, the results are much worse that using wan animate or scail, I'll probably be making a separate video on that soon as well

x:) (edited)

Comment edits

2026-09-08 20:00 Best workflow out there, higher vid quality or base workflow not sure why but does take 2x longer for 5 sec clip thanthe fp8 defaulf workflow. Why better image quality is my question cant figure it out
2026-03-22 21:00 Best workflow out there, higher vid quality compared to base workflow, not sure why but does take 2x longer for 5 sec clip than the fp8 defaulf workflow but with sharper image return. Why better image quality is my question cant figure it out. The Nvfp4 version is Ultra fast but doesnt look sharp in 720, at 1080 or 4k nvfp4 version is ultra good. Wish i could use the nvpf4 version with your workflow

Best workflow out there, higher vid quality compared to base workflow, not sure why but does take 2x longer for 5 sec clip than the fp8 defaulf workflow but with sharper image return. Why better image quality is my question cant figure it out. The Nvfp4 version is Ultra fast but doesnt look sharp in 720, at 1080 or 4k nvfp4 version is ultra good. Wish i could use the nvpf4 version with your workflow

x:)

Yea emotions a lot better to bad it cant keep the same voice for multiple clips

Mikael Svenson

True.. and I use RVC afterwards to keep consistent voice. Works pretty well.

Bryan Gilberd

Noob question - I am trying to extend a video which does not have audio - but the workflow expects audio and errors when it can't find it. Any ideas how to work around that?

Aitrepreneur

depending on your vram, fp8 might be faster than gguf, gguf is usually a better model than fp8

kenzo47

Any tips on getting nsfw working? Do I just add lora's on top? I've already switched to a heretic trained gemma-3

Andreas Eiden

I'm having problems with LTX23_audio_vae_bf16.safetensors. I keep getting error messages. Other versions don't seem to work either. I can't find any solutions. Does anyone have any advice?

Thoth Amon

Thanks. Discovered I can take the W and H from the input and feed that through. Works well!

David S

you should ask claude

Gi Doe

I dove a bit deeper and discovered ComfyUI already handles the resizing in EmptyLTXVLatentVideo to comply with the model card. It seems to cut down the image to 1024p, which is the output you get when removing "Resize Image v2". Your image resize node then stretches the height by 56 pixels to 1080 and distorting the original image. It is very noticeable when you compare the original output next to your resized output.

Galspanic

I'm trying on last version of ComfyUI downloaded from Official Webpage and it seems not to work. It keep saying two nodes are missing: LTXVMiddleFrame_TTP and LTXVFirstLastFrameControl_TTP. No way to install them from "Manage Extensions" menu...

x:)

I tried to add a node to run nvp4 or f8 for testing but i get corrupted video. Any idea how i can make it work?

Robert Bersch

I got this working but I have to save from the preview node cause it doesn't save the finished video. So I wind up with a huge gif...

Robert Bersch

I got some error so I turned off the node that added sound to the video.. at some point I will figure out how to make it work, but for now silent movies.

Robert Bersch

Download some lora... I got DR3ML4Y_l2V_14B_low.safesensors and DR3ML4Y_l2V_14B_high.safesensors and Puss-Daddy.safesensors. All of them set at 0.7

James Bowler

Same issue here! No audio, his setting is CPU and BF16. Regardless, if you want video without sound, you can always switch it back to the old LTX2 model, kinda sucks not having audio, though!

Aitrepreneur

If you just change the node for loading the correct model in the models section and you replace the gguf model loader and connect it to the "set" node, it should work

Aitrepreneur

I might have a workflow for that, still needs testing though, might make a quick update video in a few days once I got what I want working

Aitrepreneur

The error is coming from VAELoaderKJ on the audio VAE. Try updating KJNodes or delete the folder from the ComfyUI_windows_portable\ComfyUI\custom_nodes folder, then delete the LTX23_audio_vae_bf16.safetensors from the ComfyUI_windows_portable\ComfyUI\models\vae fodler. Then use the LTX-2-3-MODELS-NODES_INSTALL.bat put that installer into the ComfyUI_windows_portable\ComfyUI folder and run it, it will reinstall all the missing nodes and models.

Aitrepreneur

use the LTX-2-3-MODELS-NODES_INSTALL.bat put that installer into the ComfyUI_windows_portable\ComfyUI folder and run it, it will reinstall all the missing nodes. It's a special node that needs to be installed manually

Charles Davidson

Hi, My Windows machine is an AMD Strix Halo AI MAX+. I also have a Nvidia DGX Spark which runs Ubuntu. will your install.bat file work on either or both? Thanks in advance.

Aitrepreneur

you need to check the combine video node (the node that shows the video) you need to chose the correct format and pix_fmt by default it should be video/h264-mp4 and yuv420p for the pix_fmt and make sure to check save_output so that it saves the video automatically Altough all of these parameters should already be selected in the workflow though

kenzo47

Thanks for the tip, I'll give it a shot

PeachPixelArt

Hey, I have a problem with yours workflow. I miss 3 nodes: UnetLoaderGGUF/Frames Slice/ NormalizeAudioLoudness. Where can i download it and put in manually in a folder? I didn't use the auto installer for 2.3 because I have AMD gpu, so I run it diffrently.

Aitrepreneur

The nodes that you need for these are: https://github.com/city96/ComfyUI-GGUF https://github.com/ClownsharkBatwing/RES4LYF https://github.com/kijai/ComfyUI-WanVideoWrapper but if you have an AMD gpu you can use the special AMD portable comfyui install: https://github.com/Comfy-Org/ComfyUI/releases/download/v0.18.1/ComfyUI_windows_portable_amd.7z the folder structure should be the same as the normal nvidia one so you can use the LTX-2-3-MODELS-NODES_INSTALL.bat file put that installer into the ComfyUI_windows_portable\ComfyUI folder and run it, it will reinstall all the missing nodes and models.

troy X

Does anyone have issue with gibberish subtitles created on the bottom area of the video?

Aitrepreneur

It's a known issue with the model, it has probably been trained on videos with subs but you should just change your prompt and try with a different random seed

Robert Bersch

I must have hit something cause the format was not set to that. changed it and trying again.

Son Goku

Outputs don't seem to save the workflow. Is this just me?

Aitrepreneur

Check the save Metadata option in the video combine node(the last node where the video appears)

PeachPixelArt

I fixed that problem, thanks. But i have a new one. There are 2 erros with or without audi anabled on random: 1. WARNING: LoadAudio.fingerprint_inputs() missing 1 required positional argument: 'audio' VAE load device: cuda:0, offload device: cpu, dtype: torch.bfloat16 Found quantization metadata version 1 Using MixedPrecisionOps for text encoder CLIP/text encoder model load device: cuda:0, offload device: cpu, current: cpu, dtype: torch.float16 Requested to load LTXAVTEModel_ loaded completely; 11201.91 MB loaded, full load: True gguf qtypes: F32 (2672), BF16 (28), Q5_K (1608), Q6_K (136) model weight dtype torch.bfloat16, manual cast: None model_type FLUX Requested to load LTXAV 2.Prompt executed in 0.83 seconds got prompt WARNING: [Errno 2] No such file or directory: 'C:\\Users\\kkapo\\AppData\\Roaming\\StabilityMatrix\\Packages\\ComfyUI\\input\\dust-acapella-female-vocals_128bpm_G#_minor.wav' Found quantization metadata version 1 Using MixedPrecisionOps for text encoder CLIP/text encoder model load device: cuda:0, offload device: cpu, current: cpu, dtype: torch.float16 Requested to load LTXAVTEModel_ loaded completely; 11201.91 MB loaded, full load: True gguf qtypes: F32 (2672), BF16 (28), Q5_K (1608), Q6_K (136) model weight dtype torch.bfloat16, manual cast: None model_type FLUX Requested to load LTXAV FETCH ComfyRegistry Data [DONE] [ComfyUI-Manager] default cache updated: https://api.comfy.org/nodes FETCH DATA from: C:\Users\kkapo\AppData\Roaming\StabilityMatrix\Packages\ComfyUI\user\__manager\cache\1514988643_custom-node-list.json [DONE] [ComfyUI-Manager] All startup tasks have been completed. loaded completely; 14805.89 MB loaded, full load: True

Robert Bersch

got it working! Is there a way to manually enter a seednumber?

Alex Marconato

Excellent workflow; it's just lacking the IC-LoRA integration.

James Bowler

Thanks! Updating KJNodes worked for me! Keep up the great work. You had me worried in the video when you said you had a problem with an update blowing up your Comfy! But so far mine's still chugging along! 😂

Napzilla

I have the same problem. I followed your instructions and they still aren't installing.

Merc

hi, i keep getting this error and can't move forward 'Linear' object has no attribute 'weight' any fix?

Roy F

Using the default settings and latest workflow, for Image to Video, the face in the generated video is always different than the reference image. Anyone know how to fix this?

Galspanic

Well; last night I tried the .bat file to load nodes manually as Aitrepreneur said and there are some problems. First, the batch file was made for the portable version of comfyUI which has a folder with a local version of python and some other features. I had to change the code, it seemed to finish with no errors but the fact is that this is not working. The problem is that my comfyUI installation already weights about 700GB and it is working well so it has no sense for me to have a separated comfyUI installation just for this workflow. Please, help!

Steve

This is the first LTX workflow I've seen that doesn't use negative prompts. No one was using them for Wan but I noticed everyone is using them again now. Is there a reason not to add them to the workflow?

Steve

I think this is just a LTX thing. But I hope I'm wrong. I don't like that it doesn't seem to be consistently wrong either ...like if I make 10 videos with the same starting image it's not just the one wrong face most of the videos are all different faces. If it needs to be specific might just need to train a character LoRA? That was one area where Wan was much better.

Silent Monk

I've loaded the models suggested in the json, but i am getting all sort of shape mismatch errors suggesting the models are not compatible with each other. state_dict for VideoVAE: size mismatch for decoder.conv_in.conv.weight: copying a param with shape torch.Size([1024, 128, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 128, 3, 3, 3]). size mismatch for decoder.conv_in.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([256]). size mismatch for decoder.up_blocks.0.res_blocks.0.conv1.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3, 3]). size mismatch for decoder.up_blocks.0.res_blocks.0.conv1.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([256]). size mismatch for decoder.up_blocks.0.res_blocks.0.conv2.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3, 3]). size mismatch for decoder.up_blocks.0.res_blocks.0.conv2.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([256]). size mismatch for decoder.up_blocks.0.res_blocks.1.conv1.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3, 3]). size mismatch for decoder.up_blocks.0.res_blocks.1.conv1.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([256]). size mismatch for decoder.up_blocks.0.res_blocks.1.conv2.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3, 3]). size mismatch for decoder.up_blocks.0.res_blocks.1.conv2.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([256]). size mismatch for decoder.up_blocks.1.conv.conv.weight: copying a param with shape torch.Size([4096, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 256, 3, 3, 3]).

Aitrepreneur

The error is coming from VAELoaderKJ on the audio VAE. Try updating KJNodes or delete the folder from the ComfyUI_windows_portable\ComfyUI\custom_nodes folder. Then use the LTX-2-3-MODELS-NODES_INSTALL.bat put that installer into the ComfyUI_windows_portable\ComfyUI folder and run it, it will reinstall all the missing nodes and models.

Aitrepreneur

Negative prompts don't really work that well, also with the distilled lora, it makes them less usable

Silent Monk

Thanks both, I am using Pinokio but I managed to get it working after resetting the whole env and updating to the latest Comfy version. Somehow that fixed it, altho I have some other issues now but not with this workflow.

ak pak

Good news: the Q8 model actually works with my RTX 3080 10GB. The difference in quality is quite noticeable — the output is richer in detail, although Q4 performs fine. I have 64 GB of RAM, and using Q8 squeezes every drop out of it. For a 1920×1080, 10 s video it takes 400–600 seconds to generate.

Aitrepreneur

Thanks for the info, having actual generation times is very helpful as well. How long is it with the Q4 then?

Brian Spiker

So I see that this only seems to work as portable. Is there any good means for the desktop version? The JSON files seem to be keyed only for the portable.

CrashOver1D

Got the same issue, even after the deletion / reinstall of KJNodes, but resolved it by doing the same (deletion/reinstall) of the custom node ComfyUI-GGUF

Aitrepreneur

No the workflow works ffor any comfyui versions. The installers however are only for the portable versions

Andy

I tried running this with my 16gb and card with q4 km model and it crashes out at 4%, tried disabling the distilled lora thinking it's all to much for the vram and it still crashes. Everything else seems to be setup correctly. Not sure why it's oom on me. Also I can't see where to change steps and more sampler settings? All I can do is choose which sampler.

Aitrepreneur

Are you using the special bat launcher? run_nvidia_gpu-LTX2-16GB.bat Ltx models are really weird and they need special launch arguments to avoid crashing comfyui

XxWalla_WallaxX

I want to use the video extender but it wont work unless the video has audio.

Aitrepreneur

Since a few other people asked for it, I modified it and added the extender workflow LTX-2-3_EXTENDER_NO-AUDIO.json with no audio, you can dl it for this post

Teresa Greasley

I tried the LTX-2-3_EXTENDER_NO-AUDIO.json but it says: Custom validation failed for node video - Invalid video file: TOCUT-18dsq.mp4

Aitrepreneur

the special LTX-2-3_EXTENDER_NO-AUDIO. json workflow is for extending a video that has no audio, so you just need to select your video file in the load video node

Mike R

Any way to get this working on AMD GPU's?

Aitrepreneur

yes you just need to comfyui portable AMD version, then you can use the LTX-2-3-MODELS-NODES_INSTALL.bat file inside the ComfyUI_windows_portable\ComfyUI folder

Brian Spiker

hmmm ok so I tried the portable again, and I move the slider on the json file for t2i and use the sample text and push run but I get nothing. The console / log tells me it parsed for 1 second.

malagoli stefan

The workflow architecture is superb. I am curious if the roadmap includes the capability to designate audio files as reference models. Transitioning from direct file utilization to a 'reference voice' methodology would significantly enhance the tool's versatility

ak pak

I did a test for a 1920×1080, 10 s image to video with same image and prompt. It took 577 seconds with Q4, 593s with Q5 and 646s with Q8. So not much a difference. It is possible to generate 40s clips, when resolution is cut to half (960x540), or even 4k (3840x2160) 2 second clip! Which is awesome.

Tomas Rampas

Hello, first of all thank you SO MUCH for this amazing worfklow! It works so well! I wanted to ask, would it be possible to BUY an adjusted workflow where the "Video Extender" supports "Last frame" input? So that I can expand videos, but always have control on how they end? The Video Extender works perfectly, but after couple iterrations the style of video tends to change drastically. With the last frame I would be able to keep the style consistent. Again thank you so much for all the work you put into this. It's amazing!

Caleb Ditchfield

im not getting anywhere with this workflow :( All sorts of errors

Son Goku

Does anyone else have issues with workflow data being saved in the video? usually I can just drag a video into comfy and the workflow is there.

Son Goku

and yes, the save meta data is ticked. Any thoughts?

Testtn

Is there a reason the 1 click installer post is locked? I can't get the files

A Dante

So I've tried this - did everything you've advised and afterwards a clean install, but I'm still getting the same persistent error Did something change in the meantime that makes it so persistent? I'm basically out of ideas at this moment.

tyrelli doomah

Hi all, I'm probably having a basic audio problem using LTX 2.3. I'm using a text to speech TTS program that generates speech into either .wav or .mp3 format. I'm then taking that file, and using that as the audio file to lip sync in my video. But I'm getting no audio. When I take a regular music .mp3 file and use that as an audio source, the character in the video does a perfect lip sync to the file. I've tried to increase the "amplitude" of the TTS audio file to try and make it louder for the LTX 2.3 workflow to pick up on, and I've tried many many "-" offsets to sync up the audio, which is always necessary. I'm matching the audio file length to the video length. I've adjusted the "strength" up and down and have adjusted the "noise seed" countless times. What do I need to do to my TTS audio file to make it workable with LTX 2.3? any suggestions? RTX 5900 32 GB. Thanks.

UGC Mrdalt

So I try the image to video, it says "job queued" but then does nothing? Am I doing something wrong? Also, does it have to run in the ComfyUI portable?

Aitrepreneur

what do you mean no audio? You mean that the lip sync is not working well? or that there is no audio at all? Try modifying your prompt to include precisely what the character is saying

tyrelli doomah

Sorry I'm still rather new to using LTX 2.3. 'No audio', as in I am unable to play a custom .mp3 or .wav file by lip sync. Yes, lip sync is not working well. There is audio lip sync to the character when (1) I prompt "a text" (that is typed in the prompt "") to speak and (2) when I upload a longer .mp3 music file. But there is no lip sync when I use a 20 second .wav or .mp3 file that I created from TTS in another program. I'm using chatterbox for the TTS because it gives consistent and fast TTS. The character is not speaking but performing all the prompted actions. I've tried prompts like 'character lip sync audio' or 'character speaks the audio file', but no luck. The character will laugh, but not speak. The character image is not frozen. Oh ya, my audio file will play over the generated video. It does play. But the character does not lip sync.

Aitrepreneur

Can you dm me the audio file or something similar? I'll try on my side

tyrelli doomah

Will do. I don't really DM, but think I can figure it out. I used to use chatterbox, but actually used Ultimate TTS Studio for the audio file generation. Thanks.

Anthony

The system cannot find the file specified: 'E:\\ComfyUI_windows_portable\\ComfyUI\\input\\LTX2_00258-audio.mp4'

TGHobby's Special Offerings

I'm enjoying learning but I get this error when I try to run my prompt in the Text to Video node: ERROR: VAE is invalid: None\n\nIf the VAE is from a checkpoint loader node your checkpoint does not contain a valid VAE.") RuntimeError: ERROR: VAE is invalid: None If the VAE is from a checkpoint loader node your checkpoint does not contain a valid VAE. I am using the files downloaded from your post.

Aitrepreneur

DM me screenshots of the models selection you might have selected either thr wrong vae model or the model was corrupted during the download

Morgan

Can you help me with a few errors? I'm getting a (Missing Node Packs) error and Node 'ID #1217:1543' has no class_type.

grinferno

when I run text to video it fails: 'NoneType' object is not subscriptable

Aitrepreneur

This error is probably because you didn't selected either the no custom audio or yes custom audio if you leave them both or neither selected it will give you this error

grinferno

RuntimeError: ERROR: VAE is invalid: None What VAE is the right one? LTX23_audio_vae_bf16 is selected. This is a clean install of comfy

Aitrepreneur

yes and the video vae as well, there are 2 vaes.

Patrick Major

I found a bug in the workflow. If you want to have the IMG2VID CUSTOM AUDIO working. Within the node named "New Subgraph" sitting in the "IMAGE TO VIDEO" group. When you go into the sub-graph, look for the "CUSTOM AUDIO IMG2VID" and you'll notice nearby a node named "LTXConcarAVLatent". It has a input "audio_latent" which was incoming from the "Any switch (rgtrhree)" node. It wasn't working because the any switch node was losing the "data type" of the output format, causing an issue where comfy would then complain that the LTXVConcatAVLatent wasn't getting the right latent type (can't remember the exact error). The simple fix if all you care about is lip sync is to connect the output audio latent from the "Set latent noise mask" node within the "CUSTOM AUDIO IMG2VID" directly to the input audio_latent on the "LTXVConcactAVLatent"

grinferno

I have both LTX23_audio_vae_bf16 and LTX23_video_vae_bf16. the errors seems to be audio_vae. It's outlined in purple

Aitrepreneur

Not really, because in this workflow the Any Switch is intentionally used with the group muter, not group bypasser (which would indeed lose info if used). When the Custom Audio option is enabled, the No Custom Audio group is muted, so the switch only receives the custom audio latent info from the Set Latent Noise Mask node. When the No Custom Audio option is enabled, it will mute the Custom Audio group and only receives info from the empty audio latent node. Bypassing the switch gives the exact same result on my side, so either your explanation isn't precise enough (share the workflow so I can check it myself) or it's a different issue.

Aitrepreneur

dm me so I can follow up on the conversation better but make sure that the vae file is not corrupted and has been downloaded correctly

Leroy Fann

hello I'm getting this error, any suggestions? AttributeError: 'VAE' object has no attribute 'latent_frequency_bins' File "P:\LTX\ComfyUI_windows_portable\ComfyUI\execution.py", line 525, in execute output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "P:\LTX\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "P:\LTX\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list await process_inputs(input_dict, i) File "P:\LTX\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs result = f(**inputs) File "P:\LTX\ComfyUI_windows_portable\ComfyUI\comfy_api\internal\__init__.py", line 149, in wrapped_func return method(locked_class, **inputs) File "P:\LTX\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1764, in EXECUTE_NORMALIZED to_return = cls.execute(*args, **kwargs) File "P:\LTX\ComfyUI_windows_portable\ComfyUI\comfy_extras\nodes_lt_audio.py", line 153, in execute audio_freq = audio_vae.latent_frequency_bins ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Inusan

Ok. so only issue I have at the moment, is that as soon as I click in the director node, the actual director sub-node shrinks and doesn't fill the entire node width. This make working with it a bit cumbersome. There an easy fix for this?

Aitrepreneur

can you dm me screenshots of what you are seeing?

Gustaf Fring

Hey there, I am trying to set this up on runpod, but I cannot find the "click here for the comfyui template (aitrepreneur/comfyui)" template. Which ist the best/most compatible available? Thx.

Aitrepreneur

this is not a link, just search in template in runpod my name

Psokratease

Hi and thanks for this.! I hope you can help me resolve something. My video is of perfect quality but it is in slow motion. I installed via your comfy+ltx batch file, used your workflow unchanged. All settings exactly as given in workflow. I thought my gpu (3090) might be overloaded and restarted, played output files mp4. It is in very slo-mo speed. can you perhaps replicate it and correct me in my settings? Thank you again!

8SteelBeans

I'm getting an "unable to find workflow" error. Help?

Psokratease

Its actually working perfectly. The image I used must have had some issue since others worked fine in img to vid. Thank you for getting back to me!

Shane Sowell

I don't want audio at all. When I switch off the custom audio switch, it still requires an audio file.

Aitrepreneur

Just use no custom audio option, in your output folder you will see 2 version of the video 1 with sound and 1 without