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

Responses

نقاط النهاية

Responses

نقطة النهاية POST /responses تقبل صيغة OpenAI Responses API، فيعمل client.responses.create في SDK الرسمية دون تعديل على كل النماذج.

جرّبه في ساحة التجربة

تقبل نقطة نهاية Responses صيغة OpenAI Responses API، لذا يعمل client.responses.create(...) في SDK الرسمية دون تعديل. تعمل على النماذج نفسها التي تعمل عليها Chat completions. يمرّر api14 الجسم إلى المزوّد دون تغيير ويحاسب على usage العائد.

POST https://api14.com/api/v1/responses
Authorization: Bearer sk-api14-...
Content-Type: application/json

الطلب

المعاملالنوعالوصف
modelstring، مطلوبمعرّف النموذج، مثل openai/gpt-5-mini.
inputstring | array، مطلوبسلسلة مطالبة أو مصفوفة عناصر إدخال (رسائل { role, content } وfunction_call_output وغيرها).
instructionsstringتعليمات على مستوى النظام.
streambooleanبثّ أحداث دلالية (response.output_text.delta وresponse.completed وغيرها) عبر SSE.
max_output_tokensintegerالحد الأقصى للرموز المولَّدة.
temperature, top_pnumberعناصر التحكم في أخذ العينات.
tools, tool_choice, parallel_tool_callsأدوات الدوال. البحث على الويب متاح أيضًا كأداة أو عبر plugins.
textobjectصيغة المخرجات، مثل { "format": { "type": "json_schema", "name": "...", "schema": {...} } }.
reasoningobject{ "effort": "low" | "medium" | "high" }. راجع الاستدلال.
provider, models, pluginsامتدادات البوابة نفسها الموجودة في chat completions.

لا تخزّن البوابة محادثاتك، لذا مرّر السياق كاملًا في input مع كل استدعاء. قد لا تكون الخيارات ذات الحالة مثل previous_response_id مدعومة.

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);

يستخدم المثال أعلاه chat completions. مع Node SDK يبدو المكافئ في Responses هكذا:

const response = await client.responses.create({
  model: "openai/gpt-5-mini",
  input: "Write a haiku about APIs.",
});
console.log(response.output_text);

الاستجابة

{
  "id": "resp-1760000000-abc123",
  "object": "response",
  "created_at": 1760000000,
  "model": "openai/gpt-5-mini",
  "status": "completed",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [{ "type": "output_text", "text": "Requests in flight,\nJSON answers drifting back,\none key opens all." }]
    }
  ],
  "usage": {
    "input_tokens": 14,
    "output_tokens": 22,
    "total_tokens": 36,
    "input_tokens_details": { "cached_tokens": 0 },
    "output_tokens_details": { "reasoning_tokens": 0 },
    "cost": 0.0000475
  }
}

تقرأ البوابة usage من الكائن النهائي، أو من الحدث response.completed عند البث، وتخصم cost بالدولار من رصيدك.

الأخطاء

مثل chat completions: 400 model_required و400 invalid_json و401 invalid_api_key و402 insufficient_balance و403 model_not_allowed / plan_required و404 model_not_found و413 payload_too_large و429 rate_limited / daily_limit_reached و502 upstream_unavailable. راجع الأخطاء.