Улучшает качество фото: повышает чёткость, вытягивает детали и делает картинку более аккуратной. Цена - 22 рубля за запуск.
Общая документация Public API · API-ключ можно создать в настройках аккаунта
Phota Enhance вытягивает детали и повышает чёткость фотографии: убирает мыло и шум, делает кожу, ткань и текстуры аккуратнее, не меняя композицию. Используют его для подготовки кадров к печати, оживления снимков со старых телефонов и доводки результатов других нейросетей.
На вход - одно изображение по ссылке, на выходе - улучшенная версия того же кадра. Каждый вызов создаёт асинхронную операцию: вы получаете id, а результат забираете отдельным запросом статуса.
POST /api/v1/operationsAuthorization: Bearer brth_...id и стартовый статус queued.{
"tool": "phota-enhance",
"input": {
"...": "..."
}
}
tool - slug нейросети, здесь всегда "phota-enhance".input - параметры конкретного запуска.input, без дополнительного вложенного объекта input.| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
image_url | string (url) | Да | Фото, которое нужно улучшить. Только http/https, форматы .jpg, .jpeg, .png, .webp. |
num_images | number | Нет | Сколько вариантов результата сделать: целое число от 1. Если не передать, будет один вариант. |
output_format | enum | Нет | Формат результата: jpeg (если не передать), png или webp. |
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "phota-enhance",
"input": {
"image_url": "https://cdn.example.com/source-image-1.jpg",
"output_format": "jpeg"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"tool": "phota-enhance",
"input": {
"image_url": "https://cdn.example.com/source-image-1.jpg",
"output_format": "jpeg"
}
}),
})
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": "phota-enhance",
"input": {
"image_url": "https://cdn.example.com/source-image-1.jpg",
"output_format": "jpeg"
}
},
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": "phota-enhance",
"input": {
"image_url": "https://cdn.example.com/source-image-1.jpg",
"num_images": 2,
"output_format": "png"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"tool": "phota-enhance",
"input": {
"image_url": "https://cdn.example.com/source-image-1.jpg",
"num_images": 2,
"output_format": "png"
}
}),
})
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": "phota-enhance",
"input": {
"image_url": "https://cdn.example.com/source-image-1.jpg",
"num_images": 2,
"output_format": "png"
}
},
timeout=30,
)
print(response.status_code)
print(response.json())
{
"id": "op_uuid-123",
"status": "queued",
"tool": "phota-enhance",
"cost": 22,
"balance_after": 495,
"created_at": "2026-09-17T12:00:00Z"
}
{
"id": "op_uuid-123",
"status": "completed",
"tool": "phota-enhance",
"cost": 22,
"created_at": "2026-09-17T12:00:00Z",
"completed_at": "2026-09-17T12:01:15Z",
"result": {
"type": "image",
"urls": [
"https://storage.bratuha.ru/results/phota-enhance/image-1.jpeg"
]
},
"error_message": null
}
{
"id": "op_uuid-123",
"status": "failed",
"tool": "phota-enhance",
"cost": 22,
"created_at": "2026-09-17T12:00:00Z",
"completed_at": "2026-09-17T12:00:20Z",
"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": "image",
"urls": [
"https://storage.bratuha.ru/results/phota-enhance/image-1.jpeg"
]
}
type всегда равен "image".urls - массив ссылок. При num_images: 1 в нём одна ссылка, при большем значении - по ссылке на каждый вариант.num_images.cost ответа. Если операция завершилась с ошибкой, деньги возвращаются на баланс автоматически.POST /api/v1/operations не идемпотентен: каждый повторный запрос создаёт новую операцию и списывает деньги.queued проверяйте статус по id.http/https ссылки, без localhost и приватных адресов. HEIC/HEIF принимаются только при загрузке через форму сайта, по URL в API - нет.