Общая документация Public API · API-ключ можно создать в настройках аккаунта
Meta Muse Video делает короткие ролики около 10 секунд в 720p, и звук у них есть всегда: музыка, шумы сцены или речь из задания. Ролик можно описать только текстом или дать нейросети до 9 референсных изображений - персонажа, товар, место, стиль - и описать, что с ними должно происходить. Подходит для недорогих черновиков рекламы, сторис и клипов, проверки идеи сцены перед дорогой генерацией и роликов с одним и тем же персонажем.
Каждый вызов создаёт асинхронную операцию: вы получаете id, а результат забираете отдельным запросом статуса.
POST /api/v1/operationsAuthorization: Bearer brth_...id и стартовый статус queued.Режимы, которые доступны через API:
reference - видео по 1-9 референсным изображениям и заданию. Пропорции можно взять с референсов или задать явно. Этот режим включается, если generation_type не передать.text - видео только по тексту, с выбором пропорций.Длительность (около 10 секунд), разрешение (720p) и звук у этой нейросети не настраиваются.
{
"tool": "meta-muse-video",
"input": {
"...": "..."
}
}
tool - slug нейросети, здесь всегда "meta-muse-video".input - параметры конкретного запуска.input, без дополнительного вложенного объекта input.| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
generation_type | enum | Нет | Режим: reference (если не передать) или text. Для видео только по тексту передайте "text" явно. |
prompt | string | Да | Что происходит в кадре, как движется камера и что звучит, от 3 до 4000 символов. Нужно в обоих режимах, в том числе с референсами. |
reference_images | string[] (url) | Да, в режиме reference | От 1 до 9 референсных изображений. Только http/https, форматы .jpg, .jpeg, .png, .webp. Все файлы вместе - не больше 11 МБ. В режиме text не используется. |
aspect_ratio | enum | Нет | Пропорции в режиме text: 16:9 (если не передать), 9:16, 1:1, 4:3, 3:4, 3:2, 2:3. В режиме reference не действует. |
reference_aspect_ratio | enum | Нет | Пропорции в режиме reference: auto (если не передать) - кадр повторит композицию референсов, или явно 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3. |
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "meta-muse-video",
"input": {
"generation_type": "text",
"prompt": "Волны мягко накатывают на песчаный пляж на закате, камера медленно движется вдоль берега, слышен шум прибоя и крики чаек",
"aspect_ratio": "16:9"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"tool": "meta-muse-video",
"input": {
"generation_type": "text",
"prompt": "Волны мягко накатывают на песчаный пляж на закате, камера медленно движется вдоль берега, слышен шум прибоя и крики чаек",
"aspect_ratio": "16:9"
}
}),
})
const data = await response.json()
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
"tool": "meta-muse-video",
"input": {
"generation_type": "text",
"prompt": "Волны мягко накатывают на песчаный пляж на закате, камера медленно движется вдоль берега, слышен шум прибоя и крики чаек",
"aspect_ratio": "16:9"
}
},
timeout=30,
)
print(response.status_code)
print(response.json())
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "meta-muse-video",
"input": {
"generation_type": "reference",
"prompt": "Лиса с картинки медленно поднимает голову, ветер шевелит мех, камера плавно приближается, тихо шумит лес",
"reference_images": [
"https://cdn.example.com/source-image-1.jpg"
],
"reference_aspect_ratio": "auto"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"tool": "meta-muse-video",
"input": {
"generation_type": "reference",
"prompt": "Лиса с картинки медленно поднимает голову, ветер шевелит мех, камера плавно приближается, тихо шумит лес",
"reference_images": [
"https://cdn.example.com/source-image-1.jpg"
],
"reference_aspect_ratio": "auto"
}
}),
})
const data = await response.json()
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
"tool": "meta-muse-video",
"input": {
"generation_type": "reference",
"prompt": "Лиса с картинки медленно поднимает голову, ветер шевелит мех, камера плавно приближается, тихо шумит лес",
"reference_images": [
"https://cdn.example.com/source-image-1.jpg"
],
"reference_aspect_ratio": "auto"
}
},
timeout=30,
)
print(response.status_code)
print(response.json())
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "meta-muse-video",
"input": {
"generation_type": "reference",
"prompt": "Девушка с первой картинки идёт по улице со второй картинки, держит в руке кофе, камера едет перед ней, звучит лёгкая городская музыка",
"reference_images": [
"https://cdn.example.com/source-image-1.jpg",
"https://cdn.example.com/source-image-2.jpg"
],
"reference_aspect_ratio": "9:16"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"tool": "meta-muse-video",
"input": {
"generation_type": "reference",
"prompt": "Девушка с первой картинки идёт по улице со второй картинки, держит в руке кофе, камера едет перед ней, звучит лёгкая городская музыка",
"reference_images": [
"https://cdn.example.com/source-image-1.jpg",
"https://cdn.example.com/source-image-2.jpg"
],
"reference_aspect_ratio": "9:16"
}
}),
})
const data = await response.json()
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
"tool": "meta-muse-video",
"input": {
"generation_type": "reference",
"prompt": "Девушка с первой картинки идёт по улице со второй картинки, держит в руке кофе, камера едет перед ней, звучит лёгкая городская музыка",
"reference_images": [
"https://cdn.example.com/source-image-1.jpg",
"https://cdn.example.com/source-image-2.jpg"
],
"reference_aspect_ratio": "9:16"
}
},
timeout=30,
)
print(response.status_code)
print(response.json())
{
"id": "op_uuid-123",
"status": "queued",
"tool": "meta-muse-video",
"cost": 5,
"balance_after": 495,
"created_at": "2026-11-02T12:00:00Z"
}
{
"id": "op_uuid-123",
"status": "completed",
"tool": "meta-muse-video",
"cost": 5,
"created_at": "2026-11-02T12:00:00Z",
"completed_at": "2026-11-02T12:03:10Z",
"result": {
"type": "video",
"urls": [
"https://storage.bratuha.ru/results/meta-muse-video/video-1.mp4"
]
},
"error_message": null
}
{
"id": "op_uuid-123",
"status": "failed",
"tool": "meta-muse-video",
"cost": 5,
"created_at": "2026-11-02T12:00:00Z",
"completed_at": "2026-11-02T12:00:30Z",
"result": null,
"error_message": "Произошла ошибка, сервис временно недоступен. Попробуйте повторить запрос позже."
}
После создания операции сохраните id и проверяйте её статус запросом:
GET /api/v1/operations/{id}
curl -H "Authorization: Bearer brth_ваш_ключ" \
https://bratuha.ru/api/v1/operations/op_uuid-123
const response = await fetch(
'https://bratuha.ru/api/v1/operations/op_uuid-123',
{
headers: {
Authorization: 'Bearer brth_ваш_ключ',
},
}
)
const data = await response.json()
Пока операция выполняется, status будет queued или processing. Опрашивайте статус раз в 5-10 секунд.
После успешного завершения result содержит одно видео:
{
"type": "video",
"urls": [
"https://storage.bratuha.ru/results/meta-muse-video/video-1.mp4"
]
}
type всегда равен "video".urls содержит одну ссылку на MP4 около 10 секунд, 720p, со звуком.cost ответа. Если операция завершилась с ошибкой, деньги возвращаются на баланс автоматически.POST /api/v1/operations не идемпотентен: каждый повторный запрос создаёт новую операцию и списывает деньги.queued проверяйте статус по id.http/https ссылки, без localhost и приватных адресов. Ссылка должна открываться без входа в аккаунт.pixverse-v6-max.prompt: музыка, шумы, реплики. Отключить звук нельзя.