> 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/mochi-1.md).

# Видео Mochi-1

**Mochi-1** — это открытая модель Genmo для генерации видео с 10 миллиардами параметров, создающая вывод 848×480 @ 30 кадр/с с физически реалистичным движением. Она использует асимметричный диффузионный трансформер (AsymmDiT) и входит в число самых качественных открытых моделей для генерации видео по точности движения. Разверните её в GPU-облаке Clore.ai, чтобы создавать видео профессионального уровня за долю стоимости коммерческих API.

***

## Что такое Mochi-1?

Mochi-1 — это **модель с 10 миллиардами параметров** модель видеодиффузии, обученная создавать видео с:

* Плавным, физически правдоподобным движением
* Высокой временной согласованностью
* Сильным соответствием промпту
* разрешением 848×480 при 30 кадр/с

Она использует **асимметричный диффузионный трансформер** (AsymmDiT) — разные глубины энкодера для видео и текста — что обеспечивает эффективный вывод в масштабе. Веса выпущены под лицензией Genmo Open Source License, бесплатно для исследований и коммерческого использования.

**Основные характеристики модели:**

* 10 млрд параметров
* Нативный вывод 848×480 @ 30 кадр/с
* Высокая точность движения (входит в топ по результатам общественных бенчмарков)
* Доступна на Hugging Face с интеграцией diffusers
* Демо-интерфейс Gradio для удобного взаимодействия

***

## Предварительные требования

| Требование | Минимум  | Рекомендуется |
| ---------- | -------- | ------------- |
| VRAM GPU   | 24 ГБ    | 40–80 ГБ      |
| GPU        | RTX 4090 | A100 / H100   |
| ОЗУ        | 32 ГБ    | 64 ГБ         |
| Хранилище  | 60 ГБ    | 100 ГБ        |
| CUDA       | 12.8+    | 12.8+         |

{% hint style="warning" %}
Mochi-1 — крупная модель (≈40 ГБ в fp8 / ≈80 ГБ в bf16). Один RTX 4090 (24 ГБ) может запускать её с квантованием. Для полного качества используйте A100 40 ГБ или больше. Поддерживаются многопроцессорные конфигурации.
{% endhint %}

***

## Шаг 1 — Арендуйте GPU на Clore.ai

1. Перейдите на [маркетплейсе clore.ai](https://clore.ai) и войдите в систему.
2. Нажмите **Маркетплейс** и отфильтруйте:
   * VRAM: **≥ 24 ГБ** (минимум RTX 4090, рекомендуется A100)
   * Для многопроцессорных конфигураций: фильтр по количеству GPU ≥ 2
3. Выберите свой сервер и нажмите **Настроить**.
4. Установите образ Docker как `pytorch/pytorch:2.11.0-cuda12.8-cudnn9-devel` (базовый образ — мы установим Mochi внутри).
5. Откройте порты: `22` (SSH) и `7860` (интерфейс Gradio).
6. Нажмите **Аренда**.

{% hint style="info" %}
Clore.ai предлагает инстансы A100 40 ГБ, начиная от [голое железо](https://clore.ai/bare-metal). Для Mochi-1 в полном качестве это наиболее экономичный выбор.
{% endhint %}

***

## Шаг 2 — Пользовательский Dockerfile

Соберите свой образ или используйте этот `Dockerfile` чтобы создать готовую к использованию среду Mochi-1:

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

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y \\
    git wget curl ffmpeg \\
    libgl1 libglib2.0-0 \\
    openssh-server \\
    && rm -rf /var/lib/apt/lists/*

# Настройка SSH
RUN mkdir /var/run/sshd && \\
    echo 'root:clore123' | chpasswd && \\
    sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \\
    sed -i 's/UsePAM yes/UsePAM no/' /etc/ssh/sshd_config

WORKDIR /workspace

# Клонировать репозиторий Mochi-1
RUN git clone https://github.com/genmoai/mochi /workspace/mochi

# Установить зависимости Python
RUN cd /workspace/mochi && \\
    pip install --upgrade pip && \\
    pip install -e . && \
    pip install gradio huggingface_hub

EXPOSE 22 7860

CMD service ssh start && \\
    echo "Среда Mochi-1 готова. Запустите скрипт загрузки, затем демо." && \\
    tail -f /dev/null
```

### Сборка и отправка в Docker Hub

Соберите образ локально и отправьте его в свой аккаунт Docker Hub (замените `YOUR_DOCKERHUB_USERNAME` на ваше фактическое имя пользователя):

```bash
docker build -t YOUR_DOCKERHUB_USERNAME/mochi-1:latest .
docker push YOUR_DOCKERHUB_USERNAME/mochi-1:latest
```

затем используйте `YOUR_DOCKERHUB_USERNAME/mochi-1:latest` в качестве своего Docker-образа в Clore.ai.

{% hint style="info" %}
В Docker Hub нет официального предварительно собранного Docker-образа для Mochi-1. Нужно собрать его из Dockerfile выше. В качестве альтернативы используйте `pytorch/pytorch:2.11.0-cuda12.8-cudnn9-devel` как базовый образ напрямую и выполните команды настройки вручную через SSH.
{% endhint %}

***

## Шаг 3 — Подключение по SSH

После запуска вашего инстанса:

```bash
ssh root@<clore-host> -p <assigned-ssh-port>
```

***

## Шаг 4 — Загрузка весов Mochi-1

Веса модели размещены на Hugging Face. Скачайте их через `huggingface_hub` CLI:

```bash
cd /workspace

# Установите huggingface-cli, если он не установлен
pip install -U huggingface_hub

# Загрузка весов Mochi-1 (~40 ГБ для bf16)
huggingface-cli download genmo/mochi-1-preview \\
    --local-dir /workspace/mochi-weights \\
    --include "*.safetensors" "*.json" "*.txt"
```

{% hint style="info" %}
Полная модель bf16 занимает примерно 80 ГБ.  `fp8` квантованная версия занимает \~40 ГБ и работает на RTX 4090 (24 ГБ) с выгрузкой на CPU. Укажите `--include "*fp8*"` чтобы загрузить только квантованные веса.
{% endhint %}

### Альтернатива: загрузить только квантованные веса fp8

```bash
huggingface-cli download genmo/mochi-1-preview \\
    --local-dir /workspace/mochi-weights \\
    --include "*fp8*" "*.json" "*.txt"
```

***

## Шаг 5 — Запуск демо Gradio

Mochi-1 поставляется с веб-интерфейсом Gradio для простого создания видео по тексту:

```bash
cd /workspace/mochi

python demos/gradio_ui.py \\
    --model_dir /workspace/mochi-weights \\
    --share False \\
    --host 0.0.0.0 \
    --port 7860
```

**Для режима с низким VRAM (RTX 4090, 24 ГБ):**

```bash
python demos/gradio_ui.py \\
    --model_dir /workspace/mochi-weights \\
    --cpu_offload \\
    --share False \\
    --host 0.0.0.0 \
    --port 7860
```

{% hint style="info" %}
Параметр `--cpu_offload` флаг переносит слои модели в оперативную память CPU, когда они не используются, снижая пиковое потребление VRAM до \~18–20 ГБ ценой примерно в 2 раза более медленной генерации.
{% endhint %}

***

## Шаг 6 — Доступ к веб-интерфейсу

Откройте браузер и перейдите по адресу:

```
http://<clore-host>:<public-port-7860>
```

Вы увидите интерфейс Gradio Mochi-1 с:

* Поле ввода текстового промпта
* Параметры генерации (шаги, scale guidance, seed)
* Плеер для вывода видео

***

## Шаг 7 — Создание вашего первого видео

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

**Сцена природы:**

```
Величественный водопад, ниспадающий по покрытым мхом скалам в пышном тропическом лесу, 
золотистый солнечный свет, пробивающийся сквозь полог леса, медленная кинематографическая панорама
```

**Сцена действия:**

```
Гепард мчится на полной скорости по открытой саванне, 
пыль поднимается позади него, драматичный широкий план, документальный фильм о дикой природе в 4K
```

**Абстрактное/художественное:**

```
Яркая краска, закручивающаяся в воде в экстремально замедленной съемке, 
яркие синие и оранжевые пигменты смешиваются, макрообъектив, студийное освещение
```

### Рекомендуемые настройки

| Параметр         | Значение                   |
| ---------------- | -------------------------- |
| Шаги             | 64                         |
| Масштаб guidance | 4.5                        |
| Длительность     | 5,1 секунды (по умолчанию) |
| Разрешение       | 848×480 (родное)           |

{% hint style="info" %}
Время генерации сильно зависит от GPU. На A100 80 ГБ 5-секундное видео занимает примерно **2–4 минуты**. На RTX 4090 с выгрузкой на CPU ожидайте **8–15 минут**.
{% endhint %}

***

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

Для программной генерации используйте конвейер diffusers:

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

# Загрузить пайплайн
pipe = MochiPipeline.from_pretrained(
    "/workspace/mochi-weights",
    torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload()
pipe.enable_vae_slicing()

# Генерировать видео
with torch.autocast("cuda", torch.bfloat16, cache_enabled=False):
    frames = pipe(
        prompt="Золотистый ретривер играет в апорт на солнечном пляже, кинематографично",
        num_frames=84,
        guidance_scale=4.5,
        num_inference_steps=64,
        generator=torch.Generator("cuda").manual_seed(42)
    ).frames[0]

# Экспорт
export_to_video(frames, "output.mp4", fps=30)
print("Видео сохранено в output.mp4")
```

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

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

pipe = MochiPipeline.from_pretrained(
    "/workspace/mochi-weights",
    torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload()

prompts = [
    "Бабочка, садящаяся на цветок в замедленной съемке, макросъемка",
    "Океанские волны, разбивающиеся о скалистые утесы на закате, съемка с дрона",
    "Северное сияние, танцующее по звездному небу над замерзшим озером",
]

os.makedirs("/workspace/outputs", exist_ok=True)

for i, prompt in enumerate(prompts):
    frames = pipe(
        prompt=prompt,
        num_frames=84,
        guidance_scale=4.5,
        num_inference_steps=64,
    ).frames[0]
    
    output_path = f"/workspace/outputs/video_{i:03d}.mp4"
    export_to_video(frames, output_path, fps=30)
    print(f"Saved: {output_path}")
```

***

## Инференс на нескольких GPU

Для более быстрой генерации с несколькими GPU:

```python
import torch
from diffusers import MochiPipeline

# Использовать device_map для автоматического распределения по нескольким GPU
pipe = MochiPipeline.from_pretrained(
    "/workspace/mochi-weights",
    torch_dtype=torch.bfloat16,
    device_map="balanced"
)

# С несколькими GPU не нужен cpu_offload
frames = pipe(
    prompt="Ваш промпт здесь",
    num_frames=84,
    guidance_scale=4.5,
    num_inference_steps=64,
).frames[0]
```

{% hint style="info" %}
Clore.ai предлагает многопроцессорные серверы (2×, 4× RTX 4090 или A100). С 2× A100 80 ГБ время генерации сокращается до менее чем 60 секунд для 5-секундного клипа.
{% endhint %}

***

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

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

```
torch.cuda.OutOfMemoryError: недостаточно памяти CUDA
```

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

1. Добавьте `--cpu_offload` к команде gradio
2. Включите разбиение VAE: `pipe.enable_vae_slicing()`
3. Уменьшите `num_frames` (попробуйте 24 вместо 84)
4. Используйте квантованные веса fp8 вместо bf16

### Медленная загрузка модели

**Решение:** Убедитесь, что веса находятся на быстром NVMe-накопителе, а не на HDD. Проверьте скорость хранилища:

```bash
dd if=/dev/zero of=/workspace/test bs=1M count=1000 conv=fdatasync
```

### Артефакты видео / временное мерцание

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

* Увеличьте число шагов инференса (попробуйте 80–100)
* Настройте масштаб guidance (обычно лучше всего диапазон 3.5–5.0)
* Используйте конкретный seed для воспроизводимости и итераций

### Порт 7860 недоступен

Проверьте, что порт корректно открыт в Clore.ai и что сервер Gradio привязан к `0.0.0.0`:

```bash
ss -tlnp | grep 7860
```

***

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

| GPU          | VRAM   | Ориентировочная цена                        | Время видео 5 с |
| ------------ | ------ | ------------------------------------------- | --------------- |
| RTX 4090     | 24 ГБ  | $0.14–0.42/ч                                | \~10–15 мин     |
| A100 40 ГБ   | 40 ГБ  | [голое железо](https://clore.ai/bare-metal) | \~3–5 мин       |
| A100 80 ГБ   | 80 ГБ  | [голое железо](https://clore.ai/bare-metal) | \~2–3 мин       |
| 2× A100 80GB | 160 ГБ | [голое железо](https://clore.ai/bare-metal) | \~60–90 сек     |

***

## Рекомендации по GPU для Clore.ai

{% hint style="warning" %}
**Многопроцессорные конфигурации с GPU класса 80GB не представлены на маркетплейсе Clore.ai.** Самые крупные доступные сейчас машины — это 4× RTX PRO 6000 Blackwell (по 96GB, всего 380GB) и 8–11× RTX 5090 (по 32GB). Ёмкость A100 / H200 / B200 продаётся как [голое железо](https://clore.ai/bare-metal) по запросу. Проверьте [Цены и доступность GPU](/guides/guides_v2-ru/nachalo-raboty/pricing.md) перед выбором размера развёртывания.
{% endhint %}

Mochi-1 требует много VRAM — модели с 10 млрд параметров нужен тщательный выбор GPU.

| GPU          | VRAM   | Цена Clore.ai                               | Режим                                | Время генерации видео 5 с |
| ------------ | ------ | ------------------------------------------- | ------------------------------------ | ------------------------- |
| RTX 4090     | 24 ГБ  | $0.14–0.42/ч                                | только квантованный fp8              | \~10–15 мин               |
| A100 40 ГБ   | 40 ГБ  | [голое железо](https://clore.ai/bare-metal) | рекомендуется bf16                   | \~3–5 мин                 |
| A100 80 ГБ   | 80 ГБ  | [голое железо](https://clore.ai/bare-metal) | полный bf16, быстро                  | \~2–3 мин                 |
| 2× A100 80GB | 160 ГБ | [голое железо](https://clore.ai/bare-metal) | тензорный параллелизм, самый быстрый | \~60–90 сек               |

{% hint style="warning" %}
**RTX 3090 (24 ГБ) не рекомендуется** — режим fp8 в Mochi-1 требует минимум 24 ГБ и почти не оставляет запаса. RTX 4090 (24 ГБ) работает в fp8, но часто упирается в OOM на более длинных последовательностях. Для надежных результатов начните с A100 40 ГБ.
{% endhint %}

**Лучшее соотношение цены и качества:** A100 40GB за [голое железо](https://clore.ai/bare-metal) генерирует 5-секундный клип за 3–5 минут. Это примерно \~$0.08–0.10 за видеоклип — значительно дешевле, чем Runway ML ($0.25–0.50/clip) или подписки Pika Labs.

***

## Полезные ресурсы

* [Mochi-1 GitHub](https://github.com/genmoai/mochi)
* [Mochi-1 на Hugging Face](https://huggingface.co/genmo/mochi-1-preview)
* [Блог Genmo — релиз Mochi-1](https://www.genmo.ai/blog/mochi-1)
* [Документация Diffusers Mochi](https://huggingface.co/docs/diffusers/api/pipelines/mochi)
* [Руководство по промптам Mochi (сообщество)](https://github.com/genmoai/mochi/blob/main/README.md)


---

# 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/mochi-1.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.
