Перейти к основному содержанию
POST
API работает асинхронно. После отправки сохраните ID задачи и проверяйте состояние и результат через GET /v1/tasks/{task_id}. В стандартном ответе на отправку ID находится в data[0].task_id.

Заголовки запроса

string
обязательно
Передайте APIMart API Key в формате Bearer <token>. Отправка и проверка задачи требуют аутентификации от имени одного пользователя.
string
Настоятельно рекомендуется. Для каждой независимой генерации создавайте новый ключ (1–191 видимый ASCII-символ; рекомендуется UUID). Замените <unique-operation-key> в примерах. При повторе после тайм-аута или сетевой ошибки сохраняйте тот же endpoint, тело, версию ответа и ключ. После получения ID только проверяйте эту задачу.

Параметры запроса

string
обязательно
Фиксированное значение: muse-video-ext.
string
обязательно
Текстовое описание результата на китайском или английском языке. После удаления пробелов по краям текст не должен быть пустым. Обязательно и при наличии референсных изображений.
string[]
До 9 непустых входных изображений. Поддерживаются публичные URL, Data URI (например, data:image/png;base64,...) и чистый base64. Пропустите поле или передайте [] для генерации только по тексту. Рекомендуются PNG, JPEG и WebP. Сервер должен иметь прямой доступ к URL без cookies браузерной авторизации.Суммарный исходный размер всех изображений не должен превышать 11 MiB (11 534 336 байт). Это общий лимит, а не лимит на изображение. base64 дополнительно увеличивает тело запроса. Не передавайте URL blob:, локальные пути и объекты File.
string
Поддерживаются семь соотношений ниже. Без параметра генерация по тексту использует 16:9, а с референсами следует их композиции. Явное соотношение имеет приоритет. Для автоматического выбора пропустите поле; не передавайте "auto".1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3
string
Поле совместимости: семь соотношений выше или auto. Размеры в пикселях, например 1024x1024, не поддерживаются. Только size: "auto" равнозначно отсутствию соотношения. Рекомендуется aspect_ratio. Если оба поля корректны, приоритет у aspect_ratio, но они проверяются независимо: корректное соотношение не отменяет ошибку в size.
integer
по умолчанию:"1"
Один результат за запрос. Допускается только число 1. Явные 0, отрицательные значения и значения больше 1 приводят к ошибке.
integer | string
по умолчанию:"10"
Фиксированная длительность около 10 секунд. Допустимы число 10 и строки "10", "10s"; рекомендуется число 10. Совместимые псевдонимы: seconds и duration_seconds. Используйте одно поле длительности; каждое переданное поле проверяется отдельно.
string
по умолчанию:"720p"
Поддерживается только 720p, не 1080p и не 4k. Фактические размеры и длительность воспроизведения определяются метаданными возвращённого файла.
boolean
Видео по умолчанию содержит звук; поле можно пропустить. true не меняет поведение, false отклоняется.
Возвращается URL MP4: около 10 секунд, 720p, со звуком. Референсы направляют генерацию, но попиксельное совпадение с первым кадром не гарантируется.

Другие необязательные параметры

string
Базовый URL backend для уведомлений. Платформа удаляет завершающие слеши и добавляет /callback: https://your-backend.example/muse превращается в https://your-backend.example/muse/callback. При использовании только опроса можно пропустить.
string
Язык ошибок Webhook, не влияет на генерируемый контент. Допустимы zh, en, ja, ko, ru, fr, de, id, pt, es. Региональные теги вроде zh-CN не поддерживаются. Язык опроса передавайте отдельно в параметре GET-запроса.

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

Замените URL примера доступным URL изображения. Соотношение пропущено, чтобы следовать композиции референса; для фиксированного соотношения добавьте aspect_ratio. Дополнительные изображения добавляйте в image_urls, всего не более 9.

Ответ на отправку

По умолчанию возвращается HTTP 200, а data является массивом. submitted означает принятие задачи, а не завершение генерации. Сохраните data[0].task_id и затем проверяйте задачу.
С заголовком X-APIMart-Response-Version: 2026-07-27 отправка возвращает HTTP 202. ID задачи читайте из data.id, путь опроса — из data.poll_url.
Эта версия не меняет структуру GET-ответа. Добавив заголовок, не продолжайте извлекать ID отправки через data[0].task_id.

Проверка состояния и результатов

Используйте полный ID из ответа на отправку и ту же учётную запись. Необязательный language задаёт язык ошибок. Все поля описаны в разделе Состояние задачи.
Рекомендуемый интервал — 5–10 секунд, не более одного выполняющегося запроса на задачу. Тайм-аут клиента или остановка опроса не отменяют серверную задачу. Сохраните ID и позже возобновите GET-запросы; не запускайте новую генерацию автоматически. Завершение определяйте по data.status. HTTP 200 или progress: 100 сами по себе не означают успешную генерацию. polling_error во время обработки также не является окончательной ошибкой задачи. Пример ответа для завершённой задачи (URL результата — заглушка):
В ответе на опрос data — объект, а url — массив строк. Первый результат находится в data.result.videos[0].url[0]. Если присутствует expires_at, это срок действия в секундах Unix; сохраните нужные файлы до его истечения. actual_time — время обработки задачи, а не длительность видео.

Ограничения и обработка ошибок

Не поддерживаются референсные видео и аудио, маски, управление первым/последним кадром, продление и remix. quality не влияет на генерацию. Пропускайте seed, negative_prompt, width, height, response_format, output_format: они не входят в параметры генерации этой модели. async: false не включает синхронную генерацию, а stream не предоставляет SSE-поток генерации. Неудачная задача также может вернуть HTTP 200; проверяйте data.status и data.error.message. Сетевая ошибка или 5xx при отправке может возникнуть уже после принятия, поэтому не отправляйте сразу повторно с новым ключом.