La factura de la API de DeepSeek no es simplemente «número de llamadas por tarifa unitaria»: depende de los tokens de entrada, los tokens de salida y el comportamiento de la caché. Muchos equipos preparan el presupuesto con la tarifa publicada y, al pasar a producción, descubren que el costo real es bastante mayor. La causa casi nunca es un cambio de tarifa, sino una estructura de entrada, una tasa de acierto de caché y un número de reintentos distintos de los que se estimaron.

Este artículo desglosa la facturación de DeepSeek en partes que se pueden calcular: qué tokens se cobran, por qué la caché unas veces funciona y otras no, cómo usar el campo usage de la respuesta para estimar y en qué orden conviene reducir costos. Las tarifas concretas se rigen por los precios de modelos de este sitio y por la documentación oficial de DeepSeek.

Nota: DeepSeek es una marca de su titular. Este artículo toma como ejemplo las formas de interfaz habituales en octubre de 2026; los precios, los nombres de modelo y las reglas de facturación pueden cambiar, así que verifica las páginas oficiales antes de comprar.

1. Divide la factura en cuatro conceptos

Concepto Cuándo se genera Factores principales Cómo optimizarlo
Entrada (fallo de caché) El contenido nuevo entra por primera vez en el contexto Longitud del documento, historial de mensajes, definición de herramientas Recuperación, resumen, recorte
Entrada (acierto de caché) La solicitud reutiliza un prefijo que ya estaba en caché Estabilidad del prefijo, tasa de acierto Prefijo fijo, menos contenido aleatorio
Salida El modelo genera texto y resultados estructurados Longitud de salida, restricciones de formato max_tokens, formato JSON
Contenido de razonamiento El modelo de razonamiento produce su proceso de pensamiento Dificultad de la tarea, nivel de razonamiento No usar modelos de razonamiento en tareas simples

La caché de contexto de DeepSeek suele reflejarse en el lado de la entrada: los prefijos que aciertan se cobran a una tarifa de entrada menor y la parte que falla se cobra a la tarifa estándar. Si se cobra el almacenamiento de caché y cuánto tiempo se conserva depende de la documentación oficial vigente; no reutilices reglas de artículos antiguos.

Una solicitud se puede expresar como una fórmula de costo:

Costo por solicitud =
  tokens de entrada con acierto de caché × tarifa con acierto
+ tokens de entrada sin acierto de caché × tarifa de entrada
+ tokens de salida × tarifa de salida

Solo cuando esta fórmula llega a los registros se puede responder «cuánto cuesta esta función al mes». Mirar únicamente la factura total de la consola dificulta identificar qué proyecto o qué tipo de solicitud está inflando el gasto.

2. Por qué la caché ahorra y por qué a menudo no funciona

La lógica básica de la caché de contexto es la siguiente: si el inicio de dos solicitudes es idéntico, el servidor puede reutilizar el cálculo anterior y solo recalcular la parte nueva. Por eso la caché resulta más eficaz con estos contenidos:

  1. Un system prompt fijo y una definición de rol estable.
  2. Definiciones de herramientas y esquemas de funciones que no cambian.
  3. Fragmentos de base de conocimiento, manuales de producto y plantillas de contrato que se reutilizan.
  4. La primera mitad de una conversación de varios turnos que se mantiene sin cambios.

En cambio, estas prácticas invalidan la caché con frecuencia:

  • Insertar la hora actual, un ID aleatorio o el nombre del usuario al inicio del system prompt.
  • Reordenar las herramientas o los documentos en cada solicitud.
  • Colocar el documento completo al principio y la pregunta del usuario al final.
  • Alternar el mismo negocio entre distintos modelos y distintos puntos de entrada.
  • Usar prefijos demasiado cortos para alcanzar la granularidad reutilizable.

Poner lo cambiante al final de la solicitud y lo estable al principio es la medida más simple y también la más eficaz. La caché suele funcionar como mejor esfuerzo y no garantiza aciertos; por eso el presupuesto debe calcularse con un escenario de «acierto parcial», no suponiendo que todo acierta.

3. Haz una estimación real con el campo usage

No adivines los tokens por el número de caracteres. Guarda el campo usage de cada respuesta y obsérvalo durante una semana; así obtendrás la estructura real de tu negocio.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["DEEPSEEK_API_KEY"],
    base_url="https://api.deepseek.com",
)

resp = client.chat.completions.create(
    model="deepseek-chat",  # el nombre de modelo se rige por la página de precios del sitio
    messages=[
        {"role": "system", "content": "Eres un asistente de atención al cliente. Responde en no más de tres frases."},
        {"role": "user", "content": "¿Se puede cambiar la dirección de envío después de que el pedido salió?"},
    ],
    max_tokens=256,
)

usage = resp.usage
hit = getattr(usage, "prompt_cache_hit_tokens", 0) or 0
miss = getattr(usage, "prompt_cache_miss_tokens", 0) or 0

print("Entrada", usage.prompt_tokens)
print("Aciertos de caché", hit, "fallos", miss)
print("Salida", usage.completion_tokens)

Si la respuesta no devuelve el desglose de caché, registra la entrada total y la salida total, y deduce el resto con la factura o la página de consumo. Lo importante es mantener criterios consistentes y no comparar datos de fechas o puntos de entrada distintos como si fueran equivalentes.

Al estimar, registra como mínimo: fecha, proyecto, modelo, tokens de entrada, tokens de salida, aciertos de caché, número de reintentos y si la llamada fue en streaming. El importe se calcula a fin de mes con la tarifa; los indicadores del proceso se revisan todos los días.

4. Por qué la factura varía varias veces con el mismo volumen

Escenario Estructura típica de tokens Dónde crece el costo Prioridad de optimización
Bot de atención al cliente Mucha entrada, salida corta Historial de mensajes reenviado una y otra vez Resumen, caché, incluir solo los últimos turnos
Extracción de documentos Entrada media, salida estructurada El mismo documento se lee repetidamente Prefijo en caché, procesamiento por lotes
Asistente de código Entrada y salida grandes Resultados de herramientas y archivos largos Recuperación, fragmentación, limitar la salida
Generación de textos largos Entrada corta, salida larga Acumulación de tokens de salida Generación por partes, max_tokens
Tareas de razonamiento Entrada media, salida con pensamiento El proceso de pensamiento se cuenta como salida Usar un modelo sin razonamiento para tareas simples

Las diferencias suelen venir de cinco puntos:

  1. Proporción entre entrada y salida distinta: la atención al cliente y la redacción de textos largos tienen estructuras de costo opuestas; no se pueden estimar con el mismo promedio.
  2. Tasa de acierto de caché distinta: un prefijo fijo se reutiliza; el contenido dinámico invalida la caché.
  3. Longitud del contexto distinta: si en cada turno se envía el documento completo, el costo de entrada se acumula con el número de turnos.
  4. Número de reintentos distinto: reenviar tras un 429 o un timeout aumenta el volumen de solicitudes; si las solicitudes fallidas se cobran o no depende de la factura.
  5. Nivel de modelo distinto: los modelos de razonamiento y los que no razonan tienen tarifas y longitudes de salida diferentes; una elección equivocada infla el presupuesto.

5. El orden de reducción de costos no se debe invertir

  1. Primero, cuantifica: calcula con usage y registros la estructura real de tokens de cada función; no te guíes por intuiciones.
  2. Después, mejora los aciertos de caché: fija el system prompt, las definiciones de herramientas y el prefijo de conocimiento, y reduce el contenido dinámico al inicio.
  3. Luego, reduce la entrada: en RAG recupera solo los fragmentos relevantes, resume el historial y conserva solo los campos necesarios de la salida de las herramientas.
  4. Limita la salida: define un max_tokens razonable, exige JSON o campos fijos y evita explicaciones repetidas.
  5. Enruta por modelo: clasificación, extracción y reescritura con modelos ligeros; el razonamiento complejo se escala a un modelo mayor.
  6. Asincronía y procesamiento por lotes: las tareas de etiquetado, resumen y análisis offline que no requieren respuesta en tiempo real pueden ir a una cola.
  7. Monitoreo y alertas: revisa el consumo por proyecto, modelo y escenario, y define límites de presupuesto.

Si se invierte el orden, el resultado habitual es el siguiente: cambiaste a un modelo más barato, pero no gobernaste la entrada ni aciertas la caché, la factura no baja y además empeora la calidad.

6. Cómo gestionar presupuesto y facturación

  • Una clave por proyecto: separa pruebas y producción para que no compitan por la misma cuota.
  • Define límites de gasto y alertas por clave para detener pérdidas ante llamadas anómalas.
  • Concilia cada semana por «proyecto, modelo y escenario» e identifica las llamadas que más crecen.
  • Registra por separado los ahorros obtenidos con caché y enrutamiento; de lo contrario no podrás demostrar que la optimización funciona.
  • Los equipos que necesitan pagar en moneda local y recibir factura pueden usar un gateway de IA con facturación unificada; las tarifas, el tipo de cambio y las reglas de facturación se rigen por los precios de modelos.

Preguntas frecuentes

¿Hay que activar manualmente la caché de DeepSeek?

Normalmente no hace falta marcar explícitamente el segmento que se va a cachear; el servidor decide por prefijo si puede reutilizarlo. El mecanismo concreto y el tiempo de conservación se rigen por la documentación oficial. Lo que tú debes hacer es mantener el prefijo estable, no añadir más configuración.

¿Por qué la tasa de acierto de caché sube y baja?

Las causas habituales son la presencia de marcas de tiempo, ID aleatorios o datos del usuario en el prefijo, o el cambio de la solicitud entre modelos y puntos de entrada distintos. Mueve primero el contenido cambiante al final y observa durante una semana.

¿Se cobra el contenido de pensamiento de los modelos de razonamiento?

Los tokens de pensamiento que generan los modelos de razonamiento suelen contarse como salida; el criterio exacto depende de la documentación oficial y de la factura. Para tareas simples de clasificación o extracción no conviene usar un modelo de razonamiento por defecto.

¿Qué es más caro, la entrada o la salida?

En la mayoría de los modelos, la salida tiene una tarifa mayor que la entrada, pero la entrada con acierto de caché suele ser más barata. No compares solo las dos tarifas: calcula el costo por solicitud según tu propia proporción de entrada y salida.

¿Por qué la estimación no coincide con la factura?

Entre las omisiones habituales están el historial de mensajes, las definiciones de herramientas, las solicitudes reintentadas, los fallos de caché y las salidas largas. Solo comparando el ID de solicitud con los registros de consumo podrás localizar la diferencia.

Próximos pasos

Crea primero una clave de prueba en ZSQH AI Gateway, ejecuta tareas reales durante una semana y registra la entrada, la salida y los aciertos de caché. Después convierte el consumo a presupuesto con los precios de modelos. La disponibilidad y las tarifas de los modelos se rigen por la página de precios.

Lecturas relacionadas: