Claude APIAnthropic APIExtended ThinkingPrompt Caching

Cómo usar la API de Claude: guía para desarrolladores 2026

1 min de lectura

Claude no es “GPT con otro base_url”. La API de Claude tiene su propio protocolo —la Messages API de Anthropic— y sus propias fortalezas que no sobreviven a la traducción a través de una capa compatible con OpenAI.

Pensamiento extendido, donde Claude muestra su razonamiento interno paso a paso. Prompt caching con 90% de descuento en entrada repetida. Uso de herramientas profundamente integrado en la estructura de mensajes en lugar de añadido.

Si usas Claude a través de un endpoint compatible con OpenAI, pierdes todo esto.

Esta guía cubre la API de Claude tal como fue diseñada para usarse: protocolo nativo, conjunto completo de funciones, listo para producción. Si estás en una región donde Anthropic bloquea el acceso directo, los ejemplos de código funcionan idénticamente a través de una plataforma de agregación con soporte nativo de Anthropic —configura ANTHROPIC_BASE_URL con el endpoint de la plataforma y usa tu API key de la plataforma.

Modelos de Claude en 2026

ModeloInput $/MOutput $/MContextSWE-benchMejor para
Claude Opus 4.8$5.00$25.001M88.6%Depuración compleja, decisiones de arquitectura
Claude Sonnet 4.6$3.00$15.001M~85%Codificación cotidiana, contenido, análisis
Claude Haiku 4.5$1.00$5.00200K~78%Tareas simples de alto volumen, donde importa el costo

Fable 5 y Mythos 5 —los modelos de próxima generación de Claude con 95% SWE-bench— fueron suspendidos bajo controles de exportación de EE.UU. en junio de 2026. Siguen sin estar disponibles para todos los usuarios de API a julio de 2026. Si y cuando estén disponibles, el protocolo y los patrones de esta guía aplicarán directamente.

Qué Claude para qué tarea. Opus para tareas donde una respuesta incorrecta cuesta más que el request —depuración compleja, auditorías de seguridad, análisis legal. Sonnet para desarrollo cotidiano —generación de código, revisión de PR, escritura de contenido. Haiku para tareas simples de alto volumen —clasificación, extracción, Q&A básico— donde el costo importa más que la profundidad máxima.

El protocolo nativo de Anthropic: más allá de la compatibilidad con OpenAI

La Messages API de Anthropic es fundamentalmente diferente de la Chat Completions API de OpenAI. Las diferencias no son cosméticas —habilitan funciones que no existen en el mundo compatible con OpenAI.

Diferencias estructurales clave. El prompt de sistema es un parámetro de nivel superior, no un rol de mensaje. Los mensajes alternan entre roles user y assistant.

El uso de herramientas y sus resultados son tipos de bloques de contenido dentro de los mensajes, no roles de mensaje separados. Los bloques de pensamiento son un tipo de contenido que revela el razonamiento interno del modelo.

Estas diferencias son por qué Claude Code, Cursor con Anthropic nativo y otras herramientas nativas de Claude requieren el protocolo nativo —todo su UX depende de funciones que la traducción compatible con OpenAI elimina.

Python —SDK nativo de Anthropic:

import anthropic

client = anthropic.Anthropic(
    base_url="https://api.tokspan.com/anthropic",  # Native protocol endpoint
    api_key="ts-your-key-here"
)

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1000,
    system="You are a senior software engineer. Answer with code when appropriate.",
    messages=[
        {"role": "user", "content": "Write a Python function to detect deadlocks in a concurrent system."}
    ]
)

print(response.content[0].text)

Qué pierdes con la traducción compatible con OpenAI. El pensamiento extendido (la cadena de razonamiento interno del modelo) se elimina —pagas por tokens de pensamiento pero nunca los ves. El uso de herramientas se degrada —los bloques estructurados de contenido tool_use se vuelven JSON plano, perdiendo información de tipos y resultados parciales en streaming. El modelo ya no puede intercalar razonamiento con acción, así que los loops de agentes que dependen de la ejecución de herramientas en tiempo real ven resultados fabricados en lugar de reales. Computer use no funciona en absoluto —depende de funciones nativas del protocolo que no tienen equivalente en OpenAI.

Si usas Claude para algo más que chat simple, usa el protocolo nativo. El descuento de 90% en prompt caching también requiere el protocolo nativo —las capas compatibles con OpenAI típicamente no propagan los marcadores cache_control.

Pensamiento extendido y bloques de pensamiento

El pensamiento extendido es la característica más distintiva de Claude. El modelo realiza razonamiento interno de cadena de pensamiento antes de generar su respuesta. Con el pensamiento habilitado, puedes ver este razonamiento —la guía de pensamiento extendido de Anthropic cubre configuración y mejores prácticas— que es invaluable para depurar prompts, entender decisiones del modelo y construir confianza en salidas complejas.

Cómo funciona el pensamiento. Configuras un parámetro thinking con un valor budget_tokens (mínimo 1,024). Claude asigna hasta esa cantidad de tokens para razonamiento interno. Esos tokens se facturan a la tarifa de salida.

Después del pensamiento, Claude genera la respuesta visible. El pensamiento se devuelve en bloques de contenido thinking separados de la respuesta de texto.

Configurando el pensamiento:

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=2000,
    thinking={
        "type": "enabled",
        "budget_tokens": 2048  # Allow up to 2,048 tokens for reasoning
    },
    messages=[
        {"role": "user", "content": "Analyze this distributed system design for failure modes."}
    ]
)

# Access the model's reasoning
for block in response.content:
    if block.type == "thinking":
        print(f"Claude's reasoning:\n{block.thinking}")
    elif block.type == "text":
        print(f"Claude's response:\n{block.text}")

Cuándo usar el pensamiento extendido. Depuración compleja: siempre activado. Análisis arquitectónico: siempre activado. Tareas de código donde la corrección importa más que la velocidad: activado, con budget_tokens en 2,048–4,096.

Q&A simple, clasificación y resumen: desactivado —los tokens de pensamiento agregan costo sin mejorar la calidad de salida para tareas simples.

Compensación de costos. El pensamiento agrega 20–40% al consumo de tokens en promedio. Un request que normalmente consume 1,500 tokens (entrada + salida) podría consumir 2,100 tokens con el pensamiento habilitado. Para un request de $0.05, eso es $0.07 —un aumento del 40%.

Para la sesión de depuración donde Claude atrapa un bug de concurrencia que te habría tomado cuatro horas encontrar, los $0.02 extra son el mejor dinero que gastarás en toda la semana.

Prompt caching: 90% de descuento en tus costos de entrada

Claude ofrece el prompt caching más agresivo de la industria —90% de descuento en tokens de entrada cacheados vía bloques cache_control en la Messages API. Para la mecánica de cómo funciona el caching, la economía de escritura/lectura de caché, el comportamiento de TTL y la estrategia entre proveedores, consulta nuestra inmersión profunda en prompt caching.

Implementación:

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1000,
    system=[
        {
            "type": "text",
            "text": "You are a code reviewer. Here are our coding standards...",
            "cache_control": {"type": "ephemeral"}  # Cache this system prompt
        }
    ],
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Review this PR diff: ...",
                    "cache_control": {"type": "ephemeral"}  # Can be cached if repeated
                }
            ]
        }
    ]
)

Uso de herramientas y computer use

El uso de herramientas de Claude es estructuralmente diferente del function calling de OpenAI —y en producción, la diferencia importa. Los desarrolladores que tratan el tool calling de Claude como un reemplazo directo del function calling de OpenAI descubren la brecha en su primer loop de agente en streaming.

La ruptura más común: OpenAI devuelve tool_calls como un delta que acumulas a través de los chunks de streaming. Claude devuelve tool_use como un bloque de contenido al mismo nivel que los bloques text —lo procesas como un objeto completo, no como un flujo de fragmentos. El código escrito para el patrón de OpenAI silenciosamente descarta las llamadas de herramientas de Claude porque busca delta.tool_calls en una estructura donde el uso de herramientas llega como content[1].type == "tool_use". La solución es sencilla una vez que conoces la diferencia, pero diagnosticarla la primera vez cuesta a los equipos horas de depuración de lo que parece el modelo “ignorando” sus herramientas.

Para una comparación completa entre proveedores con código funcional para las cuatro plataformas, consulta nuestra guía de function calling y uso de herramientas.

Uso de herramientas —implementación en Python:

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1000,
    tools=[{
        "name": "search_codebase",
        "description": "Search the codebase for a given symbol or pattern.",
        "input_schema": {
            "type": "object",
            "properties": {
                "query": {"type": "string", "description": "Search query"},
                "file_pattern": {"type": "string", "description": "Optional glob pattern, e.g. '*.py'"}
            },
            "required": ["query"]
        }
    }],
    messages=[{"role": "user", "content": "Find where authentication logic is implemented."}]
)

# Handle tool_use content blocks
for block in response.content:
    if block.type == "tool_use":
        tool_name = block.name
        tool_input = block.input
        # Execute the tool, then continue the conversation with tool_result

Diferencia clave con OpenAI. Claude devuelve tool_use como un bloque de contenido dentro del mensaje junto a los bloques text —son pares en el arreglo de contenido. OpenAI devuelve tool_calls como un campo separado del mensaje. Esta diferencia estructural significa que Claude puede intercalar pensamiento, texto y llamadas de herramientas en una sola respuesta —el modelo puede explicar lo que está haciendo mientras llama herramientas.

Qué se rompe con la traducción compatible con OpenAI. Envía a Claude una solicitud de búsqueda en la base de código a través de un endpoint compatible con OpenAI, y la respuesta podría decir: “Déjame buscar el módulo auth… [tool_use: search_codebase query=‘auth’] Lo encontré en src/auth/handlers.py.” Bajo protocolo nativo, obtienes tres bloques de contenido distintos en secuencia: un bloque de texto que explica la intención, un bloque tool_use estructurado con entrada tipada, y otro bloque de texto con los hallazgos. Tu loop de agente procesa cada bloque, ejecuta la herramienta e inyecta un tool_result para continuar. Bajo traducción compatible con OpenAI, esos tres bloques se fusionan en una sola cadena de texto plano. Tu loop de agente ve un solo mensaje sin bloque tool_use accionable. La llamada de herramienta nunca se ejecuta. La explicación del modelo —“Lo encontré en src/auth/handlers.py”— fue escrita antes de que la búsqueda realmente se ejecutara, así que la ruta del archivo puede estar alucinada. Este modo de fallo es silencioso: el modelo suena seguro, pero cada resultado está fabricado.

Nativo vs. compatible: una tarea real comparada. Ejecutamos la misma tarea de revisión de PR a través de Claude Opus 4.8 dos veces —una nativa, una a través de un endpoint compatible con OpenAI. La tarea: encontrar todos los patrones de inyección SQL en una base de código Python de 200 archivos, explicar cada hallazgo y sugerir correcciones. Protocolo nativo: Claude transmitió 14 bloques intercalados de text y tool_use. El agente ejecutó cada búsqueda de archivo a medida que llegaba, procesando resultados parciales de inmediato. Tiempo total: 32 segundos, 8,400 tokens. Compatible con OpenAI: las llamadas de herramientas llegaron como JSON plano adjunto al mensaje final. Sin uso de herramientas en streaming, sin resultados parciales. El agente no pudo empezar a procesar hasta que la respuesta completa terminó a los 68 segundos. Dos búsquedas agotaron el tiempo y requirieron reintentos. Tiempo total: 94 segundos, 11,500 tokens con reintentos. Mismo modelo, misma tarea —la única variable era la capa de protocolo.

Computer use (beta). Claude puede interactuar con una interfaz de computadora —mover el cursor, hacer clic, escribir. Esto es experimental y caro (facturado a tarifas estándar de salida por las capturas de pantalla y acciones involucradas). No lo uses para nada que puedas lograr con una llamada de herramienta. Sí úsalo para automatizar aplicaciones heredadas que no tienen API, o para probar aplicaciones GUI donde la verificación visual importa.

Integración con Claude Code. Claude Code —el agente CLI de código de Anthropic— usa exclusivamente el protocolo nativo. Para construir arquitecturas de agentes que aprovechen este protocolo, consulta nuestra guía de arquitectura de agentes de IA. Para usar Claude Code con una plataforma de agregación, configura:

export ANTHROPIC_BASE_URL="https://api.tokspan.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="ts-your-key-here"

Claude Code usará el endpoint nativo de Anthropic de la plataforma de forma transparente. Todas las funciones —pensamiento extendido, uso de herramientas, computer use— funcionan sin modificación.

Acceso y pago: resolviendo el problema del bloqueo de Claude

El acceso directo a la API de Anthropic está disponible en un conjunto de regiones soportadas, y la aceptación de tarjetas varía según el país. Claude Code y el SDK de Anthropic verifican tu región en cada conexión.

Tres métodos de acceso que funcionan en julio de 2026:

  1. Plataforma de agregación con soporte nativo de Anthropic. Configura ANTHROPIC_BASE_URL con el endpoint de la plataforma. Usa tu API key de la plataforma. Todas las funciones de Claude funcionan —pensamiento extendido, caching, uso de herramientas.

  2. Gateway auto-alojado para el control de datos empresariales. Despliega LiteLLM o un gateway en infraestructura que controles. Conecta a Anthropic desde tu propio entorno. Requiere mantener infraestructura y tener una cuenta de Anthropic con un método de pago soportado.

  3. API directa con pago soportado. Si tienes un método de pago aceptado por Anthropic y estás en una región soportada, el acceso directo a la API funciona. Esta es la opción más simple si está disponible para ti.

Para una guía completa sobre la integración de Claude y otros modelos de frontera a través de un único endpoint de API, con comparaciones de latencia y código, consulta cómo acceder a OpenAI y Claude API en 2026.

FAQ

¿Realmente necesito el SDK nativo de Anthropic?

Para chat básico: no, lo compatible con OpenAI funciona. Para pensamiento extendido, uso de herramientas, computer use y prompt caching: sí, se requiere Anthropic nativo.

Esas funciones son la ventaja competitiva de Claude. Usar Claude sin ellas es como comprar un auto deportivo y nunca salir de la primera marcha.

¿Cuánto cuestan los tokens de pensamiento?

Los tokens de pensamiento se facturan a la tarifa de salida —$25/M para Opus, $15/M para Sonnet. Presupuesta 20–40% más tokens por request cuando uses pensamiento extendido. Una respuesta de 1,000 tokens con 500 tokens de pensamiento en Opus cuesta ~$0.0375 vs. $0.025 sin pensamiento.

¿Por qué Claude Code requiere el protocolo nativo?

Claude Code usa bloques de pensamiento, uso de herramientas en streaming y patrones de conversación de múltiples turnos que no sobreviven la traducción compatible con OpenAI. Todo el UX de la herramienta —mostrar el razonamiento del modelo, manejar resultados de herramientas a mitad del stream— depende de funciones nativas del protocolo.

¿Cómo uso Claude si el acceso directo no está disponible donde estoy?

Usa una plataforma de agregación con soporte de protocolo nativo de Anthropic. Configura ANTHROPIC_BASE_URL con el endpoint de la plataforma. Configura ANTHROPIC_AUTH_TOKEN con tu key de la plataforma.

Claude Code y el SDK de Anthropic funcionan idénticamente.

¿Claude Opus vs. Sonnet: vale la pena la diferencia de precio?

Para depuración compleja y agentes de producción: sí —el razonamiento arquitectónico más profundo de Opus atrapa casos límite que Sonnet pierde. Para chat cotidiano, generación de contenido y código simple: Sonnet es 40% más barato y lo suficientemente cercano en calidad para que los usuarios no noten la diferencia.

El mercado de LLM APIs en 2026 se está dividiendo a lo largo de una línea de falla que la mayoría de los desarrolladores aún no ha notado. De un lado: el estándar compatible con OpenAI, una capa comoditizada donde los modelos son intercambiables y el precio es el único diferenciador.

Del otro: protocolos nativos —el protocolo Messages de la API de Claude, la Gemini API de Google— donde funciones específicas del proveedor como pensamiento extendido, function calling automático y uso de herramientas en streaming crean brechas de capacidad genuinas que ninguna capa de compatibilidad puede salvar.

Los desarrolladores que construyen sobre protocolos nativos no están apostando por un proveedor. Están apostando a que la capa comoditizada siempre será un subconjunto de lo que los mejores modelos pueden hacer realmente. Hasta ahora, esa apuesta está dando frutos.

El protocolo nativo importa por las funciones que hacen que Claude valga la pena —pensamiento extendido, uso de herramientas y prompt caching con 90% de descuento en el costo de entrada. Si el acceso directo a la API no está disponible en tu región, o si quieres mantener a Claude junto a otros modelos detrás de una sola relación de facturación, las plataformas de agregación que hablan el protocolo Messages nativo te permiten usar Claude Code de forma idéntica configurando ANTHROPIC_BASE_URL y ANTHROPIC_AUTH_TOKEN con el endpoint de la plataforma.