BananaBanana MCP Server
Generates images, videos, and speech via Google Nano Banana, Veo, Omni, and Gemini TTS models with pay-as-you-go crypto payments, no subscription required.
README
BananaBanana MCP Server
An MCP server for image, video, and speech generation — Google Nano Banana, Veo, Omni, and Gemini TTS models — that lets any MCP client (Claude Code, Claude Desktop, Cursor, and more) create media pay-as-you-go with crypto payments and no subscription.
- Endpoint:
https://bananabanana.pro/api/mcp(streamable HTTP) - Auth: OAuth 2.1 (sign in — nothing to copy) or
Authorization: Bearer bb_live_…— create a key - Website: https://bananabanana.pro/?utm_source=mcp_readme&utm_medium=mcp_catalog · Docs & live example: https://bananabanana.pro/mcp?utm_source=mcp_readme&utm_medium=mcp_catalog
Generate images from $0.03, videos from $0.10, and speech for $0.01 per started 200 transcript characters, billed from an account balance you top up with crypto. Cost quotes before every expensive call, automatic refunds on failure, and one shared image/video history with the website.
Quick Start
OAuth is the primary connection path. API keys remain available for clients without OAuth and for scripts or CI:
- OAuth 2.1 (claude.ai, Claude Desktop, Claude mobile, Claude Code, MCP Inspector): add a custom connector with the URL above, press Connect and approve access. No key to copy. See docs/authentication.md.
- API key (Cursor, VS Code, Windsurf, Codex, scripts, CI): create a key in your profile — https://bananabanana.pro/profile?utm_source=mcp_readme&utm_medium=mcp_catalog, API Keys section — and put it in the client config as shown below.
claude.ai / Claude Desktop / mobile (OAuth)
Settings → Connectors → Add custom connector
URL: https://bananabanana.pro/api/mcp
→ Add → Connect → approve access on bananabanana.pro
Claude Code
# OAuth — no key; run /mcp inside Claude Code and choose "Authenticate"
claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp
# API-key fallback for non-interactive use
claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp \
--header "Authorization: Bearer bb_live_YOUR_KEY"
Claude Desktop
Use Settings → Connectors → Add custom connector and enter
https://bananabanana.pro/api/mcp, then press Connect and approve access. If your
Desktop build uses claude_desktop_config.json, the OAuth-capable mcp-remote bridge
requires Node.js:
{
"mcpServers": {
"bananabanana": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://bananabanana.pro/api/mcp"
]
}
}
}
The bridge opens the OAuth sign-in flow on first use. See
docs/authentication.md for the API-key fallback.
<details> <summary><b>Other clients (Cursor, VS Code, Windsurf)</b></summary>
Cursor — ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
{
"mcpServers": {
"bananabanana": {
"url": "https://bananabanana.pro/api/mcp",
"headers": { "Authorization": "Bearer bb_live_YOUR_KEY" }
}
}
}
VS Code — .vscode/mcp.json (stores the key as an encrypted prompt):
{
"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 }
]
}
Windsurf — ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"bananabanana": {
"serverUrl": "https://bananabanana.pro/api/mcp",
"headers": { "Authorization": "Bearer bb_live_YOUR_KEY" }
}
}
}
</details>
Ready-to-copy configs live in examples/. Once connected, ask your agent
to run list_models (free) — it returns the live model list and prices. An OAuth user
can also ask the agent to call top_up; the returned browser link grants deposit-only
access without exposing the full profile.
No MCP client? The server is plain JSON-RPC over HTTPS — call it from curl, Python
or TypeScript with no SDK: examples/no-sdk.md (runnable
scripts: generate.py, generate.mjs).
Tools
Ten tools; the read-only and account-access tools are free. Full reference in
docs/tools.md.
| Tool | What it does | Key parameters |
|---|---|---|
list_models |
List models with live USD prices, resolutions, durations, constraints. Free. | — |
get_account |
Balance, key name, daily cap, spend today. Free. | — |
top_up |
Return a balance top-up link. OAuth gets a one-time deposit-only link; API-key users get the profile URL. Free. | — |
generate_image |
Text-to-image (Nano Banana 2 Lite / 2 / Pro), up to 4K, 1–4 variants. Lite is the default; choose Nano Banana 2 for resolutions above 1024. Returns a job_id. |
prompt, model, aspect_ratio, resolution, number_of_images, confirm_cost |
edit_image |
Multi-turn edit of a finished image by text instruction. | source_generation_id, prompt, model, resolution |
generate_video |
Video (Veo 3.1 family or Omni Flash), optionally from a start frame and reference images. Always quotes first. Returns a job_id. |
prompt, model, duration, resolution, with_audio, first_frame, reference_images, confirm_cost |
edit_video |
Video-to-video editing on Omni Flash: restyle, replace objects, relight an existing clip. Always quotes first. | prompt, source_generation_id or video_url, duration, audio_prompt, confirm_cost |
generate_speech |
Gemini 3.1 Flash TTS speech: one speaker or a two-speaker dialogue. Returns a hosted WAV URL synchronously. | text, voice, language_code, style, speakers |
get_result |
Poll a job; returns hosted media URLs (24 h) + cost/balance. Free. | job_id, wait_seconds |
list_generations |
Recent account history (shared with the website). Free. | limit, type, status |
Image and video generation is async: generation/editing calls return a job_id; poll
get_result for the media. generate_speech is synchronous and returns its WAV URL
directly. generate_video, edit_video and multi-image generate_image quote first
and charge nothing until you repeat the call with confirm_cost.
Pricing
Pay-as-you-go in USD: per image, per Veo clip, per second for Omni Flash, and per
started 200 transcript characters for speech. Live numbers come from list_models;
full tables in docs/pricing.md.
| Model | Type | Price |
|---|---|---|
nano-banana-2-lite |
Image (1024) | $0.03 |
nano-banana-2 |
Image (512→4096) | $0.03 – $0.13 |
nano-banana-pro |
Image (1024→4096) | $0.11 – $0.20 |
veo-3.1-lite |
Video (720p/1080p; 4, 6 or 8 s) | $0.10 – $0.56 |
veo-3.1-fast |
Video (up to 4K; 4, 6 or 8 s) | $0.35 – $2.60 |
veo-3.1 |
Video (up to 4K; 4, 6 or 8 s) | $0.70 – $4.40 |
omni-flash |
Video (720p, sound, 3–10 s) | $0.10 / s ($0.30 – $1.00) |
gemini-3.1-flash-tts-preview |
Speech (WAV) | $0.01 / started 200 transcript characters |
Images cost $0.03–$0.20 each; video costs $0.10–$4.40 per clip, with Omni
Flash billed at $0.10/s. Veo generation accepts 4, 6 or 8 seconds; the 7-second
prices returned by list_models are for extension jobs, not a selectable
generate_video duration. Free tools: list_models, get_account, top_up,
get_result, list_generations. Failed and content-filtered generations are refunded
automatically.
Top-up bonuses can lower the effective cost: deposits of $50+ receive 5% extra balance, deposits of $100+ receive 10%, and an active partner promo code adds another 10%. Bonuses stack. The table shows nominal generation charges; effective out-of-pocket cost depends on the top-up bonus. Promo codes require a normal signed-in profile and are intentionally unavailable in an OAuth deposit-only session.
Why this instead of a subscription service
- You pay for what you generate — nothing else. No monthly fee, no seats, no credits that expire. A quiet month costs $0; the balance you top up is the only spend.
- The agent sees the price before it spends.
list_modelsreturns live prices, and video / batch calls return a quote and charge nothing until confirmed — so an agent can't run up a surprise bill. - Failures don't cost you. Upstream errors and content-filter rejections are
refunded automatically; optional per-key daily caps and
idempotency_keybound the downside further. - Crypto top-ups, no card required. Deposits of $50+ / $100+ receive 5% / 10% extra balance, and an active partner promo code adds another 10%. One balance and one image/video history are shared between MCP and the website.
Registry
Published in the official MCP Registry
as pro.bananabanana/image-video. The canonical descriptor is
server.json. Look it up:
curl -s "https://registry.modelcontextprotocol.io/v0/servers?search=pro.bananabanana/image-video"
Links
- Website: https://bananabanana.pro/?utm_source=mcp_readme&utm_medium=mcp_catalog
- MCP docs & live example: https://bananabanana.pro/mcp?utm_source=mcp_readme&utm_medium=mcp_catalog
- Create an API key: https://bananabanana.pro/profile?utm_source=mcp_readme&utm_medium=mcp_catalog
- Authentication ·
docs/authentication.md - Tools reference ·
docs/tools.md - Pricing & limits ·
docs/pricing.md - Troubleshooting ·
docs/troubleshooting.md - Support: support@bananabanana.pro
License
Apache-2.0 © BananaBanana. This repository is public documentation only — it contains no server source code, keys, or secrets.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。