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 (फ्लैट $1.00)। आपका एजेंट लाइव कीमतें देखता है, महंगे रन से पहले लागत की पुष्टि करता है, और प्रत्येक जनरेशन वेबसाइट की तरह ही इतिहास और बैलेंस में दर्ज होती है।
- एंडपॉइंट:
https://bananabanana.pro/api/mcp(Streamable HTTP) - ऑथेंटिकेशन: आपके प्रोफ़ाइल से Bearer API की (OAuth 2.1 सपोर्ट की योजना है)
- रेट लिमिट: प्रति की (key) 20 टूल कॉल प्रति मिनट; प्रति-की वैकल्पिक दैनिक खर्च सीमा
- कोई MCP क्लाइंट नहीं है? यही एंडपॉइंट HTTPS पर सरल JSON-RPC है — बिना किसी SDK के इसे curl, Python या TypeScript से कॉल करें
- विफल или फ़िल्टर की गई जनरेशन का रिफ़ंड अपने आप मिल जाता है
- दस्तावेज़,
server.jsonखोलें और bananabanana-mcp GitHub रिपॉजिटरी में क्लाइंट उदाहरणों को कॉपी-पेस्ट करें
तीन स्टेप्स में कनेक्टेड
1. एक खाता बनाएँ और बैलेंस टॉप अप करें। 2. प्रोफ़ाइल → MCP API Keys में एक की (key) बनाएँ (केवल एक बार दिखाई देती है)। 3. अपने क्लाइंट में सर्वर जोड़ें:
Claude Code
claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp \
--header "Authorization: Bearer bb_live_YOUR_KEY"Claude Desktop
Add to claude_desktop_config.json (Settings → Developer → Edit Config); requires Node.js for the mcp-remote bridge:
{
"mcpServers": {
"bananabanana": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://bananabanana.pro/api/mcp",
"--header", "Authorization: Bearer bb_live_YOUR_KEY"
]
}
}
}Cursor
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json in the project; to keep the key out of the file, use ${env:BB_API_KEY} instead of the literal value:
{
"mcpServers": {
"bananabanana": {
"url": "https://bananabanana.pro/api/mcp",
"headers": {
"Authorization": "Bearer bb_live_YOUR_KEY"
}
}
}
}बारीकियों और लाइव-की डेमो सहित संपूर्ण Cursor गाइड: Generate Images in Cursor।
VS Code / GitHub Copilot
Add to .vscode/mcp.json in the workspace (or your user settings.json); VS Code prompts for the key once and stores it encrypted:
{
"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
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"bananabanana": {
"serverUrl": "https://bananabanana.pro/api/mcp",
"headers": {
"Authorization": "Bearer bb_live_YOUR_KEY"
}
}
}
}कोई भी अन्य 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"}गाइड पसंद करेंगे? ट्यूटोरियल Generate Images in Claude Code चार वास्तविक उपयोग के मामलों और उनकी वास्तविक लागतों के साथ Claude सेटअप को शुरू से अंत तक कवर करता है।
क्लाइंट कम्पैटिबिलिटी
MCP एक ओपन प्रोटोकॉल है: कोई भी क्लाइंट जो Streamable HTTP का समर्थन करता है और Authorization हेडर जोड़ सकता है, कनेक्ट हो जाता है। वर्तमान स्थिति, प्रत्येक वेंडर के आधिकारिक दस्तावेज़ों के विरुद्ध सत्यापित (अंतिम बार जुलाई 2026 को जांचा गया):
| क्लाइंट | क्या आज काम करता है? | कैसे |
|---|---|---|
| Claude Code | हाँ | claude mcp add --transport http … --header |
| Claude Desktop / claude.ai | हाँ | रिक्वेस्ट हेडर (बीटा, रोल आउट हो रहा है) के साथ कस्टम कनेक्टर या mcp-remote ब्रिज |
| 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 वेब कनेक्टर अपवाद हैं — वे पेस्ट की गई की के बजाय OAuth के माध्यम से ऑथेंटिकेट करते हैं |
| Gemini CLI | हाँ | settings.json में httpUrl + headers |
| xAI API (Grok) | हाँ | सर्वर को भेजे गए server_url और एक authorization मान के साथ MCP टूल |
| grok.com (web) | आंशिक रूप से | कस्टम कनेक्टर एक सर्वर URL लेते हैं (Connectors → New Connector → Custom); दस्तावेज़ों में यह नहीं बताया गया है कि क्या पेस्ट किया गया API-key हेडर सपोर्टेड है, इसलिए इस पाथ के लिए हमारे आगामी 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.06 on the default 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 | मुफ़्त | बैलेंस, की खर्च सीमा और आज का उपयोग। |
| generate_image | $0.03–$0.20 | Nano Banana 2 Lite / 2 / Pro पर टेक्स्ट-टू-इमेज, 4K तक। एक job_id लौटाता है। |
| edit_image | एक इमेज की कीमत | टेक्स्ट निर्देश के साथ तैयार इमेज को बेहतर बनाएं (मल्टी-टर्न एडिटिंग)। |
| generate_video | $0.10–$4.40 | Veo 3.1 फैमिली या Omni Flash (हमेशा आवाज के साथ)। हमेशा पहले सटीक लागत का उद्धरण देता है। |
| 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) हैशेड स्टोर की जाती हैं और केवल निर्माण के समय एक बार दिखाई जाती हैं; अपनी प्रोफ़ाइल में उन्हें किसी भी समय रिवोक करें।
- प्रति-की उपयोग लॉग (टूल, मॉडल, लागत, प्रॉम्प्ट प्रीव्यू) प्रोफ़ाइल → MCP API Keys में दिखाई देता है।
- MCP जनरेशन उसी जनरेशन इतिहास और एनालिटिक्स में दिखाई देती हैं जो वेब जनरेशन में होती हैं।
अपने एजेंट को प्लग करने के लिए तैयार हैं?
एक की (key) बनाएँ, एक कॉन्फ़िगरेशन लाइन जोड़ें — आपका एजेंट मिनटों में स्टूडियो-ग्रेड मीडिया जनरेट करेगा।
अपनी API की प्राप्त करें