엔드포인트
Reasoning
reasoning 파라미터로 추론 모델의 사고 예산과 노력 수준, 추론 출력 포함 여부를 제어하는 방법을 요청 예제로 설명하고 응답 구조와 추론 토큰이 과금되는 방식, 오류를 다룹니다. 알아 둘 참고 사항과 오류 사례도 정리했습니다.
플레이그라운드에서 사용해 보기추론 모델은 답하기 전에 생각합니다. OpenAI GPT-5와 o 시리즈, 확장 사고를 쓰는 Claude, Gemini 2.5, DeepSeek R1, Qwen 등이 여기에 해당합니다. api14는 reasoning 파라미터 하나를 받아 각 제공자의 고유 설정으로 바꿉니다. 추론 토큰은 출력 토큰으로 과금됩니다.
요청 파라미터
| 파라미터 | 타입 | 설명 |
|---|---|---|
reasoning.effort | string | "minimal", "low", "medium", "high" 중 하나. OpenAI와 Grok 모델에서 쓰이며, 다른 모델에서는 토큰 예산으로 바뀝니다. |
reasoning.max_tokens | integer | 생각에 쓸 정확한 토큰 예산. Anthropic, Gemini, Qwen에서 쓰입니다. 둘 중 하나만 사용하고 둘 다 쓰지 마세요. |
reasoning.exclude | boolean | 모델은 여전히 추론하지만, 추론 텍스트는 응답에 포함되지 않습니다. |
reasoning.enabled | boolean | 기본 설정으로 추론을 켭니다. |
include_reasoning | boolean | 이전 방식의 스위치입니다. reasoning: {} 또는 reasoning.exclude: false와 같습니다. |
{
"model": "anthropic/claude-sonnet-4.5",
"messages": [{ "role": "user", "content": "How many r's are in 'strawberry'? Think carefully." }],
"reasoning": { "max_tokens": 2000 },
"max_tokens": 4000
}
max_tokens는 생각과 답변을 모두 포함하므로 추론 예산보다 커야 합니다.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "openai/gpt-5-mini",
"messages": [
{
"role": "user",
"content": "Explain vector databases in two sentences."
}
],
"reasoning": {
"effort": "high"
}
});
console.log(result.choices[0].message.content);
응답
추론 텍스트는 답변과 분리되어 message.reasoning에 반환됩니다. 일부 모델은 구조화된 reasoning_details도 반환합니다.
{
"id": "gen-1760000000-think",
"model": "anthropic/claude-sonnet-4.5",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "There are 3 r's in \"strawberry\".",
"reasoning": "s-t-r-a-w-b-e-r-r-y: r at position 3, 8 and 9..."
}
}
],
"usage": {
"prompt_tokens": 22,
"completion_tokens": 312,
"total_tokens": 334,
"completion_tokens_details": { "reasoning_tokens": 290 },
"cost": 0.004746
}
}
스트리밍에서는 추론이 delta.content 청크보다 앞서 delta.reasoning 청크로 옵니다.
참고 사항
- OpenAI의 o 시리즈와 GPT-5는 추론 텍스트를 반환하지 않지만,
reasoning_tokens에 대한 요금은 그대로 청구됩니다. - Claude로 여러 턴에 걸쳐 도구를 쓸 때는
reasoning_details를 어시스턴트 메시지에 수정 없이 다시 보내야 모델이 추론을 이어갈 수 있습니다. - 일부 모델(예:
deepseek/deepseek-r1)은 항상 추론합니다. 이런 모델에서는effort가 적용되지 않습니다. - 노력 수준이 높을수록 비용이 늘고 시간도 더 걸립니다.
completion_tokens_details.reasoning_tokens를 확인하세요.
오류
Chat completions와 같습니다. 모델에 비해 너무 작거나 큰 예산은 업스트림에서 400을 반환할 수 있습니다. 오류를 참고하세요.