واجهة برمجة تطبيقات Character AI: قم بتغيير العميل الخاص بك في ثلاثة أسطر
اربط روبوت المحادثة الخاص بك بنموذج لغوي كبير بدون رقابة في دقائق باستخدام واجهة برمجة التطبيقات المتوافقة مع OpenAI. يوضح لك هذا الدليل الإعداد، الطلبات الأساسية، والبث المتدفق دون عناء في الإعداد.
https://api.characteraiapi.com/v1
المتطلبات المسبقة
قبل كتابة الكود، تحتاج إلى حساب نشط على characteraiapi.com. قم بزيارة صفحة الحصول على مفتاح API وسجّل باستخدام البريد الإلكتروني وكلمة المرور فقط. لا يلزم بطاقة ائتمان للبدء، ويحصل الحسابات الجديدة على $0.50 من رصيد تجريبي مجاني صالح لمدة 7 أيام. بمجرد التسجيل، يتم عرض مفتاح API الخاص بك على الفور. احتفظ بهذا المفتاح بأمان، لأنه يصادق على جميع الطلبات إلى نقطة النهاية. ستحتاج أيضًا إلى تثبيت واجهة برمجة تطبيقات (SDK) للغة مدعومة في بيئة التطوير الخاصة بك. تقبل نقطة النهاية character ai api معايير OpenAI القياسية، لذا يمكن لأي عميل متوافق مع OpenAI العمل مع تغييرات قليلة.
تثبيت واجهة برمجة التطبيقات (SDK)
لمشاريع Python، قم بتثبيت الحزمة الرسمية لـ OpenAI باستخدام pip. تتعامل هذه المكتبة تلقائياً مع تسلسل JSON وطلبات HTTP. لتطبيقات Node.js، استخدم npm لإضافة الحزمة openai. تدعم كلتا المكتبتين ميزتي البث المتدفق واستدعاء الأدوات الموضحة لاحقاً في هذا الدليل. تأكد من أن إصدار SDK الخاص بك حديث بما يكفي لدعم أحداث Server-Sent Events (SSE) للبث المتدفق للرموز. إذا كنت تستخدم عميل HTTP مخصصاً بدلاً من SDK، فيجب عليك معالجة حمولة JSON وتحليل تدفق SSE يدوياً وفقاً لمواصفات واجهة برمجة التطبيقات OpenAI.
المصادقة
يجب أن يتضمن كل طلب إلى واجهة برمجة التطبيقات مفتاح API الخاص بك في رأس Authorization. استخدم التنسيق Bearer YOUR_API_KEY. عنوان URL الأساسي لجميع الطلبات هو https://api.characteraiapi.com/v1. عند استخدام واجهة برمجة التطبيقات (SDK)، قم بتعيين تكوين base_url إلى هذه القيمة وقم بتوفير مفتاحك عبر معلمة api_key. إذا فقدت مفتاحك أو اشتبهت في تسربه، يمكنك تجديده من لوحة التحكم؛ سيتم إلغاء سريان المفتاح القديم على الفور. يُسمح بمفتاح نشط واحد فقط لكل حساب. تأكد من استخدام عنوان URL الأساسي الصحيح، حيث ستفشل الطلبات إلى نقطة النهاية القياسية لـ OpenAI بخطأ 404 أو 401.
إكمال الدردشة الأساسي
تُقدّم الوظيفة الأساسية عبر نقطة النهاية /v1/chat/completions. أرسل طلب POST مع اسم النموذج uncensored وسجل الرسائل الخاص بك. يستجيب النموذج بمخرجات نصية دون تطبيق فلاتر المحتوى القياسية للمحتوى البالغ القانوني. فيما يلي مثال curl يوضح طلب إكمال نصي بسيط.
curl https://api.characteraiapi.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."}]
}'
يعيد هذا الطلب كائن إكمال يحتوي على النص المولد. يمكنك ضبط معاملات مثل temperature للتحكم في العشوائية أو max_tokens لتقييد طول الإخراج. يدعم النموذج نافذة سياق من 100,000 رمز، مما يسمح بمعالجة سجل محادثات كبير أو مستندات طويلة في طلب واحد.
الاستجابات المتدفقة
لتحسين تجربة المستخدم، فعّل البث المتدفق عن طريق تعيين stream: true في طلبك. تُعيد واجهة برمجة التطبيقات أحداث Server-Sent Events (SSE) تحتوي على أجزاء من الرموز كما يتم توليدها. يقلل هذا من زمن الاستجابة المُدرَك لتطبيقات روبوتات المحادثة. استخدم المعلمة stream_options إذا كنت ترغب في تلقي إحصائيات الاستخدام النهائية في الحدث الأخير. يعد البث المتدفق مفيداً بشكل خاص في لعب الأدوار بالشخصيات في الوقت الفعلي، حيث يعزز عرض النص كلمة بكلمة من الغمر. تأكد من معالجة كود العميل الخاص بتنسيق 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)
حدود المعدل والأخطاء
تفرض واجهة برمجة التطبيقات حداً قدره 300 طلب في الدقيقة لكل مفتاح. إذا تجاوزت هذا الحد، ستتلقى خطأ 429 Too Many Requests. حدود أحجام الطلبات هي 8 ميجابايت. تشمل الأخطاء الشائعة 401 للمفتاح غير الصحيح أو المفقود، و402 إذا استُنفد رصيدك المسبق الدفع. يمكنك شحن الرصيد من 10 دولارات أمريكية باستخدام العملات المشفرة (USDT أو USDC)، مع وجود رصيد إضافي متاح للإيداعات الأكبر. على عكس بعض المزودين، لا توجد رسوم خفية أو قفل اشتراك؛ أنت تدفع فقط مقابل الرموز التي تستهلكها. الأسعار شفافة: 0.25 دولار لكل مليون رمز مدخل و1.00 دولار لكل مليون رمز مخرج. تأكد من أن منطق معالجة الأخطاء الخاص بك يعيد المحاولة عند حدوث أخطاء 429 مع زيادة أسية في الانتظار.
from openai import OpenAI
client = OpenAI(base_url="https://api.characteraiapi.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.characteraiapi.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);مواصفات API
كل الحدود والميزات الفعلية للـ API في مكان واحد — راجعها قبل شحن الرصيد.
| البند | القيمة |
|---|---|
| صيغة API | متوافق مع OpenAI: يعمل أي SDK من OpenAI بتغيير base URL والمفتاح فقط |
| نقاط النهاية | POST /v1/chat/completions · GET /v1/models |
| المصادقة | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.characteraiapi.com/v1 |
| معرّف النموذج | uncensored |
| وضع JSON | response_format: {"type": "json_object"} |
| أقصى مخرجات | حتى ما تبقى من نافذة 100,000 رمزًا؛ max_tokens اختياري (بلا حد منفصل) |
| المعاملات | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| نافذة السياق | 100,000 رمز (المدخلات والمخرجات معاً) |
| البث المتدفق | نعم — server-sent events؛ آخر جزء يتضمن استهلاك الرموز |
| استدعاء الدوال | نعم — tools و tool_choice؛ الرد يتضمن tool_calls حتى أثناء البث؛ تُرسل النتائج كرسالة role: tool |
| حجم الطلب | حتى 8 MB |
| ترويسات الرد | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| الطلبات المتزامنة | حتى 8 في الوقت نفسه لكل مفتاح |
| حدّ المعدل | 300 طلب في الدقيقة لكل مفتاح |
| الصلاحية | الرصيد المدفوع لا تنتهي صلاحيته، بدون اشتراك |
| مكافأة | +5% من $50، +10% من $100 |
| شحن الرصيد | USDT (TRC20) أو USDC (Base)، أي مبلغ صحيح من $10 إلى $500 |
| السعر | $0.25 لكل مليون رمز مدخلات · $1.00 لكل مليون رمز مخرجات |
| الفوترة | رصيد مسبق الدفع حسب الاستهلاك الفعلي؛ الأخطاء والرفض مجانية |
| رصيد تجريبي مجاني | $0.50 لمدة 7 أيام، بدون بطاقة · مفتاح تجريبي: طلبان متوازيان، 60 طلبًا في الدقيقة؛ الحدود الكاملة (8 و300) بعد أول شحن |
| المفاتيح | مفتاح نشط واحد لكل حساب؛ المفتاح الجديد يحل محل القديم |
| تسجيل الدخول | Google أو البريد الإلكتروني وكلمة المرور |
| المحتوى | محتوى البالغين مسموح؛ يُرفض أي محتوى جنسي يتعلق بالقاصرين |
رموز الأخطاء
تصل الأخطاء بصيغة JSON مع type ثابت؛ الطلبات الفاشلة أو المرفوضة لا تُحتسب.
| الرمز | النوع | المعنى |
|---|---|---|
400 | bad_request | JSON غير صالح أو رسائل فارغة أو معامل خاطئ أو تجاوز نافذة السياق |
401 | missing_key · invalid_key · key_revoked | لا يوجد مفتاح أو المفتاح خاطئ أو تم استبداله |
402 | no_credit | الرصيد فارغ — اشحن وتستأنف الطلبات فوراً |
403 | content_blocked | محتوى جنسي يتعلق بقاصرين — مرفوض دون احتساب |
404 | not_found | نقطة نهاية غير معروفة |
413 | request_too_large | جسم الطلب أكبر من 8 MB |
429 | rate_limited · concurrency | تجاوز 300 في الدقيقة أو 8 متزامنة — انتظر ثم أعد المحاولة |
503 | upstream_busy | النموذج مشغول — أعد المحاولة بعد ثوانٍ |
أسئلة وأجوبة
هل هذه هي واجهة برمجة التطبيقات الرسمية لـ Character.ai؟
لا، هذه خدمة مستضافة بشكل مستقل على characteraiapi.com. تقدم نموذجها الخاص غير الخاضع للرقابة وليست تابعة لـ Character.AI أو أي مورد رئيسي آخر للذكاء الاصطناعي.
هل يدعم النموذج توليد الصور أو الصوت؟
لا. واجهة برمجة التطبيقات مخصصة للنصوص فقط. تقبل إدخال النص وتعيد إخراج النص. لا تدعم التضميمات، أو الضبط الدقيق، أو المدخلات/المخرجات متعددة الوسائط.
كيف يتم تعريف "غير الخاضع للرقابة"؟
لا يرفض النموذج المواضيع القانونية للبالغين، أو الخيالية، أو المثيرة للجدل. يقوم فقط بحجب المحتوى الجنسي الذي يتضمن قاصرين، وهو حد صارم يُطبق على جميع الطلبات.
مفتاحك على بُعد نموذج واحد
أنشئ حسابًا، انسخ المفتاح، غيّر عنوان URL الأساسي. هذا هو الإعداد الكامل.