Для AI-агентов и MCP-клиентов

BananaBanana MCP Server

Создавайте AI-изображения и видео прямо в Claude Desktop, Claude Code и любых других MCP-клиентах — с оплатой за каждую генерацию с вашего баланса BananaBanana. Без подписок.

Создать API-ключИзображения от $0.03 · видео от $0.10
01ЧТО ЭТО ТАКОЕ

Один эндпоинт для всех моделей

Удаленный сервер Model Context Protocol, который открывает вашим агентам доступ ко всему стеку генерации BananaBanana через встроенные инструменты: изображениям Google Nano Banana 2 Lite / 2 / Pro (от $0.03), видео Veo 3.1 / Fast / Lite и Gemini Omni Flash со звуком (фикс. $1.00). Агент видит актуальные цены, подтверждает расходы перед дорогими задачами, а все генерации сохраняются в той же истории и оплачиваются с того же баланса, что и на сайте.

  • Эндпоинт: https://bananabanana.pro/api/mcp (Streamable HTTP)
  • Авторизация: Bearer API-ключ из вашего профиля (в планах — поддержка OAuth 2.1)
  • Лимит запросов: 20 вызовов инструментов в минуту на один ключ; можно настроить дневной лимит расходов для каждого ключа
  • Нет MCP-клиента? Этот же эндпоинт работает как обычный JSON-RPC по HTTPS — вызывайте его через curl, Python или TypeScript без установки SDK
  • Неудачные или отклоненные фильтрами генерации возвращаются на баланс автоматически
  • Документация, файл server.json и готовые примеры настройки клиентов доступны в GitHub-репозитории bananabanana-mcp
MCP-клиентClaude Code / Desktop, Cursor,VS Code, Codex, любой агентBearer-ключ/api/mcpbananabanana.proStreamable HTTP · 7 инструментовгенерацияПул моделейNano Banana · Veo 3.1Omni Flashза единицуВаш балансоплата за генерациюавтовозврат при ошибке
02БЫСТРЫЙ СТАРТ

Подключение в три шага

1. Создайте аккаунт и пополните баланс. 2. В разделе Profile → MCP API Keys создайте ключ (он показывается один раз). 3. Добавьте сервер в свой клиент:

Claude Code

claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp \
  --header "Authorization: Bearer bb_live_YOUR_KEY"

Claude Desktop

Добавьте в claude_desktop_config.json (Settings → Developer → Edit Config); для работы моста mcp-remote требуется Node.js:

{
  "mcpServers": {
    "bananabanana": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://bananabanana.pro/api/mcp",
        "--header", "Authorization: Bearer bb_live_YOUR_KEY"
      ]
    }
  }
}

Cursor

Добавьте в глобальный файл ~/.cursor/mcp.json или локальный .cursor/mcp.json в корне проекта. Чтобы не хранить ключ в файле в открытом виде, используйте переменную окружения ${env:BB_API_KEY}:

{
  "mcpServers": {
    "bananabanana": {
      "url": "https://bananabanana.pro/api/mcp",
      "headers": {
        "Authorization": "Bearer bb_live_YOUR_KEY"
      }
    }
  }
}

Подробный разбор интеграции с Cursor с описанием нюансов и демо-ключом: Генерация изображений в Cursor.

VS Code / GitHub Copilot

Добавьте в файл .vscode/mcp.json в рабочей области (или в пользовательские настройки settings.json). VS Code запросит ключ один раз и сохранит его в зашифрованном виде:

{
  "servers": {
    "bananabanana": {
      "type": "http",
      "url": "https://bananabanana.pro/api/mcp",
      "headers": {
        "Authorization": "Bearer ${input:bb-api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "bb-api-key",
      "description": "BananaBanana API key (bb_live_…)",
      "password": true
    }
  ]
}

Подробный разбор интеграции с VS Code / Copilot с описанием нюансов и демо-ключом: Генерация изображений в VS Code: руководство по настройке Copilot MCP.

Windsurf

Добавьте в ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "bananabanana": {
      "serverUrl": "https://bananabanana.pro/api/mcp",
      "headers": {
        "Authorization": "Bearer bb_live_YOUR_KEY"
      }
    }
  }
}

Любой другой MCP-клиент (чистый JSON-RPC)

POST https://bananabanana.pro/api/mcp
Authorization: Bearer bb_live_YOUR_KEY
Content-Type: application/json
Accept: application/json, text/event-stream

{"jsonrpc":"2.0","id":1,"method":"tools/list"}

Предпочитаете пошаговые инструкции? Руководство Генерация изображений в Claude Code подробно описывает весь процесс настройки Claude от начала до конца, включая четыре реальных сценария использования и расчет их стоимости.

03СОВМЕСТИМОСТЬ

Поддерживаемые клиенты

MCP — открытый протокол. К нему может подключиться любой клиент, поддерживающий Streamable HTTP и умеющий передавать заголовок Authorization. Текущий статус интеграции проверен по официальной документации разработчиков (актуально на июль 2026 года):

КлиентРаботает сейчас?Способ подключения
Claude Codeдаclaude mcp add --transport http … --header
Claude Desktop / claude.aiдасобственный коннектор с кастомным заголовком запроса (в бета-тесте) или мост mcp-remote
Cursorда.cursor/mcp.json: параметры url + headers, секреты через ${env:…} — см. пример выше
VS Code / GitHub Copilotда.vscode/mcp.json: параметры type: "http" + url + headers; сохраните ключ как ввод promptString — VS Code запросит его один раз и сохранит в зашифрованном виде
ChatGPT desktop / Codex CLI / IDEдаобщий файл ~/.codex/config.toml: параметры url + bearer_token_env_var (поместите ключ в переменную окружения). Исключение — веб-коннекторы ChatGPT, которые авторизуются через OAuth, а не скопированные ключи
Gemini CLIдапараметры httpUrl + headers в файле settings.json
xAI API (Grok)даинструмент MCP с передачей server_url и значения authorization на сервер
grok.com (web)частичнопользовательские коннекторы принимают URL сервера (Connectors → New Connector → Custom); в документации не указано, поддерживается ли передача скопированного API-ключа в заголовке, поэтому для этого пути может потребоваться планируемая поддержка OAuth 2.1
ZCode (GLM-5.2)даSettings → MCP Servers → тип HTTP + заголовок Authorization; GLM-5.2 внутри Claude Code наследует конфигурацию Claude Code
Другие клиентыдачистый JSON-RPC по HTTPS — см. раздел Вызов из кода ниже

Пример для Codex — добавьте в ~/.codex/config.toml и экспортируйте BB_API_KEY=bb_live_…:

[mcp_servers.bananabanana]
url = "https://bananabanana.pro/api/mcp"
bearer_token_env_var = "BB_API_KEY"

Подробный разбор интеграции с Codex (CLI, расширение для IDE и десктопное приложение ChatGPT из единой конфигурации) с описанием нюансов и демо-ключом: Настройка Codex MCP: генерация изображений и видео из одного config.toml.

04БЕЗ SDK

Вызов напрямую из кода

Не пользуетесь MCP-клиентами? Они и не нужны — как и специальные библиотеки (SDK). Сервер работает по обычному протоколу JSON-RPC 2.0 поверх HTTPS: один эндпоинт для POST-запросов, заголовок Bearer и простой JSON-ответ в один шаг. Состояние сессии не сохраняется (stateless), поэтому никакого предварительного рукопожатия не требуется: запрос к tools/call можно отправлять сразу через curl, Python, TypeScript или любой другой инструмент для работы с HTTP.

curl

# start an image generation (charges one image, $0.06 on the default model)
curl -s https://bananabanana.pro/api/mcp \
  -H "Authorization: Bearer bb_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{
        "name":"generate_image",
        "arguments":{"prompt":"studio photo of a ceramic mug on linen, soft daylight"}}}'

# → result.structuredContent.job_id = "cmxy…"

# fetch the result (long-polls server-side up to 30 s; free)
curl -s https://bananabanana.pro/api/mcp \
  -H "Authorization: Bearer bb_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{
        "name":"get_result",
        "arguments":{"job_id":"cmxy…","wait_seconds":30}}}'

Python

Только библиотека requests — никаких сторонних MCP-библиотек:

import requests

MCP = "https://bananabanana.pro/api/mcp"
HEADERS = {"Authorization": "Bearer bb_live_YOUR_KEY"}

def call(tool, **args):
    r = requests.post(MCP, headers=HEADERS, json={
        "jsonrpc": "2.0", "id": 1, "method": "tools/call",
        "params": {"name": tool, "arguments": args},
    })
    r.raise_for_status()
    return r.json()["result"]["structuredContent"]

job = call("generate_image", prompt="watercolor painting of a lighthouse at dawn")

result = call("get_result", job_id=job["job_id"], wait_seconds=30)
while result["status"] == "processing":
    result = call("get_result", job_id=job["job_id"], wait_seconds=30)

print(result["files"][0]["url"], "cost:", result["cost_charged_usd"])

TypeScript / Node.js

Ноль зависимостей — стандартный fetch (Node 18+, Deno, Bun, браузеры):

const MCP = "https://bananabanana.pro/api/mcp";

async function call(tool: string, args: Record<string, unknown>) {
  const res = await fetch(MCP, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.BB_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      jsonrpc: "2.0", id: 1, method: "tools/call",
      params: { name: tool, arguments: args },
    }),
  });
  const { result } = await res.json();
  return result.structuredContent;
}

const job = await call("generate_image", {
  prompt: "isometric 3D render of a tiny greenhouse at golden hour",
});

let out = await call("get_result", { job_id: job.job_id, wait_seconds: 30 });
while (out.status === "processing") {
  out = await call("get_result", { job_id: job.job_id, wait_seconds: 30 });
}
console.log(out.files[0].url, "cost:", out.cost_charged_usd);

Важные детали для написания скриптов:

  • Каждый ответ инструмента дублирует данные: в машиночитаемом формате в result.structuredContent и в виде текста в result.content — разбирайте то, что удобнее.
  • Создание видео (и пакетов из нескольких картинок) происходит в два шага: первый вызов generate_video возвращает предварительный расчет стоимости и ничего не списывает; повторите его с параметром confirm_cost, равным рассчитанной сумме, чтобы запустить генерацию.
  • Передавайте уникальный idempotency_key при вызовах генерации — повторные попытки из-за сбоев сети никогда не приведут к двойному списанию.
  • Метод tools/list работает без авторизации по ключу, поэтому вы можете изучить полные схемы параметров еще до регистрации. Лимит вызовов инструментов — 20 в минуту на один ключ.
05ИНСТРУМЕНТЫ

Семь специализированных инструментов

ИнструментСтоимостьОписание
list_modelsбесплатноВсе доступные модели с актуальными ценами за единицу, разрешениями и ограничениями.
get_accountбесплатноТекущий баланс, лимит расходов по ключу и статистика использования за сегодня.
generate_image$0.03–$0.20Генерация текста в изображение на моделях Nano Banana 2 Lite / 2 / Pro до 4K. Возвращает job_id.
edit_imageцена одного изображенияКорректировка готового изображения с помощью текстовых инструкций (многоэтапное редактирование).
generate_video$0.10–$4.40Генерация на семействе моделей Veo 3.1 или Omni Flash (всегда со звуком). Сначала всегда возвращает точную стоимость.
get_resultбесплатноПроверка статуса задачи: возвращает временные ссылки на медиафайлы (активны 24 часа), списанную стоимость, остаток на балансе и превью изображения.
list_generationsбесплатноИстория последних генераций — синхронизирована с сайтом.
06ТАРИФЫ

Полная прозрачность расходов

  • Цены подтягиваются в реальном времени через list_models — из того же источника, что и на сайте.
  • Каждый вызов для генерации видео (или пакета картинок) сначала возвращает расчет стоимости без списания средств. Для запуска задачи агент повторяет вызов с параметром confirm_cost.
  • Каждый результат содержит поля cost_charged_usd (фактическая стоимость) и balance_remaining_usd (остаток на балансе).
  • Ошибки на стороне провайдеров моделей и отклонения по контент-фильтрам компенсируются автоматически — точно так же, как и в веб-интерфейсе.
  • Необязательный параметр idempotency_key гарантирует, что повторные попытки запросов никогда не приведут к двойному списанию.
07ПРИМЕР

Реальный диалог

→ generate_video {"prompt": "drone shot over a misty pine forest", "model": "veo-3.1-fast"}
← {"status": "confirmation_required", "quoted_cost_usd": 0.70, ...}
→ generate_video {..., "confirm_cost": 0.70}
← {"job_id": "cmxy…", "status": "processing", "cost_charged_usd": 0.70, "balance_remaining_usd": 12.40}
→ get_result {"job_id": "cmxy…"}
← {"status": "completed", "files": [{"url": "https://…"}], "cost_charged_usd": 0.70}
08БЕЗОПАСНОСТЬ

Ссылки на медиафайлы и защита данных

  • Ссылки на результаты подписаны шифрованием и активны в течение 24 часов. Сами медиафайлы надежно хранятся в вашем аккаунте: вы можете получить новые ссылки повторным вызовом get_result или скачать файлы через сайт.
  • API-ключи хранятся в виде хэшей и показываются только один раз при создании. Вы можете отозвать их в любой момент в своем профиле.
  • Детальный лог использования каждого ключа (инструмент, модель, стоимость, превью промпта) доступен в Profile → MCP API Keys.
  • Все генерации через MCP отображаются в общей истории генераций и аналитике наряду с веб-версией.

Готовы подключить своего агента?

Создайте ключ, добавьте одну строку в конфигурационный файл — и ваш агент сможет генерировать студийные медиаматериалы за считанные минуты.

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