المصادقة وعنوان URL الأساسي
الوصول إلى nano banana api بتوجيه عميلك إلى https://api.nanobananaapis.com/v1. تحتاج إلى مفتاح API صالح في رأس Authorization. سجّل في صفحة الحصول على مفتاح API باستخدام البريد الإلكتروني وكلمة المرور فقط لتلقي مفتاحك على الفور. يظهر المفتاح فورًا بعد التسجيل. إذا فقدته، أنشئ مفتاحًا جديدًا من لوحة التحكم؛ سيتوقف المفتاح القديم عن العمل على الفور.
استخدم Bearer YOUR_API_KEY في كل طلب. معرف النموذج هو دائمًا uncensored. تتعامل نقطة النهاية هذه مع النص الداخل والنص الخارج. لا تولد الصور أو الصوت أو الفيديو. لأنابيب الوسائط المتعددة، استخدم هذه الواجهة لكتابة الموجّهات، وإنشاء النصوص، والمعالجة اللاحقة.
الطلب الأول
أرسل طلب إكمال دردشة قياسي. تدعم الواجهة تنسيق 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.
مثال SDK لـ Python
استخدم SDK Python الرسمي الخاص بـ OpenAI. اضبط عنوان 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 الأخرى إذا قمت بتغيير المزود لاحقاً.
مثال SDK لـ Node.js
يعمل SDK لـ Node.js بشكل مشابه. قم بتهيئة العميل بعنوان 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. الأسعار هي $0.25 لكل مليون رمز مدخل و$1.00 لكل مليون رمز مخرج. الرصيد لا ينتهي. إذا نفدت، قم بشحن الرصيد من $10. الأخطاء: 401 للمفاتيح غير الصالحة، 402 لقصور الرصيد، 429 لحدود المعدل. لا توجد اتفاقية مستوى خدمة أو ضمان للتوفر. يحجب النموذج المحتوى الجنسي الذي يتضمن قاصرين. لا يرفض مواضيع الكبار القانونية أو المثيرة الأخرى.