Claude Opus 5 se lanzó el 24 de julio de 2026, y Anthropic ahora lo indica a los desarrolladores como primera opción: la documentación dice que si no estás seguro de qué modelo usar, comiences con Claude Opus 5. El ID del modelo API es la cadena exacta claude-opus-5, sin sufijo de fecha.
Esta guía recorre todo el camino: obtener una clave, enviar una primera solicitud, streaming, uso de herramientas, pensamiento adaptativo, el parámetro effort y la lectura del objeto usage para confirmar que su caché de prompts está funcionando. Cada solicitud aquí es HTTP simple con JSON de entrada y JSON de salida, por lo que puede construirla y depurarla en Apidog antes de integrarla en el código de su aplicación.
Dos cambios con respecto a Opus 4.8 le afectarán en la primera llamada, por lo que se presentan antes que cualquier otra cosa. Si está migrando un servicio existente en lugar de comenzar de cero, lea la guía completa de migración de Opus 4.8 a Opus 5 junto con esta.
Antes de su primera llamada: dos cambios disruptivos
1. El pensamiento está activado por defecto. En Opus 4.8, una solicitud sin el campo thinking se ejecutaba sin pensar en absoluto. En Opus 5, esa misma solicitud se ejecuta con pensamiento adaptativo. max_tokens sigue siendo un límite estricto para los tokens de pensamiento más los tokens de respuesta juntos, por lo que un cuerpo de solicitud que copió de una integración 4.8 funcional ahora puede truncarse a mitad de la respuesta. Si su max_tokens estaba ajustado precisamente a la longitud de salida esperada, auméntelo.
2. Desactivar el pensamiento limita su nivel de esfuerzo. Enviar thinking: {"type": "disabled"} junto con un esfuerzo de xhigh o max devuelve un 400. Anthropic aplica esto por solicitud, por lo que falla inmediatamente en lugar de degradarse silenciosamente. La solución es elegir una: mantener el pensamiento activado y reducir el esfuerzo para controlar el costo, o mantener el pensamiento desactivado y limitar el esfuerzo a high.
El propio consejo de Anthropic es la primera opción. Con el pensamiento desactivado, Opus 5 ocasionalmente escribe las llamadas a herramientas como texto plano (nunca se ejecutan, y el texto filtrado contamina turnos posteriores en un bucle de agente) y a veces filtra etiquetas <thinking> en la salida visible. Mantener el pensamiento activado y reducir el esfuerzo evita ambos problemas.
Ambos cambios están documentados en la guía de migración de modelos de Anthropic.
Paso 1: Obtener una clave API
Inicie sesión en la Plataforma de Desarrolladores de Claude, abra la sección de claves API en la configuración de su organización y cree una clave. Cópiela una vez; no podrá leerla de nuevo más tarde.
Guárdela en una variable de entorno en lugar de pegarla directamente en el código:
export ANTHROPIC_API_KEY="sk-ant-..."
Si está probando en un cliente GUI, coloque la clave también en una variable de entorno allí. En Apidog, esto significa crear un entorno (Local, Staging, Production) con una variable ANTHROPIC_API_KEY, y luego hacer referencia a {{ANTHROPIC_API_KEY}} en el encabezado. Sus solicitudes guardadas seguirán siendo compartibles con el equipo y el secreto nunca terminará en una exportación de colección.

También necesita añadir créditos de facturación antes de que las solicitudes tengan éxito. Las tarifas para Opus 5 son de $5 por millón de tokens de entrada y $25 por millón de tokens de salida, las mismas que Opus 4.8, y el desglose completo de precios cubre tarifas de caché, lotes y modo rápido.
Paso 2: Enviar su primera solicitud
El endpoint es POST https://api.anthropic.com/v1/messages. Tres encabezados son importantes: su clave, la versión de la API y el tipo de contenido.
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-opus-5",
"max_tokens": 4096,
"messages": [
{"role": "user", "content": "Explain the difference between a 429 and a 529 from an API perspective."}
]
}'
Observe el valor de max_tokens. 4096 es un aumento deliberado con respecto a los 1024 que ve en la mayoría de los fragmentos de inicio, porque los tokens de pensamiento ahora provienen del mismo presupuesto.
El equivalente en Python a través del SDK oficial:
import os
from anthropic import Anthropic
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
message = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
messages=[
{"role": "user", "content": "Explain the difference between a 429 and a 529 from an API perspective."}
],
)
for block in message.content:
if block.type == "text":
print(block.text)
Ese bucle sobre message.content no es una decoración. El content de la respuesta es una matriz de bloques tipificados, y con el pensamiento activado ahora verá un bloque thinking antes del bloque text. El código que asumía que content[0].text era la respuesta, se rompe en Opus 5. Esta es la falla de actualización más común, y es fácil pasarla por alto porque la solicitud aún devuelve un 200.
Algunas especificaciones que vale la pena tener en cuenta mientras construye: Opus 5 tiene una ventana de contexto de 1M de tokens tanto como predeterminada como máxima (sin encabezado beta, sin prima de precio por contexto largo), una salida máxima de 128k en la API de Mensajes y una fecha de corte de conocimiento de mayo de 2026. La descripción general de los modelos tiene la tabla completa, y nuestro explicador de Opus 5 cubre el resto de la hoja de especificaciones.
Paso 3: Trabajar con el pensamiento adaptativo
El pensamiento adaptativo significa que el modelo decide cuánto razonamiento interno merece una solicitud. Usted no establece un presupuesto de tokens. Lo dirige con el esfuerzo, que se cubre en el siguiente paso.
Lo que necesita manejar en el código:
- Parsear bloques por tipo. Filtre por
block.type == "text"para la respuesta visible yblock.type == "thinking"si desea registrar el razonamiento. - Devolver los bloques de pensamiento sin cambios. En bucles de múltiples turnos y uso de herramientas, adjunte la matriz de contenido completa del asistente a su historial de mensajes en lugar de reconstruirlo a partir del texto. Eliminar bloques a mitad de la conversación degrada el bucle.
- Presupuestar
max_tokenspara ambos. El pensamiento más la respuesta comparten el límite. El truncamiento aparece comostop_reason: "max_tokens", así que afirme ese campo en sus pruebas.
Para desactivar el pensamiento por completo:
{
"model": "claude-opus-5",
"max_tokens": 4096,
"thinking": {"type": "disabled"},
"output_config": {"effort": "high"},
"messages": [{"role": "user", "content": "Return only the HTTP status code."}]
}
El esfuerzo está limitado a high en esa solicitud a propósito. Auméntelo a xhigh y obtendrá el error 400 descrito anteriormente.
Paso 4: Controlar el costo con output_config.effort
El campo effort se encuentra dentro de output_config y acepta low, medium, high, xhigh o max. Su valor predeterminado es high. Este es el parámetro que la cobertura general describió como un interruptor entre costo y capacidad; en la API es una cadena en el cuerpo de su solicitud.
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-opus-5",
"max_tokens": 65536,
"output_config": {"effort": "xhigh"},
"messages": [
{"role": "user", "content": "Refactor this handler to stream responses and keep backpressure."}
]
}'
Tres cosas que debe saber antes de ajustarlo.
- Los niveles han sido recalibrados. Anthropic dice explícitamente que no debe trasladar la configuración de esfuerzo de Opus 4.8.
lowymediumson significativamente más potentes en Opus 5 que en modelos Opus anteriores, lo que significa que las cargas de trabajo que antes ejecutaba enhighahora pueden funcionar bien a un costo menor. Realice una nueva evaluación con sus propias pruebas en lugar de confiar en una asignación. xhighsigue siendo el punto de partida recomendado para la codificación y el trabajo de agente. También es dondemax_tokensmás importa. Dele espacio; 64k es un límite inicial sensato para turnos largos de agente, razón por la cual el fragmento anterior usa 65536.- Un menor esfuerzo reduce el pensamiento, no la longitud visible. Las respuestas predeterminadas y los entregables escritos de Opus 5 son más largos que los de Opus 4.8. Si desea una salida más corta, solicítelo en el prompt. Bajar a
lowno lo hará por usted. La inmersión profunda en el parámetro de esfuerzo explica una metodología de barrido completa.
Paso 5: Transmitir la respuesta (Streaming)
Añada "stream": true y el endpoint devolverá eventos enviados por el servidor en lugar de un único cuerpo JSON.
with client.messages.stream(
model="claude-opus-5",
max_tokens=4096,
messages=[{"role": "user", "content": "Draft a retry policy for a flaky upstream."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
final = stream.get_final_message()
print("\n\nusage:", final.usage)
La secuencia SSE sin procesar es message_start, luego content_block_start / content_block_delta / content_block_stop por cada bloque, luego message_delta que contiene stop_reason y el recuento final de tokens de salida, y finalmente message_stop.
Con el pensamiento activado, obtendrá dos bloques de contenido en streaming en orden: un bloque de pensamiento cuyas deltas llegan como thinking_delta, y luego el bloque de texto con text_delta. Una interfaz de usuario que renderice cada delta en el mismo búfer imprimirá el razonamiento del modelo a sus usuarios. Enrútelos por separado desde el principio.
El streaming también es donde un cliente GUI gana su lugar, porque leer SSE en bruto en una terminal es miserable. Apidog renderiza el flujo de eventos a medida que llega, para que pueda observar los límites de los bloques y confirmar sus suposiciones de análisis antes de escribir una sola línea de código de controlador.
Paso 6: Añadir uso de herramientas
Las definiciones de herramientas van en una matriz tools. El modelo responde con stop_reason: "tool_use" y un bloque de contenido tool_use; usted ejecuta la herramienta y envía el resultado de vuelta como un bloque tool_result en un nuevo mensaje de usuario.
tools = [
{
"name": "get_order_status",
"description": "Look up the current status of a customer order by ID.",
"input_schema": {
"type": "object",
"properties": {
"order_id": {"type": "string", "description": "The order ID, e.g. A-10293"}
},
"required": ["order_id"],
},
}
]
message = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=tools,
messages=[{"role": "user", "content": "What's the status of order A-10293?"}],
)
if message.stop_reason == "tool_use":
call = next(b for b in message.content if b.type == "tool_use")
result = get_order_status(**call.input)
follow_up = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=tools,
messages=[
{"role": "user", "content": "What's the status of order A-10293?"},
{"role": "assistant", "content": message.content},
{"role": "user", "content": [
{"type": "tool_result", "tool_use_id": call.id, "content": result}
]},
],
)
Pasar message.content directamente como el turno del asistente es lo que conserva el bloque de pensamiento. No reconstruya ese turno a mano.
Dos detalles de Opus 5 que importan para los agentes. El overhead del prompt del sistema para el uso de herramientas es menor que en Opus 4.8: 286 tokens con tool_choice configurado en auto o none, frente a 290 en 4.8 y 675 en Opus 4.7. Pequeño por solicitud, pero significativo a lo largo de un millón de turnos de agente. Y hay un encabezado beta, mid-conversation-tool-changes-2026-07-01, que le permite agregar o eliminar herramientas entre turnos sin invalidar la caché del prompt.
Opus 5 también delega a subagentes más fácilmente de lo que lo hacía 4.8. En cargas de trabajo sensibles al costo, defina eso explícitamente en su prompt de sistema en lugar de descubrirlo en la factura.
Paso 7: Leer el objeto de uso para aciertos de caché
Cada respuesta incluye un objeto usage. Es la única forma honesta de confirmar que su caché de prompts está funcionando.
"usage": {
"input_tokens": 84,
"cache_creation_input_tokens": 6421,
"cache_read_input_tokens": 0,
"output_tokens": 913
}
Para almacenar un bloque en caché, márquelo con cache_control:
{
"model": "claude-opus-5",
"max_tokens": 4096,
"system": [
{
"type": "text",
"text": "<your long, stable instructions and reference material>",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [{"role": "user", "content": "Question one."}]
}
Primera llamada: cache_creation_input_tokens es distinto de cero y cache_read_input_tokens es 0. Segunda llamada con el mismo prefijo: esos valores se invierten. Si nunca se invierten, su prefijo no es idéntico byte a byte o está por debajo del mínimo.
Ese mínimo es la buena noticia en Opus 5. El almacenamiento en caché de prompts ahora se activa a los 512 tokens, frente a los 1.024 de Opus 4.8. Los prompts que antes eran demasiado cortos para cachear, ahora se cachean sin ningún cambio en el código, y las lecturas de caché se facturan a $0.50 por millón de tokens frente a una tarifa base de entrada de $5. Afirme sobre cache_read_input_tokens en su suite de pruebas para que una edición de prompt que rompa silenciosamente la caché se muestre como una prueba fallida en lugar de una factura. Para más palancas, consulte nuestra guía sobre cómo reducir su factura de la API de Claude.
Pruebe y depure todo el flujo en Apidog
Todo lo anterior es una solicitud HTTP con encabezados de autenticación, un cuerpo JSON, un flujo SSE y una respuesta contra la que debe afirmar. Apidog es una plataforma de desarrollo de API todo en uno, y este es precisamente el tipo de endpoint que maneja: envía la solicitud, almacena la clave, renderiza el flujo y prueba la respuesta. No ejecuta inferencia ni enruta modelos; la llamada sigue yendo a Anthropic.

Una configuración que se amortiza desde el primer día:
- Cree la solicitud.
POST https://api.anthropic.com/v1/messagescon los tres encabezados, y la clave extraída de una variable de entorno en lugar de pegada en línea. - Guárdela en una colección. Su equipo reutiliza una forma de solicitud conocida y probada en lugar de que cada persona la reconstruya a partir de un fragmento de blog.
- Bifúrcela por nivel de esfuerzo. Duplique la solicitud con
output_config.effortconfigurado enlow,medium,highyxhigh, envíe el mismo prompt a cada una y compare la calidad de la salida, la latencia y el recuento de tokens lado a lado. Este es el barrido de esfuerzo que Anthropic le pide que ejecute, realizado sin escribir un arnés. - Observe el flujo SSE. Active
"stream": truey lea los eventos a medida que llegan para confirmar que maneja los bloques de pensamiento y los bloques de texto por separado. - Inspeccione las cargas útiles de las llamadas a herramientas. Cuando
stop_reasonvuelve comotool_use, el objetoinputexacto que produjo el modelo está ahí mismo, que es como se da cuenta de que suinput_schemaera demasiado permisivo. - Afirme sobre la respuesta. Agregue verificaciones de que
stop_reasonno seamax_tokens(su canario de truncamiento) y quecache_read_input_tokensesté por encima de cero en llamadas repetidas (su canario de caché).
Descargue Apidog si desea seguir la guía. El mismo patrón de colección funciona con cualquier modelo de Claude, por lo que puede apuntarlo a Sonnet 5 o a sus solicitudes existentes de Opus 4.8 y comparar el comportamiento.
Errores y trampas que realmente encontrará
- 400 en
thinking: disabledmás esfuerzoxhighomax. Cubierto anteriormente. Reduzca el esfuerzo ahigho reactive el pensamiento. - 400 en parámetros de muestreo.
temperature,top_pytop_kcon valores no predeterminados aún devuelven un 400, sin cambios desde Opus 4.8. Dirija a través del prompt del sistema en su lugar. - Respuestas truncadas.
stop_reason: "max_tokens"con el pensamiento activado significa que el límite engulló su respuesta. Aumentemax_tokens. - El nivel de prioridad no es compatible con Opus 5. Opus 4.8 lo mantiene. Si su planificación de capacidad empresarial depende de ello, eso es un verdadero obstáculo que debe solucionar antes de redirigir el tráfico.
- Los mensajes del sistema a mitad de conversación ahora funcionan. Una entrada
role: "system"dentro demessageses aceptada en Opus 5, donde Opus 4.8 devolvía un 400. Es útil y vale la pena saberlo para no seguir buscando soluciones alternativas. - Sobre-verificación. Opus 5 verifica su propio trabajo sin ser solicitado. Si heredó una instrucción de "verifique su respuesta antes de responder" de 4.8, elimínela. Ahora no le aporta nada y cuesta tokens de pensamiento.
El límite honesto
Opus 5 no es la cima de la pila de Claude, y vale la pena decirlo claramente. Fable 5 sigue siendo la designación de Anthropic como el "más capaz lanzado ampliamente", a $10 por millón de entradas y $50 por millón de salidas. Opus 5 también está por detrás de Mythos 5 en explotación de ciberseguridad e investigación de biología autónoma, lo que Anthropic mismo declara.
Las afirmaciones de referencia de lanzamiento (aproximadamente el doble de Opus 4.8 en Frontier-Bench v0.1, aproximadamente 3 veces el siguiente mejor modelo en ARC-AGI 3, dentro del 0.5% de Fable 5 en CursorBench 3.2) son todos números propios de Anthropic y no han sido reproducidos de forma independiente a partir del 25 de julio de 2026. Léalos como resultados proporcionados por el proveedor, y luego ejecute sus propias evaluaciones. La comparación de Opus 5 frente a Fable 5 analiza dónde la diferencia de precio vale la pena y dónde no, y la publicación de lanzamiento de Anthropic es la fuente principal de las afirmaciones mismas.
Preguntas Frecuentes (FAQ)
- ¿Cuál es el ID del modelo para Claude Opus 5?
claude-opus-5, exactamente, sin sufijo de fecha. En Amazon Bedrock esanthropic.claude-opus-5; Google Cloud y la Plataforma Claude en AWS usan el ID de primera parte. - ¿Por qué mi solicitud de Opus 4.8 que funcionaba comenzó a truncarse en Opus 5? El pensamiento está activado por defecto ahora.
max_tokenslimita los tokens de pensamiento y los tokens de respuesta juntos, por lo que un presupuesto que se ajustaba a su respuesta en 4.8 podría no ajustarse al razonamiento más la respuesta en Opus 5. Aumentemax_tokensy verifique si aparecestop_reason: "max_tokens". - ¿Por qué obtengo un 400 cuando desactivo el pensamiento? Es casi seguro que combinó
thinking: {"type": "disabled"}conoutput_config.effortconfigurado enxhighomax. Esa combinación es rechazada por solicitud. Limite el esfuerzo ahigh, o mantenga el pensamiento activado y reduzca el esfuerzo en su lugar. - ¿Necesito un encabezado beta para la ventana de contexto de 1M? No. En Opus 5, 1M de tokens es tanto el valor predeterminado como el máximo, sin encabezado beta y sin prima de precio por contexto largo. Sí necesita el encabezado beta
output-300k-2026-03-24para alcanzar 300k de salida en la API por lotes; la API de Mensajes limita la salida a 128k. - ¿Puedo reutilizar mi configuración de esfuerzo de Opus 4.8? Anthropic dice que no. Los niveles fueron recalibrados, y
lowymediumson significativamente más potentes en Opus 5. Realice un nuevo barrido con su propio conjunto de evaluación. - ¿Apidog ejecuta el modelo? No. Apidog envía, inspecciona y prueba la solicitud HTTP; la inferencia ocurre en el lado de Anthropic. Maneja claves, streaming, cargas útiles de llamadas a herramientas y afirmaciones de respuesta en torno a la llamada.
