概覽
控制模型回覆的長度有幾個好處:有助於控管成本(因為你是按 token 計費)、改善延遲/效能(較短的回覆回傳更快),並且可避免輸出過長或冗長,確保內容切題。
你可以透過 token 上限、推理與詳盡度設定、清楚的指示、範例,以及停止序列來達成。若要取得最新且完整的細節,請一律參考 platform.openai.com 上的官方 API 參考文件。
設定最大輸出長度
Responses API
用於 GPT-5 模型與多數 o 系列模型:使用 max_output_tokens 來限制模型可產生的 token 數。支援 stop,但不支援多重 completion(n)。
Chat Completions API
用於舊版 GPT-3.5、GPT-4o,以及有時用於 o 系列。
對於 o3、o4-mini 等推理模型,使用
max_completion_tokens(max_tokens的別名)對於較早/非推理模型,
max_tokens仍然可用支援
stop與n(多個 completion)。
注意:沒有「最少 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。若需要更多,請說『需要更多空間。』」
使用長度一致的範例
與你期望長度相符的 few-shot 範例,能幫助模型延續相同的模式。
套用策略性的停止序列
使用 stop 在模型到達分隔符或編號清單的邊界時停止生成。
{ "stop": ["\n###", "6."] }多個候選答案
Chat Completions:
n會在一次呼叫中回傳多個 completion。Responses API: 不支援
n;若需要一個以上的輸出,請進行多次呼叫。
