File size: 4,090 Bytes
5d1fc1d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5293b13
5d1fc1d
58994ab
bb634b4
5293b13
5d1fc1d
 
41090f3
5d1fc1d
 
5293b13
5d1fc1d
 
 
 
5293b13
5d1fc1d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5293b13
 
5d1fc1d
5293b13
5d1fc1d
 
 
5293b13
 
 
5d1fc1d
 
 
 
 
5293b13
 
 
 
c106f0f
5d1fc1d
 
 
 
 
 
 
 
 
 
5293b13
5d1fc1d
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
---
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
```