Текст → изображение

Nano Banana

Gemini Image от Google: генерация и правки с сохранением деталей.

nano-banana
Цена
5,45 ₽
за изображение

Списывается при постановке задачи в очередь, возвращается, если генерация не удалась.

Пример результата

Пример: Nano Banana

Попробовать

Дополнительные настройки
Стоимость
≈ 5,45 ₽

Результат появится здесь. Плейграунд использует тот же API, что и код ниже, и списывает стоимость с вашего баланса.

Параметры запроса

Поля JSON-тела запроса. Другие поля модель не принимает: запрос с ними вернёт ошибку 400.

  • promptстрокаобязательный

    Описание того, что нужно получить.

    До 50 000 символов
  • aspect_ratioстроканеобязательный

    Соотношение сторон.

    По умолчанию:
    1:1
    Значения:
    21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16
  • num_imagesцелое числонеобязательный

    Сколько изображений сгенерировать.

    По умолчанию:
    1
    Диапазон:
    1–4
    Цена:
    Умножается на число изображений.
  • seedцелое числонеобязательный

    Зерно генерации: тот же seed и тот же запрос дают тот же результат.

  • output_formatстроканеобязательный

    Формат файла результата.

    По умолчанию:
    png
    Значения:
    jpeg, png, webp
  • safety_toleranceстроканеобязательный

    Строгость фильтра контента: 1 — строже всего, 6 — мягче всего.

    По умолчанию:
    4
    Значения:
    1, 2, 3, 4, 5, 6

Подключение по API

Ключ создаётся в личном кабинете. Подробности — в документации.

curl

curl -X POST https://themegabrain.ru/api/gateway/v1/queue/nano-banana \
  -H "Authorization: Bearer $MEGABRAIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"матрёшки на заиндевевшем подоконнике, мягкий утренний свет, фото"}'

# Затем опрашивайте status_url и заберите результат по response_url:
curl https://themegabrain.ru/api/gateway/v1/queue/requests/$REQUEST_ID -H "Authorization: Bearer $MEGABRAIN_API_KEY"

Python

import os, time, requests

BASE = "https://themegabrain.ru/api/gateway/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['MEGABRAIN_API_KEY']}"}

job = requests.post(f"{BASE}/queue/nano-banana", headers=HEADERS, json={
  "prompt": "матрёшки на заиндевевшем подоконнике, мягкий утренний свет, фото"
}).json()

while requests.get(job["status_url"], headers=HEADERS).json()["status"] not in ("COMPLETED", "FAILED"):
    time.sleep(2)

print(requests.get(job["response_url"], headers=HEADERS).json())

JavaScript

const BASE = 'https://themegabrain.ru/api/gateway/v1';
const headers = {
  Authorization: `Bearer ${process.env.MEGABRAIN_API_KEY}`,
  'Content-Type': 'application/json',
};

const job = await fetch(`${BASE}/queue/nano-banana`, {
  method: 'POST',
  headers,
  body: JSON.stringify({
    "prompt": "матрёшки на заиндевевшем подоконнике, мягкий утренний свет, фото"
  }),
}).then(r => r.json());

let status = job.status;
while (status !== 'COMPLETED' && status !== 'FAILED') {
  await new Promise(r => setTimeout(r, 2000));
  ({ status } = await fetch(job.status_url, { headers }).then(r => r.json()));
}
console.log(await fetch(job.response_url, { headers }).then(r => r.json()));