AI एजेंटों और MCP क्लाइंटों के लिए
BananaBanana MCP Server
सीधे Claude Desktop, Claude Code और किसी भी अन्य MCP क्लाइंट से AI इमेज और वीडियो जनरेट करें — आपके BananaBanana बैलेंस से प्रति जनरेशन चार्ज किया जाएगा। कोई सब्सक्रिप्शन नहीं।
एक एंडपॉइंट, सभी मॉडल
एक रिमोट 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 रिपॉजिटरी में क्लाइंट उदाहरणों को कॉपी-पेस्ट करें
तीन स्टेप्स में कनेक्टेड
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 सेटअप को शुरू से अंत तक कवर करता है।
क्लाइंट कम्पैटिबिलिटी
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।
इसे कोड से कॉल करें
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 प्रति मिनट तक सीमित हैं।
दस कार्य-आधारित टूल्स
| टूल | लागत | यह क्या करता है |
|---|---|---|
| list_models | मुफ़्त | लाइव प्रति-यूनिट कीमतों, रेज़ोल्यूशन और सीमाओं के साथ सभी मॉडल। |
| get_account | मुफ़्त | बैलेंस, की खर्च सीमा और आज का उपयोग। |
| top_up | मुफ़्त | बैलेंस टॉप-अप के लिए सुरक्षित लिंक बनाएँ। OAuth को केवल डिपॉज़िट एक्सेस मिलता है; API कुंजियाँ प्रोफ़ाइल का उपयोग करती हैं। |
| generate_image | $0.03–$0.20 | Nano Banana 2 Lite / 2 / Pro पर टेक्स्ट-टू-इमेज, 4K तक। एक job_id लौटाता है। |
| edit_image | एक इमेज की कीमत | टेक्स्ट निर्देश के साथ तैयार इमेज को बेहतर बनाएं (मल्टी-टर्न एडिटिंग)। |
| generate_video | $0.10–$6.00 | Veo 3.1 फैमिली या Omni Flash (हमेशा आवाज के साथ), Wan 3.0, MiniMax H3, चाहें तो शुरुआती फ्रेम और रेफरेंस इमेज से। हमेशा पहले सटीक लागत का उद्धरण देता है। |
| edit_video | $0.09–1.00 | Omni Flash पर वीडियो-टू-वीडियो एडिटिंग: अपनी क्लिप या पब्लिक URL — स्टाइल बदलें, ऑब्जेक्ट बदलें, लाइटिंग बदलें। पहले 10 सेकंड, ध्वनि के साथ 720p। |
| generate_speech | $0.01 / 200 अक्षर | एक या दो वक्ताओं की WAV स्पीच बनाएँ। हर शुरू किए गए 200 अक्षरों पर शुल्क लगता है। |
| get_result | मुफ़्त | किसी जॉब को पोल करें: होस्ट किए गए मीडिया URL (24 घंटे के लिंक), ली गई लागत, बचा हुआ बैलेंस, इनलाइन इमेज प्रीव्यू। |
| list_generations | मुफ़्त | हालिया जनरेशन का इतिहास — वेबसाइट के साथ साझा। |
बिल्ट-इन लागत पारदर्शिता
- कीमतें
list_modelsद्वारा लाइव परोसी जाती हैं — वही स्रोत जो वेबसाइट उपयोग करती है। - प्रत्येक वीडियो (और मल्टी-इमेज बैच) कॉल पहले एक उद्धरण देती है और कोई शुल्क नहीं लेती है; एजेंट शुरू करने के लिए
confirm_costके साथ कॉल दोहराता है। - प्रत्येक परिणाम में
cost_charged_usdandbalance_remaining_usdशामिल होता है। - अपस्ट्रीम विफलताएं और कंटेंट-फ़िल्टर अस्वीकृतियां अपने आप रिफ़ंड हो जाती हैं — वही पॉलिसी जो वेब ऐप की है।
- वैकल्पिक
idempotency_keyगारंटी देता है कि रीट्राइ कभी भी दोबारा चार्ज नहीं करेंगे।
एक वास्तविक बातचीत
→ 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}मीडिया URL और सुरक्षा
- परिणाम URL हस्ताक्षरित (signed) हैं और 24 घंटे के लिए वैध हैं; मीडिया स्वयं आपके खाते में रहता है — नए लिंक के लिए फिर से
get_resultकॉल करें, या वेबसाइट से डाउनलोड करें। - API की (keys) हैशेड स्टोर की जाती हैं और केवल निर्माण के समय एक बार दिखाई जाती हैं; अपनी प्रोफ़ाइल में उन्हें किसी भी समय रिवोक करें।
- OAuth कनेक्शन के एक्सेस टोकन एक घंटे चलते हैं और रिफ़्रेश टोकन हर बार बदलते हैं; सिर्फ़ हैश सेव होते हैं और वे केवल इसी सर्वर के लिए वैध हैं। प्रोफ़ाइल से ऐप हटाते ही टोकन तुरंत रद्द हो जाते हैं।
- प्रति-की उपयोग लॉग (टूल, मॉडल, लागत, प्रॉम्प्ट प्रीव्यू) प्रोफ़ाइल → MCP API Keys में दिखाई देता है।
- MCP जनरेशन उसी जनरेशन इतिहास और एनालिटिक्स में दिखाई देती हैं जो वेब जनरेशन में होती हैं।
अपने एजेंट को प्लग करने के लिए तैयार हैं?
एक की (key) बनाएँ, एक कॉन्फ़िगरेशन लाइन जोड़ें — आपका एजेंट मिनटों में स्टूडियो-ग्रेड मीडिया जनरेट करेगा।
अपनी API की प्राप्त करें