文字
建立聊天補全 (Create Chat Completion)
為聊天訊息建立補全內容
請求主體 (Request Body)
支援的選用參數、可接受的值以及預設值取決於所選的模型。在設定取樣 (sampling)、推理 (reasoning) 或工具選項之前,請先查看其 模型詳細資訊。
要使用的模型 ID。請參閱 模型 (Models) 以獲取可用選項。
組成對話的訊息列表。
每個訊息物件包含:
role(string):system,developer,user,assistant,tool,functioncontent(string | array | null): 訊息內容
對於包含 tool_calls 的 assistant 訊息,content 可以省略或設為 null。
當 content 為陣列時,TokenLab 支援相容模型的結構化多模態區塊:
- 文字:
{ "type": "text", "text": "..." } - 圖片:
{ "type": "image_url", "image_url": { "url": "https://..." } } - 影片:
{ "type": "video_url", "video_url": { "url": "https://..." } } - 音訊:
{ "type": "audio_url", "audio_url": { "url": "https://..." } }
對於多模態輸入,請使用可公開存取的 https URL。支援的媒體類型取決於所選模型。
取樣溫度。支援性、允許的值以及預設值取決於所選模型;省略此欄位將使用其預設值。
要生成的最大 token 數量。
false若為 true,部分訊息增量 (deltas) 將以 SSE 事件形式發送。
串流選項。設定 include_usage: true 以在串流區塊中接收 token 使用量。
核取樣 (Nucleus sampling) 參數。我們建議調整此參數或 temperature,而非兩者同時調整。
介於 -2.0 到 2.0 之間的數字。正值會懲罰重複出現的 token。
介於 -2.0 到 2.0 之間的數字。正值會懲罰已出現在文字中的 token。
停止序列或序列列表。支援性與序列限制取決於所選模型。
模型可以呼叫的工具列表(函式呼叫)。
控制模型如何使用工具。選項:auto, none, required,或特定的工具物件。
當所選模型支援時,允許在一次 assistant 回合中進行多次工具呼叫。
補全內容的最大 token 數。這是 max_tokens 的替代方案,對於較新的啟用推理功能的模型系列很有用。
針對支援此功能的模型設定推理強度。可接受的值取決於所選模型。
對於 Claude 模型,此值設定模型的思考方式:在具有自適應思考的模型上設定強度等級,或在有思考預算的模型上設定思考預算。none 會在允許的模型上關閉思考功能。當思考功能開啟時,Claude 會拒絕 temperature 不為 1、top_k、top_p 不在 0.95–1 之間以及預填的 assistant 訊息。強制 tool_choice 可與自適應思考搭配使用,但不能與思考預算搭配使用。
Claude 模型的選項。
prompt_caching(boolean): 設定為true以快取提示詞的開頭。TokenLab 會將系統提示詞的結尾和最新的使用者訊息標記為快取點。後續以相同內容開頭的請求將從快取中讀取。若任何訊息已包含cache_control,TokenLab 將不會新增快取點。prompt_caching_ttl(string):5m(預設) 或1h。若服務路由不支援一小時,TokenLab 將使用五分鐘且不會拒絕請求。
extra.prompt_caching 和 extra.prompt_caching_ttl 也被視為相同的選項。請參閱 提示詞快取 (Prompt caching) 以了解價格以及如何檢查快取的 token。
支援此功能的模型的取樣種子 (seed)。不保證輸出完全相同。
要生成的補全數量 (1-128)。
是否返回對數機率 (log probabilities)。
要返回的前幾個對數機率數量 (0-20)。需要 logprobs: true。
支援此功能的模型的 Top-K 取樣。
回應格式。使用 {"type": "json_object"} 進行 JSON 模式,或使用 {"type": "json_schema", "json_schema": {...}} 進行 JSON schema。支援性取決於所選模型。
修改指定 token 出現的可能性。將 token ID(以字串形式)對應到 -100 到 100 之間的偏差值。
代表您終端使用者的唯一識別碼,用於濫用監控。
回應 (Response)
補全內容的唯一識別碼。
固定為 chat.completion。
補全內容建立時的 Unix 時間戳記。
用於補全的模型。
補全選項列表。
每個選項包含:
index(integer): 選項的索引message(object): 生成的訊息finish_reason(string): 模型停止的原因,例如stop,length或tool_calls
當模型進行思考時,message 也可能包含:
reasoning_content(string): 思考文字。某些模型僅返回摘要,或不返回文字。reasoning_details(array): 帶有簽章的思考區塊。若要繼續帶有思考的對話(例如在工具呼叫之後),請將它們原封不動地傳回 assistant 訊息中。
在串流中,相同的欄位會以 delta.reasoning_content 和 delta.reasoning_details 的形式傳送。
Token 使用統計。
prompt_tokens(integer): 提示詞中的 token 數completion_tokens(integer): 補全內容中的 token 數,包含思考 tokentotal_tokens(integer): 使用的總 token 數completion_tokens_details.reasoning_tokens(integer): 當模型回報時的思考 token 數
請求
curl -X POST "https://api.tokenlab.sh/v1/chat/completions" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-terra",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"max_tokens": 1000
}'多模態範例 (Multimodal Example)
{
"model": "gemini-2.5-pro",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "Describe this video briefly." },
{ "type": "video_url", "video_url": { "url": "https://example.com/demo.mp4" } }
]
}
],
"max_tokens": 64
}回應
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1706000000,
"model": "gpt-5.6-terra",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 9,
"total_tokens": 29
}
}授權
BearerAuth API Key 驗證。請在 Dashboard > API > API Keys 建立或管理 API 金鑰。
位置: header
請求標頭
單次請求傳遞策略。會覆寫 API key 與 Workspace 的預設值。系統會自動優先嘗試 TokenLab Verified,並可能在輸出、請求接受或建立持久性資源前切換至 Official 模式一次。
可選值
- "auto"
- "verified"
- "official"
請求主體
application/json
回應
application/json
application/json
application/json
application/json
application/json
application/json
application/json