Генерирует короткие видео по текстовому описанию или оживляет картинку в видеоролик. Цена зависит от разрешения: 480p - 40 ₽, 580p - 60 ₽, 720p - 80 ₽.
Общая документация Public API · API-ключ можно создать в настройках аккаунта
Wan 2.2 Turbo генерирует короткие 5-секундные видеоролики в двух режимах:
Turbo-версия рассчитана на быструю генерацию - удобно для перебора промптов и подбора удачного варианта. Разрешение на выбор: 480p, 580p или 720p.
Каждый вызов создаёт асинхронную операцию. После запуска API сразу возвращает id и стартовый статус, а готовый результат нужно забирать отдельной проверкой.
POST /api/v1/operationsAuthorization: Bearer brth_...id, стартовый статус и стоимость.Режим определяется параметром model:
"wan/2-2-a14b-text-to-video-turbo" - видео из текста;"wan/2-2-a14b-image-to-video-turbo" - видео из изображения.{
"tool": "wan-2-2-turbo",
"input": {
"...": "..."
}
}
tool - slug нейросети, всегда "wan-2-2-turbo".input - параметры конкретного запуска. Набор полей зависит от выбранного режима.| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
model | enum | Да | Режим генерации. Варианты: wan/2-2-a14b-text-to-video-turbo (видео из текста), wan/2-2-a14b-image-to-video-turbo (видео из изображения). |
prompt | string | Да | Описание сцены: персонажи, место, действие, стиль, свет. Можно указать движение камеры (например, «плавный наезд», «панорама слева направо»). Максимум 5000 символов. |
image_url | string (url) | Да | URL исходного изображения. Обязателен при model = "wan/2-2-a14b-image-to-video-turbo". Допустимые расширения: .jpg, .jpeg, .png, .webp. |
resolution | enum | Да | Разрешение видео. Варианты: 480p, 580p, 720p. Влияет на цену. |
aspect_ratio | enum | Да | Соотношение сторон. Варианты: 16:9, 9:16. Используется только при model = "wan/2-2-a14b-text-to-video-turbo". |
enable_prompt_expansion | boolean | Нет | Переписывает промпт для более точного результата. |
acceleration | enum | Да | Режим ускорения генерации. Варианты: none (без ускорения), regular (обычное). |
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "wan-2-2-turbo",
"input": {
"model": "wan/2-2-a14b-text-to-video-turbo",
"prompt": "Девушка идёт по вечерней улице европейского города, мягкий тёплый свет фонарей, лёгкий туман, камера плавно приближается",
"resolution": "720p",
"aspect_ratio": "16:9",
"acceleration": "none"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'wan-2-2-turbo',
input: {
model: 'wan/2-2-a14b-text-to-video-turbo',
prompt:
'Девушка идёт по вечерней улице европейского города, мягкий тёплый свет фонарей, лёгкий туман, камера плавно приближается',
resolution: '720p',
aspect_ratio: '16:9',
acceleration: 'none',
},
}),
})
const data = await response.json()
console.log(data)
import requests
response = requests.post(
"https://bratuha.ru/api/v1/operations",
headers={
"Authorization": "Bearer brth_ваш_ключ",
"Content-Type": "application/json",
},
json={
"tool": "wan-2-2-turbo",
"input": {
"model": "wan/2-2-a14b-text-to-video-turbo",
"prompt": "Девушка идёт по вечерней улице европейского города, мягкий тёплый свет фонарей, лёгкий туман, камера плавно приближается",
"resolution": "720p",
"aspect_ratio": "16:9",
"acceleration": "none",
},
},
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": "wan-2-2-turbo",
"input": {
"model": "wan/2-2-a14b-image-to-video-turbo",
"prompt": "Персонаж слегка поворачивает голову, ветер колышет волосы, на фоне мягко покачиваются деревья",
"image_url": "https://cdn.example.com/source-image-1.jpg",
"resolution": "720p",
"acceleration": "none"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'wan-2-2-turbo',
input: {
model: 'wan/2-2-a14b-image-to-video-turbo',
prompt:
'Персонаж слегка поворачивает голову, ветер колышет волосы, на фоне мягко покачиваются деревья',
image_url: 'https://cdn.example.com/source-image-1.jpg',
resolution: '720p',
acceleration: 'none',
},
}),
})
const data = await response.json()
console.log(data)
import requests
response = requests.post(
"https://bratuha.ru/api/v1/operations",
headers={
"Authorization": "Bearer brth_ваш_ключ",
"Content-Type": "application/json",
},
json={
"tool": "wan-2-2-turbo",
"input": {
"model": "wan/2-2-a14b-image-to-video-turbo",
"prompt": "Персонаж слегка поворачивает голову, ветер колышет волосы, на фоне мягко покачиваются деревья",
"image_url": "https://cdn.example.com/source-image-1.jpg",
"resolution": "720p",
"acceleration": "none",
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
{
"id": "op_uuid-123",
"status": "queued",
"tool": "wan-2-2-turbo",
"cost": 80,
"balance_after": 495,
"created_at": "2026-03-29T12:00:00Z"
}
{
"id": "op_uuid-123",
"status": "completed",
"tool": "wan-2-2-turbo",
"cost": 80,
"created_at": "2026-03-29T12:00:00Z",
"completed_at": "2026-03-29T12:00:28Z",
"result": {
"type": "video",
"urls": [
"https://storage.bratuha.ru/results/wan-2-2-turbo/result.mp4"
]
},
"error_message": null
}
После создания операции сохраните id и используйте его для отдельной проверки статуса:
GET /api/v1/operations/{id}id возвращается сразу после POST /api/v1/operations.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()
console.log(data)
После успешного завершения операция возвращает result в таком формате:
{
"type": "video",
"urls": [
"https://storage.bratuha.ru/results/wan-2-2-turbo/result.mp4"
]
}
type - всегда "video".urls - массив ссылок на готовые видеофайлы. Обычно возвращается один ролик длительностью 5 секунд.Если операция завершилась с ошибкой, result будет null, а текст ошибки вернётся в error_message.
Цена фиксирована и зависит только от выбранного разрешения. Длительность ролика всегда 5 секунд.
| Разрешение | Цена |
|---|---|
| 480p | 40 ₽ |
| 580p | 60 ₽ |
| 720p | 80 ₽ |
Цена одинаковая для обоих режимов (видео из текста и видео из изображения) и не зависит от ориентации или ускорения.
POST /api/v1/operations не идемпотентен: каждый повторный запрос создаёт новую операцию.queued, затем отдельно проверяете статус по id.image_url подходят только внешние http/https URL. localhost, private IP и внутренние адреса не принимаются..jpg, .jpeg, .png, .webp. Форматы HEIC/HEIF, которые поддерживаются при загрузке файлов в UI, в Public API по URL не принимаются.aspect_ratio работает только в режиме видео из текста. В режиме видео из изображения ориентация определяется исходной картинкой.image_url нужен только в режиме видео из изображения. В режиме видео из текста его передавать не нужно.