Endpoints
Razonamiento
Controla el presupuesto, el esfuerzo y la salida de razonamiento de los modelos con el parámetro reasoning, y consulta cómo se facturan los tokens.
Pruébalo en el playgroundLos modelos con razonamiento piensan antes de responder: OpenAI GPT-5 y la serie o, Claude con pensamiento extendido, Gemini 2.5, DeepSeek R1, Qwen y otros. api14 acepta un único parámetro reasoning y lo convierte al ajuste nativo de cada proveedor. Los tokens de razonamiento se facturan como tokens de salida.
Parámetros de la solicitud
| Parámetro | Tipo | Descripción |
|---|---|---|
reasoning.effort | string | "minimal", "low", "medium" o "high". Lo usan los modelos de OpenAI y Grok, y en los demás se convierte en un presupuesto de tokens. |
reasoning.max_tokens | integer | Un presupuesto exacto de tokens para pensar. Lo usan Anthropic, Gemini y Qwen. Use este o effort, no ambos. |
reasoning.exclude | boolean | El modelo sigue razonando, pero el texto del razonamiento no se incluye en la respuesta. |
reasoning.enabled | boolean | Activa el razonamiento con la configuración predeterminada. |
include_reasoning | boolean | Interruptor heredado, equivalente a reasoning: {} o a 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 debe ser mayor que el presupuesto de razonamiento, porque cubre tanto el pensamiento como la respuesta.
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);
Respuesta
El texto del razonamiento se devuelve en message.reasoning, separado de la respuesta. Algunos modelos también devuelven reasoning_details estructurados:
{
"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
}
}
En el modo de streaming, el razonamiento llega en fragmentos delta.reasoning antes que los fragmentos delta.content.
Notas
- Los modelos de la serie o de OpenAI y GPT-5 no devuelven el texto de su razonamiento, pero aun así se le cobran los
reasoning_tokens. - En el uso de herramientas de varios turnos con Claude, devuelva
reasoning_detailssin cambios en el mensaje del asistente para que el modelo pueda seguir razonando. - Algunos modelos (por ejemplo,
deepseek/deepseek-r1) siempre razonan. En elloseffortno tiene efecto. - Un esfuerzo mayor cuesta más y tarda más. Vigile
completion_tokens_details.reasoning_tokens.
Errores
Igual que en Chat completions. Un presupuesto demasiado pequeño o demasiado grande para un modelo puede devolver un 400 del proveedor. Consulte Errores.