The difference between this and every mosaic-and-blur approach is what happens inside the mask: LTX 2.3 regenerates the region conditioned on a clean reference frame, so the area is rebuilt rather than hidden. The author's claim is a 100% win rate on the narrow case of removing gibberish text that LTX itself produced.
Evidence note: one workflow JSON ships with this episode and was parsed directly; node count, LoRA filenames and strengths, scheduler, sampler, CFG and resize size below come from that file.
When this is useful
- Removing subtitles, logos and AI gibberish from a clip you want to keep.
- Repairing text baked into model output on the lower-third or upper-right, where those artefacts usually land.
- Long single takes: the author reports 480 frames, roughly 20 seconds, without obvious degradation.
- Any job where cropping the text away would ruin the framing.
How this differs from the previous build
The 1.0 graph is narrower than its predecessors and better for it.
- It uses the R2V (reference-to-video) 3000-step LoRA rather than the Edit Anything 9000-step build or the older 10000-step masked text-to-video path. The reference frame is the whole point.
- Concatenation was dropped. Earlier LTX repair graphs stitched the reference in; this one relies on the IC-LoRA working without it, the same reasoning the author applied to the LTX 2 detail LoRA.
-
The model is GGUF-quantised. The graph loads through
UnetLoaderGGUFwith a GGUF dual CLIP loader, which matches the Q4_K_M quantisation the author describes. - The mask is static. One painted region, applied for the whole clip, which is fine because subtitles and watermarks sit in fixed places.
Running it
- Load the clip. Most examples are LTX 2.3 output that already carries text artefacts.
- Set the frames to process — ten seconds is the tested unit.
- Keep the frame rate at 24.
- Supply a first-frame reference image with no text in it. If your first frame is already clean, use it directly; if not, repaint the first frame first.
- Open the mask editor and paint over where the text appears. This is a static mask.
- Run. Keep the positive prompt as shipped; the author pre-tuned it for a high hit rate and says only the worst ~10% of results need an LLM-adjusted prompt.
Parameters, and where the numbers come from
| Item | Value in the shipped graph |
|---|---|
| Node count | 66 |
| Model loader |
UnetLoaderGGUF (GGUF dual CLIP loader alongside) |
| LoRA, repair |
ltx23_inpaint_masked_r2v_rank32_v1_3000steps.safetensors at 1.0 |
| LoRA, edit |
ltx23_edit_anything_global_rank128_v1_9000steps_adamw.safetensors at 1.0 |
| Scheduler |
bong_tangent, steps 8, denoise 1 |
| Sampler | euler_ancestral_cfg_pp |
| CFG | 1 |
| Audio latent | 24 fps |
| Resize | 512x512 |
The 512x512 resize applies to the reference and mask path, not to the delivered resolution.
Honest limits
- The 100% win rate applies to one narrow case: text that LTX 2.3 itself generated. It is not a general watermark-removal rate.
- The mask is static, so drifting or animated watermarks need a better mask tool than the one built in.
- If the first frame is itself obscured, you have to repaint it before this graph can use it as a reference.
- Quantising the model to Q4_K_M trades some quality for duration headroom — the author's own framing.
- Without a reference image the repaired region is visibly different from its surroundings.
Episode resources
RunningHub workflows
- LTX 2.3 text-pollution repair (reference) — https://www.runninghub.ai/post/2050245386517921794/?inviteCode=rh-v1111
- Video tutorial (YouTube): https://www.youtube.com/watch?v=7URLfs-Jgu4
- Chinese original (Bilibili): https://www.bilibili.com/video/BV1uMRFBJEPu
Top comments (0)