AI एजेंटों और MCP क्लाइंटों के लिए

BananaBanana MCP Server

सीधे Claude Desktop, Claude Code और किसी भी अन्य MCP क्लाइंट से AI इमेज और वीडियो जनरेट करें — आपके 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 ($0.09–1.00), Wan 3.0, MiniMax H3। आपका एजेंट लाइव कीमतें देखता है, महंगे रन से पहले लागत की पुष्टि करता है, और प्रत्येक जनरेशन वेबसाइट की तरह ही इतिहास और बैलेंस में दर्ज होती है।

  • एंडपॉइंट: https://bananabanana.pro/api/mcp (Streamable HTTP)
  • प्रमाणीकरण: OAuth 2.1 से साइन इन (claude.ai और अन्य कनेक्टर-आधारित क्लाइंट) या अपने प्रोफ़ाइल से Bearer API की
  • रेट लिमिट: प्रति की (key) 20 टूल कॉल प्रति मिनट; प्रति-की वैकल्पिक दैनिक खर्च सीमा
  • कोई MCP क्लाइंट नहीं है? यही एंडपॉइंट HTTPS पर सरल JSON-RPC है — बिना किसी SDK के इसे curl, Python या TypeScript से कॉल करें
  • विफल или फ़िल्टर की गई जनरेशन का रिफ़ंड अपने आप मिल जाता है
  • दस्तावेज़, server.json खोलें और bananabanana-mcp GitHub रिपॉजिटरी में क्लाइंट उदाहरणों को कॉपी-पेस्ट करें
MCP क्लाइंटClaude Code / Desktop, Cursor,VS Code, Codex, कोई भी एजेंटOAuth / API की/api/mcpbananabanana.proStreamable HTTP · 10 टूल्सजनरेट करेंमॉडल पूलNano Banana · Veo 3.1Omni Flashप्रति यूनिटआपका बैलेंसप्रति जनरेशन भुगतानविफलता पर ऑटो-रिफंड
02त्वरित शुरुआत

तीन स्टेप्स में कनेक्टेड

1. एक खाता बनाएँ और बैलेंस टॉप अप करें। 2. प्रोफ़ाइल → MCP API Keys में एक की (key) बनाएँ (केवल एक बार दिखाई देती है)। 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 में जोड़ें (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 गाइड: Generate Images in 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 गाइड: Generate Images in VS Code: Copilot MCP Setup Guide

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 क्लाइंट (raw 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 और डिस्कवरी सूचियों (tools/list, prompts/list, resources/list) को छोड़कर हर मेथड के लिए क्रेडेंशियल ज़रूरी है — initialize भी शामिल: बिना प्रमाणीकरण वाला हैंडशेक WWW-Authenticate चैलेंज के साथ 401 लौटाता है। यह असमानता जानबूझकर है, कोई बग नहीं: इसी चैलेंज से कनेक्टर क्लाइंट को पता चलता है कि यह सर्वर OAuth इस्तेमाल करता है। बिना key के टूल कैटलॉग पढ़ना अब भी काम करता है।

गाइड पसंद करेंगे? ट्यूटोरियल Generate Images in 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; की (key) को promptString इनपुट के रूप में स्टोर करें — VS Code एक बार पूछता है और इसे एन्क्रिप्टेड रखता है
ChatGPT desktop / Codex CLI / IDEहाँसाझा ~/.codex/config.toml: url + bearer_token_env_var (की एनवायरनमेंट वेरिएबल में)। ChatGPT web कनेक्टर पेस्ट की के बजाय OAuth से साइन इन करते हैं
Gemini CLIहाँsettings.json में httpUrl + headers
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)हाँसर्वर को भेजे गए server_url और एक authorization मान के साथ MCP टूल Setup guide
grok.com (web)आंशिक रूप सेकस्टम कनेक्टर सर्वर URL लेते हैं (Connectors → New Connector → Custom); साइन-इन हमारे OAuth 2.1 से होता है
ZCode (GLM-5.2)हाँSettings → MCP Servers → type HTTP + Authorization हेडर; Claude Code के अंदर GLM-5.2, Claude Code कॉन्फ़िगरेशन को इनहेरिट करता है
कुछ भी अन्यहाँHTTPS पर raw JSON-RPC — नीचे Call it from code देखें

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"

एक ही config.toml से CLI, IDE एक्सटेंशन और ChatGPT डेस्कटॉप का संपूर्ण Codex गाइड, बारीकियों और लाइव-की डेमो के साथ: Codex MCP Setup: Images and Video from One config.toml

04किसी SDK की आवश्यकता नहीं

इसे कोड से कॉल करें

MCP क्लाइंट का उपयोग नहीं करते हैं? आपको इसकी आवश्यकता नहीं है — और आपको किसी SDK की भी आवश्यकता नहीं है। सर्वर HTTPS पर सरल JSON-RPC 2.0 है: एक POST एंडपॉइंट, एक Bearer हेडर, एक सिंगल JSON प्रतिक्रिया। यह स्टेटलेस है, इसलिए प्रबंधित करने के लिए कोई सेशन हैंडशेक नहीं है — 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);

जब आप इसे स्क्रिप्ट करते हैं तो महत्वपूर्ण विवरण:

  • प्रत्येक टूल प्रतिक्रिया में एक ही JSON दो बार होता है: मशीन-पठनीय result.structuredContent और result.content में एक टेक्स्ट ब्लॉक — जो भी आसान हो उसे पार्स करें।
  • वीडियो (और मल्टी-इमेज बैच) दो-चरणीय कॉल हैं: पहला generate_video एक उद्धरण (quote) लौटाता है और कोई चार्ज नहीं लेता है; शुरू करने के लिए उद्धृत राशि पर सेट confirm_cost के साथ इसे दोहराएं।
  • जनरेशन कॉल पर idempotency_key पास करें — नेटवर्क रीट्राइ कभी भी दोबारा चार्ज नहीं करेंगे।
  • tools/list बिना की (key) के काम करता है, इसलिए आप खाता बनाने से पहले संपूर्ण स्कीमा तलाश सकते हैं। टूल कॉल प्रति की (key) 20 प्रति मिनट तक सीमित हैं।
05टूल्स

दस कार्य-आधारित टूल्स

टूललागतयह क्या करता है
list_modelsमुफ़्तलाइव प्रति-यूनिट कीमतों, रेज़ोल्यूशन और सीमाओं के साथ सभी मॉडल।
get_accountमुफ़्तबैलेंस, की खर्च सीमा और आज का उपयोग।
top_upमुफ़्तबैलेंस टॉप-अप के लिए सुरक्षित लिंक बनाएँ। OAuth को केवल डिपॉज़िट एक्सेस मिलता है; API कुंजियाँ प्रोफ़ाइल का उपयोग करती हैं।
generate_image$0.03–$0.20Nano Banana 2 Lite / 2 / Pro पर टेक्स्ट-टू-इमेज, 4K तक। एक job_id लौटाता है।
edit_imageएक इमेज की कीमतटेक्स्ट निर्देश के साथ तैयार इमेज को बेहतर बनाएं (मल्टी-टर्न एडिटिंग)।
generate_video$0.10–$6.00Veo 3.1 फैमिली या Omni Flash (हमेशा आवाज के साथ), Wan 3.0, MiniMax H3, चाहें तो शुरुआती फ्रेम और रेफरेंस इमेज से। हमेशा पहले सटीक लागत का उद्धरण देता है।
edit_video$0.09–1.00Omni Flash पर वीडियो-टू-वीडियो एडिटिंग: अपनी क्लिप या पब्लिक URL — स्टाइल बदलें, ऑब्जेक्ट बदलें, लाइटिंग बदलें। पहले 10 सेकंड, ध्वनि के साथ 720p।
generate_speech$0.01 / 200 अक्षरएक या दो वक्ताओं की WAV स्पीच बनाएँ। हर शुरू किए गए 200 अक्षरों पर शुल्क लगता है।
get_resultमुफ़्तकिसी जॉब को पोल करें: होस्ट किए गए मीडिया URL (24 घंटे के लिंक), ली गई लागत, बचा हुआ बैलेंस, इनलाइन इमेज प्रीव्यू।
list_generationsमुफ़्तहालिया जनरेशन का इतिहास — वेबसाइट के साथ साझा।
06कीमतें

बिल्ट-इन लागत पारदर्शिता

  • कीमतें list_models द्वारा लाइव परोसी जाती हैं — वही स्रोत जो वेबसाइट उपयोग करती है।
  • प्रत्येक वीडियो (और मल्टी-इमेज बैच) कॉल पहले एक उद्धरण देती है और कोई शुल्क नहीं लेती है; एजेंट शुरू करने के लिए confirm_cost के साथ कॉल दोहराता है।
  • प्रत्येक परिणाम में cost_charged_usd and 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सुरक्षा

मीडिया URL और सुरक्षा

  • परिणाम URL हस्ताक्षरित (signed) हैं और 24 घंटे के लिए वैध हैं; मीडिया स्वयं आपके खाते में रहता है — नए लिंक के लिए फिर से get_result कॉल करें, या वेबसाइट से डाउनलोड करें।
  • API की (keys) हैशेड स्टोर की जाती हैं और केवल निर्माण के समय एक बार दिखाई जाती हैं; अपनी प्रोफ़ाइल में उन्हें किसी भी समय रिवोक करें।
  • OAuth कनेक्शन के एक्सेस टोकन एक घंटे चलते हैं और रिफ़्रेश टोकन हर बार बदलते हैं; सिर्फ़ हैश सेव होते हैं और वे केवल इसी सर्वर के लिए वैध हैं। प्रोफ़ाइल से ऐप हटाते ही टोकन तुरंत रद्द हो जाते हैं।
  • प्रति-की उपयोग लॉग (टूल, मॉडल, लागत, प्रॉम्प्ट प्रीव्यू) प्रोफ़ाइल → MCP API Keys में दिखाई देता है।
  • MCP जनरेशन उसी जनरेशन इतिहास और एनालिटिक्स में दिखाई देती हैं जो वेब जनरेशन में होती हैं।

अपने एजेंट को प्लग करने के लिए तैयार हैं?

एक की (key) बनाएँ, एक कॉन्फ़िगरेशन लाइन जोड़ें — आपका एजेंट मिनटों में स्टूडियो-ग्रेड मीडिया जनरेट करेगा।

अपनी API की प्राप्त करें