I have attached the workflow and the custom nodes for those who want to jump right in. Please check the copy at the end of this write up for them. If u want to check wat I am trying to solve and how I solved it, feel free to read along. The problem I make visual concepts for a living. I specifically make TVCs. Its selling these TVC “live action movie” concepts, tat pays the bills. Trouble is, other than the creative concepts I cook up, I am stuck with the visual look tat the AI video generators give me. I needed some sort of a raw format tat allows me some vigil room to provide me a certain look I am aiming for because tat is not easily weaved out of prompting. The solution There is existing solutions out there! One such solution is the recently dropped “ltx-2.3-22b-ic-lora-hdr” model. I found it interesting enough for my use case. Trouble is, hardware. Here is yet another heavy model tat needs a cloud to run. A cloud I need to pay for, with money I don’t have, as all the money I have is already allocated for other AI models and aggregators. I am guessing there r many people who agree with me abt the spend on AI. This is exactly my attack point. I wanted to find a solution to run this stuff locally on the hardware I have access to. In my case I had access to a rtx 5090. And it can be done in reasonable time using a rtx 3090 as well. After a series of directions i took and failed for over a month… I finally arrived at a solution tat involved breaking down the original clip into a series of batches tat are bite size for my GPU, to run the workflow. Each batch runs through the workflow with already existing nodes, and then some new nodes tat I vibed into existence. Thus allowing me to get a 12 sec 8bit video clip to be converted into a 16bit ARRI alexa raw, in mere 30 mins. Obviously if u have great hardware, this wont mean much to u… but for people like me with no coding background, no engineering prowess or no disposible income,… this is a break through. Full disclosure: I am not a coder. I built this entire pipeline by collaborating with Claude (Anthropic’s AI) and cross-referencing with Gemini. Claude wrote the custom Python nodes, debugged the tensor math, and helped me iterate through 27 workflow versions. I validated every approach on my hardware and made the creative/architectural decisions, but the code itself was AI-assisted from start to finish. The SeamBlender node included in this release is an original creation that came out of this process — it doesn’t exist anywhere else. https://www.youtube.com/watch?v=t-NQy7yr9eQ here is the video tat got me started down this road. And if u want to see a great breakdown of why this 16bit EXR capability is such a massive deal for professional grading and VFX finishing pipelines, check out Doug Hogan’s video abt it here: https://www.youtube.com/watch?v=_XJGXO9ATqk But here is where I and the original creators went down two completely different paths: · What they gave the community: They provided the raw weight models and basic, single-frame or short-sequence sample nodes. They showed it off inside DaVinci Resolve at, but they didn’t provide a way to generate full sequences locally without hitting massive hardware walls. If someone tried to feed a long video into their basic template, ComfyUI would load the whole thing into memory, instantly hit a 100% RAM ceiling, freeze the user’s mouse, and crash the system. · What I engineered: I took their raw 16-bit math concept and actually turned it into a repeatable, bulletproof production tool. I realized tat instead of fighting the model’s memory limits, I could break the task down into isolated 25-frame chunks. Then, I built my custom SeamBlender v2.2 node to automatically handle the pixel-space gradients on disk, creating a flat 200MB memory footprint tat can run on any consumer hardware. If you just want the files and don’t care about the journey, scroll to the bottom for the download link. But if you want to understand why this was so hard and what failed along the way, read on — it might save you weeks if you’re trying something similar. The Grueling Journey The following is general idea of all the directions I took to get here (incase u r interested): Route 1: The External Batch Loop Baseline (v1–v12) · The Concept: I began by building a modular video processor. Instead of feeding a long video file to the model all at once, my graph extracted the clip as separate image frames on my disk and loaded them in chunks of 25 frames at a time. · The Thinking: Keep hardware resource utilization flat and safe. If my computer only loads and runs 25 frames at a time, it will never exceed my 64GB system memory or overload my GPU. · The Failure Point: Every time a new 25-frame batch took over, the AI model reset its math and noise schedule. Because each chunk was completely isolated, it created a visible, sudden step-jump in brightness, exposure, and color tone on every 26th frame. Route 2: The Latent Memory Trick (v13–v15) · The Concept: To fix tat 26th-frame color jump, I introduced a memory system using custom BatchLatentSave and BatchLatentLoad nodes. · The Thinking: If Batch 0 saves its final hidden mathematical video vectors (latents) to a temporary cache file, Batch 1 can load tat cache file and use it as a starting point. By injecting the old batch’s memory directly into the sampler with a noise mask, the AI would be forced to match the color and lighting of the previous frames. · The Failure Point: This created a violent conflict inside the AI model’s internal attention layers. The model was trying to execute a moving camera orbit around the man, but my injected memory frame was forcefully pulling it backward to stay still. The pixels literally tore, duplicated, and stretched, creating a horrible, translucent “ghosting” and morphing effect over my character’s body. Route 3: The Centralized Looping Sampler (v17–v23) · The Concept: I abandoned the external frame-purging loop entirely and switched to a single, monolithic, complex node layout built around the native LTXVLoopingSampler. · The Thinking: Eliminate batch cuts altogether by handling long-form video continuation natively inside the model’s architecture. The looping sampler cuts the clip into overlapping ~80-frame sliding windows internally, keeping the generation unified under a single running execution thread. · The Failure Point: This route hit two catastrophic walls. First, the looping sampler structurally rejected my external IC-LoRA HDR conditioning tokens, causing immediate, un-patched code crashes (pre_filter_counts != keyframe grid mask length). Second, when I removed the guide nodes to stop the crashes, the model had to guess all 297 frames at once during the VAE decode phase. My massive data footprint piled up in my system RAM, hit a hard 100% saturation ceiling, froze my mouse and keyboard, and paralyzed my operating system. Route 4: The In-Pipeline Math Deflicker (v24–v25) · The Concept: I went back to the rock-solid, resource-safe v15 external batch loop but added a mathematical post-processing node at the tail end of my export tree. · The Thinking: Accept tat the AI will make exposure jumps every 25 frames due to random seeds, but use simple, global pixel multiplication to normalize the folder’s brightness automatically after the EXR files land on my disk. · The Failure Point: A global mathematical average cannot differentiate between a broken AI color jump and an intentional, natural camera move. If the camera panned directly into the bright sun, a naive math node would see the overall brightness spike and aggressively crush the entire frame down into flat, dark mud. Furthermore, I discovered tat the flicker wasn’t just lighting—the AI model was actually generating slightly different facial architecture and jawline geometry on each separate batch. No brightness slider can fix a shifting face shape. Route 5: The Final Pixel-Space Overlap Blender (v26–v27) · The Concept: My current masterpiece. I kept the safe external batch loop but re-engineered my post-processing node to perform a pixel-space alpha cross-fade gradient across a strict 8-frame overlap zone. · The Thinking: Separate the generation from the alignment. I let the GPU run at a flat 700W throttle to print crisp textures in safe blocks. Then, I let my CPU read just the matching overlap frames from my disk, and smoothly fade Batch A into Batch B using a clean sliding scale (100% → 86% → 71% → 57% → 43% → 29% → 14% → 0%). · The Evolution to Success: In my first attempt (v26), a ComfyUI node cache bug got nuke_frame_start permanently stuck, forcing the node to repeatedly blend only frames 8–15 with a flat 50/50 mix, which caused a blurry double-exposure ghost. I immediately pivoted to v27, stripping out the cache bug entirely and rewriting the script to use pure, un-cached batch_index math. What’s Included in the Release v27 ComfyUI Workflow JSON — the complete, working pipeline BatchVideoProcessor custom node — extracts frames and manages the batch loop with auto-requeue SeamBlender v2.2 custom node — the overlap alpha-blending node that eliminates batch boundary artifacts NukeWrite/NukeOCIO nodes — for EXR output with ARRI LogC4 color space Everything runs inside ComfyUI. No external tools needed except DaVinci Resolve (free version) to review your EXR sequence. Models Setup List The Meat Here r the models I used: · Base DiT Model (GGUF Q6_K): o Link: Kijai’s ComfyUI-GGUF LTX-Video Repo on Hugging Face o Filename: ltx-2.3-22b-dev-Q6_K.gguf o Path on your machine: ComfyUI/models/unet/ · Text Encoder (Gemma 3 12B FP4): o Link: ComfyUI Core Text Encoders on Hugging Face o Filename: gemma_3_12B_it_fp4_mixed.safetensors o Path on your machine: ComfyUI/models/clip/ · Video VAE: o Link: Lightricks LTX-Video Official Hugging Face Repo o Filename: ltx-2.3-22b-dev_video_vae.safetensors o Path on your machine: ComfyUI/models/vae/ · The Two Essential LoRAs (Distill & IC-LoRA HDR): o Link: Lightricks LTX-Video LoRA Collection on Hugging Face o Filenames: ltx-2.3-22b-distilled-lora-384-1.1.safetensors and ltx-2.3-22b-ic-lora-hdr-0.9.safetensors o Path on your machine: ComfyUI/models/loras/ltxv/ltx2/ The Ingredients (The workflow and the custom nodes) https://drive.google.com/drive/folders/1zhl2X3WyjMmFB_KEew2nSiDkZplRhth6?usp=sharing 📁 LTX_v27_Cinema_Pipeline/ ├ ── 📄 LTX-2_3_ICLoRA_HDR_v27.json – Your master workflow canvas └── 📁 custom_nodes/ – Zip these up for them ├ ── 📁 nuke-nodes/ – Handles the 16bit EXR & OCIO outputs ├ ── 📁 comfyui_batch_loader/ – Handles BatchVideoProcessor frame splitting └── 📁 comfyui_seam_blender/ – Your custom v2.2 script tat welds te 8-frame overlaps Hardware Requirements Minimum: RTX 3090 (24GB VRAM), 32GB RAM Recommended: RTX 4090/5090 (32GB VRAM), 64GB RAM Render time: ~35 minutes for a 12-second clip (297 frames) on RTX 5090 Known Limitations Each batch generates independently, so very subtle texture differences may still exist at boundaries — the SeamBlender smooths them but can’t eliminate them entirely. The LTXVLoopingSampler (which would solve this natively) is structurally incompatible with IC-LoRA guide tokens at the code level — this is a limitation in the Lightricks codebase, not the workflow. The last batch’s overlap frames (273-280) get overwritten by NukeWrite after blending due to execution order — this is a minor issue affecting only the final seam. Hope u all like it… Cheers! submitted by /u/d3nnyvg3org3
Originally posted by u/d3nnyvg3org3 on r/ClaudeCode
