عنوان URL الأساسي والمصادقة
الـ API الخاص بنا متوافق تماماً مع OpenAI، مما يعني أنه يمكنك استخدام أي حزمة SDK قياسية مع تغييرات بسيطة. عنوان URL الأساسي لجميع الطلبات هو https://api.openrouterapi.top/v1. تتم المصادقة عبر رمز Bearer الممرّر في رأس Authorization. يمكنك إنشاء هذا المفتاح فوراً عبر تسجيل الدخول باستخدام Google أو عنوان بريد إلكتروني على لوحة التحكم الخاصة بنا. احتفظ بالمفتاح بأمان، فهو يوفر وصولاً مباشراً إلى رصيدك المسبق الدفع.
أول طلب
اختبر نقطة النهاية باستخدام أمر curl بسيط. استبدل YOUR_API_KEY بمفتاحك الفعلي. تم تعيين معرف النموذج على uncensored لتجاوز رفض المحتوى القياسي. يرسل هذا الطلب الموجّه وينتظر الاستجابة الكاملة.
curl https://api.openrouterapi.top/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."}]
}'
إذا كان المفتاح غير صالح، ستتلقى خطأ 401. إذا استنفد رصيدك المسبق الدفع، ستتلقى خطأ 402. لا تستهلك هذه الأخطاء رصيد الرموز الخاص بك، لكنها تحسب ضمن حصة حدّ المعدل الخاص بك.
تكامل حزمة SDK لـ Python
استخدام حزمة Python الرسمية openai أمر مباشر. قم بتهيئة العميل بعنوان URL الأساسي والمفتاح الخاص بك. تتعامل الحزمة مع تسلسل JSON تلقائياً. يوضح هذا المثال طلب إكمال الدردشة الأساسي.
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterapi.top/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 لـ Node.js
في بيئات JavaScript، تعمل حزمة Node.js بنفس الطريقة. مرر عنوان URL الأساسي المخصص أثناء التهيئة. يتيح لك هذا النهج دمج التوليد بدون رقابة في تطبيقات الويب الحالية أو خدمات الخلفية بسلاسة.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterapi.top/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);
تدعم حزمة Node.js كل من أنماط الوعد (promise) و async/await. معالجة الأخطاء متسقة مع خدمات أخرى متوافقة مع OpenAI.
الاستجابات المتدفقة
فعّل البث المتدفق عن طريق تعيين 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)
يتم خصم رصيد مسبق الدفع بناءً على الرموز الفعلية المولدة في المخرجات النهائية. لا يغير البث المتدفق نموذج التسعير؛ أنت تدفع مقابل الرموز التي تم تسليمها بنجاح.
حدود المعدل ونافذة السياق
يتم تحديد كل مفتاح API بـ 300 طلب في الدقيقة و8 طلبات متزامنة. الحد الأقصى لحجم جسم الطلب هو 8 MB. تدعم نافذة السياق ما مجموعه 100,000 رمز (مدخلات بالإضافة إلى مخرجات). الحد الأقصى للمخرجات لكل طلب هو 32,000 رمز، أو 2,048 إذا لم يتم تعيين max_tokens. الأخطاء مثل 401 أو 402 لا تستهلك الرصيد، لكنها تحسب ضمن حدّ المعدل الخاص بك. الرفضات لأنواع محددة من المحتوى مجانية أيضاً.