LTX Rf-Inv Reverse Sampler
Regenerate an inverted LTX clip toward a new prompt
- model
- latent_image
- attn_inj
- SAMPLER
This is the "regenerate" half of RF-inversion editing on LTX, and it's where the magic (and the fiddling) actually happens. Once LTXRFForwardODESampler has inverted your real clip into noise, LTXRFReverseODESampler denoises it back into video - but steered toward a new prompt, and controlled so it keeps as much of the original as you want. Both nodes come from the "ltxtricks" set, ported from Logtd's community ComfyUI-LTXTricks.
The single most important dial in the whole RF-inversion technique is eta, and it lives here. It governs the tug-of-war between "stay faithful to the source video" and "follow the new prompt." Get it right and you can restyle a clip, swap an element, or change an action while the composition survives. Get it wrong and you either output a copy of the input or something unrelated to it.
How it works
The node returns a SAMPLER that walks the rectified-flow ODE in reverse (noise back to clean latent) using your model and the inverted latent_image, applying eta-controlled guidance over a step range. If you banked attention during inversion, you inject it here through attn_inj so the regenerated video reuses the source's structure. It's the mirror of the forward pass, and the two are designed to be used as a matched pair.
The inputs and outputs that matter
model(MODEL) - your LTX model.latent_image(LATENT) - the inverted latent coming out of the forward pass.eta(FLOAT, default 0.8) - the fidelity knob. Higheretakeeps the result closer to the source; lower lets the new prompt take over. This is the parameter you tune first, last, and always. RF-inversion users are unanimous that eta plus the end step drive the outcome more than anything else.start_step/end_step(INT, defaults 0 and 15) - the schedule range the reverse guidance acts over.eta_trend(enum:linear_decrease,linear_increase,constant) - howetamoves across the range; decreasing eta is a common choice so the edit locks structure early and loosens later.attn_inj(ATTN_INJ, optional) - inject banked attention from the forward pass for stronger consistency.order(first/second, optional) - ODE solver order; second is more accurate, slightly slower.
Output is a SAMPLER for your custom-sampler graph.
How to install it
Install the pack from ComfyUI Manager (Ctrl+M → Install Custom Nodes → search LTXVideo → Install → restart), the README's recommended route. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/Lightricks/ComfyUI-LTXVideo
then restart ComfyUI. Find it under ltxtricks. It downloads nothing itself; the LTX model behind it wants 32GB+ VRAM and 100GB+ disk.
Common issues & troubleshooting
Output is just a copy of the input. eta is too high, or your prompt change is too weak. Lower eta and make the new prompt more assertive about what should differ.
Output ignores the source entirely. eta is too low, or your start_step/end_step range is wrong. Raise eta, and consider banking attention on the forward pass and injecting it here to hold structure.
You're flailing on settings. Everyone does at first - RF-inversion is sensitive, and the honest advice from the people who use it heavily is to run an XY sweep over eta and end_step rather than tweaking one value at a time. The good news is LTX is fast enough that a parameter sweep is cheap here in a way it wouldn't be on a slower video model.
Faces drift on real footage. A known limitation of inversion editing. Attention injection helps; keeping eta on the higher side helps; and matching your forward/reverse step ranges thoughtfully helps. There's no perfect fix - it's the nature of the technique.
Use it with LTXRFForwardODESampler. Forward inverts, reverse regenerates; alone, neither does the job.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| latent_image | LATENT | — | |
| eta | FLOAT | 0.800–100 | — |
| start_step | INT | 00–1000 | — |
| end_step | INT | 150–1000 | — |
| eta_trendopt | COMBO | 3 options: linear_decrease, linear_increase, constant | |
| attn_injopt | ATTN_INJ | — | |
| orderopt | COMBO | 2 options: first, second |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SAMPLER | SAMPLER | — |