概覽
控制模型回應長度有多項好處:有助管理成本(因為你按 Token 付費)、改善延遲和效能(較短的回應可更快返回),並透過避免過長或冗贅的輸出,確保內容相關。
你可以透過 Token 上限、推理和詳細程度設定、清晰指示、範例,以及停止序列來做到這一點。如要取得最新且完整的詳情,請務必參閱 platform.openai.com 上的官方 API 參考。
設定最大輸出長度
Responses API
適用於 GPT-5 模型及大部分 o 系列模型:使用 max_output_tokens 為模型可生成的 Token 數量設定上限。對於 compaction_trigger 請求,請省略 max_output_tokens,或將其設為至少 20000;較小的值會被拒絕。Responses API 不支援多個 completions(n)。
Chat Completions API
用於舊版 GPT-3.5、GPT-4o,有時亦用於 o 系列。
對於 o3 和 o4-mini 等推理模型,請使用
max_completion_tokens(max_tokens的別名)對於較早期/非推理模型,
max_tokens仍然可用支援
stop和n(多個 completions)。
注意: 沒有「最低 Token 數」設定。如需要最低長度,請在提示詞中說明。
按模型組別劃分的 Token 限制
如要了解最新的 Token 限制、上下文大小和輸出上限,請參閱特定模型文件。
簡短範例
Responses API
{ "model": "gpt-5", "input": "以約 80 字總結研究結果。", "max_output_tokens": 120 }Chat Completions(推理模型)
{ "model": "o3-mini", "messages": [{"role": "user", "content": "Write five one-line options."}], "max_completion_tokens": 100 }GPT-5 模型專用控制項:verbosity 和 reasoning.effort
這些控制項只適用於 GPT-5 模型(gpt-5.2、gpt-5.2-chat-latest、gpt-5.2 pro 等)。O 系列及舊版模型不支援這些控制項。
`verbosity` 可接受 "low"、"medium"(預設)或 "high"。它會影響詳細程度,但不會影響硬性限制。
{ "model": "gpt-5", "input": "概略說明 PageRank。", "text": { "verbosity": "low" }, "max_output_tokens": 200 }`reasoning.effort` 控制在產生答案前生成多少個推理 Token。GPT-5.2 支援 none,low、medium、high,and xhigh。gpt-5.2-pro 只支援 medium、high,and xhigh。較早期的推理模型只支援 low、medium 和 high。
{ "model": "gpt-5", "input": "如果要在自由神像表面鍍上一層 1mm 厚的黃金,需要多少黃金?", "reasoning": { "effort": "minimal" } }你可以將 `reasoning.effort` 設為 none,讓模型在對延遲敏感的使用案例中像非推理模型般運作。
提供具體指示
要求你想要的確切長度或格式。範例:
「列出剛好五個選項。」
「寫一篇50 字摘要。」
「不超過 100 個 Token。如需要更多篇幅,請說『需要更多空間。』」
使用長度一致的範例
與你期望長度相符的少範例,有助模型延續相同模式。
善用策略性停止序列
使用 stop,在模型到達分隔符或編號清單邊界時停止生成。
{ "stop": ["\n###", "6."] }多個候選結果
Chat Completions:
n會在一次呼叫中返回多個 completions。Responses API:不支援
n;如需要多於一個輸出,請進行多次呼叫。
