# Генерация в реальном времени LTX-Video

LTX-Video от Lightricks — самая быстрая модель для генерации видео с открытым исходным кодом. На RTX 4090 она создаёт 5-секундный клип 768×512 примерно за 4 секунды — быстрее реального времени воспроизведения. Модель поддерживает как преобразование текста в видео (T2V), так и преобразование изображения в видео (I2V) через нативную `поддержкой diffusers` интеграцию через `LTXPipeline` и `LTXImageToVideoPipeline`.

Аренда GPU на [Clore.ai](https://clore.ai/) даёт вам мгновенный доступ к аппаратным средствам, необходимым LTX-Video, без предварительных вложений и с почасовой оплатой.

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

* **Быстрее реального времени** — 5-секундное видео сгенерировано примерно за 4 секунды на RTX 4090.
* **Текст в видео** — создавать клипы по описаниям на естественном языке.
* **Изображение в видео** — анимировать статическое эталонное изображение с управлением движением и камерой.
* **Лёгкая архитектура** — видео DiT с 2 млрд параметров и компактным латентным пространством.
* **Нативные diffusers** — `LTXPipeline` и `LTXImageToVideoPipeline` в `diffusers >= 0.32`.
* **Открытые веса** — лицензия Apache-2.0; разрешено полное коммерческое использование.
* **Временной VAE** — коэффициент сжатия 1:192 по пространству и времени; эффективное декодирование.

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

| Компонент            | Минимум | Рекомендуется |
| -------------------- | ------- | ------------- |
| VRAM GPU             | 16 ГБ   | 24 ГБ         |
| ОЗУ системы          | 16 ГБ   | 32 ГБ         |
| Диск                 | 15 ГБ   | 30 GB         |
| Python               | 3.10+   | 3.11          |
| CUDA                 | 12.1+   | 12.4          |
| поддержкой diffusers | 0.32+   | latest        |

**Рекомендация Clore.ai по GPU:** Один **RTX 4090** (24 ГБ, \~$0.5–2/день) идеален для максимальной пропускной способности. Один **RTX 3090** (24 ГБ, \~$0.3–1/день) всё ещё работает быстрее многих конкурирующих моделей при доле стоимости.

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

```bash
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
pip install diffusers transformers accelerate sentencepiece imageio[ffmpeg]

python -c "import torch; print(torch.cuda.get_device_name(0))"
```

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

### Текст в видео

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

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

prompt = (
    "Съёмка с дрона над бирюзовым коралловым рифом, "
    "стая тропических рыб, мелькающих внизу, свет золотого часа "
    "преломляющийся через поверхность воды"
)

video_frames = pipe(
    prompt=prompt,
    negative_prompt="размыто, низкое качество, искажено",
    num_frames=121,               # ~5 сек при 24 fps
    width=768,
    height=512,
    num_inference_steps=30,
    guidance_scale=7.5,
    generator=torch.Generator("cuda").manual_seed(0),
).frames[0]

export_to_video(video_frames, "coral_reef.mp4", fps=24)
print("Saved coral_reef.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",
    torch_dtype=torch.bfloat16,
)
pipe.to("cuda")

image = Image.open("cityscape.png").resize((768, 512))

video_frames = pipe(
    prompt="Камера медленно панорамирует вправо, городские огни зажигаются в сумерках",
    negative_prompt="статичное, размытое",
    image=image,
    num_frames=121,
    num_inference_steps=30,
    guidance_scale=7.5,
).frames[0]

export_to_video(video_frames, "cityscape_animated.mp4", fps=24)
```

### Скрипт пакетной генерации

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

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

prompts = [
    "Кот, потягивающийся на солнечном подоконнике, плавающие частицы пыли",
    "Вид с воздуха на волны, разбивающиеся о чёрный вулканический песок",
    "Таймлапс штормовых облаков, катящихся по прерии",
]

for i, prompt in enumerate(prompts):
    frames = pipe(
        prompt=prompt,
        num_frames=121,
        width=768,
        height=512,
        num_inference_steps=30,
        guidance_scale=7.5,
    ).frames[0]
    export_to_video(frames, f"batch_{i:03d}.mp4", fps=24)
    print(f"[{i+1}/{len(prompts)}] Выполнено")
```

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

1. **Тест производительности** — на RTX 4090 LTX-Video генерирует 121 кадр примерно за 4 секунды; используйте это как проверку, что ваша арендованная машина работает корректно.
2. **точность bf16** — контрольная точка обучалась в bf16; не переключайтесь на fp16, иначе рискуете ухудшить качество.
3. **Кеширование весов** — установите `HF_HOME=/workspace/hf_cache` на постоянном томе. Модель занимает \~6 ГБ; повторная загрузка при каждом запуске контейнера тратит время.
4. **Проектирование подсказок** — LTX-Video хорошо реагирует на кинематографический язык: "съёмка с дрона", "замедленное движение", "золотой час", "трековая съёмка". Будьте конкретны относительно движения камеры.
5. **Пакетная генерация ночью** — LTX-Video достаточно быстр, чтобы генерировать сотни клипов в час на 4090. Очередьте подсказки из файла и дайте ему работать.
6. **SSH + tmux** — всегда запускайте генерацию внутри `tmux` сессии, чтобы разорванные соединения не прерывали долгие пакетные задания.
7. **Мониторинг VRAM** — `watch -n1 nvidia-smi` в втором терминале, чтобы убедиться, что вы не используете swap.

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

| Проблема                                 | Исправить                                                                                          |
| ---------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `OutOfMemoryError`                       | Уменьшите `num_frames` до 81 или `ширина`/`высота` на 512×320                                      |
| Модель не найдена в diffusers            | Обновление: `pip install -U diffusers` — LTXPipeline требует diffusers ≥ 0.32                      |
| Чёрный или статичный вывод               | Убедитесь, что вы передаёте `negative_prompt`; увеличьте `guidance_scale` до 8–9                   |
| `ImportError: imageio`                   | `pip install imageio[ffmpeg]` — бэкенд ffmpeg необходим для экспорта в MP4                         |
| Медленное первое инференсирование        | Первый запуск компилирует CUDA-ядра и скачивает веса; последующие запуски быстрые                  |
| Артефакты полос цветности                | Используйте `torch.bfloat16` (не float16); bfloat16 имеет более широкий динамический диапазон      |
| Контейнер перезапущен в середине задания | Установите `HF_HOME` на постоянное хранилище; частичные загрузки с HF автоматически возобновляются |
