API документация Nano Banana 2
Введение
Nano Banana 2 предоставляет REST API для генерации изображений через искусственный интеллект, управления балансом и просмотра истории. API позволяет интегрировать генерацию изображений в ваши приложения, боты и скрипты.
Базовый URL
https://nanobanana.expert/api/v1Чтобы получить API ключ, перейдите в Dashboard → вкладка API.
Аутентификация
Все запросы к API должны содержать заголовок Authorization с вашим API ключом в формате Bearer токена. Ключи начинаются с префикса nb_.
Authorization: Bearer nb_your_api_key_here
Каждый запрос использует баланс бананов вашего аккаунта. Ключ привязан к аккаунту — не передавайте его третьим лицам.
Баланс
Возвращает текущий баланс вашего аккаунта.
/api/v1/balanceПолучить баланс бананов и купонов
Ответ
{
"bananas": 1250,
"generation_coupons": 2
}Примеры
curl -H "Authorization: Bearer nb_your_key" \ https://nanobanana.expert/api/v1/balance
const res = await fetch('https://nanobanana.expert/api/v1/balance', {
headers: { 'Authorization': 'Bearer nb_your_key' }
});
const { bananas, generation_coupons } = await res.json();
console.log(`Balance: ${bananas} bananas`);Генерация изображения
Генерирует изображение по текстовому описанию. Стоимость списывается с баланса.
/api/v1/generateСоздать изображение по промпту
Тело запроса
| Параметр | Тип | Описание |
|---|---|---|
| prompt | string | Обязательный. Текстовое описание изображения. |
| aspect_ratio | string | Необязательный. Например: "16:9", "1:1", "9:16". По умолчанию: "1:1". |
| resolution | string | Необязательный. "0.5k" | "1k" | "2k" | "4k". По умолчанию: "1k". |
| output_format | string | Необязательный. "png" | "jpeg" | "webp". По умолчанию: "png". |
| seed | number | Необязательный. Seed для воспроизводимости результата. |
Ответ
{
"image_url": "https://...",
"bananas_spent": 42,
"used_coupon": false,
"seed": 1234567890,
"generation_id": "uuid"
}Примеры
curl -X POST https://nanobanana.expert/api/v1/generate \
-H "Authorization: Bearer nb_your_key" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a banana in space, cinematic lighting",
"aspect_ratio": "16:9",
"resolution": "1k",
"output_format": "png"
}'const res = await fetch('https://nanobanana.expert/api/v1/generate', {
method: 'POST',
headers: {
'Authorization': 'Bearer nb_your_key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
prompt: 'a banana in space, cinematic lighting',
aspect_ratio: '16:9',
resolution: '1k',
}),
});
const { image_url, bananas_spent } = await res.json();
console.log('Generated:', image_url);История генераций
Возвращает список ваших генераций в обратном хронологическом порядке.
/api/v1/historyПолучить историю генераций
Параметры запроса
| Параметр | Описание |
|---|---|
| limit | Кол-во записей (макс. 100, по умолчанию 20) |
| offset | Смещение для пагинации (по умолчанию 0) |
Ответ
{
"generations": [
{
"id": "uuid",
"prompt": "a banana in space",
"image_url": "https://...",
"model": "fal-ai/nano-banana-2",
"seed": 1234567890,
"created_at": "2026-03-04T12:00:00Z"
}
],
"total": 42,
"limit": 20,
"offset": 0
}curl "https://nanobanana.expert/api/v1/history?limit=10&offset=0" \ -H "Authorization: Bearer nb_your_key"
Управление ключами через API
Вы можете управлять API ключами программно через сам API.
/api/v1/keysПолучить список активных ключей
/api/v1/keysСоздать новый ключ (возвращается один раз)
/api/v1/keys?id=uuidОтозвать ключ по ID
curl -X POST https://nanobanana.expert/api/v1/keys \
-H "Authorization: Bearer nb_your_key" \
-H "Content-Type: application/json" \
-d '{"name": "My Bot"}'curl -X DELETE "https://nanobanana.expert/api/v1/keys?id=key-uuid-here" \ -H "Authorization: Bearer nb_your_key"
Коды ошибок
| Код | Значение | Решение |
|---|---|---|
| 401 | Unauthorized | Проверьте заголовок Authorization: Bearer nb_... |
| 402 | Insufficient funds | Пополните баланс бананов на /dashboard |
| 400 | Bad Request | Проверьте обязательные параметры запроса |
| 403 | Forbidden | Аккаунт заблокирован |
| 429 | Too Many Requests | Слишком много запросов, подождите |
| 500 | Internal Error | Внутренняя ошибка сервера |
| 503 | Service Unavailable | Сервис временно недоступен |
Все ошибки возвращаются в формате { "error": "message" }.