Claude Opus 5.5 متاح الآن على SeedRouter

Text

مرجع API لنموذج GLM-5.3

View Markdown

حقول طلبات GLM-5.3 والاستدلال والأدوات والبث والاستخدام وأمثلة كاملة لـ Chat وResponses وMessages.

يقبل GLM-5.3 النص ويعيد نصاً أو استدعاءات أدوات. يستدل دائماً ويدعم مستويات low وhigh وmax، ويتيح حتى 131,072 توكن إخراج. استخدم glm-5.3 لفئة Default. مجموعته الافتراضية glm؛ ويظل glm-5.3:glm اختياراً صريحاً للمجموعة نفسها. تستخدم المجموعات الإضافية لاحقة النموذج الخاصة بها.

عنوان URL الأساسي: https://api.seedrouter.ai. المصادقة عبر Authorization: Bearer $SEEDROUTER_API_KEY. احتفظ ببيانات الاعتماد على خادمك. يقبل Messages أيضاً ترويسة x-api-key المتوافقة.

يتبع هذا المرجع عقد Chat من Z.ai ومخطط Responses من الشركة المصنّعة ودليل توافق Messages. تأتي حدود النموذج من دليل GLM-5.3. التوافق مع الوثائق لا يثبت كل سلوك فعلي. أكملت اختبارات 29 أكتوبر 2026 طلبات النص والبث بالصيغ الثلاث واستدعاء دوال Chat وإخراج كائن JSON ومتابعة استجابة محفوظة. لم تُثبت إصابات الذاكرة المؤقتة أو مددها الصريحة أو كل إعداد توافق. نميز أدناه حقول مرجع Messages عن حقول GLM الموثقة من الشركة المصنّعة.

مواصفات OpenAPI · مرجع Markdown · النموذج وساحة اللعب · دليل الأسعار

البدء السريع

يرسل كل مثال طلب Chat Completions واحداً. max_tokens: 2048 ميزانية توضيحية وليست الافتراضية. يتشارك الاستدلال والإجابة الظاهرة هذه الميزانية؛ افحص finish_reason قبل اعتبار الإجابة كاملة.

curl https://api.seedrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"model":"glm-5.3","messages":[{"role":"user","content":"Explain an idempotency key with one concrete example."}],"reasoning_effort":"low","max_tokens":2048}'
import os
from openai import OpenAI

client = OpenAI(api_key=os.environ["SEEDROUTER_API_KEY"], base_url="https://api.seedrouter.ai/v1")
response = client.chat.completions.create(
    model="glm-5.3",
    messages=[{"role": "user", "content": "Explain an idempotency key with one concrete example."}],
    max_tokens=2048,
    extra_body={"reasoning_effort": "low"},
)
print(response.choices[0].message.content)
print(response.usage)
import OpenAI from 'openai';
const client = new OpenAI({apiKey: process.env.SEEDROUTER_API_KEY, baseURL: 'https://api.seedrouter.ai/v1'});
const response = await client.chat.completions.create({
  model: 'glm-5.3',
  messages: [{role: 'user', content: 'Explain an idempotency key with one concrete example.'}],
  reasoning_effort: 'low',
  max_tokens: 2048,
});
console.log(response.choices[0].message.content);
console.log(response.usage);
package main

import (
    "bytes"
    "fmt"
    "io"
    "net/http"
    "os"
    "time"
)

func main() {
    body := []byte(`{"model":"glm-5.3","messages":[{"role":"user","content":"Explain an idempotency key with one concrete example."}],"reasoning_effort":"low","max_tokens":2048}`)
    req, err := http.NewRequest("POST", "https://api.seedrouter.ai/v1/chat/completions", bytes.NewReader(body))
    if err != nil { panic(err) }
    req.Header.Set("Authorization", "Bearer " + os.Getenv("SEEDROUTER_API_KEY"))
    req.Header.Set("Content-Type", "application/json")
    client := &http.Client{Timeout: 3 * time.Minute}
    res, err := client.Do(req)
    if err != nil { panic(err) }
    defer res.Body.Close()
    data, err := io.ReadAll(res.Body)
    if err != nil { panic(err) }
    if res.StatusCode != http.StatusOK { panic(fmt.Sprintf("HTTP %d: %s", res.StatusCode, data)) }
    fmt.Println(string(data))
}

Chat Completions

يقبل POST /v1/chat/completions عدد 16 حقلاً على المستوى الأعلى. لا تقبل الحقول null إلا إذا نُص على ذلك صراحة. يمكن حذف الحقول الاختيارية؛ لا ترسل null بدلاً من حذفها.

الحقلالنوعمطلوبالافتراضي والقيود
modelسلسلةنعمglm-5.3 (Default)
messagesمصفوفةنعمرسالة واحدة على الأقل؛ يجب أن تحتوي رسالة user أو tool
do_sampleمنطقيلاtrue؛ يجعل false المعاملين temperature وtop_p دون تأثير
streamمنطقيلاfalse
thinkingكائنلاtype: enabled؛ clear_thinking: true
reasoning_effortسلسلةلاlow وhigh وmax؛ الافتراضي max
temperatureعددلا0–1 شاملة؛ الافتراضي 1
top_pعددلا0.01–1 شاملة؛ الافتراضي 0.95
max_tokensعدد صحيحلا1–131072؛ لا قيمة افتراضية منشورة لـ Chat
tool_streamمنطقيلاfalse؛ يتطلب true القيمة stream: true
toolsمصفوفةلاFunction أو retrieval أو web_search؛ حتى 128 عنصراً
tool_choiceسلسلةلاauto فقط
stopمصفوفة سلاسللاحتى أربع سلاسل في المخطط الرسمي؛ قُبلت أربع في طلب فعلي، لكن مطابقة الإيقاف لم تُختبر
response_formatكائنلاtype مطلوب: text أو json_object؛ الافتراضي text
request_idسلسلةلا6–64 محرفاً؛ معرّف فريد لطلب المتصل
user_idسلسلةلا6–128 محرفاً؛ تجنب المعلومات الشخصية

تتطلب رسائل system وuser سلسلة content. يمكن أن تحمل رسالة assistant سلسلة content وreasoning_content وtool_calls. تتطلب رسالة tool الحقلين content وtool_call_id. احتفظ بالاستدلال السابق كما هو عند استخدام thinking.clear_thinking: false، بما فيه ترتيب استدعاءات المساعد ونتائج الأدوات. لا يمكن تعطيل التفكير.

تستخدم أداة الدالة {type:"function", function:{name, description, parameters}}. يتضمن الاسم 1–64 حرف ASCII أو رقماً أو شرطة سفلية أو واصلة. يتطلب المخطط الآلي description وparameters؛ بينما يذكر النص إمكانية الحذف للدوال بلا معاملات. استخدم البنية الكاملة حتى يُحل هذا التعارض. parameters هو JSON Schema لدالتك؛ ولا يُفسّر كمحتوى رسالة.

تستخدم أداة الاسترجاع {type:"retrieval", retrieval:{knowledge_id, prompt_template?}}. ينتمي معرّف المعرفة إلى الحساب الذي يخدم الطلب؛ ولا ينشئ تعريف الأداة قاعدة معرفة.

تستخدم أداة بحث الويب {type:"web_search", web_search:{search_engine:"search_pro_jina"}}. تشمل الحقول الاختيارية enable وsearch_query وcount (1–50) وsearch_domain_filter وsearch_recency_filter (oneDay وoneWeek وoneMonth وoneYear وnoLimit) وcontent_size (medium وhigh) وresult_sequence (before وafter) وsearch_result وrequire_search وsearch_prompt. راجع OpenAPI للأنواع الدقيقة. تحتاج إتاحة البحث والاسترجاع الخاصة بالحساب إلى تحقق فعلي.

ينتج وضع كائن JSON بيانات JSON، ولا يفرض مخطط JSON Schema مقدماً. أدرج الحقول المطلوبة في الموجّه وتحقق من النتيجة في تطبيقك.

Responses

يقبل POST /v1/responses عدد 15 حقل إنشاء على المستوى الأعلى. يتبع مخطط Responses من الشركة المصنّعة مع تخصيصه لـ GLM-5.3؛ ويظل السلوك الدقيق عبر الخدمات خاضعاً للتحقق.

curl https://api.seedrouter.ai/v1/responses \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"model":"glm-5.3","input":[{"type":"message","role":"user","content":"Give a concise example of a safe retry."}],"reasoning":{"effort":"low"},"max_output_tokens":2048,"store":false}'
الحقلالنوعمطلوبالافتراضي والقيود
modelسلسلةنعمglm-5.3
inputسلسلة أو مصفوفةنعمعناصر الإدخال الأصلية المذكورة أدناه
instructionsسلسلةلاتعليمات النظام
streamمنطقيلاfalse
temperatureعددلا0–1، منزلتان عشريتان كحد أقصى؛ الافتراضي 1
top_pعددلا0.01–1، منزلتان عشريتان كحد أقصى؛ الافتراضي 0.95
max_output_tokensعدد صحيحلا1–131072؛ الافتراضي 65536، بما فيه الاستدلال
stopمصفوفة سلاسللالا يعلن هذا البروتوكول حداً للعدد
toolsمصفوفةلاFunction أو namespace أو custom أو web_search
tool_choiceسلسلةلاnone أو auto
reasoningكائنلاeffort: low وhigh وmax؛ الافتراضي max
textكائنلاformat.type: text أو json_object
prompt_cache_keyسلسلةلامفتاح اختيار الذاكرة المؤقتة؛ لا حد طول موثق
previous_response_idسلسلةلايشير إلى استجابة محفوظة سابقاً
storeمنطقيلاfalse؛ هل تُحفظ هذه الاستجابة

تتطلب عناصر الرسائل type: "message" ودوراً (user أو system أو assistant أو developer) ومحتوى. يمكن أن يكون المحتوى سلسلة أو كتلة نصية واحدة أو مصفوفة كتل نصية. استخدم input_text أو output_text للمساعد مع سلسلة text. لا تمنح مخططات الصور/الملفات العامة قدرة رؤية لهذا النموذج النصي.

تتطلب عناصر إدخال استدعاء الدالة type: "function_call" وname وcall_id وسلسلة JSON في arguments؛ وnamespace اختياري. تتطلب النتائج type: "function_call_output" وcall_id وسلسلة output. تستخدم عناصر الاستدلال type: "reasoning" وكائن content: {type:"reasoning_text", text:"..."} واحداً. احتفظ به دون تحويله إلى مصفوفة.

تتطلب أدوات الدوال type: "function" وname، مع description وparameters اختياريين. تتطلب أدوات مساحة الأسماء type: "namespace" وname، ويمكنها احتواء دوال tools. تتطلب الأدوات المخصصة type: "custom" وname. تتطلب أدوات بحث الويب type: "web_search". لا تنسخ حقول الدوال المطلوبة في Chat إلى هذه الصيغة.

يجب أن تكون الاستجابة السابقة المشار إليها محفوظة. حفظ الاستجابة الحالية خيار مستقل؛ لا يفرض previous_response_id القيمة الحالية store: true. مدة الاحتفاظ لدى الشركة المصنّعة سبعة أيام. نجح اختبار فعلي في حفظ استجابة ومتابعتها بمعرّفها مع store: false للطلب الحالي؛ ولا يثبت ذلك كل عمليات الاستجابات المحفوظة.

عمليات الاستجابات المحفوظة

عند نجاح store: true، احتفظ بمعرّف الاستجابة المُعاد دون تغيير. تستخدم هذه العمليات المصادَق عليها الحساب نفسه الذي أنشأها:

  • يجلب GET /v1/responses/{response_id} الاستجابة المحفوظة.
  • يسرد GET /v1/responses/{response_id}/input_items عناصر الإدخال. حقول الاستعلام الاختيارية: order (asc أو desc، الافتراضي desc) وlimit (عدد صحيح 1–100، الافتراضي 20) وafter (last_id لآخر عنصر في الصفحة السابقة).
  • يحذف DELETE /v1/responses/{response_id} الاستجابة المحفوظة.

يمكن لطلب إنشاء لاحق استخدام المعرّف المحفوظ في previous_response_id. يتطلب الوصول استمرار صلاحية المستخدم الأصلي للنموذج. الاحتفاظ لا يتجاوز سبعة أيام؛ ولا يمكن متابعة الاستجابات المنتهية أو المحذوفة. يظل الجلب والحذف والمتابعة مرتبطاً بالحساب الأصلي. لا توجد نقطة إلغاء موثقة. تغطي اختبارات العقد المحلية هذه العمليات. أكد اختبار 29 أكتوبر الفعلي الحفظ والمتابعة؛ أعاد الجلب وسرد عناصر الإدخال 404، ولم يُختبر الحذف. لا تعتمد على الجلب أو السرد أو الحذف حتى تتأكد إتاحتها.

توافق Messages

يستخدم POST /v1/messages غلافاً متوافقاً مع Anthropic. أدرج anthropic-version: 2023-06-01. تعرض الشركة المصنّعة مباشرة model وmessages وmax_tokens وstream. لا تنشر مخطط GLM Messages كاملاً وتحذر من اختلافات عن Claude. بقية الإعدادات حقول مرجع توافق، وليست قدرات GLM متحققاً منها كل على حدة.

curl https://api.seedrouter.ai/v1/messages \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'anthropic-version: 2023-06-01' \
  -d '{"model":"glm-5.3","messages":[{"role":"user","content":"Explain a safe retry in two sentences."}],"max_tokens":2048}'
الحقلالبنية والتحققالدليل
modelسلسلة مطلوبة glm-5.3مثال GLM
messagesمصفوفة user/assistant مطلوبة غير فارغة؛ سلسلة أو كتل نص/أدوات أصليةمثال GLM النصي؛ أشكال الكتل من مرجع التوافق
max_tokensعدد صحيح مطلوب 1–131072مثال GLM وحد إخراج النموذج
streamمنطقي؛ الافتراضي falseمثال GLM
systemسلسلة أو مصفوفة كتل نصيةمرجع التوافق
temperatureعدد 0–1مرجع التوافق؛ المطابقة غير متحقق منها
top_pعدد 0.01–1مرجع التوافق؛ المطابقة غير متحقق منها
top_kعدد صحيح غير سالبمرجع التوافق؛ المطابقة غير متحقق منها
stop_sequencesمصفوفة سلاسلمرجع التوافق
toolsأدوات العميل: name وinput_schema وdescription اختياريمرجع التوافق
tool_choiceكائن type بقيمة auto أو none أو any أو tool؛ الأداة المسماة تتطلب nameمرجع التوافق
thinkingenabled مع budget_tokens أو adaptive؛ لا يمكن تعطيل التفكيرمرجع التوافق وقاعدة GLM للتفكير الدائم
output_configكائن effort بقيمة low أو high أو maxتهجئة الحقل المتوافقة؛ المطابقة غير متحقق منها
metadataكائن مع user_id اختياريمرجع التوافق
cache_controlعلامة ephemeral مع ttl اختياري 5m أو 1hمرجع البروتوكول فقط؛ سلوك TTL الصريح لـ GLM غير متحقق منه

ميزانية enabled thinking المتوافقة لا تقل عن 1024 وتقل عن max_tokens. تتطلب كتل النص text؛ ويتطلب سجل التفكير thinking وsignature؛ ويتطلب التفكير المحجوب data. تتطلب كتل استخدام الأدوات id وname وinput؛ وتتطلب كتل النتائج tool_use_id. لا تُقبل كتل الصور أو الصوت أو الفيديو. لا تثبت علامات الذاكرة المؤقتة الصريحة إصابة أو مدة احتفاظ أو سعراً منفصلاً. ذاكرة السياق المؤقتة الموثقة للنموذج تلقائية.

الإخراج والبث والاستخدام

يعيد Chat الحقول id وcreated وmodel وchoices وusage، مع request_id وweb_search اختياريين. اقرأ choices[].message.content وreasoning_content وtool_calls. قد لا تحتوي استجابة استدعاء الأداة نص إجابة. يرسل SSE أجزاء الاستدلال والنص ومعاملات الأدوات، ثم [DONE]. اجمع أجزاء المعاملات بحسب فهرس الاستدعاء. لا يتضمن طلب GLM Chat الرسمي حقل stream_options.

يعيد Responses اتحاد output الأصلي: رسائل واستدلال واستدعاءات أدوات. يتضمن SSE أحداث response.created وresponse.in_progress وأحداث عناصر الإخراج وأجزاء المحتوى وأجزاء النص/الاستدلال/معاملات الدوال وتقدم البحث، ثم response.completed أو response.incomplete أو response.failed. لا يتطلب علامة [DONE]. حافظ على الفهارس وأرقام التسلسل.

يعيد Messages غلاف رسالة أصلياً يتضمن كتل المحتوى وstop_reason وusage. تشمل أسماء الأحداث message_start وcontent_block_start/delta/stop وmessage_delta وmessage_stop. احتفظ بتواقيع التفكير ومعرّفات الأدوات كسجل لا يُعدّل أو يُفسّر.

الصيغةإجمالي الإدخالالإدخال المخزّن مؤقتاًالإخراج
Chatprompt_tokensprompt_tokens_details.cached_tokenscompletion_tokens
Responsesinput_tokensinput_tokens_details.cached_tokensoutput_tokens
Messagesinput_tokens مع cache_read_input_tokens وأي cache_creation_input_tokenscache_read_input_tokensoutput_tokens

الاستدلال جزء من الإخراج وليس رسماً إضافياً. الإدخال المخزّن مؤقتاً في Chat/Responses جزء من إجمالي الإدخال. اطرح الأجزاء المخزّنة المُبلّغ عنها منفصلة قبل تطبيق سعر الإدخال العادي. تكشف الاستجابات العامة استخدام التوكنات لا الرسوم النقدية. تأتي الأسعار الحالية من إعدادات الفوترة الحالية؛ ولا تُحتسب رسوم الطلبات الفاشلة.

التحقق والأخطاء

تفشل الأنواع غير الصحيحة وتعطيل التفكير والمستويات غير المدعومة وميزانيات الإخراج المفرطة وإدخال الوسائط في التحقق. يتطلب tool_stream في Chat تفعيل stream. تُحذف حقول المستوى الأعلى غير المدعومة بدلاً من تمريرها. بيانات الاعتماد مطلوبة؛ ويمنع الرصيد غير الكافي الطلب المدفوع. تستخدم الأخطاء الغلاف العام للأخطاء (يستخدم Messages شكله الأصلي). لا تعتبر البث المتوقف إجابة كاملة، ولا تعِد تلقائياً إرسال طلب نتيجته غير مؤكدة.

تعرض ساحة اللعب الحقول المقبولة نفسها للصيغة المحددة. تُحذف القيم الاختيارية الفارغة؛ وتُحفظ false والصفر الصريحان. تغيير الصيغة يبدأ محادثة جديدة. يحتاج تقدير الاستخدام إلى بيانات الاستخدام المُبلّغ عنها والأسعار الحالية معاً.