Esfuerzo de razonamiento y tokens de pensamiento: por qué pensar cuesta más
Los tokens de pensamiento se facturan como salida. Qué significan los niveles de esfuerzo, qué poner en max_tokens para que la respuesta no se corte, y cómo estimar la factura.

En esta página
- Qué hace el modelo antes de responder
- Esfuerzo: el dial del pensamiento
- La trampa de la respuesta vacía: el pensamiento cuenta para max_tokens
- Qué le hace el razonamiento largo a la factura
- Qué esfuerzo para qué trabajo
- Migrar una solicitud antigua: el error 400
- Agentes y chats largos: elige un nivel y mantenlo
- Pruébalo con tu propia solicitud
Tu solicitud era una pregunta factual. La respuesta eran tres líneas. El contador de salida dice miles de tokens. Eso no es un error: antes de responder, muchos modelos piensan en un bloc de notas oculto, y esos tokens de pensamiento se facturan como tokens de salida. El ajuste de esfuerzo decide cuánto de ese pensamiento ocurre, y max_tokens tiene que dejar espacio para ello, o recibirás una respuesta cortada o vacía.
Qué hace el modelo antes de responder#
Piensa en un examen. Puedes escribir la respuesta directamente, o llenar una página de borrador primero. El borrador a menudo da un mejor resultado en un problema difícil, pero el papel no es gratis. El razonamiento es ese borrador, y se cuenta en tokens como todo lo demás.
La documentación de pensamiento extendido de Anthropic (consultada el 23 de octubre de 2026) dice que los tokens de pensamiento son parte de los tokens de salida facturados, y la respuesta te dice cuántos: usage.. Supongamos que una respuesta vuelve con este bloque de uso (números de ejemplo):
"usage": {
"input_tokens": 480,
"output_tokens": 2150,
"output_tokens_details": { "thinking_tokens": 1900 }
}Se te factura por 2,150 tokens de salida. El pensamiento tomó 1,900 de ellos, así que el texto que realmente lees es 2,150 − 1,900 = 250 tokens. Lo mismo se aplica incluso cuando el texto de pensamiento no se te devuelve: igual cuenta. Si quieres que se explique primero la diferencia entre entrada y salida, empieza con tokens de entrada vs salida.
Esfuerzo: el dial del pensamiento#
En la API de Claude el dial es output_. La página de esfuerzo de Anthropic (consultada el 23 de octubre de 2026) lista cinco niveles: low, medium, high, xhigh, max. Tres detalles importan para un principiante:
- Afecta a cada token de salida, no solo al pensamiento: texto, llamadas a herramientas y pensamiento juntos.
- Es una señal de comportamiento, no un presupuesto estricto. Menor esfuerzo significa menos tokens a costa de algo de capacidad; con esfuerzo bajo Claude puede omitir el pensamiento por completo en un problema simple.
- El valor predeterminado es
mediumen Claude Opus 5.5 y Claude Haiku 5.5, yhighen la mayoría de los otros modelos que admiten el parámetro. Establecer el valor predeterminado explícitamente es lo mismo que omitirlo.
Los niveles se recalibran por modelo, así que high en un modelo no es la misma cantidad de pensamiento que high en otro, y no todos los modelos aceptan todos los niveles. En un video publicado alguien ejecutó todos los niveles de esfuerzo de Claude Opus 5.5 en la misma tarea de gráficos en movimiento y comparó las imágenes. Es una buena forma de ver qué compra más pensamiento. No te dirá tu factura, porque tu tarea no es la suya.
Una solicitud para una pregunta simple, con el esfuerzo reducido:
{
"model": "claude-opus-5-5",
"max_tokens": 4000,
"output_config": { "effort": "low" },
"messages": [
{ "role": "user", "content": "What is the capital of Australia?" }
]
}La trampa de la respuesta vacía: el pensamiento cuenta para max_tokens#
Así es como esto sale mal. Esperas una respuesta de dos frases, así que estableces max_tokens en 300. El modelo empieza a pensar, gasta los 300 en su bloc de notas, alcanza el límite y se detiene. Obtienes una respuesta vacía o una frase que termina a mitad de palabra, y el motivo de parada dice max_tokens.
La documentación es explícita: max_tokens es un límite duro sobre la salida total, pensamiento más texto de respuesta, y el pensamiento cuenta incluso cuando su contenido no se devuelve. Con esfuerzo high y superior, Anthropic dice que se establezca un valor grande.
En la práctica:
- Toma la longitud de la respuesta que quieres.
- Añade espacio generoso para el pensamiento. Unos pocos miles de tokens es un comienzo sensato para cualquier cosa por encima de
low. - Comprueba el motivo de parada después de las primeras ejecuciones. Si todavía dice
max_tokens, sube el límite. Si la respuesta está completa, puedes bajarlo.
El corte en sí, con finish_reason y la ventana de contexto, se cubre en por qué una respuesta de IA se detiene a mitad de frase.
Qué le hace el razonamiento largo a la factura#
Supongamos que ejecutas un bot de soporte con 2,000 tickets al día. Cada ticket es de unos 500 tokens de entrada. Una respuesta corta y directa es de unos 400 tokens de salida. El mismo ticket con razonamiento oculto largo es de unos 4,000 tokens de salida. Esas son suposiciones para el ejemplo; para tus propios números consulta cuántos tokens usa una solicitud.
Por día eso es 2,000 × 500 = 1,000,000 tokens de entrada, y ya sea 2,000 × 400 = 800,000 tokens de salida o 2,000 × 4,000 = 8,000,000 tokens de salida. El lector del ticket ve las mismas dos líneas en cualquier caso. Lo único que cambió es el volumen de salida, y la salida es el lado que el razonamiento infla.
La aritmética es la misma en cualquier modelo que facture razonamiento oculto: tokens de salida × el precio de salida. Para DeepSeek-V4-Flash ese precio es $0.10 por 1M de tokens de salida, y su lado de salida es más barato que el precio de referencia de OpenRouter. También responde hasta 32,768 tokens a la vez con un contexto de 380K, así que un max_tokens grande cabe. Los precios son fijos por modelo, sin horas pico, y la tabla anterior se recalcula a partir de la lista de precios en vivo. Todos los precios están en la página de precios; la página de DeepSeek tiene los detalles del modelo.
Aquí tienes una solicitud para enviarte a ti mismo. Es una tarea de resumen simple, así que no necesitas razonamiento largo, y el límite deja mucho espacio:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/DeepSeek-V4-Flash-0731",
"max_tokens": 2000,
"messages": [
{"role": "user", "content": "Summarize in one sentence: A token is a small piece of text that a model reads and writes, and APIs bill by the token."}
]
}'En la respuesta, usage. es lo que pagas en el lado de salida, y finish_reason debería ser stop. Si dice length, el límite cortó la respuesta. Obtener la clave y la primera llamada: docs.
Qué esfuerzo para qué trabajo#
- Un dato, un resumen de una línea, una etiqueta. El esfuerzo más bajo. Este es el caso del inicio del artículo: no necesitas el borrador.
- Escritura cotidiana, una explicación corta, una edición simple. El valor predeterminado del modelo. Cámbialo solo después de ver cuánto cuestan las respuestas.
- Un bug complicado, un plan de varios pasos, un problema matemático.
higho superior, y unmax_tokensgrande. Aquí el pensamiento extra es el objetivo.
Cuando no estés seguro, ejecuta el mismo prompt en dos niveles, compara las respuestas y compara output_tokens. Si la respuesta más barata es igual de buena, ya tienes tu nivel.
Migrar una solicitud antigua: el error 400#
El código más antiguo controlaba el pensamiento con un presupuesto de tokens. En Claude 4.7 y modelos posteriores (Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.1) esa forma se rechaza con un error 400. Cambias a pensamiento adaptativo y estableces la profundidad con el esfuerzo:
// before: returns 400 on newer models
"thinking": { "type": "enabled", "budget_tokens": 8000 }
// after
"thinking": { "type": "adaptive" },
"output_config": { "effort": "medium" }
Otra trampa más: en Opus 5.5 el pensamiento adaptativo siempre está activado, y thinking: { "type": "disabled" } devuelve 400 en todos los niveles de esfuerzo. Haiku 5.5 permite desactivar el pensamiento con esfuerzo high o inferior. Si quieres menos pensamiento en Opus 5.5, baja el esfuerzo en lugar de desactivarlo.
Agentes y chats largos: elige un nivel y mantenlo#
Si tu prompt está en caché, cambiar el esfuerzo de nivel superior entre solicitudes invalida los puntos de ruptura de caché para esa conversación. Para un bucle de agente o un chat largo, elige un nivel de antemano. Algunos modelos ofrecen esfuerzo por mensaje en beta que mantiene la caché, lo cual vale la pena mirar una vez que lo básico esté en su sitio. Los chats largos tienen un segundo factor de coste, cubierto en por qué un chat largo cuesta más.
Pruébalo con tu propia solicitud#
- Envía tu prompt real una vez y lee
usage: cuántos tokens de salida, y cuántos de ellos son pensamiento. - Baja el esfuerzo un paso y envíalo de nuevo. Compara las respuestas y los recuentos.
- Establece
max_tokensen la respuesta que quieres más espacio para el pensamiento, y comprueba el motivo de parada.
Luego pon tus propios recuentos de tokens en la tabla de precios en vivo de la página de precios y tendrás una estimación mensual.



