🚀 MrXin LTX 2.3 I2V EROS V6
This workflow has continuously evolved based on user feedback to deliver one of the strongest LTX 2.3 I2V experiences available. Thx everyone for the feedbacks.
V6 is a major leap forward, focusing on stronger motion preservation, better prompt adherence, and more user control while keeping excellent stability and VRAM efficiency.
🔥 What’s New in V6 (Compared to V5)
Added LTX2 NAG (Negative Attention Guidance) on both First Pass and Final Pass for significantly improved prompt following and motion quality.
Switched to VAELoader KJ nodes for Video VAE and Audio VAE (better compatibility and stability).
Improved Final Pass by repositioning the LTXVCropGuides node for cleaner latent processing.
Added flexible sigma system: Manual Sigmas (8 steps) or automatically generated sigmas via LTXVScheduler + Sigmas Sigmoid (12 steps).
Final Pass is Manual Sigmas only for stability.
Audio volume default set to 0 (neutral) with easy slider control.
Enhanced image conditioning using LTXVImgToVideoInplaceKJ in both passes.
Cleaner workflow layout, better group organization, and more helpful in-workflow tips.
✅ Core Features
Extremely strong, natural and consistent motion from First to Final Pass
Excellent anatomy, lighting, physics and NSFW detail
High-quality 24 FPS video with perfectly synced audio
Easy model switching between 10Eros V1 FP8 and Distilled 22B
Built-in Video Editor (RTX Super Resolution + nmkdSiaxCX upscaler + RIFE 48/60 FPS)
Optimized for 16GB VRAM setups and 32GB RAM
📥 Required Models + Direct Download Links
10Eros V1 FP8 (Main Checkpoint) → ltx2310eros_v1_FP8.safetensors
Distilled Model → ltx-2.3-22b-distilled_transformer_only_fp8_input_scaled_v3.safetensors
Text Encoder → gemma_3_12B_it_fp8_e4m3fn.safetensors
Text Projection → ltx-2.3_text_projection_bf16.safetensors
Video VAE → LTX23_video_vae_bf16.safetensors
Audio VAE → LTX23_audio_vae_bf16.safetensors
Preview VAE → taeltx2_3.safetensors
Spatial Upscaler → ltx-2.3-spatial-upscaler-x2-1.0.safetensors
Model Upscaler → nmkdSiaxCX_200k.safetensors
Distilled LoRAs (First & Second Pass)
📁 Folder Structure
ComfyUI/
├───📂 models/
│ ├───📂 diffusion_models/
│ │ └─── ltx2310eros_beta.safetensors
│ │ └─── ltx-2.3-22b-distilled_transformer_only_fp8_input_scaled_v3.safetensors
│ │
│ ├───📂 text_encoders/
│ │ └─── gemma_3_12B_it_fp8_e4m3fn.safetensors
│ │
│ ├───📂 clip/
│ │ └─── ltx-2.3_text_projection_bf16.safetensors
│ │
│ ├───📂 VAE/
│ │ └─── LTX23_video_vae_bf16.safetensors
│ │ └─── LTX23_audio_vae_bf16.safetensors
│ │ └─── taeltx2_3.safetensors
│ │
│ ├───📂 latent_upscale_models/
│ │ └─── ltx-2.3-spatial-upscaler-x2-1.1.safetensors
│ │
│ ├───📂 upscale_models/
│ │ └─── nmkdSiaxCX_200k.safetensors
│ │
│ └───📂 Lora/
│ └─── ltx-2.3-22b-distilled-lora-1.1_fro90_ceil72_condsafe.safetensors
│ └─── ltx-2.3-22b-distilled-lora-384-1.1.safetensors
Custom Nodes Overview – MrXin LTX 2.3 I2V EROS V6
ComfyUI-KJNodes
rgthree-comfy
ComfyUI-easy-use
ComfyUI-mxToolkit
ComfyUI-VideoHelperSuite
ComfyUI-LTXVideo
controlaltai-nodes
comfyui_nvidia_rtx_nodes
GACLove/ComfyUI-VFI (voor RIFE)
comfyui_memory_cleanup + comfyui-impact-pack
Pro Tip: Use the new 10Eros V1 FP8 model with its recommended trigger words for the best results.
✅ Quick OOM Fix Guide
If you’re getting Out of Memory errors or weird faces in the final pass, follow these steps in order:
1. Update or Fresh Install ComfyUI + Install Missing Custom Nodes
Download and run the Easy Installer: 👉 https://github.com/Tavris1/ComfyUI-Easy-Install
Or watch this short video: 👉 https://www.youtube.com/watch?v=CgLL5aoEX-s&t=1041s
After updating/installing:
Open ComfyUI → go to Manager → click Install Missing Custom Nodes
Restart ComfyUI completely.
2. Add the Low VRAM Flags
Go to your ComfyUI folder.
Find the file ComfyUI.bat.
Right-click → Edit (open with Notepad).
Find the line that has ComfyUI\main.py .
Add the flags at the end so it looks like this:
bat
ComfyUI\main.py --lowvram --reserve-vram 6 --preview-method none --disable-xformers --disable-smart-memorySave and launch ComfyUI using this .bat file.
3. Increase Windows Swap File (Virtual Memory) This helps when VRAM still spikes:
Right-click This PC → Properties → Advanced system settings.
Click Settings under Performance → Advanced tab → Change (under Virtual memory).
Uncheck “Automatically manage paging file size for all drives”.
Select your main drive (usually C:) → choose Custom size.
Set:
Initial size (MB): 49152
Maximum size (MB): 98304
Click Set → OK → restart your PC.
After doing all three steps, reload the workflow and test with Longer Side 1024 and Video Length 20 seconds first. This combination fixes OOM for almost everyone on 12GB cards.
Version History & Previous Updates
V5 — Major base model upgrade to 10Eros V1 FP8. Significantly better realism, anatomy, lighting and motion coherence. Updated model loading and separate LoRA handling for each pass.
V4 — Introduced separate Manual Sigmas for First and Final Pass, much stronger Final Pass motion, full TwoWaySwitch system for model selection, expanded LoRA stack, and refined Video Editor.
V3 — Solved the biggest V2 complaint by preserving much more motion in the Final Pass. Added Model Upscaler (nmkdSiaxCX), option to disable Final Pass, distilled model support, and custom resolution.
V2 — Added full built-in Video Editor (RTX Super Resolution + RIFE to 48 FPS), improved LoRA suite, better audio sync, and major stability enhancements.
V1 — The original production-ready workflow. Dual-pass system, strong audio integration, excellent low VRAM optimization (12GB cards), and live previews.
Disclaimer:
This workflow is provided for entertainment, artistic, and creative purposes only. It may not be used for any illegal, harmful, non-consensual, or malicious activities. Please use it responsibly and respect all applicable laws and ethical guidelines.
— MrXin (May 2026) 🔥
Description
🔥 What’s New in V4
Separate Manual Sigmas for First Pass and Final Pass (V3 used a single shared scheduler — V4 now gives you precise, independent control over motion and quality in each stage)
Much stronger & more consistent motion in the Final Pass (almost zero visible difference between First Pass and Final Pass — the biggest visual upgrade)
Full TwoWaySwitch system for models (instant toggle between original Eros checkpoint and Distilled 22B model, with automatic matching switches for CLIP, Video VAE and Audio VAE)
Expanded default LoRA stack (more popular NSFW/animation LoRAs pre-loaded with better default strengths and updated trigger-word notes)
New LTX2SamplingPreviewOverride node (smoother live previews during generation)
Refined defaults & usability
Extra Fast Groups Bypasser toggles for easier Final Pass disabling
More in-workflow TIP notes and cleaner node layout
FAQ
Comments (111)
Thanks for continuing to improve the workflow!
Unfortunately, for now only the v2 version works well for me. Could you please take a look at this folder? I’ve uploaded a video from the first pass along with screenshots of my settings.
For some reason, the v4 workflow outputs a blurry video, while I don’t have this issue with v2.
Hey, sorry to hear that. I just tested it with your settings, and it works fine on my end.
A couple of things I noticed:
Your video width is 853. This number isn’t divisible by 32, which can sometimes cause issues in LTXV 2.3.
I don’t have the LoRAs you’re using, so they might be the cause. Try using Reasoning + DR34ML4Y instead.
If it still doesn’t work, I’d recommend reinstalling ComfyUI.
@MrXin Which version of comfy are you using?
@Honeyphoria i'm using ComfyUI(portable) Windows V3.39.2
Double check that the distilled lora is being loaded correctly. I had the same issue before rechecking the file location and verifying that there was no error in the terminal during loading.
@nosperink790 Yes, this can be the problem.
still blurry and audio distortion:(
It really works fine on my end.
I’m not sure what else I can do to fix this.
I’ve already tried many different things and followed advice from others.
Please help if you know how to fix it.
Also if you can provide the starting image that would be great.
Double check that the distilled lora is being loaded correctly. I had the same issue before rechecking the file location and verifying that there was no error in the terminal during loading.
@nosperink790 Yes, indeed this could be the problem.
@MrXin not him but is there any way to minimize this ?
@nosperink790 thank u so much, this was the issue
V3 is almost there, I am noticing limbs are merging more together in this one though than version 2. But I appreciate you work in using this great model.
Hey, do you mean v4
workflow?
Hey, yeah—some people complained about V3 because it was just cropping the image. Now it resizes it instead.
In the subgraph “Processing Video”, change the setting in the “Resize Image v2” node from “resize” to “crop”, and it will work like in V3.
@MrXin I'll probably stick with version 3, version 4 produces some really weird results, the mouths are awful...
@Renessance i'm sorry to hear that :(.
I'm new to this but should the audio vae be pointing to the checkpoint folder?
This is because of the base model 10Eros—it has its own audio baked in.
If you use the distilled model, it will use the audio VAE from the VAE folder instead.
Check the workflow description for all the file locations.
Good workflows! V4 has consistency issues. I'll have a prompt where a character's outfit switches to a tracksuit and they run toward the camera, and they'll run out of frame and then a copy of the character wearing a tracksuit runs toward the camera. Also if you change the background or the setting, it changes the main character completely. Maybe that's just LTX. V3 doesn't have the copy-character thing, but the character still changes when the background or setting change.
Yeah, LTX 2.3 is not perfect. its has sometimes some weird stuff. But with good prompting you can get it to work most of the times. i use grok for prompting. and tell it to follow this guide: https://ltx.io/model/model-blog/ltx-2-3-prompt-guide
Can you provide links to the loras in the lora stack? I can't find a few of them, either here on civit or on HF.
In the workflow on the left side are the linkse to the lora's.
@MrXin I'm still using v3, which didn't have links to the loras - my bad. v4 does indeed have links. TY!
@MrXin and actually one lora still doesn't have a link (the one I actually wanted funny enough). The "Penis Lora - LTX 2.3"
@apposite245396 oh, yeah that one has been put offline on civit. I don't know where to get it. 😟
@apposite245396 I am trying to find that one too.
@MrXin You could be a champion and upload it. Thanks !
Hey, I’d love to, but I can’t post it without the creator’s permission, and i don't know the creator :(
@MrXin Thank you, I looked for the creator as well and could not find them.
worked fairly well for me. I've only done a few test videos but they've all worked within reason given my little experience and this has by far been the easiest experience I've had with creating videos.
Hey, thx for the feedback 😀
really work ? i have RTX 3060 12 GB VRAM and 32 GB Ram. How long take for 5 second video.
It works for me and also many others. So try it and see if it works for you :p.
Good! Over V3, final pass has been fixed (no more messy blurry final video)
Good job!
On the other hand, I have two issues:
1. Same as V3 tho, I can't always (sometimes it works, sometimes it doesn't) queue seperate images for i2v as it seems to load the first image only and refuses to load the new uploaded image until I F5 (refresh). Not a huge deal but slows down the workflow when trying to generate many videos to test waters, you know.
2. I got OOM more often now since V3, running on a 4090. All settings are pretty much default. I was not running any upscaling, just Eros + LoRas for 6s (same settings as v3 basically) and once in the 2nd generation queued up, it crashes into OOM. Fiddling with settings to tune it better. Was looking for a toggle to disable preview but couldn't find it on the Processing Preview, only on the Final Preview by right clicking the node (which seems to have helped a little)
Hey, thanks for the support! For the first question, I’m not sure.
For the second one, the preview node is located under the "Load Distilled LoRA" node. At the top, there’s a switch you can use to turn it off.
Which Gemma Version is best to use if we have the Vram for it? The Heretic fp8? Or is the one in the WF recommended regardless?
This is a bit strange. When I use the 4090 graphics card in the cloud, even if I use the 48G modified version, it will still OOM. However, my own 5080 can still run.
Is there a way to fix bad teeth when the person is at a distance? Maybe add a third pass?
Is this wf only optimized for low vram machines, or can it be used with higher vram without fiddling too much with the settings?
Has anyone been able to use V4 recently? I keep getting an error that the archive is corrupted or in the wrong format. No issues downloading V2 or V3.
my videos are coming out with lower than normal quality
Phenomenal work
V4 seems like a godsend. I’ve just switched over from Wan 2.2 to this model, and after trying out a few workflows, this one’s the best.
Thx, man :)
please tell me which settings are better to set if the rtx is 5090? 32 GB
V2 was working great, just tried V4 and when I run it, all it does is resize the starting image. I'm apparently too dense to see what to change in the workflow to get it to make the video.
Hey, if this happens. reselect all you models in evry loader. Its a bug in comfyui.
The new version works great, thank you. No matter what I do though, it does not save metadata. I enabled "save metadata" on both final steps, and still it does not save it. Is there a secret setting somewhere ? Thanks again !
Hey, this can be a bug in comfyui. Update comfyui or reinstall it. Us my links in the comfyui for a clean install.
@MrXin For your reference - you are correct, maybe not a true "bug". The metadata is saved in the PNG file, just not in the final -audio file. Thanks again !
Many thanks. Looks really awesome.
Unfortunately constantly getting Error(s) in loading state_dict for LTXAVModel: size mismatch for adaln_single.linear.weight: copying a param with shape torch.Size([36864, 4096]) from checkpoint, the shape in current model is torch.Size([24576, 4096]). size mismatch for adaln_single.linear.bias: copying a param with shape torch.Size([36864]) from checkpoint, the shape in current model is torch.Size([24576]). etc.
Any idea what I am doing wrong?
This error is caused by a mismatch between models. Check every model and LoRA, reselect them, and make sure they are all in the correct folders.
I'm getting the same error and I've triple checked that everything is where it's supposed to be.
Edit: Updating Comfy to the newest version removed the error.
I'm not sure if any configuration is needed, but my videos are coming out too fast and with low quality. I sent a sample video.
Final Pass results characters skin getting a "grandmother" treatment. It comes as old and rough. Happens with some upscale workflows too, like it wants to add too much detail.
Could you do one that does first frame & audio?
Please tell me why the image is blurry at the beginning.
The workflow is fast and effective, but I'm running into an issue: the second pass either produces blurry images (in the old version) or—in the new version—extra fingers, even though the first pass looked fine.
How many times does the upscale image (use model) run??? it takes 20-30 min for one pass on my 2080s lmao
Hi, thanks for sharing this workflow, it's working great!
Personally, I’m not a big fan of the upscaler’s result, so it would be really nice if there was an option to disable it.
Thanks again for your work!
v4.0 is good workflow for sex but it seems harder now to get handjob motion
i am not sure if i am doing everything right, but the output is very blurry,
one more thing - how can i change the video length? the default is 20sec
You may replace the default node with int constant node,then you can input any length you want
Unless I disable the LTXV Audio VAE Loader and the Load Video VAE nodes this does not work at all and outputs are just shifting pixelated blobs. With those disabled it works very well, thanks!
I also get the output you mentioned
can you please tell me what nodes you have bypassed?
the LTXV Audio VAE Loader and the Load Video VAE nodes, over on the left hand side after the checkpoint model
I just moved the safetensor to checkpoints/ it's in the wrong place, but it works.
Just a quick question - what is the video editor supposed to do exactly?
I had a 20 second 1080p/24fps clip with audio that I generated through the normal workflow. I then enabled the video editor and ran it through without changing anything from the default (all toggles on for RTX etc).
What I got back (after 44 minutes on a 5090) was the same video upscaled to about 4k at 48fps with no audio and trimmed to just the first 5 seconds of the original clip.
For some reason i can't seem to be able to select the Audio vae in the selector
I just moved the safetensor to the wrong location to make it work.
If I use the distilled option; the output characters turn into freaky blobs and the workflow maxes out my 64 gigs of ram and rtx 5080. BUT the only thing the distilled option does better is audio. I loaded everything the workflow ask.
Thank you for the wonderful workflow.
I can generate videos quickly with any workflow, even on a 4070Super. However, a logo resembling a title always appears at the end of the video. It still appears even when I disable all Lora features. If anyone else is experiencing a similar issue, please let me know how to resolve it.
It's always blurry for me, what am I doing wrong?
I had the same issue. Check the Load Distilled Lora node. Verify that the path is set correctly. Once I did that it worked fine. Unfortunately there are no error messages or warnings when it is set incorrectly.
@AluminumRobot This just fixed the issues I was having here, too. For anyone else whose generations are blurry or seeing the initial image / first frame dissolve rather than successfully generate into a video, you're likely missing:
Kijai / LTX2.3_comfy
ltx-2.3-22b-distilled-lora-dynamic_fro09_avg_rank_105_bf16.safetensors
https://huggingface.co/Kijai/LTX2.3_comfy/blob/main/loras/ltx-2.3-22b-distilled-lora-dynamic_fro09_avg_rank_105_bf16.safetensors
@misanthropicharlune482 please tell me in which node exactly I need to change this lore?
Awesome workflow! You should pretty please make a First Frame Last Frame version :)
Why on earth am i getting a "This prompt violates the policy guidelines regarding sexually explicit content. " on THIS workflow... and of course, the result is totally censored.
Amazing WF. I've been using it to test that new version with new training data and it's definitely the one. I will say that the only thing is that the preprocess compression node is buried in the subgraph and that's a very important control point for i2v. for complex prompts and movement you want to go up to 33-38 even so maybe if that was available in a main control group area. Also with the new 384 distilled 1.1 Lora it will do great first pass at 1.0, and then 0.7-ish for upscale pass, so two separate distilled lora nodes for the sampling model path.
thanks for you great work. having facial drift and artifacts. especially when the woman moves a bit faster. any suggestions, every sample i see i much better than mine
where did you put steps on V4? i can't find it on subgraph neither, 8 were too low bro.
maybe someone knows if I set more steps, does it give me better result? quality and movement.
There is no simple answer to that question. Sometimes it improves quality, sometimes it reduces quality.
Adding more steps to the first pass provides more potential for dynamic motion but it may also ruin the cohesion of the motion. Adding more steps to the second pass may improve details but it may also "overbake" the details and cause artifacts or ugly shadows. I'm still oversimplifying this a lot.
Does this take any simple camera direction, like 'start with a tight shot'? I haven't had any luck.
ltx2310eros_beta.safetensors not available anymore :/
I don't know why, but version 2 of the workflow is better in terms of movements. Version 4, with the same settings, is much worse.
Same for me. The V4 version produces semi bland results.
I find that the V2 workflow produces very lively results on the first pass but the second pass removes most of the motion. This can easily be fixed by lowering the sigma values for the second pass. For some reason it comes with sigma values tailored for 50 second videos. He even has a note for this, but most people would miss this and wonder why their results are so bland.
Set the first sigma to something around 0.9 and the results will be much more dynamic. Raise it a bit to maintain quality.
@Sgt_Fartz Thanks, I will try!
Hello. I have put every text encoders, models etc .. but first pass don't work's and the second we only see the first pic and then its totally blurry. Its deceinving cause i cant see the vid seems cool. Im I alone ?
Same problem here. Each second of output video it get blurrier
Any plans to updating the workflow with latest ltx models ?
What are the latest models? I haven't found what you're speaking of.
@Sgt_Fartz ltx 2.3 v1.1
unfortunately, maybe a disclaimer is needed as it does NOT work with AMD gpus, as the Easy Installer reads NVIDIA, and the desktop version will freeze on the diffusion model, especially if it uses sageattention, but I don't know if it does.
Yikes. All installed, had to find node packs from github and still get a ton of errors. Cannot change the loras. What a mess.
I was using it fine until ten days ago, but after the Comfy UI update, I am experiencing an error where the First Pass progress bar gets stuck at 3% without any error message. Does anyone know how to fix this?
Like many people have stated here, the V2 workflow works best for me. However, having the first sigma for the second pass start at 0.9875 completely wipes out the dynamic motion from the first pass, and this is the first thing that people should change.
I know you put a note in there to indicate this, but most noobs will either ignore this or not know what to do. For some reason your default sigma value corresponds with a 50 second video, which isn't even possible in your format.
By tweaking that one set of numbers you could make this workflow way more noob friendly.
And who do you think you are, calling out ppl like that, the awarded major of noob fighter fleet? Judging by your language, I'd say you are not older than 13 and you don't know a shit about any of this, just regurgitating what you learned like a parrot, so shut your stupid face, you little wanker.
@nerd_bgd Does this workflow comes with a first sigma value of 0.9875 is the second pass? Yes.
Does this workflow come with a comment stating that this sigma value should only be used for 50 seconds videos, despite the fact that the current node configuration only allows lengths up to 30 seconds? Yes.
Am I missing something? I have no idea why my post has offended you.
Workflow is good and all. Even if I had some problems with RIFE node (I had to install it manually). But one thing is missing. Something for custom audio. But still I can use it for upscale and interpolation as they work great
When i run this for the first time the results was a blurry, terrible video, the whole video went pixelated, the audio was just buzzing sounds and text showed up, its like it did everything in the negative prompt. Can someone who has gotten this to work please get in touch
Keep getting the "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 ....(etc.)" errors. What is this?!
Any plans to use PromptRelay for a series of actions?
RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 4096 but got size 3840 for tensor number 1 in the list.
File "L:\Stable_difussion\Data\Packages\ComfyUI\execution.py", line 534, 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)
Thanks for the clear workflow with example prompt and straightforward setup! Keep it up!
I just used this workflow this morning. But when I came back to it in the evening, it gave me an error
RuntimeError: The size of tensor a (5115) must match the size of tensor b (686976) at non-singleton dimension 2
In v4, what settings should I change if I am using a 32gb gpu?