Общая документация Public API · API-ключ можно создать в настройках аккаунта
Nano Banana 2 Lite используют для быстрой генерации изображений по тексту и для простого редактирования уже готовых картинок. Один и тот же API-вызов подходит для двух сценариев:
image_urls с одной или несколькими ссылками.Каждый запуск создаёт асинхронную операцию. Сразу после запроса API возвращает id, а готовый результат нужно получить отдельной проверкой статуса.
POST /api/v1/operationsAuthorization: Bearer brth_...Режим выбирается автоматически:
image_urls не передан, создаётся новое изображение по тексту;image_urls передан, модель учитывает эти изображения при редактировании или генерации по референсам.{
"tool": "nano-banana-2-lite",
"input": {
"...": "..."
}
}
tool - slug нейросети, всегда "nano-banana-2-lite".input - параметры запуска. Все поля передаются напрямую внутри этого объекта.prompt, image_urls, aspect_ratio без дополнительного вложенного объекта input.| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
prompt | string | Да | Текстовое задание для генерации или редактирования. Опишите, что должно получиться, и при необходимости укажите стиль, детали сцены, объект, фон или нужную правку. Длина - от 3 до 20 000 символов. |
image_urls | string[] (url) | Нет | Массив внешних ссылок на изображения для редактирования или референсов. Можно передать до 10 изображений. Если поле не передано или массив пустой, будет выполнена генерация без входных изображений. |
aspect_ratio | enum | Да | Соотношение сторон результата. Варианты: auto, 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9. |
Для image_urls нужны внешние http/https URL. Поддерживаются ссылки на изображения с расширениями jpg, jpeg, png, webp. Форматы heic/heif, которые могут обрабатываться при загрузке через интерфейс сайта, не указывайте в Public API по URL.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "nano-banana-2-lite",
"input": {
"prompt": "Минималистичный постер с жёлтым роботом на белом фоне, мягкий студийный свет",
"aspect_ratio": "1:1"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'nano-banana-2-lite',
input: {
prompt:
'Минималистичный постер с жёлтым роботом на белом фоне, мягкий студийный свет',
aspect_ratio: '1:1',
},
}),
})
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': 'nano-banana-2-lite',
'input': {
'prompt': 'Минималистичный постер с жёлтым роботом на белом фоне, мягкий студийный свет',
'aspect_ratio': '1:1',
},
},
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": "nano-banana-2-lite",
"input": {
"prompt": "Сохрани композицию, но сделай стиль акварельной иллюстрации и добавь тёплый вечерний свет",
"image_urls": [
"https://cdn.example.com/source-image-1.jpg",
"https://cdn.example.com/source-image-2.png"
],
"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: 'nano-banana-2-lite',
input: {
prompt:
'Сохрани композицию, но сделай стиль акварельной иллюстрации и добавь тёплый вечерний свет',
image_urls: [
'https://cdn.example.com/source-image-1.jpg',
'https://cdn.example.com/source-image-2.png',
],
aspect_ratio: 'auto',
},
}),
})
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': 'nano-banana-2-lite',
'input': {
'prompt': 'Сохрани композицию, но сделай стиль акварельной иллюстрации и добавь тёплый вечерний свет',
'image_urls': [
'https://cdn.example.com/source-image-1.jpg',
'https://cdn.example.com/source-image-2.png',
],
'aspect_ratio': 'auto',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
{
"id": "op_uuid-123",
"status": "queued",
"tool": "nano-banana-2-lite",
"cost": 1,
"balance_after": 499,
"created_at": "2026-03-13T12:00:00Z"
}
{
"id": "op_uuid-123",
"status": "completed",
"tool": "nano-banana-2-lite",
"cost": 1,
"created_at": "2026-03-13T12:00:00Z",
"completed_at": "2026-03-13T12:00:18Z",
"result": {
"type": "image",
"urls": [
"https://storage.bratuha.ru/results/nano-banana-2-lite/image-1.jpg"
]
},
"error_message": null
}
{
"id": "op_uuid-123",
"status": "failed",
"tool": "nano-banana-2-lite",
"cost": 1,
"created_at": "2026-03-13T12:00:00Z",
"completed_at": "2026-03-13T12:00:18Z",
"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 operationId = 'op_uuid-123'
const response = await fetch(
`https://bratuha.ru/api/v1/operations/${operationId}`,
{
headers: {
Authorization: 'Bearer brth_ваш_ключ',
},
},
)
const operation = await response.json()
console.log(operation.status, operation.result)
После успешного завершения в поле result возвращается объект изображения:
{
"type": "image",
"urls": [
"https://storage.bratuha.ru/results/nano-banana-2-lite/image-1.jpg"
]
}
type - тип результата, для этой нейросети это "image".urls - массив ссылок на готовые изображения. Даже если результат один, он приходит в массиве.Стоимость фиксированная: 1 ₽ за одну созданную операцию.
Цена не зависит от:
aspect_ratio;Если на балансе недостаточно средств, операция не будет создана, а API вернёт ошибку insufficient_funds.
POST /api/v1/operations не идемпотентен: каждый повторный запрос создаёт новую операцию и повторно списывает стоимость при успешном создании.id.http/https URL, доступные серверу без авторизации.localhost, приватные IP-адреса и внутренние адреса.image_urls можно передать до 10 изображений. В примерах выше показаны две ссылки, но в реальном запросе можно отправить и одну.image_urls не передан, передан как пустой массив или удалён из запроса, будет выполнена генерация только по текстовому заданию.prompt, тем проще получить стабильный результат: указывайте объект, стиль, фон, свет, формат кадра и нужные изменения.