Optimización de costosAnálisis
¿Cuántos tokens usa una solicitud a la API? Medido en 3 tareas
Números de uso reales de DeepSeek-V4-Flash: una pregunta corta, un resumen de un párrafo y correo a JSON, con el coste de 1.000 solicitudes y un script para tus propios prompts.

En esta página
Pregunta cuánto cuesta una solicitud a una API de IA y normalmente oirás "depende". Es cierto, pero no puedes planificar un presupuesto en torno a eso. Así que tomamos tres tareas cotidianas, las enviamos a DeepSeek-V4-Flash a través de la API de CheapTokens el 23 de octubre de 2026 y anotamos lo que decía el campo usage cada vez.
La versión corta: una pregunta rápida costó 110 tokens, un resumen de un párrafo 396 y convertir un correo en JSON 299. A continuación, cómo fue cada solicitud, qué devolvió y cuánto cuesta.
Una pregunta rápida#
Empezamos con algo que la gente pregunta a los asistentes de chat todo el tiempo: la diferencia entre git merge y git rebase, en dos o tres frases.

La pregunta ocupó 23 tokens y la respuesta 87. Eso es lo primero que conviene notar: la respuesta es casi cuatro veces más larga que la pregunta, y la salida es el lado que cuesta más; en MiniMax-M2.7 ahora mismo es $0.15 por 1M de tokens de salida frente a $0.05 por la entrada. Con esas tarifas, una solicitud así cuesta $0.000014. Mil de ellas, $0.0142.
Aquí está esa solicitud exacta, por si quieres ver los números en tu propia pantalla:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{"role": "user", "content": "What is the difference between git merge and git rebase? Answer in two or three sentences."}
],
"max_tokens": 2048,
"temperature": 0.2
}'Los recuentos están en el bloque usage al final de la respuesta: prompt_tokens es lo que enviaste, completion_ es lo que escribió el modelo y total_tokens es ambos juntos.
Un resumen y los tokens que no lees#
Segunda tarea: reducir un breve informe de incidencias a dos frases. Los equipos pasan este tipo de cosas por un modelo todo el día: tickets, informes, hilos de correo largos. Aquí está el prompt:
Summarize this incident report in two sentences.
On Tuesday between 14:05 and 14:50 UTC the checkout API returned errors for about 6% of requests. The cause was a configuration change deployed at 13:58 that lowered the database connection pool from 50 to 5 connections per instance. Under normal load nobody noticed, but when the afternoon traffic peak arrived, requests queued for a free connection and timed out after 30 seconds. The on-call engineer saw the growing p99 latency at 14:12, found the change in the deploy log at 14:31 and rolled it back at 14:44. To prevent a repeat, the pool size is now validated in CI against a minimum value, and an alert fires when more than 20 requests wait for a connection for two minutes.Y la respuesta:
El martes, un cambio de configuración que redujo el pool de conexiones a la base de datos de 50 a 5 provocó errores en la API de checkout en aproximadamente el 6% de las solicitudes durante el pico de la tarde, hasta que se revirtió a las 14:44. Para evitar que se repita, ahora el tamaño del pool se valida en CI y se activa una alerta cuando los tiempos de espera de conexión superan los umbrales.
Dos frases, 331 caracteres y 146 tokens de salida. Parecía mucho para tan poco texto, y la respuesta explicó por qué: usage tenía un campo más, reasoning_. Antes de responder, el modelo dedicó 76 tokens a pensarlo. Forman parte de los 146 (250 de entrada + 146 de salida = 396 en total), así que aproximadamente la mitad de la salida se fue en razonamiento que no forma parte del texto de la respuesta, y se factura como cualquier otro token de salida.
Conviene saberlo al planificar un presupuesto: en tareas donde el modelo se detiene a pensar, la salida puede ser notablemente mayor que el texto que recibes. Mil resúmenes así cuestan $0.0344.
Un correo entra, JSON limpio sale#
Tercera tarea: una confirmación de pedido que debe convertirse en un registro de base de datos.

El modelo devolvió exactamente las claves que pedimos y nada alrededor, ningún "Aquí tienes tu JSON". El total coincide con el correo y la fecha de entrega llegó como 2026-11-03, ya en el formato que pedimos. 199 tokens de entrada, 100 de salida.
Lo que destaca es la densidad: 100 tokens para 276 caracteres de JSON, mientras que la respuesta sobre git ocupó 87 tokens para 421 caracteres de texto plano. Las comillas, las llaves y las comas también son tokens, así que la salida estructurada cuesta más por carácter que la prosa. Mil correos así: $0.025.
Las tres en paralelo#
Desplaza la tabla hacia la derecha →
| Tarea | Tokens de entrada | Tokens de salida | 1.000 solicitudes |
|---|---|---|---|
| Pregunta rápida | 23 | 87 | $0.0142 |
| Resumen | 250 | 146 | $0.0344 |
| Correo a JSON | 199 | 100 | $0.025 |
Los costes se calculan a partir de estos recuentos de tokens con el precio actual de MiniMax-M2.7, así que siguen siendo correctos cuando cambian los precios.
La salida gana en todas las tareas, incluso en el resumen, donde enviamos más de lo que recibimos. Así que la palanca más fácil sobre tu factura es la longitud de la respuesta: "en dos o tres frases" o "devuelve solo JSON" hacen un trabajo real.
Para ponerlo en escala: un bot de soporte que responde 2.000 preguntas rápidas al día, cada una como la primera, gasta unos $0.852 al mes en MiniMax-M2.7. Un chat real reenvía su historial en cada turno, así que la entrada crece con cada mensaje, pero para preguntas puntuales esa es toda la factura.
Pruébalo con tus propios prompts#
Tus prompts darán números distintos, y basta un minuto para averiguarlo. Este script envía cada prompt, omite las respuestas que se cortaron e imprime los tokens y el coste de 1.000 solicitudes:
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.cheaptokens.dev/v1", api_key=os.environ["CHEAPTOKENS_API_KEY"])
MODEL = "MiniMaxAI/MiniMax-M2.7"
PRICE_IN, PRICE_OUT = 1.00, 4.00 # USD per 1M tokens: example values, use the current ones from the price list
PROMPTS = [
"What is the difference between git merge and git rebase? Answer in two or three sentences.",
# add your own prompts here
]
for prompt in PROMPTS:
r = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": prompt}],
max_tokens=2048,
temperature=0.2,
)
if r.choices[0].finish_reason != "stop":
print("cut off at max_tokens, raise the limit:", prompt[:40])
continue
tin, tout = r.usage.prompt_tokens, r.usage.completion_tokens
per_1000 = (tin * PRICE_IN + tout * PRICE_OUT) * 1000 / 1_000_000
print(f"{tin} in, {tout} out, 1,000 requests = ${per_1000:.4f} | {prompt[:40]}")Pon los precios actuales en PRICE_IN y PRICE_OUT: para MiniMax-M2.7 son $0.05 por 1M de tokens de entrada y $0.15 por 1M de tokens de salida. El primer prompt es el de nuestra prueba; los recuentos de tokens varían un poco entre modelos, así que espera números en el mismo rango que 23 de entrada y 87 de salida. Necesitarás el paquete openai (pip install openai) y tu clave en CHEAPTOKENS_.
Si un número parece raro: finish_ significa que la respuesta alcanzó max_tokens (por qué las respuestas se cortan a mitad de frase); un reasoning_tokens grande explica una salida mayor que el texto; y la fórmula completa de los precios de entrada y salida está en tokens de entrada vs salida.
Por dónde empezar#
En total, contando entrada y salida juntas, MiniMax-M2.7 en CheapTokens es más barato que el precio de referencia de OpenRouter para las tres tareas anteriores. Tiene un contexto de 180K, respuestas de hasta 8.192 tokens y un único precio a cualquier hora. Recarga tu saldo, crea una clave y envía la solicitud curl del principio de esta página: la documentación cubre la clave y la URL base, la página de DeepSeek tiene el catálogo de modelos y precios tiene la lista de precios en vivo.



