dearchive · LTX-2.3 IC-LoRA
An In-Context LoRA for LTX-2.3 (dev, 22B) that takes real archive video — old broadcast B&W footage, low-res low-bitrate web rips, sepia-toned silent-era prints — and rewrites it as if shot more recently (colored, high definition, sharp detail, modern cinematography). Tested on actual archive footage, not just synthetic equivalents.
| Base model | Lightricks/LTX-2.3 (ltx-2.3-22b-dev.safetensors) |
| Strategy | video_to_video (in-context, reference-conditioned) |
| LoRA rank / alpha | 128 / 128 |
| Trainable params | 855,638,016 (~0.86 B) |
| Optimizer | Prodigy (D-Adaptation), lr=1.0, bias-correction + safeguard-warmup |
| Scheduler | cosine |
| Mixed precision | bf16 + int8-quanto |
| Reference downscale | 1 (full res) |
| Resolution buckets | 960×544×97; 960×544×49 |
| Steps | 5000 |
| Save interval | every 500 steps |
| Seed | 42 |
What it learns to undo
Real archive YouTube uploads of mid-20th-century broadcast footage (Bruce Lee interviews, Chaplin web rips, etc.) are dominated by resolution + compression loss, not silent-era film damage. The training pipeline mirrors that:
clean 1920×1080
→ tonal degrade (B&W via Rec.601 luma, optional family tint, contrast/gamma)
→ capture-σ blur (tier-scaled, simulates lens / multi-gen optical printing)
→ downscale to 360p / 270p / 240p (bilinear)
→ low-bitrate h264 encode @ 60–320 kbps
→ optional re-encode 1–3 generations (compounds compression artifacts)
→ optional hqdn3d denoise (heavy tier only)
→ Lanczos upscale back to 1920×1080 (matches inference-time user upscale)
Three corruption families are sampled per pair:
| Family | What it matches | Calibration ref |
|---|---|---|
chain_neutral |
neutral B&W broadcast tier | Bruce Lee Philosophy (yt nzQWYHHqvIw, 640×360 / 62 kbps) |
tint_tape |
cool-green VHS-tape oxidation | Bruce Lee Nunchucks (yt qHe6vhexm6g, 320×240 / 88 kbps) |
tint_sepia |
warm-brown film-age fade | Safety Last (1923, sepia mid-tones) |
Tape family gets the heavy chain at the heaviest tier (smashed BL-Nunchucks-class output); neutral and sepia families use 0.65 / 0.70 multipliers on the capture σ and 0.5× the denoise probability so they preserve the gentler mid-tier character.
Dataset
- 53 source clips, landscape ≥720p, ≥6 s
- 3 corrupted variants per source → 159 pairs total (151 train + 8 held-out validation)
- All target/reference at 1920×1080 16:9 (matching aspects — this LoRA does not outpaint)
- Frames: 97 frames @ 24 fps (4.04 s; LTX-2 requires
n % 8 == 1) - Caption (single, generic): "A modern, high-resolution video shot in vivid color (or natural monochrome), with sharp detail, clean tonality, and contemporary cinematography."
Files
| File | Step |
|---|---|
lora_weights_step_05000.safetensors |
5000 (final) |
training_state_step_05000.pt |
5000 |
DeArchive.json |
example ComfyUI workflow |
Quick inference
git clone https://github.com/Lightricks/LTX-2.git && cd LTX-2 && uv sync
uv pip install peft
uv run python packages/ltx-trainer/scripts/inference.py \
--checkpoint /path/to/ltx-2.3-22b-dev.safetensors \
--text-encoder-path /path/to/gemma-3-12b-it-qat-q4_0-unquantized \
--lora-path /path/to/lora_weights_step_05000.safetensors \
--reference-video /path/to/your_lanczos_upscaled_archive.mp4 \
--prompt "A modern, high-resolution video shot in vivid color, sharp detail, contemporary cinematography." \
--width 960 --height 544 --num-frames 97 --frame-rate 24 \
--num-inference-steps 50 --guidance-scale 4.0 \
--output dearchive_restored.mp4
- Downloads last month
- -
Model tree for oumoumad/ltx-2.3-dearchive-lora
Base model
Lightricks/LTX-2.3