# Генерация видео FramePack

FramePack — это прорыв в генерации видео на ИИ: он может создавать видео длительностью до 2 минут, используя **всего 6 ГБ видеопамяти**. Построенный на архитектуре HunyuanVideo, ключевая инновация FramePack — эффективная упаковка кадров, так что память GPU остается постоянной независимо от длины видео. Это делает генерацию видео на ИИ доступной на бюджетных видеокартах, которые ранее были слишком ограничены.

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

* **Минимум 6 ГБ VRAM**: Работает на RTX 3060, RTX 3070, даже GTX 1060!
* **Видео до 2 минут**: Постоянное использование видеопамяти независимо от длины видео
* **Изображение в видео**: Анимируйте любое изображение с помощью текстового промпта
* **Включен Web UI**: Интерфейс на базе Gradio для простого использования
* **Построен на HunyuanVideo**: Использует архитектуру диффузии видео от Tencent
* **Открытый исходный код**: Репозиторий на GitHub с активной разработкой

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

| Компонент | Минимум      | Рекомендуется |
| --------- | ------------ | ------------- |
| GPU       | GTX 1060 6GB | RTX 4090 24GB |
| VRAM      | 6 ГБ         | 12ГБ+         |
| ОЗУ       | 16GB         | 32GB          |
| Диск      | 30GB         | 50GB          |
| CUDA      | 11.8+        | 12.0+         |
| Python    | 3.10+        | 3.11          |

**Рекомендуемый GPU на Clore.ai**: RTX 3080 10GB (\~$0.2–0.5/день) — отличное качество при низкой стоимости!

### Справка по скорости

| GPU           | Время на кадр | Видео из 60 кадров (\~2 с при 30 fps) |
| ------------- | ------------- | ------------------------------------- |
| RTX 3060 12GB | \~30 сек      | \~30 мин                              |
| RTX 3080 10GB | \~18 сек      | \~18 мин                              |
| RTX 4080 16GB | \~12 с        | \~12 мин                              |
| RTX 4090 24GB | \~8 с         | \~8 мин                               |
| RTX 5090 32GB | \~5 сек       | \~5 мин                               |

## Установка

```bash
# Клонировать репозиторий
git clone https://github.com/lllyasviel/FramePack.git
cd FramePack

# Создать conda-окружение (рекомендуется)
conda create -n framepack python=3.11 -y
conda activate framepack

# Установить зависимости
pip install -r requirements.txt

# Установить PyTorch с CUDA
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
```

### Настройка Docker

```bash
docker run --gpus all -p 7860:7860 \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  -v ./outputs:/app/outputs \
  ghcr.io/lllyasviel/framepack:latest
```

## Быстрый старт — Web UI

Самый простой способ использовать FramePack:

```bash
cd FramePack
python app.py --port 7860

# Для низкой видеопамяти (6 ГБ):
python app.py --port 7860 --low-vram

# Доступно по адресу http://localhost:7860
```

**Рабочий процесс Web UI:**

1. Загрузите исходное изображение (первый кадр)
2. Введите текстовый промпт, описывающий движение ("камера медленно приближается", "человек идет вперед")
3. Установите длительность видео (количество кадров)
4. Нажмите «Generate»
5. Скачайте MP4

## Использование

FramePack — это **веб-приложение Gradio**, а не библиотека Python. Основной интерфейс — веб UI.

### Рабочий процесс Web UI

1. Откройте `http://localhost:7860` после запуска
2. Загрузите исходное изображение (будет первым кадром)
3. Введите текстовый промпт, описывающий желаемое движение
4. Установите число кадров (больше = дольше видео)
5. Нажмите **Сгенерировать** → ждите → скачайте MP4

### Доступ к API через Gradio Client

Вы можете вызвать FramePack программно, используя Gradio API:

```python
from gradio_client import Client

# Подключиться к запущенному экземпляру FramePack
client = Client("http://localhost:7860")

# Сгенерировать видео из изображения + промпта
result = client.predict(
    "input_photo.jpg",                              # исходное изображение
    "the person smiles and turns their head slowly", # промпт
    60,                                              # количество кадров
    7.5,                                             # коэффициент руководства (guidance scale)
    30,                                              # шаги вывода (inference steps)
    42,                                              # seed
    api_name="/generate"
)
print(f"Видео сохранено в: {result}")
```

### Пакетная обработка с Gradio Client

```python
from gradio_client import Client
import glob

client = Client("http://localhost:7860")

prompts = [
    ("photo1.jpg", "легкое приближение камеры с мягким освещением"),
    ("photo2.jpg", "ветер развевает волосы, облака движутся"),
    ("photo3.jpg", "медленное отдаление, показывающее всю сцену"),
]

for img_path, prompt in prompts:
    result = client.predict(img_path, prompt, 60, 7.5, 30, -1, api_name="/generate")
    print(f"Готово: {img_path} → {result}")
```

## Руководство по разрешению

| VRAM  | Максимальное разрешение | Качество                      |
| ----- | ----------------------- | ----------------------------- |
| 6 ГБ  | 512×512                 | Подходит для социальных сетей |
| 8GB   | 640×640                 | Лучше детализация             |
| 10GB  | 512×768                 | Портрет/ландшафт              |
| 12GB  | 768×768                 | Высокое качество              |
| 24 ГБ | 1024×768                | Лучшее качество               |

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

* **Бюджетный вариант**: Это одна из немногих моделей видео на ИИ, которая работает на дешевых видеокартах ($0.15–0.3/день для RTX 3060!)
* **Используйте `--low-vram` флаг**: Необходим для видеокарт 6–8 ГБ — автоматически включает выгрузку на CPU
* **512×512 — нормально**: Для социальных сетей (TikTok, Reels) 512px вполне приемлемо
* **Длиннее ≠ больше VRAM**: В отличие от других видео-моделей, FramePack сохраняет VRAM постоянной — генерируйте более длинные видео свободно
* **Предварительно скачивайте модели**: При первом запуске скачивается \~15 ГБ. Запустите один раз, затем в вашей сессии Clore модели кэшируются
* **Совместите с апскейлингом**: Генерируйте в 512×512, затем используйте Real-ESRGAN для апскейла до 2K/4K

## Советы по промптам

Хорошие промпты описывают **движение**, а не только внешность:

```
✅ "камера медленно панорамирует вправо, открывая горный пейзаж"
✅ "человек моргает и мягко улыбается, ветер играет их волосами"
✅ "медленно отдаляться, показывая всё здание"

❌ "красивый закат" (движение не описано)
❌ "высокое качество, 4K, детализированно" (стилевые слова мало помогают)
```

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

| Проблема                   | Решение                                                                                     |
| -------------------------- | ------------------------------------------------------------------------------------------- |
| CUDA — недостаточно памяти | Используйте `--low-vram` флаг, уменьшите разрешение до 512×512                              |
| Очень медленная генерация  | Нормально для 6 ГБ GPU (\~30 с/кадр). Для ускорения в 4 раза используйте RTX 4090           |
| Чёрные/повреждённые кадры  | Обновите PyTorch: `pip install torch --upgrade`                                             |
| Загрузка модели зависла    | Проверьте место на диске (нужно 30 ГБ свободного). Попробуйте `HF_HUB_ENABLE_HF_TRANSFER=1` |
| Web UI не запускается      | Проверьте, что порт 7860 свободен: `lsof -i :7860`                                          |

## Дополнительное чтение

* [Репозиторий на GitHub](https://github.com/lllyasviel/FramePack)
* [HunyuanVideo (базовая модель)](https://github.com/Tencent/HunyuanVideo)
* [Сравнение GPU Clore.ai](https://docs.clore.ai/guides/guides_v2-ru/nachalo-raboty/gpu-comparison) — найдите самую дешевую видеокарту для ваших нужд
