نستخدم ملفات تعريف الارتباط. تُبقيك ملفات تعريف الارتباط وتخزين المتصفح مسجّلًا للدخول وتتذكر تفضيلاتك. وبإذنك نقيس أيضًا كيفية استخدام الموقع. يمكنك في أي وقت. راجع سياسة ملفات تعريف الارتباط.

التوافق مع OpenAI SDK

البدء

التوافق مع OpenAI SDK

استخدم حِزم OpenAI SDK الرسمية دون تعديل، وانتقل من OpenAI أو أي API متوافق معها إلى api14 بتغيير Base URL ومفتاح API فقط.

يتحدث api14 لغة OpenAI API. تعمل أي OpenAI SDK رسمية، وأي أداة تقبل عنوان OpenAI أساسيًا مخصصًا، دون أي تغيير في الكود، كل ما تغيّره هو العنوان الأساسي (base URL) ومفتاح API.

القيمتان اللتان يجب تغييرهما

الإعدادالقيمة
العنوان الأساسي (Base URL)https://api14.com/api/v1
مفتاح APIمفتاحك sk-api14-...
import OpenAI from 'openai'

const client = new OpenAI({
  baseURL: 'https://api14.com/api/v1',
  apiKey: process.env.API14_API_KEY,
})
import os
from openai import OpenAI

client = OpenAI(base_url="https://api14.com/api/v1", api_key=os.environ["API14_API_KEY"])

تقرأ كثير من حِزم الـ SDK أيضًا متغيّرَي البيئة OPENAI_BASE_URL وOPENAI_API_KEY، فيمكنك التبديل دون لمس الكود إطلاقًا.

ما هو متوافق

ميزة OpenAIapi14
chat.completions.create بما في ذلك stream وtools وresponse_formatمدعومة لكل نماذج النصوص
responses.createمدعومة
completions.createمدعومة
embeddings.createمدعومة
images.generateمدعومة (/images/generations)
audio.speech.createمدعومة
audio.transcriptions.createمدعومة (multipart)
models.list / models.retrieveمدعومة، مع الأسعار والفئات
صيغة الخطأ { error: { message, type, code } }مطابقة، تُطلق حِزم الـ SDK استثناء APIError المعتاد

نقاط النهاية الموجودة لدى OpenAI فقط (Assistants وThreads والضبط الدقيق (fine-tuning) والملفات والدفعات (batches) ومخازن المتجهات (vector stores) والإشراف (moderations)) غير متاحة.

الانتقال من OpenAI

  1. اضبط العنوان الأساسي على https://api14.com/api/v1 واستخدم مفتاح api14 الخاص بك.
  2. أضف اسم المزوّد قبل أسماء النماذج: يصبح gpt-5-mini هو openai/gpt-5-mini، ويصبح text-embedding-3-small هو openai/text-embedding-3-small.
  3. هذا كل شيء. يمكنك الآن أيضًا التبديل إلى أي مزوّد آخر بتغيير معرّف النموذج، مثل anthropic/claude-sonnet-4.5 أو google/gemini-2.5-pro.
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "Explain vector databases in two sentences."
    }
  ]
});
console.log(result.choices[0].message.content);

الانتقال من API آخر متوافق مع OpenAI

  1. اجعل العنوان الأساسي https://api14.com/api/v1.
  2. استبدل مفتاح API بمفتاح api14 الخاص بك.
  3. استخدم معرّفات النماذج بصيغة provider/model (مثل openai/gpt-5-mini). وتعمل أيضًا المتغيّرات (:free و:online و:nitro و:floor)، وتوجيه provider، والنماذج الاحتياطية models، وreasoning وplugins وtransforms وusage.

فروق يجب معرفتها:

  • الفوترة تعتمد على رصيد بالدولار. تُعيد GET /credits الحقلين total_credits وtotal_usage بالدولار الأمريكي، إضافةً إلى الحقل balance_usd. راجع الرصيد ومعلومات المفتاح.
  • تكلفة الاستخدام مضمّنة دائمًا. تطلب البوابة دائمًا usage.cost من المزوّد الأصلي، فتُبلغك كل استجابة بسعرها.
  • الترويسات مثل HTTP-Referer وX-Title تضبطها البوابة؛ ولا حاجة لإرسالها.
  • روابط مهام الفيديو تشير إلى api14 (/api/v1/videos/{id})، وليس إلى المزوّد الأصلي أبدًا. راجع الفيديو.

المعاملات الإضافية في حِزم الـ SDK

لا يزال بإمكانك إرسال الحقول التي لا تعرفها OpenAI SDK:

await client.chat.completions.create({
  model: 'openai/gpt-5-mini',
  messages: [{ role: 'user', content: 'Hi' }],
  // @ts-expect-error api14 extension
  provider: { sort: 'price' },
})
client.chat.completions.create(
    model="openai/gpt-5-mini",
    messages=[{"role": "user", "content": "Hi"}],
    extra_body={"provider": {"sort": "price"}},
)

راجع توجيه المزوّدين والنماذج الاحتياطية والاستدلال والبحث على الويب.