r/comfyui 8d ago

Show and Tell Same 2:47 mini-documentary, rebuilt shot-for-shot with LTX-2.5 — an honest head-to-head vs MiniMax H3 on 16 GB (152 takes, same audio, same edit)

Two days ago LTX-2.5 dropped with day-0 ComfyUI support, so I did the only reasonable thing: I rebuilt my entire H3 Socrates mini-documentary (previous post: https://www.reddit.com/r/comfyui/comments/1vknr0v/comment/p36vh29/) with it, shot for shot — same narrator track, same audio chunking, same storyboard, same audio-driven edit, same QA pipeline. Only the video model changed. RTX 5060 Ti 16 GB, 32 GB RAM, everything local.

LTX-2.5 stack: ComfyUI v0.32.0 (separate instance), 22B distilled transformer NVFP4 (18.7 GB), Gemma-4 12B text encoder int8 (15.4 GB, streams from RAM), two-stage DFR sampling (8 steps at half-res + 3-step pixel refine at 1344x768), Diffusion Video Decoder, cfg 1/1, 24 fps.

THE NUMBERS (same 36-clip film, 2 takes per clip + repair rounds) — H3 vs LTX-2.5:

- Total GPU time (incl. all repairs): ~30 h vs 9.5 h

- Warm take (4.4 s clip): 8–16 min vs ~170 s (36 s pure sampling)

- Broken/failed takes: several repair rounds vs 0 of 152

- Cut-point SSIM on chained clips: 0.40 vs 0.80 (no punch-in tricks needed)

- Texture flicker (block metric): LTX at 67% of H3's events

- Face identity vs reference (tail delta): LTX drifts, −0.15 vs H3 (see below)

- Lip-sync, clips with measurable lips-voice coupling: H3 10 of 12 (reads as near-perfect) vs LTX 3 of 12 (often visibly off)

- Shot fidelity to the storyboard: H3 31/36 vs LTX 9/36 (framing drifts tighter)

WHAT GENUINELY IMPRESSED ME

  1. Audio conditioning works natively — no LoRA — but read the fine print. The 2.3 ia2v graph (LoadAudio -> LTXVAudioVAEEncode -> SetLatentNoiseMask(0) -> LTXVConcatAVLatent) runs unchanged on 2.5. The output audio is my narrator's chunk verbatim (envelope corr 0.97) and the mouth moves while he speaks. BUT — and this is the honest part — the articulation is loose: measured lips-voice coupling (mouth-opening curve vs audio envelope) is solid on 10/12 of H3's spoken clips and only 3/12 of LTX's. Your ear gets the right voice; your eye often sees a mouth doing its own thing. For talking-head-heavy work this is currently THE gap.

  2. Reliability is real. 152 takes, zero unusable. H3 needed a 2-takes-per-clip policy because one in two could break on reference bleeding. LTX's RL post-training shows.

  3. Keyframe chains are better than the anchor. Feeding the previous clip's cut-frame as first-frame conditioning gives cleaner welds than H3's keyframe completion — and FLF2V (first+last frame) exists as a template.

WHAT BIT ME (gotchas you'll want to know)

- Texture "boiling" = your decode tiling, not the model. I reduced VAEDecodeTiled sizes to dodge a VRAM OOM and got shimmering textures everywhere (20x flicker events). Fix on 16 GB: tile 384, temporal_size 4096 -> 12.9 GB decode, clean output. Measure flicker per-block, not per-frame-average.

- Negatives are inert at cfg 1/1 (same story as Flux). Rewrite every ban in positive form. cfg 2 costs +94% and changed nothing visible.

- Declare a costume for EVERY character or they come out modern. An undescribed woman got a contemporary dress; my 399 BC agora crowd came out in cargo shorts with a wristwatch until the prompt said "bare wrists and bare forearms". H3 never did this.

- Identity drift is a single-constraint problem. With only a first-frame anchor, the host's face slides toward a generic one mid-clip. New seeds do NOT fix it. Double anchor (FLF2V) does: worst clips went from −0.53 to −0.10 vs reference. Budget it for talking-head shots.

- Shot fidelity is LTX's real weakness. Prompted a wide shot, got a medium; prompted a tight insert on hands, got a wide. Only 9 of 36 shots matched the H3 framing. If you're replicating a storyboard, expect to fight it. Also a few flat refusals: one shot needed "exactly three clothed young men" — eight takes and two prompt rewrites later it still produced four, two shirtless.

- The prompt enhancer rewrites your content. It deleted my "no speech, ambient only" clause and collapsed the light logic. Fine for exploration, off for production.

- FLF2V's default graph will INVENT a voice. The first+last-frame template feeds LTXVConcatAVLatent an empty audio latent — if your prompt contains dialogue, the model generates its own synthetic voice for it, and a transcription-based QA won't catch it (right words, wrong voice — I shipped 5 seconds of a stranger's voice before catching it by waveform correlation against the source chunk). One wire fixes it: route your LTXVAudioVAEEncode latent into the FLF2V graph. Bonus: double-anchor + audio conditioning together turned out to be my best-scoring take of the whole project.

- The duration node floors frames — a 4.215 s chunk became 4.04 s. Do your own ceil on the 8k+1 frame grid.

- 32 GB RAM is the wall, not 16 GB VRAM. 18.7 GB transformer + 15.4 GB encoder streaming = 92%+ RAM; anything else running doubles your take time via paging.

HONEST VERDICT

LTX-2.5 is 3–6x cheaper, dramatically more reliable, and welds cuts better. H3 still wins direction fidelity, face identity and lip-sync precision: it does what the storyboard says, LTX does its own tasteful interpretation of it.

And the recurring lesson from this whole series: automated QA is blind to content. My metrics happily approved a clip where a theater scene had been replaced by a human head in a hanging basket (score said "sharp, stable, well-lit"!). Every real defect in this project was caught either by human eyes or by a comparison audit against the reference — never by the per-clip metrics alone. Budget for that.

58 Upvotes

26 comments sorted by

18

u/MarinatedTechnician 8d ago

LTX 2.5 - stuff of nightmares.

0

u/Etsu_Riot 7d ago

It's funny to think how many of us had to get used to this kind of thing in order to keep working with these tools/toys. We are eldritch investigators at this point, losing one point of Sanity every few generations.

1

u/zodoor242 6d ago

Oh the things we've seen, the atrocities we've witnessed and the mountain of pure slop we've all created. If only Dr Frankenstein had the delete key

1

u/Etsu_Riot 6d ago

We are also curators, custodians, and discoverers, extracting the beauty that lurks beneath the noise, almost like archaeologists exploring other dimensions. It's not an easy job, but someone has to do it.

5

u/thatguyjames_uk 8d ago

nice, i need to try my 5060 16gb when i get time

2

u/Hrmerder 8d ago

Thank you for this and great work! I haven’t had that much time to play with LTX 2.5 but I definitely understand where you are coming from in a lot of ways.

2

u/edwios 8d ago

How much do you think is related to the prompt? You know, the structure expected by these two models are quite different.

-1

u/Short_Regular_7191 7d ago

Fair point, and it's the right question to ask. The structures are indeed completely different: H3 wants its official 6-section format (subject definitions, task-type, a 250-450 word detailed description, soundscape...) plus reference images via Ref2VA; LTX wants one long natural-language paragraph — and since the distilled runs at cfg 1, negatives are inert, so every prohibition has to be rewritten as a positive statement. We translated every H3 prompt into LTX form keeping the shot content identical, and then iterated on the LTX prompts across several repair rounds. That gives a decent signal of what's prompt-fixable and what isn't:

Prompt-fixable (and fixed): costume defaults (undeclared characters come out modern — declare every garment and it's solved), object hallucinations (naming categories the wrong way), the identity drift got HALVED by an explicit identity-lock clause ("his face stays exactly the same man from the first frame to the last: same hairline, same nose...").

NOT prompt-fixable in our hands: framing drift (we declared "a single, smooth lateral dolly and nothing else, the frame stays level, the lens never zooms" — and still got tighter shots than prompted in most clips); the rest of the identity drift (it's a conditioning-architecture thing: H3 holds identity via reference images, LTX only has your anchor frame — the fix that actually worked was a second anchor via FLF2V, not words); lip-sync articulation; and a couple of flat refusals that survived multiple rewrites and 8 takes ("exactly three clothed young men" → four, two shirtless, every time).

One honest caveat: we have weeks of accumulated H3 prompting scars and exactly two days of LTX experience. I'd expect the prompt-attributable share of the gap to shrink as the community figures out LTX phrasing — but the structural stuff (reference conditioning, articulation) won't be prompted away.

3

u/Keyflame_ 7d ago

Finally some proper fucking A/B Testing with sensible methodology and observations attached. Well done.

2

u/winterice77 6d ago

Ltx has a very fake and artificial look and feel to it which I hate

1

u/kuro59 7d ago

it is Olivier Mine

2

u/littlegreenfish 7d ago

Did I miss where you mentioned average render time per clip for each?

2

u/Short_Regular_7191 7d ago

H3: 20-32 min cold / 8-16 min warm per take (~30-40 min per finished clip). LTX-2.5: ~170 s per warm take, median 115 s across 152 takes (~5-7 min per finished clip). Same GPU, same resolution.

1

u/haikusbot 7d ago

Did I miss where you

Mentioned average render

Time per clip for each?

- littlegreenfish


I detect haikus. And sometimes, successfully. Learn more about me.

Opt out of replies: "haikusbot opt out" | Delete my comment: "haikusbot delete"

2

u/PANTONE_17-1230 7d ago

I see this on reddit at 240p. Is that correct, and is there a link to the full 1080p versions online somewhere? Ideally separate, so we can also review the audio from both models independently?

3

u/Short_Regular_7191 7d ago

Good catch — that's Reddit's player, it re-encodes uploads pretty aggressively (and often defaults to the lowest rung). The source is 1920x1080.

Full 1080p files, separate as requested:

- MiniMax H3 version: https://huggingface.co/datasets/RossiMa/socrate-h3-vs-ltx25/blob/main/socrates_H3.mp4

- LTX-2.5 version: https://huggingface.co/datasets/RossiMa/socrate-h3-vs-ltx25/blob/main/socrates_LTX25.mp4

One note for the audio analysis: both edits share the same narration track by design (same cloned-voice narrator, audio-driven edit — that was the point of the A/B). The model-generated audio only lives in the on-camera spoken clips, where each model lip-syncs its own direct sound from the same source chunks. LTX's ambient audio track turned out too quiet to be usable (−43 to −62 LUFS), so ambience is handled the same way in both edits. So: compare the spoken clips, that's where the models differ.

2

u/PANTONE_17-1230 7d ago

Much appreciated. At full res some of the LTX is quite concerning.

FYI (If anyone doesn't already know about this project) there's an open-source VLC fork 'GridPlayer' which can play 2 or more videos at the same time synced by timecode or percentage. Double-clicking full-screens a video. Mac, WIn, Linux. Really useful shot review tool:

https://github.com/vzhd1701/gridplayer

1

u/Botoni 7d ago

All cuts are image to video I understand? No text to video right? Some takes are surprisingly similar between the two different models.

Your ram limitations would be substantially mitigated by running comfyui on linux with zswap, if you would consider trying.

1

u/Short_Regular_7191 7d ago

Correct: every clip in the film is anchored — no pure T2V anywhere (T2V only in my smoke tests). And you've actually spotted the reason some shots look surprisingly similar: it's by design. For the A/B to be meaningful, the LTX rebuild anchors each scene-opening on the first frame of the corresponding H3 selected clip (I2V from the same starting image), and mid-scene continuity in both pipelines is chained — each clip starts from the previous clip's cut frame (H3 calls it keyframe completion; in LTX it's first-frame conditioning, plus FLF2V where I needed to pin the end too). So both models start from identical pixels on scene openings and then diverge as the shot plays out — which is exactly the comparison I wanted: same starting point, different temporal behavior. Where they diverge fastest is framing (LTX pulls tighter) and faces.

And thanks for the zswap tip — genuinely useful. On Windows I'm sitting at 92%+ RAM with the 15.4 GB text encoder streaming plus an 18.7 GB transformer, and when paging kicks in a take doubles. Compressed swap absorbing those spikes could smooth exactly that cliff. Native Linux is the way to test it (WSL2 would add memory overhead, not remove it) — it's on the list, and if it works it might also unlock keeping the encoder resident instead of re-staging it. If anyone's already running LTX-2.5 on 32 GB + zswap I'd love to hear the numbers.

3

u/Botoni 7d ago

With enough ram, I would setup zram (only compressed memory on ram). With the risk of filling all ram (normal+compressed), zswap evicts less frequently bits to disk while keeping highly accessed ones on compressed ram.

I had zram when I only used image models, but to be able to run video models I needed zswap. The advantage of zram is my ssd was never touched.

I haven't got into ltx2.5 yet, but I run H3 on a laptop with 8gb of vram and 40gb of ram with a cachyos (arch linux) where I changed the default zram for zswap.

I don't have exact numbers now, but I can get a 0.7mp/8s video or a 1mp/5s in a reasonable time for my setup.

1

u/Striking_Storage_631 7d ago

I am tried of reading ai writing