RU ▾

Нецензурируемый текстовый API для вашего конвейера

API Nano Banana: промпты и скрипты через один эндпоинт

Начните работу с API Nano Banana за несколько минут. Это руководство охватывает аутентификацию, базовые запросы, потоковую передачу и вызов функций в стандартном формате, совместимом с OpenAI.

Аутентификация и базовый URL

Получите доступ к nano banana api, указав в клиенте адрес https://api.nanobananaapis.com/v1. В заголовке Authorization должен быть указан ваш API-ключ. Зарегистрируйтесь на странице Get API key, указав только адрес электронной почты и пароль, чтобы получить ключ мгновенно. Ключ отображается сразу после регистрации. Если вы его потеряете, сгенерируйте новый в панели управления; старый ключ перестанет действовать немедленно.

Используйте Bearer YOUR_API_KEY для каждого запроса. Идентификатор модели всегда uncensored. Этот эндпоинт принимает текст и возвращает текст. Он не генерирует изображения, аудио или видео. Для мультимодальных конвейеров используйте этот API для написания промптов, создания сценариев и постобработки.

Первый запрос

Отправьте стандартный запрос на завершение чата. API поддерживает формат OpenAI. Замените YOUR_API_KEY на ваш фактический ключ. Этот пример отправляет простое сообщение нецензурируемой модели.

curl https://api.nanobananaapis.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
  }'

Ответ содержит сгенерированный текст. Вы можете проверить количество использованных токенов в теле ответа. Размер контекстного окна составляет 100 000 токенов суммарно для промпта и завершения. Держите размер полезной нагрузки менее 8 МБ.

Пример SDK для Python

Используйте официальный Python SDK для OpenAI. Установите базовый URL на эндпоинт nanobananaapis. Передайте API-ключ через параметр api_key. Клиент автоматически формирует запросы корректно. Этот метод идеален для бэкенд-скриптов, обрабатывающих текст перед отправкой в сервис генерации изображений или видео.

from openai import OpenAI

client = OpenAI(base_url="https://api.nanobananaapis.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

SDK берет на себя потоковую передачу и парсинг. Вы можете перебирать фрагменты, если включите режим потоковой передачи. Этот подход делает ваш код чистым и совместимым с другими сервисами OpenAI, если вы позже смените поставщика.

Пример SDK для Node.js

Node.js SDK работает аналогично. Инициализируйте клиент, указав базовый URL и ключ. Вызовите метод chat.completions.create. Это полезно для serverless-функций или веб-серверов, генерирующих скрипты динамически.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.nanobananaapis.com/v1", apiKey: process.env.API_KEY });

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

Убедитесь, что правильно обрабатываете ошибки. Распространенные ошибки включают сбои аутентификации (401), если ключ недействителен или истек, и превышение лимита запросов (429), если вы превысили 300 запросов в минуту. API-ключ привязан к вашей учетной записи, поэтому храните его в переменных окружения.

Потоковые ответы

Включите потоковую передачу, установив stream: true в запросе. API возвращает поток Server-Sent Events (SSE). Каждый чанк содержит часть сгенерированного текста. Это необходимо для приложений реального времени или при генерации длинных скриптов.

stream = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Tell the story in second person."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

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

Ограничения, ошибки и модели

Проверьте доступные модели через GET /v1/models. Единственная модель — uncensored. Лимит запросов составляет 300 запросов в минуту на один ключ. Тело запроса должно быть не более 8 МБ. Стоимость: $0,25 за 1 млн входных токенов и $1,00 за 1 млн выходных токенов. Баланс не сгорает. При исчерпании средств пополните его от $10. Ошибки: 401 — неверный ключ, 402 — недостаточно средств, 429 — превышен лимит запросов. SLA или гарантия доступности не предоставляются. Модель блокирует сексуальный контент с участием несовершеннолетних. Она не отказывается от других законных тем для взрослых или спорных вопросов.

Вопросы и ответы

Это официальный API OpenAI?

Нет. Это API, совместимый с OpenAI, работающий на нашей собственной модели с открытыми весами. Он использует тот же формат запросов и SDK, но является отдельным сервисом. Ознакомьтесь с официальной документацией OpenAI, чтобы узнать об их конкретных функциях и ограничениях.

Храните ли вы мои промпты для обучения?

Нет. Мы не используем ваши промпты для обучения модели. Ваши данные используются только для генерации ответа на этот запрос. Конфиденциальность — ключевая особенность нашего нецензурируемого рабочего процесса.

Могу ли я использовать это для генерации промптов для изображений?

Да. Этот API идеально подходит для генерации текстовых промптов для моделей генерации изображений, аудио или видео. Он обрабатывает текстовую часть вашего конвейера. Мы не генерируем медиафайлы самостоятельно.

Ваш ключ — в одной форме от вас

Создайте учетную запись, скопируйте ключ, измените базовый URL. Вот и вся настройка.

Получить API-ключ

Характеристики API

Все реальные лимиты и возможности API в одном месте — сверьте их до пополнения.

ПараметрЗначение
Формат APIсовместим с OpenAI: любой OpenAI SDK работает — замените base URL и ключ
АвторизацияAuthorization: Bearer YOUR_KEY
ID моделиuncensored
ЭндпоинтыPOST /v1/chat/completions · GET /v1/models
Base URLhttps://api.nanobananaapis.com/v1
JSON-режимresponse_format: {"type": "json_object"}
Максимум ответадо остатка окна в 100 000 токенов; max_tokens необязателен (отдельного лимита нет)
Параметрыtemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Потоковая передачада — server-sent events, последний фрагмент содержит расход токенов
Вызов функцийда — tools, tool_choice; ответ содержит tool_calls, в том числе в потоке; результат — сообщением role: tool
Контекстное окно100 000 токенов (вход и ответ вместе)
Размер запросадо 8 МБ
Заголовки ответаX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Параллельные запросыдо 8 одновременно на ключ
Лимит запросов300 запросов в минуту на ключ
ПополнениеUSDT (TRC20) или USDC (Base), любая целая сумма от $10 до $500
Бонус+5% от $50, +10% от $100
Оплатапредоплаченный баланс по фактическому расходу; ошибки и отказы бесплатны
Пробный баланс$0,50 на 7 дней, без карты · Пробный ключ: 2 параллельных запроса, 60 в минуту; полные лимиты (8 и 300) после первого пополнения
Цена$0,25 за 1 млн входных токенов · $1,00 за 1 млн выходных
Срок действияоплаченный баланс не сгорает, без подписки
Ключиодин активный ключ на аккаунт; новый заменяет старый
ВходGoogle или e-mail и пароль
Контентконтент для взрослых разрешён; сексуальный контент с несовершеннолетними запрещён

Коды ошибок

Ошибки приходят в JSON с постоянным type; неудачные и отклонённые запросы не оплачиваются.

КодТипЧто значит
400bad_requestневерный JSON, пустые сообщения, неверный параметр или превышено окно контекста
401missing_key · invalid_key · key_revokedнет ключа, ключ неверный или заменён новым
402no_creditбаланс пуст — пополните, работа продолжится сразу
403content_blockedсексуальный контент с несовершеннолетними — отказ, без оплаты
404not_foundнеизвестный эндпоинт
413request_too_largeтело запроса больше 8 МБ
429rate_limited · concurrencyбольше 300/мин или 8 параллельно — подождите и повторите
503upstream_busyмодель занята — повторите через несколько секунд