Claude Opus 5.5 đã có trên SeedRouter

Text

Tài liệu API GLM-5.3

View Markdown

Các trường yêu cầu GLM-5.3, suy luận, công cụ, truyền luồng, mức sử dụng và ví dụ Chat, Responses, Messages đầy đủ.

GLM-5.3 nhận văn bản và trả về văn bản hoặc lệnh gọi công cụ. Mô hình luôn suy luận, hỗ trợ mức low, high và max, cho phép tối đa 131.072 token đầu ra. Dùng glm-5.3 cho hạng Default. Nhóm mặc định là glm; glm-5.3:glm vẫn là lựa chọn tường minh cho cùng nhóm đó. Nhóm bổ sung dùng hậu tố mô hình riêng.

URL cơ sở: https://api.seedrouter.ai. Xác thực bằng Authorization: Bearer $SEEDROUTER_API_KEY. Giữ thông tin xác thực trên máy chủ. Messages cũng nhận header tương thích x-api-key.

Tài liệu này theo hợp đồng Chat Z.ai, schema Responses của nhà sản xuất và hướng dẫn tương thích Messages. Giới hạn riêng của mô hình lấy từ hướng dẫn GLM-5.3. Khớp tài liệu không xác nhận mọi hành vi thực tế. Kiểm tra ngày 29 tháng 10 năm 2026 đã hoàn tất yêu cầu văn bản và truyền luồng ở cả ba định dạng, gọi hàm Chat, xuất đối tượng JSON và tiếp tục phản hồi đã lưu. Chưa xác nhận trúng bộ nhớ đệm, thời gian lưu tường minh và từng điều khiển tương thích. Các trường tham chiếu Messages bên dưới được phân biệt với trường GLM do nhà sản xuất công bố.

Đặc tả OpenAPI · Tài liệu Markdown · Mô hình và Playground · Hướng dẫn giá

Bắt đầu nhanh

Mỗi ví dụ gửi một yêu cầu Chat Completions. max_tokens: 2048 là ngân sách ví dụ, không phải mặc định. Suy luận và câu trả lời hiển thị dùng chung ngân sách; kiểm tra finish_reason trước khi coi câu trả lời là đầy đủ.

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 nhận 16 trường cấp cao nhất. Trường không nhận null trừ khi được nêu rõ. Có thể bỏ trường tùy chọn; không gửi null thay cho việc bỏ trường.

TrườngKiểuBắt buộcMặc định và ràng buộc
modelchuỗiCóglm-5.3 (Default)
messagesmảngCóÍt nhất một tin nhắn; phải có tin nhắn user hoặc tool
do_samplebooleanKhôngtrue; false khiến temperature và top_p không có tác dụng
streambooleanKhôngfalse
thinkingđối tượngKhôngtype: enabled; clear_thinking: true
reasoning_effortchuỗiKhônglow, high, max; mặc định max
temperaturesốKhông0–1 kể cả hai biên; mặc định 1
top_psốKhông0.01–1 kể cả hai biên; mặc định 0.95
max_tokenssố nguyênKhông1–131072; Chat chưa công bố mặc định
tool_streambooleanKhôngfalse; true yêu cầu stream: true
toolsmảngKhôngHàm, retrieval hoặc web_search; tối đa 128 mục
tool_choicechuỗiKhôngChỉ auto
stopmảng chuỗiKhôngTối đa bốn chuỗi theo schema chính thức; yêu cầu thực tế đã nhận bốn chuỗi, nhưng chưa thử đối sánh stop
response_formatđối tượngKhôngBắt buộc type: text hoặc json_object; mặc định text
request_idchuỗiKhông6–64 ký tự; mã yêu cầu duy nhất từ bên gọi
user_idchuỗiKhông6–128 ký tự; tránh thông tin cá nhân

Tin nhắn system và user yêu cầu content dạng chuỗi. Tin nhắn assistant có thể mang content dạng chuỗi, reasoning_content và tool_calls. Tin nhắn tool yêu cầu content và tool_call_id. Giữ chính xác suy luận lịch sử khi dùng thinking.clear_thinking: false, gồm thứ tự lệnh gọi của trợ lý và kết quả công cụ. Không thể tắt suy luận.

Công cụ hàm dùng {type:"function", function:{name, description, parameters}}. Tên gồm 1–64 chữ cái ASCII, chữ số, dấu gạch dưới hoặc gạch nối. Schema máy yêu cầu description và parameters; phần văn xuôi đề cập bỏ chúng với hàm không tham số. Dùng cấu trúc đầy đủ cho đến khi giải quyết mâu thuẫn này. parameters là JSON Schema của hàm, không được hiểu là nội dung tin nhắn.

Công cụ truy xuất dùng {type:"retrieval", retrieval:{knowledge_id, prompt_template?}}. ID tri thức thuộc tài khoản phục vụ yêu cầu; khai báo công cụ không tạo cơ sở tri thức.

Công cụ tìm kiếm web dùng {type:"web_search", web_search:{search_engine:"search_pro_jina"}}. Trường tùy chọn gồm 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 và search_prompt. Xem kiểu chính xác trong OpenAPI. Khả năng tìm kiếm và truy xuất theo tài khoản cần xác minh thực tế.

Chế độ đối tượng JSON tạo JSON, không cưỡng chế tuân thủ JSON Schema được cung cấp. Nêu các trường mong muốn trong prompt và kiểm tra kết quả trong ứng dụng.

Responses

POST /v1/responses nhận 15 trường tạo cấp cao nhất. Đây là schema Responses của nhà sản xuất được cụ thể hóa cho GLM-5.3; hành vi chính xác giữa các dịch vụ vẫn cần xác minh.

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}'
TrườngKiểuBắt buộcMặc định và ràng buộc
modelchuỗiCóglm-5.3
inputchuỗi hoặc mảngCóMục đầu vào gốc liệt kê bên dưới
instructionschuỗiKhôngChỉ dẫn hệ thống
streambooleanKhôngfalse
temperaturesốKhông0–1, tối đa hai chữ số thập phân; mặc định 1
top_psốKhông0.01–1, tối đa hai chữ số thập phân; mặc định 0.95
max_output_tokenssố nguyênKhông1–131072; mặc định 65536, gồm suy luận
stopmảng chuỗiKhôngGiao thức này không công bố giới hạn số lượng
toolsmảngKhôngHàm, namespace, custom hoặc web_search
tool_choicechuỗiKhôngnone hoặc auto
reasoningđối tượngKhôngeffort: low, high, max; mặc định max
textđối tượngKhôngformat.type: text hoặc json_object
prompt_cache_keychuỗiKhôngKhóa bộ nhớ đệm; không công bố giới hạn độ dài
previous_response_idchuỗiKhôngTham chiếu phản hồi đã lưu trước đó
storebooleanKhôngfalse; có lưu phản hồi này hay không

Mục tin nhắn đầu vào yêu cầu type: "message", vai trò (user, system, assistant, developer) và nội dung. Nội dung có thể là chuỗi, một khối văn bản hoặc mảng khối văn bản. Dùng input_text hoặc output_text của trợ lý với text dạng chuỗi. Schema hình ảnh/tệp chung không cấp khả năng thị giác cho mô hình chỉ nhận văn bản này.

Mục đầu vào gọi hàm yêu cầu type: "function_call", name, call_id và arguments là chuỗi JSON; namespace tùy chọn. Kết quả yêu cầu type: "function_call_output", call_id và output dạng chuỗi. Mục suy luận dùng type: "reasoning" và một đối tượng content: {type:"reasoning_text", text:"..."}. Giữ nguyên, không chuyển thành mảng.

Công cụ hàm yêu cầu type: "function" và name, với description và parameters tùy chọn. Công cụ namespace yêu cầu type: "namespace" và name, có thể chứa tools dạng hàm. Công cụ tùy chỉnh yêu cầu type: "custom" và name. Công cụ tìm kiếm web yêu cầu type: "web_search". Không sao chép các trường bắt buộc của hàm Chat sang định dạng này.

Phản hồi trước được tham chiếu phải đã được lưu. Lưu phản hồi hiện tại là lựa chọn riêng; previous_response_id không ép store: true cho hiện tại. Thời hạn lưu của nhà sản xuất là bảy ngày. Kiểm tra thực tế đã lưu thành công phản hồi và tiếp tục từ ID đó với store: false hiện tại; điều này không xác nhận mọi thao tác với phản hồi đã lưu.

Thao tác với phản hồi đã lưu

Khi store: true thành công, giữ nguyên ID phản hồi trả về. Các thao tác có xác thực này dùng cùng tài khoản đã tạo phản hồi:

  • GET /v1/responses/{response_id} lấy phản hồi đã lưu.
  • GET /v1/responses/{response_id}/input_items liệt kê mục đầu vào. Trường truy vấn tùy chọn: order (asc hoặc desc, mặc định desc), limit (số nguyên 1–100, mặc định 20) và after (last_id của trang trước).
  • DELETE /v1/responses/{response_id} xóa phản hồi đã lưu.

Yêu cầu tạo tiếp theo có thể dùng ID đã lưu làm previous_response_id. Truy cập yêu cầu quyền dùng mô hình hiện tại của người dùng ban đầu. Lưu tối đa bảy ngày; phản hồi hết hạn hoặc đã xóa không thể tiếp tục. Truy xuất, xóa và tiếp tục giữ ràng buộc tài khoản ban đầu. Không có endpoint hủy được công bố. Các thao tác có kiểm thử hợp đồng cục bộ. Kiểm tra thực tế ngày 29 tháng 10 xác nhận lưu và tiếp tục; truy xuất và liệt kê mục đầu vào trả về 404, còn xóa chưa được kiểm tra. Chưa nên dựa vào truy xuất, liệt kê hoặc xóa cho đến khi xác nhận khả dụng.

Tương thích Messages

POST /v1/messages dùng cấu trúc bao tương thích Anthropic. Kèm anthropic-version: 2023-06-01. Nhà sản xuất minh họa trực tiếp model, messages, max_tokens và stream. Họ không công bố schema GLM Messages đầy đủ và cảnh báo khác biệt với Claude. Các điều khiển còn lại là trường từ tài liệu tương thích, không phải khả năng GLM đã được xác minh riêng từng trường.

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}'
TrườngCấu trúc và kiểm traBằng chứng
modelChuỗi bắt buộc glm-5.3Ví dụ GLM
messagesMảng user/assistant bắt buộc không rỗng; chuỗi hoặc khối văn bản/công cụ gốcVí dụ văn bản GLM; cấu trúc khối theo tài liệu tương thích
max_tokensSố nguyên bắt buộc 1–131072Ví dụ GLM và giới hạn đầu ra mô hình
streamBoolean; mặc định falseVí dụ GLM
systemChuỗi hoặc mảng khối văn bảnTài liệu tương thích
temperatureSố 0–1Tài liệu tương thích; ánh xạ chưa xác minh
top_pSố 0.01–1Tài liệu tương thích; ánh xạ chưa xác minh
top_kSố nguyên không âmTài liệu tương thích; ánh xạ chưa xác minh
stop_sequencesMảng chuỗiTài liệu tương thích
toolsCông cụ client: name, input_schema, description tùy chọnTài liệu tương thích
tool_choiceĐối tượng có type auto, none, any hoặc tool; công cụ chỉ định tên yêu cầu nameTài liệu tương thích
thinkingenabled với budget_tokens, hoặc adaptive; không thể tắt suy luậnTài liệu tương thích và quy tắc GLM luôn suy luận
output_configĐối tượng có effort low, high hoặc maxTên trường tương thích; ánh xạ chưa xác minh
metadataĐối tượng với user_id tùy chọnTài liệu tương thích
cache_controlDấu ephemeral, ttl 5m hoặc 1h tùy chọnChỉ theo tài liệu giao thức; hành vi TTL tường minh GLM chưa xác minh

Ngân sách tương thích của suy luận enabled ít nhất là 1024 và nhỏ hơn max_tokens. Khối văn bản yêu cầu text; lịch sử suy luận yêu cầu thinking và signature; suy luận đã che yêu cầu data. Khối dùng công cụ yêu cầu id, name và input; khối kết quả công cụ yêu cầu tool_use_id. Không nhận khối hình ảnh, âm thanh hoặc video. Dấu bộ nhớ đệm tường minh không xác nhận trúng bộ nhớ đệm, thời gian lưu hay giá riêng. Bộ nhớ đệm ngữ cảnh được công bố của mô hình là tự động.

Đầu ra, truyền luồng và mức sử dụng

Chat trả về id, created, model, choices và usage, với request_id và web_search tùy chọn. Đọc choices[].message.content, reasoning_content và tool_calls. Phản hồi gọi công cụ có thể không có văn bản trả lời. SSE gửi phần chênh lệch suy luận, văn bản và đối số công cụ, rồi [DONE]. Ghép các mảnh đối số theo chỉ số lệnh gọi. Yêu cầu GLM Chat chính thức không có trường stream_options.

Responses trả về hợp kiểu output gốc: tin nhắn, suy luận và lệnh gọi công cụ. SSE gồm response.created, response.in_progress, sự kiện mục đầu ra và phần nội dung, phần chênh lệch văn bản/suy luận/đối số hàm, tiến độ tìm kiếm và trạng thái cuối response.completed, response.incomplete hoặc response.failed. Không yêu cầu dấu [DONE]. Giữ chỉ số và số thứ tự.

Messages trả về cấu trúc tin nhắn gốc với khối nội dung, stop_reason và usage. Tên sự kiện gồm message_start, content_block_start/delta/stop, message_delta và message_stop. Giữ nguyên chữ ký suy luận và ID công cụ như dữ liệu lịch sử không diễn giải.

Định dạngTổng đầu vàoĐầu vào từ bộ nhớ đệmĐầu ra
Chatprompt_tokensprompt_tokens_details.cached_tokenscompletion_tokens
Responsesinput_tokensinput_tokens_details.cached_tokensoutput_tokens
Messagesinput_tokens cộng cache_read_input_tokens và cache_creation_input_tokens nếu cócache_read_input_tokensoutput_tokens

Suy luận là tập con đầu ra, không phải phí bổ sung. Đầu vào từ bộ nhớ đệm Chat/Responses là tập con tổng đầu vào. Trừ phần bộ nhớ đệm được báo cáo riêng trước khi áp dụng giá đầu vào thông thường. Phản hồi công khai hiển thị mức sử dụng token, không hiển thị phí tiền. Giá hiện tại lấy từ cấu hình tính phí trực tiếp; yêu cầu thất bại không bị tính phí.

Kiểm tra và lỗi

Kiểu không hợp lệ, tắt suy luận, mức không hỗ trợ, ngân sách đầu ra vượt giới hạn và đầu vào phương tiện đều không qua kiểm tra. tool_stream của Chat yêu cầu stream. Trường cấp cao nhất không hỗ trợ được bỏ qua thay vì chuyển tiếp. Bắt buộc xác thực; số dư không đủ ngăn yêu cầu có tính phí. Lỗi dùng cấu trúc lỗi công khai (Messages dùng cấu trúc lỗi gốc). Không coi luồng bị ngắt là câu trả lời hoàn tất hoặc tự gửi lại yêu cầu có kết quả chưa chắc chắn.

Playground hiển thị cùng các trường được chấp nhận cho định dạng đã chọn. Giá trị tùy chọn trống được bỏ qua; false và zero tường minh được giữ. Đổi định dạng bắt đầu hội thoại mới. Ước tính sử dụng cần cả mức sử dụng được báo cáo và giá hiện tại.