> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-ru/generaciya-video/hunyuan-video.md).

# Hunyuan Video

Создавайте высококачественные видео с помощью открытого Hunyuan Video от Tencent.

{% hint style="success" %}
Все примеры можно запускать на GPU-серверах, арендованных через [маркетплейс CLORE.AI](https://clore.ai/marketplace).
{% endhint %}

## Аренда на CLORE.AI

1. Перейдите на [маркетплейс CLORE.AI](https://clore.ai/marketplace)
2. Отфильтруйте по типу GPU, объёму VRAM и цене
3. Выберите **On-Demand** (фиксированная ставка) или **Spot** (цена ставки)
4. Настройте свой заказ:
   * Выберите Docker-образ
   * Установите порты (TCP для SSH, HTTP для веб-интерфейсов)
   * При необходимости добавьте переменные окружения
   * Введите команду запуска
5. Выберите способ оплаты: **CLORE**, **BTC**, или **USDT/USDC**
6. Создайте заказ и дождитесь развертывания

### Получите доступ к своему серверу

* Найдите данные для подключения в **Мои заказы**
* Веб-интерфейсы: используйте URL HTTP-порта
* SSH: `ssh -p <port> root@<proxy-address>`

## Что такое Hunyuan Video?

Hunyuan Video от Tencent предлагает:

* Высококачественная генерация видео по тексту
* Видеоклипы длительностью более 5 секунд
* Разрешение 720p
* Открытый исходный код и коммерческое использование

## Ресурсы

* **Модель:** [tencent/HunyuanVideo](https://huggingface.co/tencent/HunyuanVideo)
* **GitHub:** [Tencent/HunyuanVideo](https://github.com/Tencent/HunyuanVideo)
* **Статья:** [Статья HunyuanVideo](https://arxiv.org/abs/2412.03603)

## Рекомендуемое оборудование

| Компонент | Минимум       | Рекомендуется | Оптимально  |
| --------- | ------------- | ------------- | ----------- |
| GPU       | RTX 4090 24GB | A100 40 ГБ    | A100 80 ГБ  |
| VRAM      | 24 ГБ         | 40 ГБ         | 80 ГБ       |
| CPU       | 8 ядер        | 16 ядер       | 32 ядра     |
| ОЗУ       | 32GB          | 64GB          | 128 ГБ      |
| Хранилище | 100GB NVMe    | 200 ГБ NVMe   | 500 ГБ NVMe |
| Интернет  | 500 Мбит/с    | 1 Гбит/с      | 1 Гбит/с    |

## Быстрое развертывание на CLORE.AI

**Docker-образ:**

```
pytorch/pytorch:2.11.0-cuda12.8-cudnn9-devel
```

**Порты:**

```
22/tcp
7860/http
```

**Команда:**

```bash
git clone https://github.com/Tencent/HunyuanVideo.git && \
cd HunyuanVideo && \
pip install -r requirements.txt && \
python sample_video.py --prompt "Кот, идущий по саду"
```

## Доступ к вашему сервису

После развертывания найдите свой `http_pub` URL в **Мои заказы**:

1. Перейдите на **Мои заказы** страницу
2. Нажмите на свой заказ
3. Найдите `http_pub` URL (например, `abc123.clorecloud.net`)

Используйте `https://YOUR_HTTP_PUB_URL` вместо `localhost` в примерах ниже.

## Установка

```bash
git clone https://github.com/Tencent/HunyuanVideo.git
cd HunyuanVideo
pip install -r requirements.txt

# Скачать модели
python download_models.py
```

## Что вы можете создать

### Маркетинговый контент

* Видео-презентации продуктов
* Клипы для социальных сетей
* Промо-анимации

### Творческие проекты

* Идеи для музыкальных клипов
* Прототипы короткометражных фильмов
* Арт-инсталляции

### Образование и обучение

* Черновики объясняющих видео
* Концепции учебных материалов
* Визуализация концепций

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

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

pipe = HunyuanVideoPipeline.from_pretrained(
    "tencent/HunyuanVideo",
    torch_dtype=torch.float16
)
pipe.to("cuda")
pipe.enable_model_cpu_offload()
pipe.vae.enable_tiling()

prompt = "Величественный орёл парит над заснеженными горами, кинематографическое освещение, 4K"

video_frames = pipe(
    prompt=prompt,
    num_frames=45,
    num_inference_steps=50,
    guidance_scale=7.0
).frames[0]

export_to_video(video_frames, "eagle.mp4", fps=15)
```

## Расширенная генерация

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

pipe = HunyuanVideoPipeline.from_pretrained(
    "tencent/HunyuanVideo",
    torch_dtype=torch.float16
)
pipe.to("cuda")
pipe.enable_model_cpu_offload()
pipe.vae.enable_tiling()
pipe.vae.enable_slicing()

video_frames = pipe(
    prompt="Таймлапс распускающегося цветка, макросъёмка, детализированные лепестки",
    negative_prompt="размыто, низкое качество, искажённое, некрасивое",
    num_frames=45,
    height=544,
    width=960,
    num_inference_steps=50,
    guidance_scale=7.0,
    generator=torch.Generator("cuda").manual_seed(42)
).frames[0]

export_to_video(video_frames, "flower_bloom.mp4", fps=15)
```

## Примеры промптов

### Природа и пейзажи

```python
prompts = [
    "Северное сияние, танцующее над замёрзшим озером, таймлапс, эфирное",
    "Океанские волны разбиваются о пляж из вулканического чёрного песка, замедленная съёмка",
    "Гроза над пшеничным полем, драматическое освещение, 4K",
    "Лепестки сакуры падают в японском саду, весна, умиротворённо"
]
```

### Научная фантастика и фэнтези

```python
prompts = [
    "Космический корабль стартует из футуристического города, кинематографично, детально",
    "Дракон летит сквозь облака на закате, эпично, фэнтези",
    "Робот идёт по улицам, освещённым неоном, киберпанк, дождь",
    "В древнем лесу открывается магический портал, мистические огни"
]
```

### Абстрактное и художественное

```python
prompts = [
    "Капли чернил, растекающиеся в воде, макро, красочно, абстрактно",
    "Геометрические фигуры, изменяющие форму и трансформирующиеся, motion graphics",
    "Светопись в темноте, эффект длинной выдержки, ярко"
]
```

## Пакетная генерация

```python
import os
import torch
from diffusers import HunyuanVideoPipeline
from diffusers.utils import export_to_video

pipe = HunyuanVideoPipeline.from_pretrained("tencent/HunyuanVideo", torch_dtype=torch.float16)
pipe.to("cuda")
pipe.enable_model_cpu_offload()
pipe.vae.enable_tiling()

prompts = [
    "Подводный коралловый риф с разноцветными рыбами",
    "Таймлапс ночного городского трафика, световые следы",
    "Бабочка, выходящая из кокона, документальный фильм о природе"
]

output_dir = "./videos"
os.makedirs(output_dir, exist_ok=True)

for i, prompt in enumerate(prompts):
    print(f"Генерируется {i+1}/{len(prompts)}: {prompt[:50]}...")

    video_frames = pipe(
        prompt=prompt,
        num_frames=45,
        num_inference_steps=50,
        guidance_scale=7.0
    ).frames[0]

    export_to_video(video_frames, f"{output_dir}/video_{i:03d}.mp4", fps=15)
```

## Интерфейс Gradio

```python
import gradio as gr
import torch
from diffusers import HunyuanVideoPipeline
from diffusers.utils import export_to_video
import tempfile

pipe = HunyuanVideoPipeline.from_pretrained("tencent/HunyuanVideo", torch_dtype=torch.float16)
pipe.to("cuda")
pipe.enable_model_cpu_offload()
pipe.vae.enable_tiling()

def generate(prompt, negative_prompt, num_frames, steps, guidance, seed):
    generator = torch.Generator("cuda").manual_seed(seed) if seed > 0 else None

    video_frames = pipe(
        prompt=prompt,
        negative_prompt=negative_prompt,
        num_frames=num_frames,
        num_inference_steps=steps,
        guidance_scale=guidance,
        generator=generator
    ).frames[0]

    with tempfile.NamedTemporaryFile(suffix=".mp4", delete=False) as f:
        export_to_video(video_frames, f.name, fps=15)
        return f.name

demo = gr.Interface(
    fn=generate,
    inputs=[
        gr.Textbox(label="Запрос", lines=3),
        gr.Textbox(label="Негативный запрос", value="размыто, низкое качество"),
        gr.Slider(16, 60, value=45, step=1, label="Кадры"),
        gr.Slider(20, 100, value=50, step=5, label="Шаги"),
        gr.Slider(3, 12, value=7, step=0.5, label="Направляющий коэффициент"),
        gr.Number(value=-1, label="Зерно")
    ],
    outputs=gr.Video(label="Сгенерированное видео"),
    title="Hunyuan Video - текст в видео на CLORE.AI"
)

demo.launch(server_name="0.0.0.0", server_port=7860)
```

## Производительность

| Разрешение | Кадры | GPU        | Время   |
| ---------- | ----- | ---------- | ------- |
| 544x960    | 45    | RTX 4090   | \~5 мин |
| 544x960    | 45    | A100 40 ГБ | \~3 мин |
| 544x960    | 45    | A100 80 ГБ | \~2 мин |
| 720x1280   | 45    | A100 80 ГБ | \~4 мин |

## Распространённые проблемы и решения

### Недостаточно памяти

**Проблема:** Недостаточно памяти CUDA на GPU с 24 ГБ

**Решения:**

```python

# Включить все оптимизации памяти
pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()  # Более агрессивно
pipe.vae.enable_tiling()
pipe.vae.enable_slicing()

# Уменьшить число кадров и разрешение
video = pipe(prompt, num_frames=24, height=480, width=720).frames[0]
```

### Медленная генерация

**Проблема:** Слишком долго генерируется

**Решения:**

* Уменьшите `num_inference_steps` (30-40 по-прежнему дают хорошие результаты)
* Уменьшите `num_frames` (24 кадра = 1,6 с при 15 fps)
* Используйте GPU A100 для более быстрой обработки
* Убедитесь, что у вас есть NVMe-накопитель для загрузки модели

### Низкое качество видео

**Проблема:** Размытое или непоследовательное движение

**Решения:**

* Увеличьте `num_inference_steps` до 75–100
* Измените `guidance_scale` (6–8 работает лучше всего)
* Пишите более подробные запросы
* Добавляйте негативные подсказки, чтобы избежать проблем

### Артефакты видео

**Проблема:** Мерцание или временные несоответствия

**Решения:**

* Используйте постоянное зерно для воспроизводимости
* Избегайте запросов с быстрым движением
* Выполните постобработку со стабилизацией видео

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

{% hint style="danger" %}
**Не хватает памяти**
{% endhint %}

* Для Hunyuan требуется минимум 24 ГБ VRAM
* Для лучших результатов используйте A100 с 40/80 ГБ
* Уменьшите длительность/разрешение видео

### Генерация видео не удаётся

* Проверьте, что все файлы модели загружены корректно
* Убедитесь, что достаточно места на диске (100 ГБ+)
* Проверьте совместимость CUDA и PyTorch

### Низкое качество видео

* Увеличьте число шагов вывода
* Используйте более описательные запросы
* Проверьте, что входное разрешение соответствует ожидаемому

### Медленная генерация

* Генерация видео требует больших вычислительных ресурсов
* Используйте A100/H100 для более быстрых результатов
* Сначала попробуйте более короткие клипы

## Оценка стоимости

Типичные цены на маркетплейсе CLORE.AI (по состоянию на 2024 год):

| GPU        | Почасовая ставка | Дневная ставка | 4-часовая сессия |
| ---------- | ---------------- | -------------- | ---------------- |
| RTX 3060   | \~$0.03          | \~$0.70        | \~$0.12          |
| RTX 3090   | \~$0.06          | \~$1.50        | \~$0.25          |
| RTX 4090   | \~$0.10          | \~$2.30        | \~$0.40          |
| A100 40 ГБ | \~$0.17          | \~$4.00        | \~$0.70          |
| A100 80 ГБ | \~$0.25          | \~$6.00        | \~$1.00          |

*Цены зависят от провайдера и спроса. Проверьте* [*маркетплейс CLORE.AI*](https://clore.ai/marketplace) *актуальные тарифы.*

**Сэкономьте деньги:**

* Используйте **Spot** рынок для прерываемых задач — примерно треть серверов оценивает spot-цены ниже on-demand (медиана \~13% скидки), остальные совпадают с ними
* Платите **CLORE** токенами
* Сравните цены у разных провайдеров

## Дальнейшие шаги

* CogVideoX — альтернатива T2V
* Wan2.1 Video — ещё один вариант T2V
* AnimateDiff — анимация изображений


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-ru/generaciya-video/hunyuan-video.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
