Domina los costos de la API de Claude Code: 5 técnicas para pasar de $450 a $45/mes
Números reales del precio de la API de Claude Code. Aprende cómo el prompt caching, la optimización de modelos y el procesamiento por lotes lograron una reducción del 90 %, de $450 a $45 al mes.
«Usé Claude Code todos los días y el mes pasado me llegó una factura de $450»—cada vez más desarrolladores comparten esta experiencia. Claude Code es una herramienta potente, pero los costos pueden variar 10 veces o más según cómo se use.
En este sitio (claudecode-lab.com) generamos automáticamente tres artículos multilingües cada día con Claude Code. En la primera semana gastamos $380, pero tras la optimización realizamos el mismo trabajo por menos de $40 al mes. Aquí están todos los pasos que lograron una reducción del 90 %.
Primero: entiende dónde te están cobrando
Para reducir costos necesitas saber exactamente qué estás pagando.
Costo API Claude = Tokens de entrada × Precio de entrada + Tokens de salida × Precio de salida
Precios por modelo (a abril de 2026)
| Modelo | Entrada (estándar) | Entrada (lectura de caché) | Salida |
|---|---|---|---|
| claude-opus-4-6 | $15/1M | $1.50/1M | $75/1M |
| claude-sonnet-4-6 | $3/1M | $0.30/1M | $15/1M |
| claude-haiku-4-5 | $0.80/1M | $0.08/1M | $4/1M |
Dos conclusiones clave:
- La salida cuesta 5 veces más que la entrada → solo recortando la salida se ahorra mucho
- Las lecturas de caché cuestan 1/10 del precio estándar de entrada → el caché es tu mayor palanca
Verifica el desglose de costos en la consola de Anthropic
# También se puede consultar por API
curl https://api.anthropic.com/v1/usage \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01"
El primer paso es saber qué modelo estás usando y cuántos tokens estás consumiendo.
Técnica 1: Reduce los costos de entrada 10 veces con prompt caching
La optimización de mayor impacto. Agrega una sola línea al system prompt y los costos de entrada caen a 1/10.
Cómo funciona
El caché de prompts de Anthropic cobra $1.50/1M cuando el mismo contenido se reenvía en menos de 5 minutos. Con un TTL de 5 minutos, cada llamada dentro de esa ventana cuesta casi nada.
Implementación
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
// ❌ Sin caché: se cobra $15/1M en cada llamada
const res = await client.messages.create({
model: "claude-opus-4-6",
max_tokens: 1024,
system: "Eres experto en el proyecto XXX.\n" + longProjectContext,
messages: [{ role: "user", content: prompt }],
});
// ✅ Con caché: desde la segunda llamada solo $1.50/1M (90% de descuento)
const res = await client.messages.create({
model: "claude-opus-4-6",
max_tokens: 1024,
system: [
{
type: "text",
text: "Eres experto en el proyecto XXX.\n" + longProjectContext,
cache_control: { type: "ephemeral" }, // ← solo añade esto
},
],
messages: [{ role: "user", content: prompt }],
});
Ahorro real (este sitio)
3 artículos/día × 8.000 tokens de system prompt × Opus $15/1M
Antes de la optimización:
3 artículos × 10 llamadas × 8.000 tokens × $15/1M = $3,60/día → $108/mes
Después de la optimización (con caché):
Primera escritura: 3 llamadas × 8.000 tokens × $18,75/1M = $0,45/día
27 lecturas de caché: 27 × 8.000 tokens × $1,50/1M = $0,32/día
Total: $0,77/día → $23/mes
Ahorro: $85/mes (reducción del 79%)
Atención a los fallos de caché: el caché expira a los 5 minutos. Para el procesamiento por lotes, agrupa varias llamadas con el mismo system prompt dentro de una ventana de 5 minutos para maximizar el efecto.
Técnica 2: Elige el modelo adecuado para cada tarea
Usar Opus para todo es como repartir pizzas en un Porsche.
Marco de decisión
type TaskComplexity = "complex" | "standard" | "simple";
function getModel(task: TaskComplexity): string {
return {
complex: "claude-opus-4-6", // Arquitectura, depuración difícil, revisión de código
standard: "claude-sonnet-4-6", // Implementación general, refactorización
simple: "claude-haiku-4-5-20251001", // Traducción, formateo, clasificación, resúmenes
}[task];
}
Ejemplo de traducción (pipeline multilingüe de este sitio)
// Traducir un artículo a 9 idiomas
// ❌ Traducir con Opus: $75/1M × 2.000 tokens de salida × 9 idiomas = $1,35/artículo
const translations = await translateWithModel("claude-opus-4-6", article);
// ✅ Traducir con Haiku: $4/1M × 2.000 tokens de salida × 9 idiomas = $0,072/artículo
const translations = await translateWithModel("claude-haiku-4-5-20251001", article);
// Ahorro: $1,35 → $0,072 (reducción del 94,7%; la calidad de traducción es prácticamente equivalente)
Pasar 3 artículos/día × 9 idiomas a Haiku: $121/mes → $6,50/mes (reducción del 94%)
Técnica 3: Limita intencionalmente los tokens de salida
La salida cuesta 5 veces más que la entrada, pero muchos pipelines aceptan respuestas innecesariamente largas.
Técnicas de prompt para limitar la salida
❌ «Dime qué está mal con este código»
→ Explicación extensa devuelta (1.000 tokens)
✅ «Lista los problemas de este código como viñetas, máximo 3 puntos, máximo 2 líneas cada uno»
→ Respuesta concisa (200 tokens)
Efecto: 80% menos tokens de salida = costo $0,075 → $0,015 por llamada
Configura max_tokens adecuadamente
// ❌ El valor por defecto de 4096 es excesivo para la mayoría de tareas
const res = await client.messages.create({
model: "claude-opus-4-6",
max_tokens: 4096, // potencialmente se facturan hasta 4.096 tokens
messages: [...]
});
// ✅ Ajusta según el caso de uso
const configs = {
codeReview: { max_tokens: 512 }, // solo comentarios
bugAnalysis: { max_tokens: 1024 }, // causa + solución
implementFeature:{ max_tokens: 4096 }, // implementación completa
summarize: { max_tokens: 256 }, // solo resumen
};
Técnica 4: Aísla el contexto con subagentes
En sesiones de conversación largas, el historial creciente se reenvía como entrada en cada turno, inflando los costos. Delegar a un subagente reinicia el contexto.
// Cuando la conversación principal se alarga, delegar tareas pesadas a un subagente
// ❌ Traducir en el contexto principal: el historial completo se envía cada vez
const translation = await translateInCurrentContext(article);
// ✅ Delegar a un subagente: se ejecuta con contexto nuevo
const translation = await Agent({
subagent_type: "general-purpose",
prompt: `Traduce el siguiente artículo al inglés:\n\n${article}`,
// ← sin historial previo, solo el artículo como entrada
});
La herramienta Agent de Claude Code funciona exactamente así. Para tareas «puntuales»—traducción, búsqueda, operaciones de archivos—la delegación a subagentes es la regla de oro.
Técnica 5: Monitorea costos y configura alertas de presupuesto
Por último: conoce tus costos y ponles un techo. Es tu red de seguridad contra facturas desbocadas.
Configuración en la consola de Anthropic
- Ir a Anthropic Console → Usage Limits
- Establecer un Monthly budget (p. ej., $50/mes)
- Establecer un Alert threshold (p. ej., notificar al llegar a $40)
Seguimiento de costos en el código
// Registra el objeto usage de cada respuesta para rastrear el gasto
interface CostTracker {
inputTokens: number;
outputTokens: number;
cacheReadTokens: number;
cacheWriteTokens: number;
}
function calculateCost(usage: CostTracker, model: string): number {
const rates = {
"claude-opus-4-6": {
input: 15, cacheRead: 1.5, cacheWrite: 18.75, output: 75
},
};
const rate = rates[model];
return (
(usage.inputTokens * rate.input +
usage.cacheReadTokens * rate.cacheRead +
usage.cacheWriteTokens * rate.cacheWrite +
usage.outputTokens * rate.output) / 1_000_000
);
}
const res = await client.messages.create({ ... });
const cost = calculateCost(res.usage, "claude-opus-4-6");
console.log(`Esta llamada costó: $${cost.toFixed(4)}`);
Resumen: acumula tus ahorros
| Técnica | Reducción | Dificultad |
|---|---|---|
| Prompt caching | hasta 90% | Baja (agregar 1 línea) |
| Selección de modelo | hasta 95% | Baja–Media |
| Límite de tokens de salida | 30–80% | Baja (ajuste de prompt) |
| Delegación a subagentes | 20–50% | Media |
| Alertas de presupuesto | Previene desbordamientos | Baja |
Nuestros resultados en este sitio:
Antes de la optimización: $450/mes (todas las tareas con Opus, sin caché)
Después de la optimización: $45/mes (Haiku para traducción, Opus con caché, límite de salida)
Ahorro: $405/mes (reducción del 90%)
El mejor primer paso que puedes dar hoy: agrega cache_control: { type: "ephemeral" } a tu system prompt. Solo eso reduce los costos de entrada a 1/10. Luego introduce las demás técnicas una por una.
Artículos relacionados
- 7 técnicas prácticas para optimizar el uso de tokens en Claude Code
- 10 patrones de prompt peligrosos en Claude Code
- Guía completa de Harness Engineering
Referencias
Lleva tu flujo con Claude Code al siguiente nivel
50 plantillas de prompts probadas en producción, listas para copiar y pegar en Claude Code.
PDF gratuito: Hoja de trucos de Claude Code en 5 minutos
Solo deja tu correo y te enviaremos al instante la hoja de trucos en una página A4.
Cuidamos tus datos personales y nunca enviamos spam.
Sobre el autor
Masa
Ingeniero apasionado por Claude Code. Dirige claudecode-lab.com, un medio tecnológico en 10 idiomas con más de 2.000 páginas.
Artículos relacionados
7 incidentes reales en producción con Claude Code: recuperación completa con RCA y prevención
7 incidentes reales en producción con Claude Code: filtración de claves API, borrado de BD, explosión de facturación y caídas del servicio — con análisis de causa raíz y estrategias de prevención.
10 patrones de prompts peligrosos en Claude Code | Qué evitar y alternativas seguras
Descubre 10 patrones de prompts peligrosos que nunca debes darle a Claude Code. Aprende cómo las instrucciones vagas provocan pérdida de código, destrucción de BD, facturas desorbitadas y filtraciones de claves.
Guía Completa de Seguridad para Claude Code: Claves API, Permisos y Protección en Producción
Guía práctica de seguridad para usar Claude Code de forma segura. Desde la gestión de claves API hasta la configuración de permisos, automatización con Hooks y protección del entorno de producción — con ejemplos de código funcionales.