النص

إنشاء استجابة

ينشئ استجابة باستخدام تنسيق OpenAI Responses API

POST
/v1/responses

استخدم هذه النقطة عندما تتضمن accepted_request_formats في تفاصيل النموذج القيمة openai_responses. تستخدم الطلبات والاستجابات تنسيق Responses API. تعتمد الحقول الاختيارية والقيم المدعومة على النموذج المحدد.

جسم الطلب

modelstringمطلوب

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

inputstring | array

الإدخال اختياري عندما يستخدم الطلب بدلًا منه prompt قابلًا لإعادة الاستخدام أو يتابع استجابة مخزنة عبر previous_response_id.

قائمة بعناصر الإدخال التي تتكوّن منها المحادثة.

يمكن أن يكون كل عنصر:

  • message: رسالة محادثة تحتوي على الدور والمحتوى
  • function_call: طلب استدعاء دالة
  • function_call_output: المخرجات من استدعاء دالة

بالنسبة إلى الإدخال متعدد الوسائط، يمكن أن يكون message.content إما سلسلة نصية عادية أو مصفوفة من كتل المحتوى. بالنسبة إلى النماذج القادرة على التعامل مع الصور مثل متغيرات GPT-5.6 Terra، مرّر الصور على هيئة كتل input_image بدلًا من تضمين عناوين URL أو سلاسل Base64 مباشرة داخل النص العادي.

مقاطع محتوى مثال:

  • { "type": "input_text", "text": "Describe this image" }
  • { "type": "input_image", "image_url": "https://example.com/image.jpg" }
  • { "type": "input_image", "image_url": "data:image/png;base64,..." }
instructionsstring

تعليمات النظام للنموذج (المكافئة لرسالة النظام).

max_output_tokensinteger

الحد الأقصى لعدد الرموز المميزة المراد توليدها.

temperaturenumber

درجة حرارة أخذ العينات. تعتمد القيم المدعومة والافتراضية على النموذج المحدد.

toolsarray

الأدوات التي يمكن للنموذج استدعاؤها. تعتمد الأنواع والتركيبات المدعومة على النموذج المحدد.

streambooleanالافتراضي: false

إذا كانت true، فسيعيد تدفقًا من الأحداث.

previous_response_idstring

معرّف استجابة سابقة لمتابعة المحادثة منها.

storebooleanالافتراضي: true

ما إذا كان سيتم تخزين الاستجابة لاسترجاعها لاحقًا.

backgroundbooleanالافتراضي: false

طلب التنفيذ غير المتزامن. يعتمد الدعم على النموذج المحدد.

promptobject

مرجع إلى قالب prompt قابل لإعادة الاستخدام ومتغيراته.

metadataobject

بيانات وصفية تُضاف إلى الاستجابة لأغراض التتبع.

textobject

إعدادات إخراج النص. يعتمد دعم text.format على النموذج المحدد.

parallel_tool_callsbooleanالافتراضي: true

ما إذا كان يُسمح بعدة استدعاءات أدوات بالتوازي.

top_pnumber

معامل أخذ العينات النووية (0-1).

reasoningobject

تعتمد خيارات الاستدلال، بما فيها effort، على النموذج المحدد.

الاستجابة

idstring

المعرّف الفريد للاستجابة.

objectstring

القيمة دائمًا هي response.

created_atinteger

الطابع الزمني بنظام Unix عند إنشاء الاستجابة.

statusstring

حالة الاستجابة: queued أو in_progress أو completed أو incomplete أو failed أو cancelled. تحقّق من هذا الحقل حتى عند نجاح طلب HTTP.

outputarray

قائمة عناصر الإخراج التي تم إنشاؤها بواسطة النموذج.

usageobject

إحصاءات استخدام الرموز.

نقاط النهاية المرتبطة

  • GET /v1/responses/{id} تسترجع استجابة محفوظة وتدعم include وinclude_obfuscation وstream وstarting_after.
  • DELETE /v1/responses/{id} تحذف استجابة محفوظة. لا تلغي عملية التوليد.
  • POST /v1/responses/compact تعيد كائن response.compaction.
  • نقاط الإلغاء وinput-items وinput-tokens غير متاحة حاليًا.

الطلب

cURL
curl -X POST "https://api.tokenlab.sh/v1/responses" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-terra",
    "input": [
      {"type": "message", "role": "user", "content": "Hello!"}
    ],
    "max_output_tokens": 1000
  }'
Python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://api.tokenlab.sh/v1"
)

response = client.responses.create(
    model="gpt-5.6-terra",
    input=[
        {"type": "message", "role": "user", "content": "Hello!"}
    ],
    max_output_tokens=1000
)

print(response.output)
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'sk-your-api-key',
  baseURL: 'https://api.tokenlab.sh/v1'
});

const response = await client.responses.create({
  model: 'gpt-5.6-terra',
  input: [
    { type: 'message', role: 'user', content: 'Hello!' }
  ],
  max_output_tokens: 1000
});

console.log(response.output);
Go
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    payload := map[string]interface{}{
        "model": "gpt-5.6-terra",
        "input": []map[string]interface{}{
            {"type": "message", "role": "user", "content": "Hello!"},
        },
        "max_output_tokens": 1000,
    }
    body, _ := json.Marshal(payload)

    req, _ := http.NewRequest("POST", "https://api.tokenlab.sh/v1/responses", bytes.NewBuffer(body))
    req.Header.Set("Authorization", "Bearer sk-your-api-key")
    req.Header.Set("Content-Type", "application/json")

    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result["output"])
}
PHP
<?php
$ch = curl_init('https://api.tokenlab.sh/v1/responses');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'Authorization: Bearer sk-your-api-key'
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'model' => 'gpt-5.6-terra',
        'input' => [
            ['type' => 'message', 'role' => 'user', 'content' => 'Hello!']
        ],
        'max_output_tokens' => 1000
    ])
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
print_r($data['output']);

مثال على إدخال الرؤية

استخدم النماذج القادرة على التعامل مع الصور بوضع الصور داخل message.content ككتل input_image. يمكن أن تكون قيمة image_url إما عنوان URL عام أو عنوان URL للبيانات بصيغة Base64.

{
  "model": "gpt-5.6-terra",
  "input": [
    {
      "type": "message",
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "Please describe this image."
        },
        {
          "type": "input_image",
          "image_url": "https://example.com/demo.jpg"
        }
      ]
    }
  ]
}
{
  "model": "gpt-5.6-terra",
  "input": [
    {
      "type": "message",
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "Please describe this image."
        },
        {
          "type": "input_image",
          "image_url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ..."
        }
      ]
    }
  ]
}

الاستجابة

Response
{
  "id": "resp_abc123",
  "object": "response",
  "created_at": 1706000000,
  "status": "completed",
  "model": "gpt-5.6-terra",
  "output": [
    {
      "id": "msg_abc123",
      "type": "message",
      "status": "completed",
      "role": "assistant",
      "content": [
        {"type": "output_text", "text": "Hello! How can I help you today?", "annotations": []}
      ]
    }
  ],
  "usage": {
    "input_tokens": 10,
    "output_tokens": 12,
    "total_tokens": 22
  }
}

التفويض

BearerAuth
AuthorizationBearer <token>

مصادقة مفتاح API. قم بإنشاء أو إدارة مفاتيح API في Dashboard > API > API Keys.

الموضع: header

الترويسات

X-TokenLab-Delivery-Policy?string

سياسة التسليم لكل طلب. تتجاوز إعدادات API key و Workspace الافتراضية. يحاول النظام تلقائياً استخدام TokenLab Verified أولاً، وقد ينتقل مرة واحدة إلى Official فقط قبل المخرجات، أو قبول الطلب، أو إنشاء مورد دائم.

القيم المتاحة

  • "auto"
  • "verified"
  • "official"

جسم الطلب

application/json

الاستجابة

application/json

application/json

application/json