oumoumad's picture
model card: link example ComfyUI workflow
c106f0f verified
|
Raw
History Blame Contribute Delete
4.09 kB
---
license: other
license_name: ltx-video-license
license_link: https://huggingface.co/Lightricks/LTX-2.3/blob/main/LICENSE.txt
base_model: Lightricks/LTX-2.3
tags:
- lora
- ic-lora
- ltx-video
- ltx-2.3
- video-restoration
- dearchive
pipeline_tag: video-to-video
library_name: peft
---
# dearchive Β· LTX-2.3 IC-LoRA
An **In-Context LoRA** for [LTX-2.3](https://huggingface.co/Lightricks/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
```bash
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
```