Loading...
Loading...
टेक्स्ट से इमेज बनाने और प्रॉम्प्ट से मौजूदा इमेज एडिट करने के लिए Google का तेज़ और किफ़ायती इमेज मॉडल परिवार।
मॉडल चलाने के लिए साइन इन करें
No output yet
Run the model to see generated results.
import requests
result = requests.post(
'https://api.e2x.ai/v1/jobs/submit',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
},
json={
'model': 'google/nano-banana/edit-image',
'input': {}
}
)import time
job_id = result.json()['jobId']
while True:
response = requests.get(
f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
headers={'Authorization': f'Bearer {'{API_KEY}'}'}
)
data = response.json()['data']
if data['status'] == 'completed':
print('Done!', data['outputs'][0]['url'])
break
elif data['status'] == 'failed':
raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")
time.sleep(2)Nano Banana की editing capability वही Google का gemini-2.5-flash-image है, जो ख़ाली कैनवस की जगह सोर्स इमेज लेता है। हम इसे google/nano-banana/edit-image पर प्रति एडिट की गई इमेज $0.0312 में देते हैं — fal.ai से 20% कम — और यह 1K output पर ज़्यादा से ज़्यादा तीन reference इमेज स्वीकार करता है। integration की एक लाइन लिखने से पहले एक बात सबसे आगे रखनी होगी: Google इस मॉडल को 2 अक्टूबर 2026 को रिटायर कर रहा है।
सैंतीस दिन, इस पेज के प्रकाशित होने वाले दिन से गिनकर। तब तक मौजूदा pipeline चलती रहेंगी और हमारी कीमत भी नहीं हिलेगी। लेकिन पाँच हफ़्ते की घड़ी लगे एक editor को आपको बेचने का मतलब सिर्फ़ इतना होगा कि आप अक्टूबर में एक rewrite ख़रीद रहे हैं।
बाज़ार के मुक़ाबले हमारी कीमत, 26 अगस्त 2026 को जाँची गई:
| API provider | प्रति एडिट कीमत | E2X से तुलना |
|---|---|---|
| E2X | $0.0312 | — |
| fal.ai | $0.039 | हम 20% कम हैं |
| Google Gemini API | $0.039 | हम 20% कम हैं |
| OpenRouter | $0.039 | हम 20% कम हैं |
कीमतें और प्रोडक्ट की शर्तें समय के साथ बदल सकती हैं; खरीद का फ़ैसला लेने से पहले हर provider की मौजूदा कीमत जाँच लें। Google Batch या Flex प्राइसिंग किसी स्टैंडर्ड on-demand API request के सीधे बराबर नहीं है, क्योंकि उसमें scheduling, उपलब्धता और प्रोसेसिंग की शर्तें अलग होती हैं; इसलिए उसे इस तुलना में शामिल नहीं किया गया है। यह एक सीमित दायरे की तुलना है — यह दावा नहीं किया जा रहा कि E2X हर कॉन्फ़िगरेशन में दुनिया का सबसे सस्ता विकल्प है।
क्योंकि Google ख़ुद वहीं से शुरू करता है। जब कंपनी ने Nano Banana 2 Lite की घोषणा की, तो उसने लिखा:
"जो डेवलपर अभी Nano Banana के हमारे पहले वर्ज़न (gemini-2.5-flash-image) का इस्तेमाल कर रहे हैं, उनके लिए यह हमारा अनुशंसित विकल्प है; आप इसे अभी बदल सकते हैं और तुरंत फ़ायदा पा सकते हैं।"
Google की मॉडल डॉक्युमेंटेशन इससे भी आगे जाती है — वह इसे सीरीज़ का legacy अग्रदूत कहती है और ग्राहकों को ज़ोरदार सलाह देती है कि वे आगे बढ़ जाएँ। वेंडर शायद ही कभी ग्राहकों को ऐसे प्रोडक्ट से हटाते हैं जिसका वे अब भी बिल बना रहे हैं। जब वे ऐसा करें, तो उन पर भरोसा कीजिए।
कोई सोर्स इमेज ही नहीं है जिस पर काम करना हो? तब आपको Nano Banana text-to-image चाहिए — वही मॉडल, वही कीमत, सिर्फ़ prompt।
यही वह संख्या है जो legacy editor को इस परिवार की हर नई चीज़ से अलग करती है। Google की गाइडेंस साफ़ है: Gemini 2.5 Flash Image से सबसे अच्छे नतीजों के लिए एक input में ज़्यादा से ज़्यादा तीन इमेज रखें।
बहुत सारे असली कामों के लिए तीन काफ़ी हैं। एक subject, एक background plate, एक colour reference — यह composite फ़िट हो जाता है। जो फ़िट नहीं होता वह है विज्ञापन जैसा brief, जिसमें एक कैरेक्टर, एक प्रोडक्ट, props और एक ब्रांड पैलेट सब एक ही call में आ जाते हैं। Nano Banana Pro ठीक इसी काम के लिए चौदह reference लेता है। यहाँ आप इसकी जगह call को chain करते हैं, हर hop का पैसा देते हैं, और हर hop आपके ओरिजिनल से थोड़ा और दूर खिसक जाता है।
इस मॉडल के आसपास डिज़ाइन करने से पहले दो और सीमाएँ सामने रख लेनी चाहिए:
दो field ज़रूरी हैं: prompt और image_urls। अपनी key server-side ही रखिए।
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/nano-banana/edit-image",
"input": {
"prompt": "कुर्सी के पीछे की दीवार का रंग सफ़ेद से गहरा जैतूनी कर दीजिए। कुर्सी, फ़र्श और परछाइयाँ बिल्कुल वैसी ही रहने दीजिए जैसी हैं।",
"image_urls": [
"https://example.com/interior.jpg"
],
"aspect_ratio": "4:5"
}
}'
Submit करने पर एक job ID वापस आती है। हल होने तक poll कीजिए:
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const submitted = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/nano-banana/edit-image",
input: {
prompt: "इमेज 1 साइकिल है, इमेज 2 जगह है। साइकिल को इमेज 2 के पत्थर वाले रास्ते पर रखिए, वहाँ की बादल भरी रोशनी से मेल खाते हुए।",
image_urls: [
"https://example.com/bike.jpg",
"https://example.com/street.jpg",
],
aspect_ratio: "1:1",
},
}),
}).then((r) => r.json());
const jobId = submitted.data.jobId;
while (true) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") {
console.log(job.data.outputs[0].url);
break;
}
if (job.data.status === "failed") {
throw new Error(job.data.error?.message || "Edit failed");
}
await new Promise((r) => setTimeout(r, 2000));
}
Status pending → processing → completed चलता है, और failed तथा cancelled अंतिम अवस्थाएँ हैं। polling पूरी तरह छोड़नी हो तो एक webhookUrl भेज दीजिए। हमारा default aspect_ratio 9:16 है — इसे सेट कीजिए, वरना आपका landscape सोर्स portrait बनकर लौटेगा। लाइव schema इस मॉडल के machine-readable spec में है।
हमारे चलाए हर editing मॉडल की, प्रति इमेज कीमत:
| मॉडल | कीमत / एडिट | कब चुनें |
|---|---|---|
| Nano Banana 2 Lite | $0.0238 | डिफ़ॉल्ट जवाब — नए weights, कम बिल |
| Nano Banana (legacy) | $0.0312 | सिर्फ़ तब तक, जब तक आप इससे migration पूरा कर रहे हैं |
| Nano Banana 2 | $0.04 | Lite tier से ऊपर की, मौजूदा पीढ़ी वाली क्वालिटी |
| Nano Banana Pro | $0.075 | चौदह reference, पढ़ा जा सकने वाला टेक्स्ट, 4K |
| GPT Image 2 | $0.0525 | mask-आधारित एडिटिंग, या OpenAI का लुक |
आम तौर पर migration एक सौदा होता है: नया मॉडल, ऊँचा बिल, ऊपर से मंज़ूरी ज़रूरी। यह वाला नहीं। Nano Banana 2 Lite legacy editor से 24% सस्ता है और उससे एक पीढ़ी आगे, यानी फ़ाइनेंस वाली बातचीत और इंजीनियरिंग वाली बातचीत, दोनों एक ही जगह ख़त्म होती हैं। महीने में एक हज़ार एडिट चलाइए और आप बेहतर output पाते हुए भी क़रीब $9 बचा लेते हैं।
हम यह साफ़-साफ़ कह देना बेहतर समझते हैं, बजाय इसके कि आपको ऐसे slug पर टिकाए रखें जिसकी मियाद हमें पता है। अगर आपकी एडिटिंग में पढ़ी जा सकने वाली कॉपी शामिल है — पैकेजिंग शॉट, मेन्यू बोर्ड, लोकलाइज़्ड क्रिएटिव — तो Lite से ऊपर चढ़कर Nano Banana Pro पर जाइए, क्योंकि बहुभाषी टेक्स्ट रेंडरिंग Google ने वहीं रखी है। बाक़ी सब image-to-image कैटेगरी में या हमारे पूरे मॉडल कैटलॉग में देखिए।
migration के बारे में एक अच्छी ख़बर: prompt का अनुशासन ज्यों का त्यों साथ जाता है, इसलिए इस हफ़्ते आप जो सीखेंगे वह बर्बाद नहीं होगा।
पहले बदलाव का नाम लीजिए, फिर जो अपरिवर्तित रहना है उसका। "सोफ़े का रंग बदलकर रस्ट लिनन कर दीजिए; कुशन, कालीन का पैटर्न और खिड़की की रोशनी छुए बिना" पूरे सीन के नए वर्णन से कहीं बेहतर टिकता है। पूरी तस्वीर का वर्णन करने की आदत text-to-image से आती है, और एडिट में वह reference से होड़ करने लगती है — जब तक मॉडल एडजस्ट करने के बजाय दोबारा बना न दे।
जब आप दो या तीन इमेज भेजें, तो prompt के भीतर बता दीजिए कि हर इमेज क्या है — और कोई तरीक़ा नहीं है जिससे मॉडल जान सके कि आपका दूसरा attachment एक जगह थी, दूसरा subject नहीं। एक ही call में तीन बदलाव ठूँसने से भी बचिए। उन्हें अलग कीजिए, पहले का output दूसरे में chain कीजिए — पैसा उतना ही लगेगा, और drift बहुत कम होगा।
SynthID हमेशा चालू रहता है। Google हर output में अपना अदृश्य watermark एम्बेड करता है, और किसी भी provider पर उसे हटाने का कोई parameter नहीं है। बनाना शुरू करने से पहले इसे क्लाइंट कॉन्ट्रैक्ट के साथ तय कर लीजिए।
resolution को 1k पर ही रहने दीजिए — यह वाली ग़लती पैसे लेती है। हमारा schema पूरे Nano Banana परिवार में एक ही resolution field रखता है, इसलिए यह endpoint आपसे 2k और 4k भी बिना शिकायत स्वीकार कर लेगा। Google के weights उन्हें मानेंगे नहीं। gemini-2.5-flash-image 1K देता है, उससे ऊपर कुछ नहीं — यानी 4k पर भेजी गई request का बिल हमारे 2× multiplier पर बनता है — $0.0312 की जगह $0.0624 — और बदले में आपको ठीक वही 1K इमेज मिलती है जो आधी कीमत में मिल जाती। हम इसे वसूलने के बजाय इसकी चेतावनी देना बेहतर समझते हैं। नए tier में resolution की सीढ़ियाँ असली हैं: Nano Banana Pro सचमुच 4096×4096 तक रेंडर करता है।
कैलेंडर रिमाइंडर लगाइए, backlog टिकट नहीं। 2 अक्टूबर 2026 को upstream मॉडल जवाब देना बंद कर देगा, और जो कुछ भी अब तक इस slug पर इशारा कर रहा है — कोई cron job, कोई customer-facing बटन, कोई रात का batch — उसी दिन फ़ेल हो जाएगा। अभी एक string बदलना, बाद में उसे डीबग करने से बेहतर है।
ज़्यादा से ज़्यादा तीन। gemini-2.5-flash-image के लिए ख़ुद Google की गाइडेंस है कि एक input में अधिकतम तीन इमेज रखें, और उससे आगे क्वालिटी गिरती है। भारी composite के लिए Nano Banana Pro चौदह reference तक संभालता है, जो character, object और style भूमिकाओं में बँटे होते हैं।
google/nano-banana/edit-image पर भेजी गई request सफल होना बंद कर देंगी, क्योंकि Google अंतर्निहित weights को हर जगह रिटायर कर रहा है, सिर्फ़ हमारे प्लेटफ़ॉर्म पर नहीं। जिस मॉडल को वेंडर ने बंद कर दिया हो, उसे कोई provider चालू नहीं रख सकता। उस तारीख़ से पहले Nano Banana 2 Lite पर चले जाइए।
हाँ — यहाँ के $0.0312 के मुक़ाबले $0.0238 प्रति एडिट, यानी 24% का फ़र्क़, और वह भी नए weights पर। Google भी इसे इसी तरह रखता है: बेहतर क्वालिटी, तेज़ generation और कम कीमत। यह उन दुर्लभ अपग्रेड में से है जिनके साथ कोई लागत का सौदा जुड़ा नहीं है।
डिफ़ॉल्ट 1k resolution पर प्रति एडिट की गई इमेज $0.0312, जो 26 अगस्त 2026 को fal.ai, Google के Gemini API और OpenRouter पर दर्ज किए गए $0.039 से 20% कम है। एक reference लगाएँ या तीन, कीमत वही रहती है; लेकिन resolution: "4k" भेजने पर 2× multiplier लगता है — उस output के लिए जो यह मॉडल असल में बना ही नहीं सकता। इसे 1k पर ही रहने दीजिए। बजट तय करने से पहले लाइव मॉडल पेज दोबारा जाँच लीजिए।
भरोसे लायक़ नहीं। एडवांस्ड टेक्स्ट रेंडरिंग Gemini 3 पीढ़ी की चीज़ है, और यह मॉडल उससे पहले आया, इसलिए एडिट किए गए शब्द अक्सर बिगड़े हुए या बदले हुए अर्थ में लौटते हैं। पढ़े जा सकने वाले, बहुभाषी in-image टेक्स्ट के लिए बना tier Nano Banana Pro है।
हाँ। इस मॉडल के हर output में SynthID एम्बेड होता है, ठीक वैसे ही जैसे text-to-image capability में। यह Google का provenance marker है और कोई भी provider इसे बंद करने का रास्ता नहीं देता।
वही weights, वही $0.0312 कीमत, इनपुट अलग। edit-image को आपके prompt के साथ image_urls चाहिए और वह उसी को बदलता है जो आप देते हैं; text-to-image सिर्फ़ prompt लेता है और शून्य से बनाता है। चुनाव इस बात से कीजिए कि सोर्स इमेज पहले से मौजूद है या नहीं।