Для AI-агентів та MCP-клієнтів

Nano Banana MCP Server для Claude, Cursor і Gemini CLI

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

Створити API-ключЗображення від $0.03 · відео від $0.10
01ЩО ЦЕ ТАКЕ

Один ендпоінт — усі моделі

Віддалений Model Context Protocol сервер, що надає доступ до всього стеку генерації BananaBanana як до інструментів агента: зображення Google Nano Banana 2 Lite / 2 / 2.1 / Pro (від $0.03), відео Veo 3.1 / Fast / Lite та Gemini Omni Flash, Wan 3.0 зі звуком ($0.09–1.00). Ваш агент бачить актуальні ціни, підтверджує витрати перед запуском дорогих завдань, а кожна генерація зберігається в тій самій історії та оплачується з того самого балансу, що й на сайті.

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

Підключення за три кроки

1. Створіть акаунт та поповніть баланс. 2. У розділі Профіль → MCP API Keys створіть ключ (показується один раз). 3. Додайте сервер до свого клієнта:

claude.ai, Claude Desktop, мобільні (OAuth — копіювати нічого не треба)

Settings → Connectors → Add custom connector, вставте https://bananabanana.pro/api/mcp і натисніть Connect. Claude реєструється сам, ви підтверджуєте доступ на екрані BananaBanana, а генерації списуються з акаунта, під яким ви увійшли.

Settings → Connectors → Add custom connector
URL: https://bananabanana.pro/api/mcp
→ Add → Connect → approve access on bananabanana.pro

Той самий флоу працює в будь-якому клієнті з підтримкою MCP-авторизації: MCP Inspector, вебконектори ChatGPT і Grok, Claude Code. Підключені застосунки видно у профілі, там само їх можна відключити.

Claude Code

# with an API key
claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp \
  --header "Authorization: Bearer bb_live_YOUR_KEY"

# or with OAuth — no key, sign in in the browser
claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp
# then run /mcp inside Claude Code and pick "Authenticate"

Claude Desktop

Додайте до claude_desktop_config.json (Налаштування → 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"
      }
    }
  }
}

Windsurf MCP Setup: Generate Images in Cascade

Cline

{
  "mcpServers": {
    "bananabanana": {
      "type": "streamableHttp",
      "url": "https://bananabanana.pro/api/mcp",
      "headers": {
        "Authorization": "Bearer bb_live_YOUR_KEY"
      },
      "disabled": false,
      "autoApprove": ["list_models", "get_account", "get_result"]
    }
  }
}

Cline MCP Server: Generate Images From Your Editor

Будь-який інший 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"}

Будь-який метод, крім ping і списків discovery (tools/list, prompts/list, resources/list), потребує облікових даних — включно з initialize: неавтентифіковане рукостискання відповідає 401 із челенджем WWW-Authenticate. Асиметрія навмисна, а не помилка: саме за цим челенджем клієнт-конектор розуміє, що сервер працює через OAuth. Читати каталог інструментів без ключа й далі можна.

Бажаєте покроковий посібник? Туторіал Генерація зображень у Claude Code детально описує налаштування Claude від початку до кінця, розглядаючи чотири реальні сценарії використання та їхню фактичну вартість.

03СУМІСНІСТЬ

Сумісність із клієнтами

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

КлієнтПрацює зараз?Як підключити
Claude Codeтакclaude mcp add --transport http … --header
Claude Desktop / claude.aiтаккастомний конектор: вставити URL і увійти через OAuth (ключ у заголовку теж працює, бета)
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 web входять через OAuth, а не вставленим ключем
Gemini CLIтакhttpUrl + headers у settings.json
WindsurfтакserverUrl + headers in mcp_config.json (Devin Local agent: url + transport: "http"). Setup guide
Clineтакtype: "streamableHttp" + url + headers in the MCP settings JSON. Setup guide
xAI API (Grok)такінструмент MCP із параметрами server_url та значенням authorization, що надсилається на сервер Setup guide
grok.com (web)частковокастомні конектори приймають URL сервера (Connectors → New Connector → Custom); вхід іде через наш OAuth 2.1
ZCode (GLM-5.2)такНалаштування → MCP-сервери → тип 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.03 on the default Lite 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безкоштовноБаланс, встановлений ліміт витрат для ключа та статистика використання за сьогодні.
top_upбезкоштовноСтворює безпечне посилання для поповнення. OAuth отримує доступ лише до депозиту, API-ключі використовують профіль.
generate_image$0.03–$0.20Генерація зображень за текстом за допомогою моделей Nano Banana 2 Lite / 2 / 2.1 / Pro з роздільною здатністю до 4K. Повертає job_id.
edit_imageвартість одного зображенняРедагування готового зображення за допомогою текстових інструкцій (багатокрокове редагування).
generate_video$0.10–$6.00Генерація відео за допомогою моделей сімейства Veo 3.1 або Omni Flash (завжди зі звуком), Wan 3.0, за бажання — зі стартового кадру та референсних зображень. Спочатку обов'язково повертає точну вартість.
edit_video$0.09–1.00Video-to-video редагування на Omni Flash: власний ролик або посилання — рестайл, заміна об'єктів, зміна світла. Перші 10 с, 720p зі звуком.
generate_speech$0.01 / 200 символівГенерує WAV-мовлення з одним або двома голосами. Оплата за кожні розпочаті 200 символів.
get_resultбезкоштовноОтримання результату: тимчасові посилання на готові медіафайли (дійсні 24 години), фактично списана сума, залишок балансу та інлайн-прев'ю зображення.
list_generationsбезкоштовноІсторія останніх генерацій — синхронізована із веб-сайтом.
06ЦІНОУТВОРЕННЯ

Скільки коштує генерація через MCP у 2026 році?

  • Ціни надаються в реальному часі через 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-ключі зберігаються у вигляді хешів і відображаються лише один раз при створенні; ви можете відкликати їх у будь-який момент у своєму профілі.
  • У OAuth-підключень access-токен живе годину, refresh ротується під час кожного оновлення; зберігаються лише хеші, токен дійсний тільки для цього сервера. Відключення застосунку в профілі миттєво гасить його токени.
  • Журнал використання для кожного ключа (інструмент, модель, вартість, прев'ю промпту) доступний у розділі Профіль → MCP API Keys.
  • Генерації через MCP відображаються в тій самій історії генерацій та аналітиці, що й запити через веб-інтерфейс.
09ОПЛАТА ЗА ВИКЛИК

x402: оплата за виклик у USDC, без акаунта

x402 — відкритий протокол, за яким агент оплачує один запит стейблкоїном. Це окремий від MCP-сервера ендпоінт: POST /api/x402. Акаунт, API-ключ і поповнення балансу не потрібні.

  1. Надішліть назву інструмента та його аргументи. Сервер відповість 402 з точною ціною цього виклику.
  2. Підпишіть платіж у USDC в мережі Base і повторіть запит із заголовком X-PAYMENT.
  3. Зображення та мовлення надходять у тій самій відповіді. Відео повертає job_id; результат безкоштовно опитується через GET /api/x402/result/{jobId}.

Доступні інструменти: generate_image, generate_speech, generate_video. Ціни ті самі, що у вебстудії та через MCP; виклик коштує стільки, скільки коштує генерація, мінімального поповнення немає.

Якщо оплачене відео не вдалося, платник отримує кредит-токен на ту саму суму, він діє 90 днів. Передайте його як refund_token у наступному виклику. Ончейн-повернення немає. Машиночитаний каталог з актуальними цінами — GET /api/x402.

10ПИТАННЯ Й ВІДПОВІДІ

Поширені питання про MCP-сервер Nano Banana

Що таке MCP-сервер Nano Banana?

Це віддалений MCP-сервер, який дає вашому AI-агенту моделі Nano Banana у вигляді інструментів, а разом із ними моделі відео та мовлення. Агент викликає generate_image, сервер виконує генерацію й повертає посилання на готовий файл. Сервер розміщено BananaBanana за адресою https://bananabanana.pro/api/mcp: нічого не треба встановлювати й запускати в себе, а кожна генерація списується з балансу BananaBanana за тими ж цінами, що й у веб-студії.

Як підключити його до Gemini CLI?

Gemini CLI підключається до віддалених MCP-серверів через HTTP, тож усе налаштування Gemini CLI MCP вміщується в одну команду: gemini mcp add --transport http --scope user bananabanana https://bananabanana.pro/api/mcp -H "Authorization: Bearer YOUR_KEY". Коли CLI запитає, чи довіряєте ви теці, підтвердьте, потім виконайте gemini mcp list і перевірте, що сервер має статус Connected. З --scope user ключ потрапляє в ~/.gemini/settings.json, а не в .gemini/settings.json проєкту, і не опиниться в репозиторії.

Як підключити його до Claude Desktop, Claude Code або Cursor?

У claude.ai та Claude Desktop відкрийте Settings → Connectors → Add custom connector, вставте https://bananabanana.pro/api/mcp і увійдіть через OAuth: копіювати ключ не потрібно. У Claude Code виконайте claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp, потім введіть /mcp і виберіть Authenticate або передайте API-ключ через --header. У Cursor додайте URL і заголовок Authorization у .cursor/mcp.json. Готові конфіги для цих та інших клієнтів є в розділі швидкого старту вище.

Скільки коштує виклик?

Оплачується генерація, а не підключення: зображення коштують $0.03–$0.20, відео — $0.10–$6.00 залежно від моделі, тривалості, роздільності та звуку, мовлення — $0.01 за кожні розпочаті 200 символів. Службові інструменти на кшталт list_models, get_result і get_account безкоштовні. Відео та пакети зображень спершу повертають точну вартість і нічого не списують, доки агент її не підтвердить, а невдалі чи відфільтровані генерації автоматично повертаються на баланс.

Чи потрібен акаунт Google або підписка?

Ні. Не потрібен ні акаунт Google, ні ключ від постачальника моделей — лише акаунт BananaBanana (достатньо email) з поповненим балансом. Підписки немає, баланс не згоряє. Клієнти з ключем використовують API-ключ BananaBanana з профілю, а клієнти-конектори входять через OAuth. Агентам, які платять через x402, не потрібен навіть акаунт: кожен виклик оплачується в USDC у мережі Base.

Які моделі доступні агенту?

Зображення: Nano Banana 2 Lite (за замовчуванням), Nano Banana 2 і Nano Banana Pro до 4K, а також GPT Image 2.5 і Qwen Image 3.0 Pro. Nano Banana 2.1 додає панорамні формати до 8:1. Відео: Veo 3.1, Veo 3.1 Fast і Veo 3.1 Lite, Gemini Omni Flash, Wan 3.0 і Grok Imagine Video 1.5. Мовлення: Gemini 3.1 Flash TTS з 30 голосами. Інструмент list_models повертає актуальний список із цінами, роздільностями й обмеженнями, тож агент завжди працює з поточним каталогом.

Це MCP-сервер для генерації зображень — а відео він теж робить?

Так. Це MCP-сервер для генерації зображень (generate_image, edit_image) і відео в одному підключенні: generate_video створює ролики з тексту, стартового кадру або референсів, а edit_video змінює стиль готового ролика чи подовжує його. Є й generate_speech для озвучення одним або двома голосами. Усе оплачується з одного балансу, а зображення й відео потрапляють у ту саму історію, що й у веб-студії.

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

Створіть ключ, додайте один рядок конфігурації — і ваш агент почне генерувати контент студійної якості вже за кілька хвилин.

Отримати API-ключ