Images, video & speech: Nano Banana, GPT Image, Veo, Omni, Wan, Grok, Gemini TTS. Crypto or card.
One address for any MCP client. You sign in at bananabanana.pro once, after adding it.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
| Access to | Read | Change |
|---|---|---|
| Mcp | Not stated: mcp | |
From the sign-in at bananabanana.pro, as the endpoint publishes it. You approve it there.
Odel could not list its tools without signing in.
An MCP server for image, video, and speech generation — Google Nano Banana, Veo 3.1 and Gemini Omni, OpenAI GPT Image 2.5, Alibaba Qwen Image and Wan 3.0, xAI Grok Imagine Video and Gemini TTS — that lets any MCP client (Claude Code, Claude Desktop, Cursor, and more) create media pay-as-you-go with crypto or card payments and no subscription.
https://bananabanana.pro/api/mcp (streamable HTTP)Authorization: Bearer bb_live_… — create a keyGenerate images from $0.03, videos from $0.09, and speech for $0.01 per started 200 transcript characters, billed from an account balance you top up with crypto (from $1) or by card, PayPal or SEPA (from $20). Cost quotes before every expensive call, automatic refunds on failure, and one shared image/video history with the website.
Current documentation release: v1.0.12 — audited against the deployed tool schemas and model catalogue on 2026-09-30. See the changelog.
OAuth is the primary connection path. API keys remain available for clients without OAuth and for scripts or CI:
Settings → Connectors → Add custom connector
URL: https://bananabanana.pro/api/mcp
→ Add → Connect → approve access on bananabanana.pro
# 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"
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.
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" }
}
}
}
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).
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 (crypto or card). OAuth gets a one-time deposit-only link; API-key users get the profile URL. Free. | — |
generate_image | Text-to-image on Nano Banana 2 Lite / 2 / 2.1 / Pro, GPT Image 2.5 Flare / Sunburst or Qwen Image 3.0 Pro, up to 4K, 1–4 variants, up to 14 reference images. Lite is the default; Google images use relaxed_filter: true by default when a project key is free. GPT Image with references follows the first image's orientation and rejects an explicit aspect_ratio. Panoramic 1:4, 4:1, 1:8, 8:1, 9:21 only on nano-banana-2-1. Returns a job_id. | prompt, model, aspect_ratio, resolution, number_of_images, reference_images, relaxed_filter, confirm_cost |
edit_image | Multi-turn edit of a finished image by text instruction (Nano Banana models). | source_generation_id, prompt, model, resolution |
generate_video | Video on Veo 3.1 family, Gemini Omni Flash (1.1 or 1.0), Wan 3.0 or Grok Imagine Video 1.5, optionally from a first frame, a last frame, reference images or (Wan) reference videos. Always quotes first. Returns a job_id. | prompt, model, duration, resolution, aspect_ratio, with_audio, first_frame, last_frame, reference_images, reference_videos, confirm_cost |
edit_video | Video-to-video: restyle, replace objects or relight an existing clip on Omni Flash, extend an Omni clip by 3–10 s (up to 40 s total), or rework / continue a clip on Wan 3.0. Always quotes first. | prompt, model, source_generation_id or video_url, mode, duration, resolution, 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.
Generated files are retained for 30 days from creation; signed download links
last 24 hours. Within the retention period, get_result can issue fresh image/video
links. Download speech from its synchronous response; it is absent from
list_generations.
Pay-as-you-go in USD: per image, per Veo clip, per second of output for Omni Flash,
Wan 3.0 and Grok Imagine Video, 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-2-1 | Image (1024→4096, panoramic up to 8:1) | $0.03 – $0.10 |
nano-banana-pro | Image (1024→4096) | $0.11 – $0.20 |
gpt-image-2.5-flare / gpt-image-2.5-sunburst | Image (1024→4096, OpenAI) | $0.05 – $0.18 |
qwen-image-3.0-pro | Image (1024/2048, Alibaba) | $0.04 – $0.08 |
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 (Gemini Omni 1.1 Flash) | Video (360p–4K, sound, 3–10 s, extendable to 40 s) | $0.03 – $0.30 / s ($0.09 – $3.00) |
omni-flash-1.0 | Video (720p/1080p, sound, 4–10 s) | $0.10 – $0.12 / s ($0.40 – $1.20) |
wan-3.0 | Video (480p/720p/1080p, sound, 4 – 30 s) | $0.05 – $0.20 / s ($0.20 – $6.00) |
grok-imagine-video-1.5 | Video (720p/1080p, sound, 4 – 15 s) | $0.14 – $0.25 / s ($0.56 – $3.75) |
gemini-3.1-flash-tts-preview | Speech (WAV) | $0.01 / started 200 transcript characters |
Images cost $0.03–$0.20 each; video costs $0.09–$6.00 per clip. Veo is priced
per clip, while Omni Flash, Wan 3.0 and Grok Imagine Video are billed per second of
output at the vendor's own list rates. 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. Wan 3.0 takes a first and last frame, reference images,
reference videos and a seed, and its audio track is free to switch off. 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 and apply to crypto and card deposits alike. 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.
list_models returns live prices, and
video / batch calls return a quote and charge nothing until confirmed — so an agent
can't run up a surprise bill.idempotency_key bound the
downside further.A separate HTTP endpoint, https://bananabanana.pro/api/x402, accepts USDC on Base
without an account, OAuth or an API key. It supports image, video and speech
generation. Image/speech payments settle after success; video is prepaid and failure
returns a single-use refund credit token. See docs/x402.md for the
request format, exact-price challenge, polling and input restrictions.
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"
docs/x402.mddocs/authentication.mddocs/tools.mddocs/pricing.mddocs/troubleshooting.mdApache-2.0 © BananaBanana. This repository is public documentation only — it contains no server source code, keys, or secrets.