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

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

***

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

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

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

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

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

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

***

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

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

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

***

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

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

{% hint style="info" %}
Clore.ai предлагает инстансы A100 40 ГБ по цене от \~$0.60–$0.90/час. Для Mochi-1 в полном качестве это наиболее экономичный выбор.
{% endhint %}

***

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

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

```dockerfile
FROM pytorch/pytorch:2.4.1-cuda12.4-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-образа Mochi-1 на Docker Hub нет. Вам нужно собрать из Dockerfile выше. Альтернативно можно использовать `pytorch/pytorch:2.4.1-cuda12.4-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>
```

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

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

***

## Шаг 7 — Сгенерируйте своё первое видео

### Примеры запросов

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

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

**Экшн-сцена:**

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

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

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

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

| Параметр       | Значение                   |
| -------------- | -------------------------- |
| Шаги           | 64                         |
| Guidance Scale | 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"Сохранено: {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"
)

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

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

***

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

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

```
torch.cuda.OutOfMemoryError: CUDA out of memory
```

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

1. Добавьте `--cpu_offload` к команде gradio
2. Включите VAE slicing: `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 scale (диапазон 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.35/час    | \~10–15 мин                  |
| A100 40GB    | 40 ГБ  | \~$0.70/ч      | \~3–5 мин                    |
| A100 80GB    | 80 ГБ  | \~$1.20/ч      | \~2–3 мин                    |
| 2× A100 80ГБ | 160 ГБ | \~$2.20/час    | \~60–90 сек                  |

***

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

Mochi-1 требует много VRAM — 10‑миллиардная модель требует внимательного подбора GPU.

| GPU          | VRAM   | Цена Clore.ai | Режим                                | Время генерации 5‑секундного видео |
| ------------ | ------ | ------------- | ------------------------------------ | ---------------------------------- |
| RTX 4090     | 24 ГБ  | \~$0.70/ч     | только квантованный fp8              | \~10–15 мин                        |
| A100 40GB    | 40 ГБ  | \~$1.20/ч     | рекомендуется bf16                   | \~3–5 мин                          |
| A100 80GB    | 80 ГБ  | \~$2.00/ч     | полный bf16, быстро                  | \~2–3 мин                          |
| 2× A100 80ГБ | 160 ГБ | \~$4.00/час   | тензорный параллелизм, самый быстрый | \~60–90 сек                        |

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

**Лучшее соотношение цена/качество:** A100 40 ГБ по \~$1.20/час генерирует 5‑секундный клип за 3–5 минут. Это \~$0.08–0.10 за клип — значительно дешевле, чем Runway ML ($0.25–0.50/клип) или подписки 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.
