> ## Documentation Index
> Fetch the complete documentation index at: https://docs.laozhang.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Meta Muse Video API: цены и ролики до 60 секунд

> Как создать ролик со звуком длиной от 5 до 60 секунд через /v1/videos: текст в видео, первый и последний кадры, референсные изображения, продолжение видео и оплата за ролик.

Muse — модель генерации видео от Meta. В каждом ролике есть своя музыка и звуковые эффекты, а один запрос может вернуть цельный ролик длиной до 60 секунд. LaoZhang API берёт плату за видео: от \$0.30 за 5–10 секунд до \$1.55 за 60 секунд; вызывать модель может токен любой стандартной группы.

| Параметр | Значение |
| - | - |
| ID моделей | `muse-video` (5, 8 или 10 с); от `muse-video-20s` до `muse-video-60s` (20–60 с, по одной модели на каждые 10 с) |
| Создание задачи | `POST /v1/videos`, JSON или multipart |
| Получение задачи | `GET /v1/videos/{id}`; по завершении читайте `video_url` |
| Скачивание | Напрямую по `video_url` или `GET /v1/videos/{id}/content` |
| Группы токенов | `default`, `vip` или `svip` с режимом оплаты «сначала по использованию» (в консоли — 按量优先) |
| Цена | \$0.30–\$1.55 за видео; см. раздел «Цены» |
| Результат | 24 кадра/с со звуковой дорожкой; 1280×720 при 16:9, другие размеры — в разделе «Поля запроса» |
| Хранение | Ссылки на видео доступны 7 дней |
| Маршрут | В официальном API Meta пока нет модели генерации видео; этот маршрут подключён отдельно и тарифицируется самостоятельно |

![Пример Muse «текст в видео»: маяк на скалистом берегу на рассвете, волны разбиваются о камни](https://mintcdn.com/laozhangai-edd05f2c/HNpi8TQdPfniogkz/images/samples/muse-video-en-t2v.jpg?fit=max\&auto=format\&n=HNpi8TQdPfniogkz\&q=85\&s=cbb313bc8cdeb5db903cd14e366f2d43)

Результат примера «текст в видео» ниже: muse-video, 10 секунд, 16:9

## Создание токена

Добавьте токен в разделе [Управление токенами](https://api.laozhang.ai/token) с такими настройками:

| Настройка | Выбор |
| - | - |
| Группа | `default`, `vip` или `svip`; цена во всех трёх одинакова |
| Режим оплаты | Сначала по использованию (в консоли — 按量优先, рекомендуется) или оплата за вызов (按次计费); токен только с оплатой по использованию (按量计费) эту модель вызвать не может |
| Совет | Заведите отдельный токен для видео, чтобы сопоставлять списания с задачами в журнале вызовов |

Аккаунт Meta и отдельная группа для видео не нужны.

## Цены

Видео Muse оплачивается за ролик. Цена не зависит ни от длительности в пределах модели, ни от соотношения сторон, ни от того, передаёте ли вы изображения:

| Модель | Длина ролика | За видео |
| - | - | -: |
| `muse-video` | 5, 8 или 10 с | \$0.30 |
| `muse-video-20s` | 20 с; продолженное видео — 20 с в сумме, включая исходное | \$0.55 |
| `muse-video-30s` | 30 с; продолженное видео — 30 с в сумме, включая исходное | \$0.80 |
| `muse-video-40s` | 40 с; продолженное видео — 40 с в сумме, включая исходное | \$1.05 |
| `muse-video-50s` | 50 с; продолженное видео — 50 с в сумме, включая исходное | \$1.30 |
| `muse-video-60s` | 60 с; продолженное видео — 60 с в сумме, включая исходное | \$1.55 |

Как работают списания:

* Деньги списываются при создании задачи, а неудавшиеся задачи возвращаются полностью.
* Запросы, отклонённые при отправке из-за ошибки параметров, не оплачиваются.
* Каждая повторная отправка создаёт новую задачу и оплачивается снова, поэтому храните соответствие между вашим ID задания и `id` задачи.

Фактическое списание по каждой задаче видно в [журнале вызовов](https://api.laozhang.ai/log).

## Какую видеомодель выбрать

На 31 октября 2026 года Muse — самая низкая цена в LaoZhang API за 10-секундный ролик в 720p и выше. Выбирайте её, если нужна фиксированная цена за видео, цельный ролик на 20–60 секунд или продление уже готового видео.

Для 2K, референсного видео или референсного аудио используйте [MiniMax H3](https://docs.laozhang.ai/ru/api-capabilities/minimax-h3-video-generation.md). Для 1080p выбирайте Seedance или Wan. В разделе [Сравнение API видео](https://docs.laozhang.ai/ru/api-capabilities/video-generation-guide.md) указано, сколько стоит 5- или 10-секундный ролик на каждой модели и какой эндпоинт она использует.

## Примеры результатов

Эти ролики — необработанный результат Muse со звуковой дорожкой, которую сгенерировала модель. Нажмите на ролик, чтобы воспроизвести его. В подписи указаны модель, длина, соотношение сторон и промпт.

[Примеры MiniMax H3](https://docs.laozhang.ai/ru/api-capabilities/minimax-h3-video-generation.md) сделаны по тем же промптам, так что модели можно сравнить сцену за сценой.

<video controls preload="none" poster="/images/samples/muse-video-sample-fox-5s.jpg" src="https://media.laozhang.ai/samples/video/muse-fox-5s.mp4" />

muse-video, 5 секунд, 16:9. Промпт: A red fox walking through snowy forest at sunrise, cinematic

<video controls preload="none" poster="/images/samples/muse-video-sample-fox-extend-20s.jpg" src="https://media.laozhang.ai/samples/video/muse-fox-extend-20s.mp4" />

muse-video-20s продолжает предыдущий 5-секундный ролик до 20 секунд. Промпт: The fox reaches a frozen river and looks across it as the sun rises higher

<video controls preload="none" poster="/images/samples/muse-video-sample-paper-boat-20s.jpg" src="https://media.laozhang.ai/samples/video/muse-paper-boat-20s.mp4" />

muse-video-20s, 20 секунд, 16:9. Промпт: A paper boat drifts down a rainy city gutter, then sails into a small sunny pond

<video controls preload="none" poster="/images/samples/muse-video-sample-paper-boat-extend-40s.jpg" src="https://media.laozhang.ai/samples/video/muse-paper-boat-extend-40s.mp4" />

muse-video-40s продолжает предыдущий 20-секундный ролик до 40 секунд. Промпт: The paper boat sails across the pond, passes under a wooden bridge and reaches a garden fountain

<video controls preload="none" poster="/images/samples/muse-video-sample-hot-air-balloon-40s.jpg" src="https://media.laozhang.ai/samples/video/muse-hot-air-balloon-40s.mp4" />

muse-video-40s, 40 секунд, 16:9. Промпт: A hot air balloon rises over a valley at dawn, drifts over a river and a village, then lands in a meadow

<video controls preload="none" poster="/images/samples/muse-video-sample-cyclist-50s-9x16.jpg" src="https://media.laozhang.ai/samples/video/muse-cyclist-50s-9x16.mp4" />

muse-video-50s, 50 секунд, вертикальное 9:16. Промпт: A cyclist rides through a coastal town from morning to sunset: market, harbor, cliff road, lighthouse

## Как это работает

**1. Создайте задачу**

Вызовите `POST /v1/videos`, передав как минимум `model` и `prompt`. Эндпоинт асинхронный: он за несколько секунд возвращает `id` задачи, а не ждёт готового видео. Сохраните его.

**2. Опрашивайте статус**

Вызывайте `GET /v1/videos/{id}` каждые 15 секунд и читайте `status`; каждый вызов возвращается сразу. Ролики до 10 секунд обычно готовы за 2–3 минуты, а в загруженные часы могут занимать больше 5; ролики на 20–30 секунд делаются примерно 4–10 минут, на 40–60 секунд — примерно 5–10 минут.

**3. Скачайте результат**

Когда `status` станет `completed`, скачайте MP4 по `video_url`. Для скачивания заголовок `Authorization` не нужен, а ссылка действует 7 дней.

> [!WARNING]
>
> **Опрашивайте задачу до 30 минут и не отправляйте запрос повторно, пока она выполняется.**
>
> * Создание задачи и опрос возвращаются сразу, поэтому увеличивать HTTP-таймаут не нужно.
> * 30 минут — предел опроса: проверяйте, пока `status` равен `queued` или `in_progress`.
> * Если вы прекратили опрос, позже проверьте тот же `id` ещё раз. Повторная отправка создаёт новую задачу и списывает деньги снова.
> * Задача, не завершившаяся за 40 минут, помечается как неудавшаяся и возвращается полностью.

## Подготовка

В примерах cURL поля ответов читает `jq` (на macOS: `brew install jq`). Сначала задайте ключ и базовый URL:

```bash theme={null}
export LAOZHANG_API_KEY="ваш API-ключ LaoZhang API"
export BASE_URL="https://api.laozhang.ai"
```

## Видео по тексту

```bash theme={null}
curl -s -X POST "$BASE_URL/v1/videos" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  --data-raw '{
    "model": "muse-video",
    "prompt": "A lighthouse on a rocky coast at dawn, waves crashing on the rocks, a few seagulls flying past, slow push-in, cinematic lighting",
    "seconds": "10",
    "aspect_ratio": "16:9"
  }' | tee muse-create.json

export VIDEO_ID=$(jq -r '.id' muse-create.json)
```

Успешный запрос возвращает задачу в очереди:

```json theme={null}
{
  "id": "task_qyP7fa67hjtpArfMjnAnOwpVe1UEgyHh",
  "object": "video",
  "model": "muse-video",
  "status": "queued",
  "progress": 0,
  "seconds": "10",
  "created_at": 1793328222
}
```

Два необязательных поля, которые понадобятся чаще всего:

* `seconds`: если его не указать, `muse-video` сделает 10-секундный ролик.
* `aspect_ratio`: форма кадра; вместо него можно передать `size` в пикселях, например `720x1280`. Поле действует и тогда, когда вы передаёте первый кадр или референсные изображения; см. подраздел «Соотношение сторон при работе с изображениями».

## Анимация по первому кадру или по первому и последнему кадрам

Передайте `image`, чтобы задать начальный кадр, и добавьте `last_frame`, чтобы задать и финальный. Каждое изображение может быть публичной ссылкой или data URL вида `data:image/...;base64,`:

```bash theme={null}
curl -s -X POST "$BASE_URL/v1/videos" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  --data-raw '{
    "model": "muse-video",
    "prompt": "Снег тает, листья желтеют: зима переходит в осень",
    "seconds": "8",
    "image": "https://example.com/winter.jpg",
    "last_frame": "https://example.com/autumn.jpg"
  }'
```

Модель использует два изображения как визуальные ориентиры: ролик начинается и заканчивается тем же кадром, но детали не воспроизводятся пиксель в пиксель.

Чтобы загрузить локальные файлы, отправьте данные формы multipart. Первый кадр передаётся в `input_reference`, последний — в `last_frame`:

```bash theme={null}
curl -s -X POST "$BASE_URL/v1/videos" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -F model=muse-video \
  -F prompt="Котёнок моргает и зевает" \
  -F seconds=5 \
  -F aspect_ratio=9:16 \
  -F input_reference=@./cat.jpg
```

При загрузке через `-F` не задавайте `Content-Type: application/json`. Размер каждого изображения — до 10 МБ.

## Генерация по референсным изображениям

Передайте в `reference_images` от 1 до 4 изображений. Модель переносит в видео их объект и стиль, но не использует ни одно из них как первый кадр:

```bash theme={null}
curl -s -X POST "$BASE_URL/v1/videos" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  --data-raw '{
    "model": "muse-video",
    "prompt": "Эта лиса идёт по лесу, который меняется от зимы к осени",
    "seconds": "10",
    "aspect_ratio": "16:9",
    "reference_images": [
      "https://example.com/fox-winter.jpg",
      "https://example.com/fox-autumn.jpg"
    ]
  }'
```

### Соотношение сторон при работе с изображениями

Если вы передаёте первый кадр, последний кадр или референсные изображения, форма ролика определяется так:

* **С `aspect_ratio` (или `size`)**: перед генерацией каждое изображение обрезается по центру до этого соотношения, и ролик получается в этой форме; размеры перечислены в разделе «Поля запроса».
* **Без него**: ролик сохраняет форму изображения, поэтому горизонтальное фото 3:2 даст 1152×768.

Обрезка по центру убирает края слева и справа или сверху и снизу. Если объект находится у края, обрежьте изображение до нужного соотношения сами перед загрузкой — тогда вы управляете кадрированием.

## Ролики на 20, 30 и до 60 секунд и продолжение видео

Более длинные модели генерируют один цельный ролик той длины, что указана в названии модели (от 20 до 60 секунд; цены — в разделе «Цены»). Вызываются они так же, как `muse-video`; поле `seconds` можно не указывать.

Чтобы продолжить уже готовый ролик, передайте `video_url`:

```bash theme={null}
curl -s -X POST "$BASE_URL/v1/videos" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  --data-raw '{
    "model": "muse-video-20s",
    "prompt": "Лодка уплывает в утренний туман, над морем поднимается солнце",
    "video_url": "https://example.com/boat-5s.mp4"
  }'
```

Правила продолжения:

* Параметр `video_url` принимают все модели, кроме `muse-video`. Готовое видео имеет длину, указанную в названии модели, включая исходный ролик.
* Источник должен быть общедоступной https-ссылкой на MP4, как минимум на 2 секунды короче готового видео: до 18 секунд для `muse-video-20s`, 28 для `muse-video-30s` и так далее до 58 для `muse-video-60s`.
* Если исходный файл больше примерно 19 МБ, LaoZhang API сначала сжимает его до 720p, поэтому исходная часть результата выглядит чуть мягче.
* Например, 5-секундный источник, продолженный через `muse-video-20s`, получает около 15 секунд нового содержимого и превращается в 20-секундное видео.
* В качестве источника подойдёт `video_url`, который вернул LaoZhang API.

## Опрос и скачивание

### Получение задачи

```bash theme={null}
curl -s "$BASE_URL/v1/videos/$VIDEO_ID" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY"
```

Пока видео обрабатывается, `status` равен `in_progress`, а `progress` показывает примерный процент:

```json theme={null}
{
  "id": "task_1OuWjS9JUWpjiin8zr3S3vzhQNjTILIF",
  "object": "video",
  "model": "muse-video",
  "status": "in_progress",
  "progress": 30,
  "seconds": "10",
  "size": "1280x720",
  "created_at": 1793328220
}
```

Когда задача завершена, в ней есть `video_url`:

```json theme={null}
{
  "id": "task_Qb8zDoLJMSDsOKdRWLMCwzRgkg2EanF0",
  "object": "video",
  "model": "muse-video",
  "status": "completed",
  "progress": 100,
  "seconds": "5",
  "size": "1280x720",
  "created_at": 1793325393,
  "completed_at": 1793325521,
  "video_url": "https://media.laozhang.ai/videos/video_6efb7e6d2b37665752192eb1-a95d03b30c0f.mp4"
}
```

У неудавшейся задачи `status` равен `"failed"`, а причина указана в `error.message`. Списание уже возвращено:

```json theme={null}
{
  "id": "task_GcyZA3g7We2nQOl3QaSQX1nroSKli3O7",
  "object": "video",
  "model": "muse-video",
  "status": "failed",
  "progress": 100,
  "seconds": "8",
  "size": "1280x720",
  "created_at": 1793326360,
  "error": {
    "code": "video_generation_failed",
    "message": "Could not download last_frame (HTTP 429). Use a public image link or a data URL."
  }
}
```

### Скачивание видео

```bash theme={null}
curl -L -o muse-video.mp4 "$(curl -s "$BASE_URL/v1/videos/$VIDEO_ID" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" | jq -r '.video_url')"
```

Можно также вызвать `GET /v1/videos/{id}/content` с заголовком `Authorization`: он вернёт файл MP4.

## Минимальный клиент на Python

Нужен пакет `requests` (`pip install requests`):

```python theme={null}
import os
import time

import requests

BASE_URL = "https://api.laozhang.ai"
HEADERS = {"Authorization": f"Bearer {os.environ['LAOZHANG_API_KEY']}"}

task = requests.post(
    f"{BASE_URL}/v1/videos",
    headers=HEADERS,
    json={
        "model": "muse-video",
        "prompt": "A lighthouse on a rocky coast at dawn, waves crashing on the rocks, a few seagulls flying past, slow push-in, cinematic lighting",
        "seconds": "10",
        "aspect_ratio": "16:9",
    },
    timeout=120,
)
task.raise_for_status()
video_id = task.json()["id"]

deadline = time.time() + 30 * 60
while True:
    video = requests.get(f"{BASE_URL}/v1/videos/{video_id}", headers=HEADERS, timeout=60).json()
    if video["status"] == "completed":
        break
    if video["status"] == "failed":
        raise RuntimeError(video["error"]["message"])
    if time.time() > deadline:
        raise TimeoutError(f"{video_id} ещё выполняется; позже продолжите опрашивать тот же id")
    time.sleep(15)

with open("muse-video.mp4", "wb") as f:
    f.write(requests.get(video["video_url"], timeout=300).content)
print("Сохранено muse-video.mp4,", video["seconds"], "с")
```

## Справочник API

### Поля запроса

| Поле | Обязательно | Описание |
| - | - | - |
| `model` | Да | `muse-video`, `muse-video-20s`, `muse-video-30s`, `muse-video-40s`, `muse-video-50s` или `muse-video-60s` |
| `prompt` | Да | Что происходит на экране и как это звучит; до 20 000 символов, учитывается весь текст |
| `seconds` | Нет | `5`, `8` или `10` для `muse-video` (по умолчанию 10); для длинных моделей — длина из названия модели, либо поле можно не указывать |
| `aspect_ratio` | Нет | `16:9`, `9:16`, `1:1`, `4:3` или `3:4`; изображения сначала обрезаются по центру до этого соотношения, а без него ролик сохраняет форму изображения |
| `size` | Нет | Форма в пикселях, например `1280x720` или любой размер из таблицы ниже; используется вместо `aspect_ratio` |
| `image` | Нет | Первый кадр; в multipart поле называется `input_reference` |
| `last_frame` | Нет | Последний кадр |
| `reference_images` | Нет | Массив из не более чем 4 референсных изображений |
| `video_url` | Нет | Исходный ролик для продолжения; только модели от 20s до 60s |
| `negative_prompt` | Нет | Что не должно попасть в видео |
| `style`, `camera_motion` | Нет | Подсказки о стиле и движении камеры, например `cinematic` или `zoom_in`; используются как ориентир |

Размер результата по соотношению сторон:

| `aspect_ratio` | Размер результата |
| - | - |
| `16:9` | 1280×720 |
| `9:16` | 720×1280 |
| `1:1` | 960×960 |
| `4:3` | 1088×816 |
| `3:4` | 816×1088 |

Если переданы изображения, размер при том же соотношении может отличаться от таблицы на несколько десятков пикселей, например 1248×704 для 16:9 или 1056×800 для 4:3. Частота кадров всегда 24 кадра/с; параметры `resolution` и `fps` на результат не влияют.

### Статусы задачи

| `status` | Значение | Что делать |
| - | - | - |
| `queued` | Создана, ждёт обработки | Продолжайте опрос |
| `in_progress` | Идёт обработка | Продолжайте опрос |
| `completed` | Готово | Скачайте по `video_url` |
| `failed` | Не выполнена, деньги возвращены | Исправьте запрос по `error.message` и создайте новую задачу |

## Ошибки

| Ошибка | Причина | Что делать |
| - | - | - |
| `seconds must be 5, 8, 10 for muse-video.` | Такой длительности у этой модели нет | Укажите 5, 8 или 10, либо перейдите на модель 20s–60s |
| `video_url (continue a video) needs muse-video-20s, -30s, -40s, -50s or -60s.` | Продолжение отправлено на `muse-video` | Используйте одну из моделей от `muse-video-20s` до `muse-video-60s` |
| `Send at most 4 reference_images.` | Больше 4 референсных изображений | Отправьте не больше 4 |
| `Could not download image (HTTP 403)…` | Ссылке на изображение нужна авторизация, она блокирует скачивание или ограничена по частоте | Используйте ссылку, доступную всем, либо отправьте data URL |
| `image must be a public internet link.` | Ссылка на изображение ведёт на приватный, локальный или не разрешаемый адрес | Используйте ссылку, доступную всем, либо отправьте data URL |
| `video_url can be at most 18 seconds long…` | Источник длиннее, чем допускает модель (на 2 с короче результата, например 18 с для 20s) | Обрежьте источник или выберите более длинную модель |
| `The model returned no video for this input…` | Модель не создала видео для этих входных данных | Измените промпт или возьмите другое изображение и создайте новую задачу |
| `prompt must be at most 20000 characters.…` | Промпт длиннее 20 000 символов | Сократите его до 20 000 символов или меньше |

Первые три ошибки приходят как HTTP 400 при отправке: задача не создаётся, деньги не списываются. Остальные приходят как неудавшаяся задача, списание по ней уже возвращено.

## Частые вопросы

### Стоят ли 5-секундный и 10-секундный ролики одинаково?

Да. `muse-video` стоит \$0.30 за 5, 8 или 10 секунд. Для более длинного цельного плана используйте `muse-video-20s` (\$0.55), `muse-video-30s` (\$0.80) и далее до `muse-video-60s` (\$1.55).

### Можно ли получить видео в 1080p?

Нет. Muse выдаёт 1280×720 в горизонтальной ориентации и 720×1280 в вертикальной; другие формы перечислены в разделе «Поля запроса». Параметр `resolution: "1080p"` принимается, но размер результата не меняется.

### Почему ролик повторяет форму моего изображения?

Без `aspect_ratio` и `size` Muse сохраняет форму переданного изображения. Добавьте `aspect_ratio`: изображение сначала обрежется по центру до этого соотношения, и ролик получится нужной формы. Если объект у края изображения, обрежьте его сами перед загрузкой; см. подраздел «Соотношение сторон при работе с изображениями».

### Есть ли в видео звук и можно ли его отключить?

В каждом ролике есть звуковая дорожка с музыкой и эффектами, зависящими от вашего промпта. Отключить её параметром нельзя; если звук не нужен, уберите аудиодорожку после скачивания.

### Можно ли отправить запрос повторно после таймаута или ошибки?

Сначала проверьте задачу. Таймаут на стороне клиента не означает, что задача не выполнена, поэтому продолжайте опрашивать тот же `id`: повторная отправка создаёт новую задачу и списывает деньги снова. Исправлять запрос и создавать новую задачу нужно только при `status`, равном `failed`. По неудавшимся задачам деньги уже возвращены, а задача, не завершившаяся за 40 минут, автоматически помечается как неудавшаяся и возвращается.

### Как долго хранятся ссылки на видео?

7 дней. Затем ссылка перестаёт работать, и задачу нельзя скачать повторно, поэтому сохраняйте файл сразу после завершения задачи.

## Связанные материалы

* [Сравнение API видео и цены](https://docs.laozhang.ai/ru/api-capabilities/video-generation-guide.md)
* [API видео MiniMax H3](https://docs.laozhang.ai/ru/api-capabilities/minimax-h3-video-generation.md)
* [API видео Seedance 2.0](https://docs.laozhang.ai/ru/api-capabilities/seedance2-video-generation.md)
* [API видео Wan 2.7 и Wan 3.0](https://docs.laozhang.ai/ru/api-capabilities/wan-video-generation.md)
* [Модели и цены](https://docs.laozhang.ai/ru/models.md)
* [Журнал вызовов](https://docs.laozhang.ai/en/faq/call-logs.md)
* [Модели Meta Model API](https://dev.meta.ai/resources/blog/build-with-muse-spark): Muse Spark, Muse Image и другие, без модели генерации видео (проверено 30 октября 2026 года)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.