# LTX-2 (Audio + Video)

LTX-2 (Januar 2026) ist Lightricks' zweitgenerations Video-Foundationsmodell und das erste Open-Weight-Modell, das **synchronisierten Ton neben Video** in einem einzigen Vorwärtsdurchlauf erzeugt. Mit 19 Milliarden Parametern generiert es Clips mit Foley-Soundeffekten, Umgebungsgeräuschen und lippen-synchroner Sprache, ohne ein separates Audiomodell zu benötigen. Die Architektur baut auf dem Geschwindigkeitsvorteil des ursprünglichen LTX-Video auf und erweitert die Fähigkeiten drastisch.

Eine GPU mieten auf [Clore.ai](https://clore.ai/) ist der praktischste Weg, ein 19B-Parameter-Modell auszuführen — kein $2.000 GPU-Kauf erforderlich, einfach eine Maschine hochfahren und mit der Generierung beginnen.

## Hauptmerkmale

* **Native Audiowiedergabe** — Foley-Effekte, Umgebungsambiente und lippen-synchroner Dialog, gemeinsam mit Videoframes erzeugt.
* **19B Parameter** — deutlich größeres Transformer-Backbone als LTX-Video v1, liefert schärfere Details und kohärentere Bewegung.
* **Text-zu-Video + Bild-zu-Video** — beide Modalitäten werden mit Audioausgabe unterstützt.
* **Bis zu 720p Auflösung** — höherwertige Ausgabe als das v1-Modell.
* **Gemeinsamer audio-visueller latenter Raum** — ein vereinheitlichter VAE kodiert sowohl Video als auch Audio und hält sie zeitlich ausgerichtet.
* **Offene Gewichte** — unter einer permissiven Lizenz für kommerzielle Nutzung freigegeben.
* **Diffusers-Integration** — kompatibel mit dem Hugging Face `diffusers` Ökosystem.

## Anforderungen

| Komponente | Minimum                | Empfohlen |
| ---------- | ---------------------- | --------- |
| GPU-VRAM   | 16 GB (mit Offloading) | 24+ GB    |
| System-RAM | 32 GB                  | 64 GB     |
| Festplatte | 50 GB                  | 80 GB     |
| Python     | 3.10+                  | 3.11      |
| CUDA       | 12.1+                  | 12.4      |
| diffusers  | 0.33+                  | neueste   |

**Clore.ai GPU-Empfehlung:** Ein **RTX 4090** (24 GB, \~0,5–2 $/Tag) ist das Minimum für komfortable 720p-Generierung mit Audio. Für Batch-Workloads oder schnellere Iteration nach **dual-4090** oder **A6000** (48 GB) Einträgen auf dem Clore.ai-Marktplatz filtern.

## Schnellstart

```bash
# Abhängigkeiten installieren
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip install diffusers transformers accelerate sentencepiece
pip install imageio[ffmpeg] soundfile scipy

# GPU überprüfen
python -c "import torch; print(torch.cuda.get_device_name(0), torch.cuda.get_device_properties(0).total_mem // 1024**3, 'GB')"
```

## Beispielanwendungen

### Text-zu-Video mit Audio

```python
import torch
from diffusers import LTXPipeline
from diffusers.utils import export_to_video
import soundfile as sf

# Lade LTX-2 (stelle sicher, dass du die korrekte Modell-ID beim Release hast)
pipe = LTXPipeline.from_pretrained(
    "Lightricks/LTX-Video-2",
    torch_dtype=torch.bfloat16,
)
pipe.to("cuda")
pipe.enable_model_cpu_offload()

prompt = (
    "Ein Schmied, der glühendes Metall auf einem Amboss schlägt, Funken fliegen, "
    "rhythmisches Klirren des Hammers auf Stahl, ambientes Werkstattgeräusch"
)

output = pipe(
    prompt=prompt,
    negative_prompt="still, unscharf, niedrige Qualität",
    num_frames=121,
    width=1280,
    height=720,
    num_inference_steps=40,
    guidance_scale=7.0,
    generator=torch.Generator("cuda").manual_seed(42),
)

# Exportiere Videoframes
export_to_video(output.frames[0], "blacksmith.mp4", fps=24)

# Exportiere Audio falls verfügbar
if hasattr(output, "audio") and output.audio is not None:
    sf.write("blacksmith_audio.wav", output.audio, samplerate=16000)
    print("Audio separat gespeichert — mit ffmpeg muxen:")
    print("  ffmpeg -i blacksmith.mp4 -i blacksmith_audio.wav -c:v copy -c:a aac output.mp4")

print("Fertig: blacksmith.mp4")
```

### Bild-zu-Video mit lippen-synchronem Audio

```python
import torch
from PIL import Image
from diffusers import LTXImageToVideoPipeline
from diffusers.utils import export_to_video

pipe = LTXImageToVideoPipeline.from_pretrained(
    "Lightricks/LTX-Video-2",
    torch_dtype=torch.bfloat16,
)
pipe.to("cuda")
pipe.enable_model_cpu_offload()

# Portraitbild für Lip-Sync
image = Image.open("portrait.png").resize((720, 1280))

output = pipe(
    prompt="Eine Person, die sagt 'Willkommen in der Zukunft des KI-Videos' mit klarer Aussprache, neutralem Hintergrund",
    image=image,
    num_frames=121,
    num_inference_steps=40,
    guidance_scale=7.0,
)

export_to_video(output.frames[0], "talking_head.mp4", fps=24)
```

### Atmosphärische Szene mit Foley

```python
import torch
from diffusers import LTXPipeline
from diffusers.utils import export_to_video

pipe = LTXPipeline.from_pretrained(
    "Lightricks/LTX-Video-2", torch_dtype=torch.bfloat16
).to("cuda")

# Audio-reicher Prompt — Geräusche ausdrücklich beschreiben
prompt = (
    "Regen, der auf ein Zinn-Dach in einem tropischen Dorf fällt, "
    "Donner, der in der Ferne grollt, Vögel, die zwischen den Donnerschlägen kurz zwitschern, "
    "Pfützen, die auf einem Erdweg kräuseln"
)

output = pipe(
    prompt=prompt,
    num_frames=121,
    width=1280,
    height=720,
    num_inference_steps=40,
    guidance_scale=6.5,
)

export_to_video(output.frames[0], "rain_scene.mp4", fps=24)
```

## Tipps für Clore.ai-Nutzer

1. **Geräusche ausdrücklich beschreiben** — LTX-2s Audiobranche reagiert auf akustische Hinweise im Prompt. "Knisterndes Feuer", "Schritte auf Kies", "beiläufiges Gemurmel einer Menge" liefern besseres Foley als vage Beschreibungen.
2. **CPU-Offloading ist essenziell** — bei 19B Parametern benötigt das Modell `enable_model_cpu_offload()` auf 24-GB-Karten. Plane 64 GB System-RAM ein.
3. **Persistenter Speicher** — der Modell-Checkpoint ist \~40 GB. Hänge ein persistenten Clore.ai-Volume ein und setze `HF_HOME` um wiederholtes Herunterladen bei jedem Container-Neustart zu vermeiden.
4. **Audio + Video muxen** — wenn die Pipeline Audio separat ausgibt, kombiniere mit: `ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac final.mp4`.
5. **Nur bf16** — das 19B-Modell wurde in bf16 trainiert; fp16 führt zu numerischer Instabilität.
6. **Batch in tmux** — führe es immer innerhalb von `tmux` auf Clore.ai-Mieten, um SSH-Verbindungen zu überleben.
7. **Modell-ID überprüfen** — da LTX-2 frisch veröffentlicht ist (Jan 2026), überprüfe die genaue HuggingFace-Modell-ID auf der [Lightricks HF-Seite](https://huggingface.co/Lightricks) bevor du startest.

## Fehlerbehebung

| Problem                          | Behebe                                                                                                                          |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `OutOfMemoryError`               | Aktivieren Sie `pipe.enable_model_cpu_offload()`; stelle ≥64 GB System-RAM sicher                                               |
| Kein Audio in der Ausgabe        | Die Audiogenerierung kann ein explizites Flag oder aktualisierte diffusers erfordern; prüfe die Modellkarte für die neueste API |
| Audio/Video-Desynchronisation    | Erneut mit ffmpeg muxen: `ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -shortest out.mp4`                                |
| Sehr langsame Generierung        | Das 19B-Modell ist rechenintensiv; \~2–4 Min. pro 5-Sekunden-Clip auf einer RTX 4090 sind zu erwarten                           |
| NaN-Ausgaben                     | Verwenden Sie `torch.bfloat16` — fp16 wird für dieses Modellmaß nicht unterstützt                                               |
| Festplattenplatzfehler           | Das Modell ist \~40 GB; stelle vor dem Herunterladen ≥80 GB freien Speicher sicher                                              |
| `ModuleNotFoundError: soundfile` | `pip install soundfile` — wird für den WAV-Audioexport benötigt                                                                 |
