# LTX-2 (аудио + видео)

LTX-2 (январь 2026) — модель второго поколения для видео от Lightricks и первая модель с открытыми весами, которая генерирует **синхронизированный звук вместе с видео** в одном прогоне. При 19 млрд параметров она создаёт клипы с эффектами фоли, атмосферным звуком и речью с синхронизацией губ без необходимости в отдельной аудио-модели. Архитектура опирается на преимущество по скорости оригинального LTX-Video, одновременно значительно расширяя возможности.

Аренда GPU на [Clore.ai](https://clore.ai/) — самый практичный способ запустить модель с 19 млрд параметров: не нужно покупать GPU за $2000, просто запустите машину и начинайте генерировать.

## Ключевые особенности

* **Родная генерация аудио** — эффекты фоли, окружающая атмосфера и синхронизированный с губами диалог, сгенерированные совместно с видеокадрами.
* **19 млрд параметров** — значительно более крупный трансформерный бэкбон по сравнению с LTX-Video v1, обеспечивающий более чёткие детали и более согласованное движение.
* **Текст-видео + изображение-видео** — обе модальности поддерживаются с выводом аудио.
* **До 720p разрешения** — более высокое качество вывода, чем у модели v1.
* **Совместное аудиовизуальное латентное пространство** — единый VAE кодирует и видео, и аудио, сохраняя их временную синхронизацию.
* **Открытые веса** — выпущено под разрешающей лицензией для коммерческого использования.
* **Интеграция с Diffusers** — совместимо с экосистемой Hugging Face `поддержкой diffusers` ecosystem.

## Требования

| Компонент            | Минимум             | Рекомендуется |
| -------------------- | ------------------- | ------------- |
| VRAM GPU             | 16 ГБ (с выгрузкой) | 24+ ГБ        |
| ОЗУ системы          | 32 ГБ               | 64 ГБ         |
| Диск                 | 50 ГБ               | 80 ГБ         |
| Python               | 3.10+               | 3.11          |
| CUDA                 | 12.1+               | 12.4          |
| поддержкой diffusers | 0.33+               | latest        |

**Рекомендация Clore.ai по GPU:** Один **RTX 4090** (24 ГБ, \~0,5–2 $/день) — минимум для комфортной генерации 720p с аудио. Для пакетных задач или более быстрой итерации фильтруйте по **dual-4090** или **A6000** (48 ГБ) объявления на маркетплейсе Clore.ai.

## Быстрый старт

```bash
# Установить зависимости
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
python -c "import torch; print(torch.cuda.get_device_name(0), torch.cuda.get_device_properties(0).total_mem // 1024**3, 'GB')"
```

## Примеры использования

### Текст-видео с аудио

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

# Загрузите LTX-2 (убедитесь, что у вас правильный ID модели при релизе)
pipe = LTXPipeline.from_pretrained(
    "Lightricks/LTX-Video-2",
    torch_dtype=torch.bfloat16,
)
pipe.to("cuda")
pipe.enable_model_cpu_offload()

prompt = (
    "Кузнец, кующий светящийся металл на наковальне, летят искры, "
    "ритмичный звон молота о сталь, фоновый шум мастерской"
)

output = pipe(
    prompt=prompt,
    negative_prompt="без звука, размыто, низкое качество",
    num_frames=121,
    width=1280,
    height=720,
    num_inference_steps=40,
    guidance_scale=7.0,
    generator=torch.Generator("cuda").manual_seed(42),
)

# Экспортировать видеокадры
export_to_video(output.frames[0], "blacksmith.mp4", fps=24)

# Экспортировать аудио, если оно доступно
if hasattr(output, "audio") and output.audio is not None:
    sf.write("blacksmith_audio.wav", output.audio, samplerate=16000)
    print("Аудио сохранено отдельно — объедините с помощью ffmpeg:")
    print("  ffmpeg -i blacksmith.mp4 -i blacksmith_audio.wav -c:v copy -c:a aac output.mp4")

print("Готово: blacksmith.mp4")
```

### Изображение-видео с синхронизацией губ и аудио

```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()

# Портрет для синхронизации губ
image = Image.open("portrait.png").resize((720, 1280))

output = pipe(
    prompt="Человек, говорящий 'Welcome to the future of AI video' с чёткой дикцией, нейтральный фон",
    image=image,
    num_frames=121,
    num_inference_steps=40,
    guidance_scale=7.0,
)

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

### Атмосферная сцена с фоли

```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")

# Подсказка с богатым аудио — опишите звуки явно
prompt = (
    "Дождь, падающий на жестяную крышу в тропической деревне, "
    "гром гремит вдалеке, птицы коротко щебечут между раскатами, "
    "лужи рябят на грунтовой тропинке"
)

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)
```

## Советы для пользователей Clore.ai

1. **Опишите звуки явно** — аудиоветка LTX-2 реагирует на аудиоподсказки в промпте. "Трескучий огонь", "шаги по гравию", "шум толпы" дают лучший фоли, чем расплывчатые описания.
2. **Выгрузка на CPU обязательна** — при 19 млрд параметров модели требуется `enable_model_cpu_offload()` на картах 24 ГБ. Планируйте 64 ГБ оперативной памяти системы.
3. **Постоянное хранилище** — чекпоинт модели занимает \~40 ГБ. Подключите постоянный том Clore.ai и установите `HF_HOME` чтобы избежать повторной загрузки при каждом перезапуске контейнера.
4. **Объединение аудио и видео** — если пайплайн выводит аудио отдельно, объедините с помощью: `ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac final.mp4`.
5. **Только bf16** — модель 19B обучалась в bf16; fp16 вызовет численную нестабильность.
6. **Запуск батчей в tmux** — всегда запускайте внутри `tmux` на аренде Clore.ai, чтобы пережить разрывы SSH-сессии.
7. **Проверьте ID модели** — поскольку LTX-2 только что выпущен (янв. 2026), проверьте точный ID модели на HuggingFace на странице [странице Lightricks на HF](https://huggingface.co/Lightricks) перед запуском.

## Устранение неполадок

| Проблема                         | Исправить                                                                                                                    |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `OutOfMemoryError`               | Включите `pipe.enable_model_cpu_offload()`; убедитесь в наличии ≥64 ГБ оперативной памяти системы                            |
| Нет аудио в выводе               | Генерация аудио может требовать явного флага или обновлённой версии diffusers; проверьте карточку модели для актуального API |
| Разсинхронизация аудио/видео     | Перемножьте (re-mux) с помощью ffmpeg: `ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -shortest out.mp4`               |
| Очень медленная генерация        | Модель 19B требует много вычислений; ожидайте \~2–4 минуты на 5-секундный клип на RTX 4090                                   |
| NaN в выводе                     | Используйте `torch.bfloat16` — fp16 не поддерживается для модели такого масштаба                                             |
| Ошибка места на диске            | Модель занимает \~40 ГБ; убедитесь, что перед загрузкой свободно ≥80 ГБ                                                      |
| `ModuleNotFoundError: soundfile` | `pip install soundfile` — требуется для экспорта аудио в WAV                                                                 |
