प्रमाणीकरण और बेस URL
nano banana api तक https://api.nanobananaapis.com/v1 पर क्लाइंट को इंगित करके पहुँचें। आपको Authorization हेडर में एक मान्य API कुंजी की आवश्यकता है। API कुंजी प्राप्त करें पृष्ठ पर केवल ईमेल और पासवर्ड से साइन अप करें ताकि आपकी कुंजी तुरंत प्राप्त हो सके। कुंजी साइनअप के तुरंत बाद दिखाई जाती है। यदि आप इसे खो देते हैं, तो अपने डैशबोर्ड से एक नई कुंजी जनरेट करें; पुरानी कुंजी तुरंत काम करना बंद कर देती है।
हर अनुरोध के लिए Bearer YOUR_API_KEY का उपयोग करें। मॉडल ID हमेशा uncensored होती है। यह एंडपॉइंट टेक्स्ट इन और टेक्स्ट आउट को संभालता है। यह इमेज, ऑडियो या वीडियो जनरेट नहीं करता है। मल्टीमोडल पाइपलाइन के लिए, प्रॉम्प्ट लेखन, स्क्रिप्ट जनरेशन और पोस्ट-प्रोसेसिंग के लिए इस API का उपयोग करें।
पहला अनुरोध
एक मानक चैट कंप्लीशन अनुरोध भेजें। API OpenAI प्रारूप का समर्थन करती है। YOUR_API_KEY को अपनी वास्तविक कुंजी से बदलें। यह उदाहरण बिना सेंसर मॉडल को एक सरल संदेश भेजता है।
curl https://api.nanobananaapis.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'प्रतिक्रिया में जनरेट किया गया पाठ होता है। आप प्रतिक्रिया बॉडी में उपयोग टोकन गणना की जाँच कर सकते हैं। प्रॉम्प्ट और पूर्णता के लिए कुल कॉन्टेक्स्ट विंडो 100,000 टोकन है। अपने डेटा को 8 MB से कम रखें।
Python SDK उदाहरण
औपचारिक OpenAI Python SDK का उपयोग करें। बेस URL को nanobananaapis एंडपॉइंट पर सेट करें। अपनी API कुंजी api_key के रूप में पास करें। क्लाइंट अनुरोधों को स्वचालित रूप से सही ढंग से फॉर्मेट करेगा। यह उन बैकएंड स्क्रिप्ट्स के लिए आदर्श है जिन्हें किसी इमेज या वीडियो जनरेशन सेवा को भेजने से पहले टेक्स्ट प्रोसेस करने की आवश्यकता होती है।
from openai import OpenAI
client = OpenAI(base_url="https://api.nanobananaapis.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)SDK आपके लिए स्ट्रीमिंग और पार्सिंग संभालता है। यदि आप स्ट्रीमिंग मोड सक्षम करते हैं तो आप चंक पर पुनरावृत्ति कर सकते हैं। यह दृष्टिकोण आपके कोड को स्वच्छ रखता है और यदि आप बाद में प्रदाता बदलते हैं तो अन्य OpenAI सेवाओं के साथ संगत होता है।
Node SDK उदाहरण
Node.js SDK इसी तरह काम करता है। अपनी बेस URL और कुंजी के साथ क्लाइंट को इनिशियलाइज़ करें। chat.completions.create विधि को कॉल करें। यह उन सर्वरलेस फ़ंक्शन्स या वेब सर्वर्स के लिए उपयोगी है जिन्हें गतिशील रूप से स्क्रिप्ट जनरेट करने की आवश्यकता होती है।
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nanobananaapis.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);सुनिश्चित करें कि आप त्रुटियों का सही ढंग से प्रबंधन करें। सामान्य त्रुटियों में प्रमाणीकरण विफलताएं (401) शामिल हैं यदि कुंजी अमान्य या समाप्त हो गई है, और रेट लिमिट (429) यदि आप प्रति मिनट 300 अनुरोधों से अधिक करते हैं। API कुंजी आपके खाते से जुड़ी होती है, इसलिए इसे अपने पर्यावरण चर में सुरक्षित रखें।
स्ट्रीमिंग प्रतिक्रियाएँ
अपने अनुरोध में stream: true सेट करके स्ट्रीमिंग सक्षम करें। API एक सर्वर-सेंट इवेंट्स (SSE) स्ट्रीम लौटाता है। प्रत्येक चंक जनरेटेड पाठ का एक हिस्सा होता है। यह वास्तविक समय अनुप्रयोगों या लंबी स्क्रिप्ट जनरेट करते समय आवश्यक है।
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)अपने क्लाइंट साइड पर SSE इवेंट्स को पार्स करें। जब मॉडल जनरेट करना समाप्त कर देता है या कॉन्टेक्स्ट लिमिट पर पहुँच जाता है, तो स्ट्रीम समाप्त हो जाती है। स्ट्रीमिंग उपयोगकर्ताओं के लिए अनुभवी विलंबता को कम करती है। यह मूल्य निर्धारण को नहीं बदलता; आप अभी भी प्रति टोकन के लिए भुगतान करते हैं।
सीमाएँ, त्रुटियाँ और मॉडल
उपलब्ध मॉडल GET /v1/models के माध्यम से जाँचें। एकमात्र मॉडल uncensored है। रेट लिमिट प्रति कुंजी प्रति मिनट 300 अनुरोध है। अनुरोध बॉडी 8 MB से कम होनी चाहिए। मूल्य निर्धारण 1M इनपुट टोकन के लिए $0.25 और 1M आउटपुट टोकन के लिए $1.00 है। क्रेडिट कभी समाप्त नहीं होता है। यदि आप खत्म हो जाते हैं, तो $10 से टॉप-अप करें। त्रुटियाँ: खराब कुंजियों के लिए 401, अपर्याप्त क्रेडिट के लिए 402, रेट लिमिट के लिए 429। कोई SLA या अपटाइम गारंटी प्रदान नहीं की जाती है। मॉडल किशोरों से संबंधित यौन सामग्री को ब्लॉक करता है। यह अन्य कानूनी वयस्कों या विवादास्पद विषयों को अस्वीकार नहीं करता है।