الانتقال إلى المحتوى الرئيسي
تقدم Venice API واجهات REST وstreaming قائمة على HTTP لبناء تطبيقات الذكاء الاصطناعي بنماذج بدون قيود واستدلال خاص. يمكنك الإبداع مع توليد النصوص وإنشاء الصور و embeddings والمزيد، كل ذلك دون سياسات محتوى مقيِّدة. أمثلة التكامل وحِزَم SDK متاحة في التوثيق. مرجع API الخاص بنا متوفر أيضًا كـ مواصفات OpenAPI YAML.

المصادقة

تستخدم Venice API مفاتيح API للمصادقة. أنشئ وأدر مفاتيح API الخاصة بك في إعدادات API الخاصة بك. تتطلب جميع طلبات API مصادقة HTTP Bearer:
Authorization: Bearer VENICE_API_KEY
مفتاح API الخاص بك سري. لا تشاركه أو تكشفه في أي كود من جانب العميل.

التوافق مع OpenAI

تنفّذ Venice API مواصفات OpenAI API، مما يضمن التوافق مع عملاء وأدوات OpenAI الموجودة. يتيح لك هذا التكامل مع Venice باستخدام واجهة OpenAI المألوفة بينما تصل إلى ميزات Venice الفريدة ونماذجها بدون قيود.

الإعداد

اضبط عميلك لاستخدام base URL الخاص بـ Venice (https://api.venice.ai/api/v1) وقم بإرسال طلبك الأول:
curl https://api.venice.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "venice-uncensored",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

ميزات خاصة بـ Venice

System Prompts

توفر Venice system prompts افتراضية مصمَّمة لضمان استجابات النماذج بدون قيود وطبيعية. لديك خياران للتعامل مع system prompts:
  1. السلوك الافتراضي: تتم إضافة system prompts الخاصة بك إلى الافتراضات الخاصة بـ Venice
  2. السلوك المخصص: عطّل system prompts الخاصة بـ Venice بالكامل

تعطيل system prompts الخاصة بـ Venice

استخدم خيار venice_parameters لإزالة system prompts الافتراضية لـ Venice:
curl https://api.venice.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "venice-uncensored",
    "messages": [
      {"role": "system", "content": "Your custom system prompt"},
      {"role": "user", "content": "Why is the sky blue?"}
    ],
    "venice_parameters": {
      "include_venice_system_prompt": false
    }
  }'

معاملات Venice

كائن venice_parameters يسمح لك بالوصول إلى ميزات خاصة بـ Venice غير متوفرة في OpenAI API القياسية:
المعاملالنوعالوصفالافتراضي
character_slugstringمعرّف شخصية (slug) لشخصية Venice عامة (يمكن اكتشافه كـ “Public ID” في صفحة الشخصية المنشورة)-
strip_thinking_responsebooleanإزالة كتل <think></think> من الاستجابة (النماذج التي تستخدم تنسيق علامة <think> القديم). راجع نماذج الاستدلال.false
disable_thinkingbooleanعلى نماذج الاستدلال المدعومة، عطّل التفكير وإزالة كتل <think></think> من الاستجابةfalse
enable_web_searchstringتفعيل البحث في الويب لهذا الطلب (off، on، auto - يتم التفعيل التلقائي بناءً على تقدير النموذج)
ينطبق تسعير إضافي قائم على الاستخدام، راجع التسعير.
off
enable_web_scrapingbooleanتفعيل استخراج محتوى الويب لما يصل إلى 5 عناوين URL مكتشفة في رسالة المستخدم. المحتوى المُستخرَج يعزز الاستجابات ويتجاوز البحث في الويب. يتم احتساب الفوترة فقط لعناوين URL التي تم استخراج محتواها بنجاح.
ينطبق تسعير إضافي قائم على الاستخدام، راجع التسعير.
false
enable_x_searchbooleanتفعيل بحث xAI الأصلي (الويب + X/Twitter) لنماذج Grok المدعومة (مثل grok-4-20-beta). يوفر نتائج بحث بجودة أعلى باستخدام بنية بحث xAI التحتية. عند التفعيل، يتم تجاوز البحث القياسي في الويب من Venice.
ينطبق تسعير إضافي قائم على الاستخدام، راجع التسعير.
false
enable_web_citationsbooleanعند تفعيل البحث في الويب، اطلب من الـ LLM الاستشهاد بمصادره باستخدام تنسيق [REF]0[/REF]false
include_search_results_in_streambooleanتجريبي: تضمين نتائج البحث في الـ stream كأول قطعة مُرسَلةfalse
return_search_results_as_documentsbooleanإظهار نتائج البحث في استدعاء أداة متوافق مع OpenAI باسم venice_web_search_documents لتكامل LangChainfalse
include_venice_system_promptbooleanما إذا كان يتم تضمين system prompts الافتراضية الخاصة بـ Venice إلى جانب system prompts المحددةtrue
يمكن أيضًا تحديد هذه المعاملات كلاحقات للنموذج تُضاف إلى اسم النموذج (مثل zai-org-glm-5:enable_web_search=auto). راجع لواحق ميزات النموذج للحصول على التفاصيل.

Prompt Caching

تدعم Venice تخزين الـ prompt مؤقتًا على نماذج مختارة لتقليل زمن الاستجابة والتكاليف للمحتوى المتكرر. بالنسبة للنماذج المدعومة، تقوم Venice تلقائيًا بتخزين system prompts مؤقتًا — لا حاجة لتغييرات في الكود. يمكنك أيضًا وضع علامة يدويًا على المحتوى للتخزين المؤقت باستخدام خاصية cache_control في محتوى الرسالة.
المعاملالنوعالوصف
prompt_cache_keystringتلميح توجيه اختياري لتحسين معدلات إصابة الكاش. عند توفيره، توجه Venice الطلبات إلى نفس بنية الـ backend التحتية، مما يزيد من احتمال إصابات الكاش عبر المحادثات متعددة الجولات.
راجع Prompt Caching للحصول على تفاصيل حول كيفية عمل التخزين المؤقت، والفوترة، وأفضل الممارسات.

مرجع رؤوس الاستجابة

تتضمن جميع استجابات Venice API رؤوس HTTP توفّر بيانات وصفية حول الطلب، وحدود المعدل، ومعلومات النموذج، ورصيد الحساب. بالإضافة إلى رموز الأخطاء المُعادة من استجابات API، يمكنك فحص هذه الرؤوس للحصول على المعرّف الفريد لطلب API معين، ومراقبة حدود المعدل، وتتبع رصيد حسابك. توصي Venice بتسجيل معرّفات الطلب (header CF-RAY) في عمليات النشر الإنتاجية لاستكشاف الأخطاء بشكل أكثر كفاءة مع فريق الدعم لدينا، إذا اقتضت الحاجة. يوفر الجدول أدناه مرجعًا شاملًا لجميع الرؤوس التي قد تواجهها:
Headerالنوعالغرضمتى تُعاد
رؤوس HTTP القياسية
Content-Typestringنوع MIME لجسم الاستجابة (application/json، text/csv، image/png، إلخ)دائمًا
Content-Encodingstringالترميز المستخدم لضغط جسم الاستجابة (gzip، br)عندما يرسل العميل header Accept-Encoding
Content-Dispositionstringكيف يجب عرض المحتوى (مثل attachment; filename=export.csv)عند تنزيل الملفات أو التصديرات
Datestringطابع زمني بتنسيق RFC 7231 عند توليد الاستجابةدائمًا
تعريف الطلب
CF-RAYstringمعرّف فريد لطلب API هذا، يُستخدم لاستكشاف الأخطاء وطلبات الدعمدائمًا
x-venice-versionstringالإصدار/المراجعة الحالية لخدمة Venice API (مثل 20250828.222653)دائمًا
x-venice-timestampstringطابع زمني للخادم عند معالجة الطلب (تنسيق ISO 8601)عند تفعيل تتبع الطابع الزمني
x-venice-host-namestringاسم المضيف للخادم الذي عالج الطلباستجابات الأخطاء وسيناريوهات التصحيح
معلومات النموذج
x-venice-model-idstringالمعرّف الفريد لنموذج الذكاء الاصطناعي المستخدم للطلب (مثل venice-01-lite)endpoints الاستدلال التي تستخدم نماذج الذكاء الاصطناعي
x-venice-model-namestringالاسم الودي/المعروض لنموذج الذكاء الاصطناعي المستخدم (مثل Venice Lite)endpoints الاستدلال التي تستخدم نماذج الذكاء الاصطناعي
x-venice-model-routerstringخدمة الـ Router/Backend التي تعاملت مع استدلال النموذجendpoints الاستدلال عند توفر معلومات التوجيه
x-venice-model-deprecation-warningstringرسالة تحذير للنماذج المُجدوَلة للإيقافعند استخدام نموذج مُهجَر
x-venice-model-deprecation-datestringالتاريخ الذي سيُهجَر فيه النموذج (تاريخ ISO 8601)عند استخدام نموذج مُهجَر
معلومات حدود المعدل
x-ratelimit-limit-requestsnumberالحد الأقصى لعدد الطلبات المسموح بها في النافذة الزمنية الحاليةجميع الطلبات المُصادَقة
x-ratelimit-remaining-requestsnumberعدد الطلبات المتبقية في النافذة الزمنية الحاليةجميع الطلبات المُصادَقة
x-ratelimit-reset-requestsnumberطابع Unix الزمني عند إعادة تعيين حد معدل الطلباتجميع الطلبات المُصادَقة
x-ratelimit-limit-tokensnumberالحد الأقصى لعدد الـ tokens (prompt + completion) المسموح به في النافذة الزمنيةجميع الطلبات المُصادَقة
x-ratelimit-remaining-tokensnumberعدد الـ tokens المتبقية في النافذة الزمنية الحاليةجميع الطلبات المُصادَقة
x-ratelimit-reset-tokensnumberالمدة بالثواني حتى إعادة تعيين حد معدل الـ tokensجميع الطلبات المُصادَقة
x-ratelimit-typestringنوع حد المعدل المُطبَّق (user، api_key، global)عندما يتم فرض حد المعدل
رؤوس التقسيم على صفحات
x-pagination-limitnumberعدد العناصر لكل صفحةendpoints مُقسَّمة على صفحات
x-pagination-pagenumberرقم الصفحة الحالية (يبدأ من 1)endpoints مُقسَّمة على صفحات
x-pagination-totalnumberالعدد الإجمالي للعناصر عبر جميع الصفحاتendpoints مُقسَّمة على صفحات
x-pagination-total-pagesnumberالعدد الإجمالي للصفحاتendpoints مُقسَّمة على صفحات
معلومات رصيد الحساب
x-venice-balance-diemstringرصيد DIEM token الخاص بك قبل معالجة الطلبجميع الطلبات المُصادَقة
x-venice-balance-usdstringرصيد الاعتمادات بالدولار الأمريكي قبل معالجة الطلبجميع الطلبات المُصادَقة
رؤوس أمان المحتوى
x-venice-is-blurredstringيشير إلى ما إذا تم تمويه الصورة المُولَّدة بسبب سياسات المحتوى (true/false)توليد الصور مع تفعيل Safe Venice
x-venice-is-content-violationstringيشير إلى ما إذا كان المحتوى ينتهك سياسات محتوى Venice (true/false)endpoints توليد المحتوى
x-venice-is-adult-model-content-violationstringيشير إلى ما إذا كان المحتوى ينتهك سياسات محتوى النماذج للبالغين (true/false)endpoints توليد الصور
x-venice-contains-minorstringيشير إلى ما إذا كانت الصورة تحتوي على قاصرين (true/false)endpoints تحليل الصور مع اكتشاف العمر
معلومات العميل
x-venice-middleface-versionstringإصدار عميل Venice middlefaceالطلبات من عملاء Venice middleface
x-venice-mobile-versionstringإصدار عميل تطبيق Venice للهاتف المحمولالطلبات من تطبيقات الهاتف المحمول
x-venice-request-timestamp-msnumberطابع زمني للطلب مقدَّم من العميل بالميلي ثانيةعندما يقدم العميل طابع زمني في الطلب
x-venice-control-instancestringمعرّف instance التحكم للتصحيحendpoints توليد الصور للتصحيح
رؤوس المصادقة
x-auth-refreshedstringيشير إلى أنه تم تحديث token المصادقة أثناء الطلب (true/false)عند تحديث tokens المصادقة تلقائيًا
x-retry-countnumberعدد محاولات إعادة المحاولة للطلبعند حدوث إعادة محاولات للطلب

ملاحظات مهمة

  • حالة أحرف اسم Header: رؤوس HTTP غير حساسة لحالة الأحرف، لكن Venice تستخدم أحرفًا صغيرة مع شَرَطات للتناسق
  • القيم النصية: قيم Boolean في الرؤوس تُعاد كسلاسل نصية ("true" أو "false")
  • القيم الرقمية: قد تُعاد الأرقام الكبيرة وقيم الرصيد كسلاسل نصية لمنع فقدان الدقة
  • الرؤوس الاختيارية: لا تُعاد جميع الرؤوس في كل استجابة؛ يعتمد الوجود على endpoint وسياق الطلب
  • الضغط: استخدم Accept-Encoding: gzip, br في الطلبات لتلقي استجابات مضغوطة عند الدعم

مثال: الوصول إلى رؤوس الاستجابة

// بعد إجراء طلب API، يمكن الوصول إلى الرؤوس من كائن الاستجابة
const requestId = response.headers.get('CF-RAY');
const remainingRequests = response.headers.get('x-ratelimit-remaining-requests');
const remainingTokens = response.headers.get('x-ratelimit-remaining-tokens');
const usdBalance = response.headers.get('x-venice-balance-usd');

// التحقق من تحذيرات إيقاف النماذج
const deprecationWarning = response.headers.get('x-venice-model-deprecation-warning');
if (deprecationWarning) {
  console.warn(`Model Deprecation: ${deprecationWarning}`);
}

أفضل الممارسات

  1. حدود المعدل: راقب رؤوس x-ratelimit-remaining-requests و x-ratelimit-remaining-tokens ونفّذ exponential backoff
  2. مراقبة الرصيد: تتبع رؤوس x-venice-balance-usd و x-venice-balance-diem لتجنب انقطاع الخدمة
  3. System Prompts: اختبر مع وبدون system prompts الخاصة بـ Venice للعثور على الأنسب لحالة استخدامك
  4. مفاتيح API: احتفظ بمفاتيح API الخاصة بك آمنة وقم بتدويرها بانتظام
  5. تسجيل الطلبات: سجّل قيم header CF-RAY لاستكشاف الأخطاء مع الدعم
  6. إيقاف النماذج: تحقق من رؤوس x-venice-model-deprecation-warning عند استخدام النماذج

الاختلافات عن OpenAI API

بينما تحافظ Venice على توافق عالٍ مع مواصفات OpenAI API، هناك بعض الاختلافات الرئيسية:
  1. venice_parameters: تكوينات إضافية مثل enable_web_search و character_slug و strip_thinking_response لوظائف ممتدة
  2. System Prompts: تضيف Venice system prompts الخاصة بك إلى الافتراضات التي تُحسِّن للاستجابات بدون قيود (عطّل بـ include_venice_system_prompt: false)
  3. منظومة النماذج: تقدم Venice قائمة نماذجها الخاصة بما في ذلك النماذج بدون قيود ونماذج الاستدلال - استخدم معرّفات نماذج Venice بدلًا من تعيينات OpenAI
  4. رؤوس الاستجابة: رؤوس فريدة لتتبع الرصيد (x-venice-balance-usd و x-venice-balance-diem)، وتحذيرات إيقاف النماذج، وأعلام أمان المحتوى
  5. سياسات المحتوى: سياسات أكثر تسامحًا مع نماذج بدون قيود مخصصة وتصفية محتوى اختيارية

استقرار API

تحافظ Venice على التوافق الخلفي لـ v1 endpoints والمعاملات. لسياسة دورة حياة النموذج، وإشعارات الإيقاف، وإرشادات الانتقال، راجع الإيقافات.

مواصفات OpenAPI والبيانات الخام

للوصول البرمجي إلى وثائق وبيانات Venice API — بما في ذلك الاستخدام مع RAG (Retrieval-Augmented Generation) — تتوفر الموارد التالية:
الحقول في الطلب التي لم تُذكَر في هذا التوثيق قد تُمرَّر، لكنها غير مُتحقَّقة ولا مضمونة العمل.