Ventana de contexto vs tokens máximos de salida: límites de GPT-6, Claude, DeepSeek y Kimi
Qué son la ventana de contexto y los tokens máximos de salida, los límites de GPT-6, Claude, DeepSeek V4.1 Flash y Kimi K3, y cómo evitar respuestas cortadas.
Leer en MarkdownLa ventana de contexto es el número total de tokens que un modelo puede manejar en una solicitud: tu prompt, el historial de la conversación, las imágenes y la respuesta que escribe. El límite de tokens máximos de salida es lo máximo que el modelo puede escribir en esa respuesta, y en los modelos de razonamiento incluye los tokens que gasta pensando. La respuesta tiene que caber dentro de la ventana de contexto, así que un prompt largo deja menos espacio para la salida.
¿Qué diferencia hay entre la ventana de contexto y los tokens máximos de salida?
La ventana de contexto es un espacio compartido. Todo lo que envías y todo lo que el modelo escribe en una solicitud tiene que caber en ella.
Los tokens máximos de salida son un tope aparte, más pequeño, solo para la respuesta. Cada modelo tiene un techo, y cada API tiene un parámetro para fijar un límite menor en cada solicitud.
De ahí salen dos consecuencias:
- La entrada y la salida compiten por la misma ventana. La referencia de la API de DeepSeek lo dice claramente: "La longitud total de los tokens de entrada y de los tokens generados está limitada por la longitud de contexto del modelo".
- El razonamiento cuenta como salida. En GPT-6, Claude, DeepSeek V4.1 Flash y Kimi K3, los tokens que el modelo gasta pensando cuentan para el límite de salida y se facturan como salida. Una respuesta puede cortarse antes de tiempo aunque la parte visible sea corta.
¿Cuáles son los límites de cada modelo?
| Modelo | ID del modelo | Ventana de contexto | Salida máxima | Parámetro de salida | Valor por defecto si no lo envías |
|---|---|---|---|---|---|
| GPT-6 Astra, Sol, Luna | gpt-6-astra, gpt-6-sol, gpt-6-luna | 1,05M tokens (922K de entrada) | 128K | max_output_tokens (Responses), max_completion_tokens (Chat Completions) | Máximo del modelo |
| Claude Opus 5.5, Fable 5.1, Fable 5 | claude-opus-5-5, claude-fable-5-1, claude-fable-5 | 1M tokens | 128K | max_tokens | Ninguno: el campo es obligatorio |
| DeepSeek V4.1 Flash | deepseek-v4.1-flash | 1M tokens | 393.216 | max_tokens | 8K sin razonamiento, 64K con razonamiento, 128K con esfuerzo max |
| Kimi K3 | kimi-k3 | 1.048.576 tokens | 1.048.576 | max_completion_tokens | 131.072 |
La última columna explica la mayoría de las respuestas cortadas. DeepSeek V4.1 Flash puede escribir 393.216 tokens, pero si no fijas max_tokens se detiene en 8K, o en 64K con el razonamiento activado. Kimi K3 puede escribir hasta 1.048.576 tokens, pero por defecto se queda en 131.072.
La referencia de la API de cada modelo tiene la lista completa de parámetros: GPT-6 Astra, Claude Opus 5.5, DeepSeek V4.1 Flash y Kimi K3.
¿max_tokens, max_completion_tokens o max_output_tokens?
Todos limitan la respuesta. Cuál enviar depende del formato de la API y del modelo:
| Formato de API | Parámetro | Notas |
|---|---|---|
OpenAI Responses (/v1/responses) | max_output_tokens | OpenAI: "Un límite superior para el número de tokens que se pueden generar en una respuesta, incluidos los tokens de salida visibles y los tokens de razonamiento". |
OpenAI Chat Completions (/v1/chat/completions) | max_completion_tokens | OpenAI marca max_tokens como "obsoleto en favor de max_completion_tokens" y "no compatible con los modelos de la serie o". Usa max_completion_tokens con GPT-6. |
Anthropic Messages (/v1/messages) | max_tokens | Obligatorio en cada solicitud. |
| DeepSeek Chat Completions | max_tokens | De 1 a 393216. |
| Kimi Chat Completions | max_completion_tokens | max_tokens es el nombre obsoleto del mismo límite. |
Si una API responde "max_tokens is not supported with this model", cambia al parámetro de esta tabla.
¿Por qué mi modelo se detuvo antes de terminar?
Llegó al límite de salida. Todas las API lo indican en la respuesta, no como un error:
| API | Campo | Valor cuando se alcanzó el límite de salida |
|---|---|---|
| OpenAI Responses | incomplete_details.reason | "max_output_tokens" |
| OpenAI Chat Completions | choices[].finish_reason | "length" |
| Anthropic Messages | stop_reason | "max_tokens" |
| DeepSeek | choices[].finish_reason | "length" |
Anthropic tiene un segundo motivo de parada, model_context_window_exceeded, para una respuesta que llenó toda la ventana de contexto. En DeepSeek, length cubre los dos casos: la respuesta superó max_tokens o la conversación superó la longitud de contexto.
Para solucionarlo:
- Sube el límite de salida hasta el máximo del modelo que aparece en la tabla de arriba.
- Baja el esfuerzo de razonamiento. Pensar menos deja más presupuesto para la respuesta y cuesta menos.
- Continúa en lugar de reintentar. Devuelve la respuesta parcial y pide al modelo que siga. La guía de motivos de parada de Anthropic lo describe para
max_tokens.
¿Qué significa "context window exceeded"?
Tu solicitud no cabe en la ventana del modelo. Dónde falla exactamente depende de la API:
- Claude. Si la entrada por sí sola es más grande que la ventana, la API devuelve un 400
invalid_request_error("prompt is too long"). Si solo la suma de la entrada ymax_tokenses más grande, la documentación de Anthropic dice que Claude 4.5 y los modelos posteriores, incluidos los de esta guía, aceptan la solicitud y se detienen constop_reason: "model_context_window_exceeded"si se quedan sin espacio. - DeepSeek. La respuesta termina con
finish_reason: "length"cuando la conversación supera la longitud de contexto.
Tres soluciones, en este orden:
- Elimina o resume los turnos antiguos de la conversación. Es la única solución cuando la entrada por sí sola es demasiado larga.
- Baja el límite de salida para que la entrada más la salida quepan.
- Cambia a un modelo con una ventana más grande. Las cuatro familias de la tabla de arriba leen alrededor de 1M tokens.
¿Cómo gestionan estos límites los agentes de programación?
Los agentes de programación fijan el límite de salida por ti, y sus valores por defecto pueden ser más bajos de lo que permite el modelo.
Claude Code usa CLAUDE_CODE_MAX_OUTPUT_TOKENS. Su documentación dice que "por defecto es 32000 para los ID de modelo que no reconoce, como los nombres específicos de un gateway, y reduce al tope los valores que superan el tope de un modelo". Si usas DeepSeek V4.1 Flash o Kimi K3 en Claude Code, fija la variable cuando necesites respuestas más largas. La misma documentación advierte de que un valor más alto "reduce la ventana de contexto efectiva disponible antes de que se active la compactación automática".
Codex lee model_context_window de config.toml, descrito como los "tokens de ventana de contexto disponibles para el modelo activo". Fíjalo para los modelos que Codex no conoce, como en nuestra configuración de Kimi K3 y nuestra configuración de DeepSeek V4.1 Flash. Con un nombre de modelo que no reconoce, Codex además muestra: "Model metadata for <model> not found. Defaulting to fallback metadata; this can degrade performance and cause issues." La sesión sigue funcionando.
Preguntas frecuentes
¿La ventana de contexto incluye los tokens de salida?
Sí. La entrada, el historial, las imágenes y la respuesta comparten una sola ventana de contexto. El límite de salida máxima es un tope aparte para la respuesta dentro de esa ventana.
¿Los tokens de razonamiento cuentan para los tokens máximos de salida?
Sí, en las cuatro familias de modelos de esta guía. Los tokens de razonamiento cuentan para el límite de salida y se facturan como tokens de salida.
¿Qué modelo escribe las respuestas más largas?
Kimi K3 acepta max_completion_tokens hasta 1.048.576, y DeepSeek V4.1 Flash acepta max_tokens hasta 393.216. GPT-6 y Claude se detienen en 128K por solicitud.
¿Un límite de salida más alto cuesta más?
No. Pagas por los tokens que el modelo escribe de verdad, no por el límite que fijas. Un límite más alto solo importa cuando el modelo necesita el espacio.
¿Dónde veo los precios actuales de estos modelos?
En la página de cada modelo: GPT-6 Astra, Claude Opus 5.5, DeepSeek V4.1 Flash y Kimi K3.



