總覽
控制模型回應長度有幾個好處:有助於管理成本(因為你按 Token 付費)、改善延遲與效能(較短的回應會更快傳回),並避免過長或過於冗贅的輸出,以確保相關性。
你可以透過 Token 上限、推理與詳細度設定、清楚的指示、範例,以及停止序列來達成。如需最新且完整的詳細資訊,請一律參閱 platform.openai.com 上的官方 API 參考文件。
設定最大輸出長度
Responses API
用於 GPT-5 模型與大多數 o 系列模型:使用 max_output_tokens 限制模型會生成的 Token 數量。對於 compaction_trigger 要求,請省略 max_output_tokens,或將其設為至少 20000;較小的值會被拒絕。Responses API 不支援多個補全(n)。
Chat Completions API
用於舊版 GPT-3.5、GPT-4o,有時也用於 o 系列。
對於 o3 和 o4-mini 等推理模型,請使用
max_completion_tokens(max_tokens的別名)對於較早期/非推理模型,
max_tokens仍可使用支援
stop與n(多個補全)。
注意:沒有「最低 Token 數」設定。如果你需要最低長度,請在提示詞中指定。
依模型群組區分的 Token 限制
如需最新的 Token 限制、上下文大小與輸出上限,請參閱特定模型文件。
快速範例
Responses API
{ "model": "gpt-5", "input": "將研究結果摘要成約 80 字。", "max_output_tokens": 120 }Chat Completions(推理模型)
{ "model": "o3-mini", "messages": [{"role": "user", "content": "寫出五個一行式選項。"}], "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會在一次呼叫中傳回多個補全。Responses API:不支援
n;如果需要多個輸出,請進行多次呼叫。
