مرجع API
يوفر GatifyAI نقطة نهاية لإكمال المحادثات متوافقة مع SDK الخاص بـ OpenAI — وجّه عميل OpenAI الحالي لديك نحو GatifyAI وسيعمل مباشرة دون الحاجة إلى مكتبة عميل خاصة.
عنوان URL الأساسي
يتم إرسال كل طلب إلى:
https://gatifyai.com/api/v1المصادقة
أنشئ مفتاحًا في صفحة مفاتيح API، ثم أرسله كرمز Bearer في رأس Authorization. يتم تخزين تجزئة (hash) لمفتاحك فقط — انسخه فور إنشائه، لأن GatifyAI لن يتمكن من عرضه لك مرة أخرى.
بداية سريعة
طلب بسيط بلغة curl أو Python أو TypeScript:
curl https://gatifyai.com/api/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MODEL_NAME",
"messages": [{"role": "user", "content": "Hello!"}]
}'تقييد مفتاح بنماذج محددة
افتراضيًا، يمكن لمفتاح جديد استخدام أي نموذج مجاني من GatifyAI، مع نفس آلية التحويل التلقائي المستخدمة في الدردشة عبر الويب في حال عدم توفر أحد النماذج. يمكنك بدلاً من ذلك تقييد المفتاح بنموذج محدد أو قائمة قصيرة — عندها لن يستخدم المفتاح إلا النماذج الموجودة في تلك القائمة، بالترتيب الذي حددته، بغض النظر عن النموذج الذي يطلبه أي طلب. طلب نموذج خارج تلك القائمة يُرجع خطأ 400 يوضح النماذج المسموح بها فعليًا لهذا المفتاح.
الدردشة كشخصية
مرّر model: "persona/<slug>" للدردشة كشخصية منشورة في معرض المجتمع — يتم استخدام شخصيتها ونماذجها المفضلة تلقائيًا، مع الالتزام بالنماذج المسموح بها لمفتاحك إن قمت بتعيينها. ستجد slug الشخصية ومثالاً جاهزًا في صفحتها الخاصة، ضمن تبويب API.
{
"model": "persona/senior-engineer",
"messages": [{"role": "user", "content": "Review my code."}]
}البث مقابل عدم البث
اضبط stream: true لتلقي الرموز (tokens) فور توليدها، تمامًا مثل تنسيق البث في OpenAI (أحداث مرسلة من الخادم، تنتهي بـ [DONE]). احذف هذا الخيار أو اضبطه على false لانتظار الرد الكامل والحصول على استجابة JSON واحدة — وهذا هو السلوك الافتراضي.
الأخطاء
تتبع الأخطاء تنسيق أخطاء OpenAI: {"error": {"message": "...", "type": "..."}}. يعني الخطأ 401 وجود مفتاح مفقود أو غير صالح أو ملغى. يعني الخطأ 400 أن الطلب نفسه غير صالح — غالبًا نموذج غير معروف، أو slug شخصية غير منشورة/غير معروفة، أو نموذج خارج القائمة المسموح بها لمفتاحك. يعني الخطأ 502 أن أيًا من النماذج المرشحة لم يستجب.
{
"error": {
"message": "This API key may only use: llama-3.1-8b:free",
"type": "invalid_request_error"
}
}حدود المعدل
تُحتسب طلبات API ضمن نفس حد معدل الدردشة لكل حساب المستخدَم في تطبيق الويب — لا توجد حصة منفصلة لحركة API حاليًا.