# 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                                                                 |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-ru/generaciya-video/ltx-video-2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
