Claude Sonnet 5.5
Referencia de Messages para Claude Sonnet 5.5: parámetros oficiales, pensamiento adaptativo y entre llamadas a herramientas, uso de caché, campos de respuesta y límites de compatibilidad probados.
Usa claude-sonnet-5-5 con el formato Anthropic Messages. Este documento distingue la especificación oficial de las solicitudes del comportamiento observado en las pruebas de compatibilidad. Algunas opciones avanzadas todavía no se comportan según lo especificado; revisa las limitaciones antes de depender de ellas.
Consulta la página del modelo para ver los precios actuales de entrada, salida y caché.
Inicio rápido
curl https://api.seedrouter.ai/v1/messages \
-H "x-api-key: $SEEDROUTER_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Explain how a rainbow forms in three sentences."}]
}'POST /v1/messages acepta autenticación mediante x-api-key o Bearer y anthropic-version: 2023-06-01. Envía una cabecera anthropic-beta para las funciones cuya documentación oficial la requiera. Guarda las credenciales en el código del servidor.
El modelo también acepta solicitudes básicas de OpenAI Chat Completions (POST /v1/chat/completions) y Responses (POST /v1/responses). Usa Messages para los parámetros nativos descritos a continuación; la conversión del formato OpenAI no ofrece todas las funciones de Anthropic.
Especificación oficial de parámetros
Sonnet 5.5 tiene una ventana de contexto de 1M tokens y un límite de salida síncrona de 128000 tokens. Los límites de salida específicos de Batch no se aplican a este endpoint. La aplicación no asigna valores predeterminados a las propiedades opcionales, salvo que la tabla indique lo contrario.
| Parámetro | Tipo / obligatorio | Restricciones y valores predeterminados oficiales |
|---|---|---|
model | string, obligatorio | claude-sonnet-5-5. |
max_tokens | integer, obligatorio | 0–128000, incluidos los tokens de pensamiento. Oficialmente, 0 llena la caché de prompts sin generar salida; consulta la limitación actual más abajo. |
messages | array de objetos, obligatorio | Al menos un mensaje de conversación y como máximo 100000. Cada uno tiene role y content; content es una cadena o un array de bloques de contenido. Los turnos normales usan user/assistant. Los mensajes system en mitad de la conversación siguen las reglas oficiales de ubicación. |
system | string o array de bloques de texto | Instrucciones de nivel superior. Los bloques de texto pueden incluir puntos de interrupción de caché. |
thinking | object | Valor predeterminado: {"type":"adaptive"}. El otro modo compatible es {"type":"between_tools"}. Los presupuestos manuales y disabled se rechazan. |
thinking.display | enum | Solo en modo adaptativo: omitted (predeterminado) o summarized. Omitir el resumen no significa que el pensamiento esté desactivado. |
thinking.block_binding | object, beta | Solo en modo adaptativo. Requiere thinking-binding-controls-2026-08-01; sigue la especificación oficial de conservación del pensamiento. |
output_config.effort | enum o null | low, medium, high, xhigh, max; el valor predeterminado es high. Null mantiene el valor predeterminado. |
output_config.format | object o null | Salida JSON estructurada: {"type":"json_schema","schema":{...}}. Usa el subconjunto compatible de JSON Schema. |
stream | boolean | El valor predeterminado es false; true devuelve eventos SSE. |
stop_sequences | array de cadenas | Oficialmente, detiene la generación al encontrar una cadena coincidente. La prueba de compatibilidad actual no aplicó este comportamiento. |
temperature | number o null | Solo se acepta 1 por compatibilidad; omítelo. Los demás valores distintos de null se rechazan. |
top_p | number o null | Solo se acepta 0.99–1 por compatibilidad; omítelo. |
top_k | ningún valor distinto de null | El muestreo no es compatible; omite esta propiedad. |
tools | array de objetos | Las herramientas del cliente tienen name, input_schema y ajustes opcionales de descripción o modo estricto. Las herramientas del servidor usan sus definiciones oficiales con versión. |
tool_choice | object | auto (predeterminado) o none. Se rechazan any y un tool forzado por nombre. auto puede incluir disable_parallel_tool_use. |
metadata.user_id | string o null | Como máximo 512 caracteres; usa un identificador opaco. |
cache_control | object o null | type: "ephemeral"; ttl: "5m" (predeterminado) o "1h". Sonnet 5.5 requiere al menos 512 tokens que puedan almacenarse en caché. La API oficial también admite puntos de interrupción de caché a nivel de bloque. |
diagnostics | object o null | previous_message_id: cadena de hasta 256 caracteres o null. Solicita diagnósticos de divergencias en la caché. |
service_tier | enum | auto (predeterminado) o standard_only. |
speed | enum o null | Omítelo o usa standard / null. Sonnet 5.5 no admite fast. |
inference_geo | string o null | El valor predeterminado oficial procede de la configuración de la cuenta. La aceptación de una solicitud por sí sola no verifica dónde se procesó. |
fallbacks | string, array de objetos o null, beta | "default" o hasta tres entradas de fallback. Cada una requiere model; los parámetros que puedes sobrescribir son max_tokens, thinking, output_config y speed. Consulta las reglas de fallback más abajo. |
fallback_credit_token | string, object o null | Un token de un rechazo anterior o {"token":"...","mode":"strict"}. La forma de objeto requiere fallback-credit-2026-07-01; mode es strict (predeterminado) o best_effort. No puede acompañar a un valor de fallbacks distinto de null. |
container | string, object o null | ID del contenedor o configuración del contenedor con id y skills opcionales (como máximo 20). Las Skills usan los campos oficiales de tipo, identificador y versión. |
context_management | object o null | Configuración oficial de edición del contexto, incluido edits; null omite el ajuste. La compatibilidad de edición específica del modelo sigue siendo aplicable. |
mcp_servers | array de objetos | Definiciones oficiales de servidores MCP, sujetas a los requisitos de versión beta y autenticación del servidor. Una prueba con un array vacío no verifica la ejecución remota de MCP. |
compaction | object o null, beta | {"type":"summarize"}, con compact-2026-09-04; null omite la compactación. Si se activa, no puede combinarse con un valor de context_management distinto de null, secuencias de parada o un formato de salida estructurada. El comportamiento de compactación firmada no superó la prueba actual. |
messages[].output_config.effort | enum, beta | Esfuerzo por mensaje en un mensaje system; requiere mid-conversation-output-config-2026-07-01. Los mensajes system que solo fijan el esfuerzo pueden aparecer en cualquier posición; los grupos system con contenido siguen las reglas oficiales de ubicación. No debe cambiar el esfuerzo en modo between_tools. |
between_tools solo acepta su propiedad type y los niveles de esfuerzo low, medium o high. No envíes display, budget_tokens ni block_binding con este modo. Ejemplo:
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"thinking": {"type": "between_tools"},
"output_config": {"effort": "medium"},
"messages": [{"role": "user", "content": "Explain this concept briefly."}]
}El prellenado del asistente no es compatible. Para continuar un pause_turn, reenvía sin cambios el contenido assistant de la herramienta del servidor que recibiste en la respuesta. La compactación resume el historial existente y no es un prellenado del asistente. Conserva exactamente los bloques de pensamiento y las firmas; no los muevas entre modelos ni edites el historial anterior sin seguir las reglas oficiales de vinculación.
En la API nativa de Claude, el uso de ordenador requiere computer_toolset_20260801; computer_20251124 se rechaza. También se rechazan para este modelo ejecutor las configuraciones Advisor que usan claude-opus-4-8, claude-opus-4-7 o claude-sonnet-5.
Campos de solicitud de fallback
La función beta oficial fallbacks reintenta los rechazos del clasificador que cumplen los requisitos. No reintenta límites de frecuencia, sobrecargas ni errores del servidor, y el rechazo puede persistir. Envía server-side-fallback-2026-07-01 para usar "default" o una lista explícita; server-side-fallback-2026-06-01 solo admite la lista. Las demás versiones fechadas se rechazan.
Una lista explícita contiene como máximo tres entradas con modelos distintos, ninguno igual al modelo solicitado. Los destinos permitidos proceden de allowed_fallback_models de la beta Models API. Cada entrada solo admite model, max_tokens, thinking, output_config y speed; los valores sobrescritos deben ser válidos para el modelo de destino. Cuando se produce ese fallback, la beta de julio convierte between_tools de Sonnet 5.5 en disabled de Sonnet 5 y omite display. Con la beta de junio, debes sobrescribir tú el ajuste de pensamiento de Sonnet 5.
fallback_credit_token se usa para un reintento independiente después de un rechazo. Una cadena selecciona el canje estricto; un objeto añade mode. En modo strict, un canje fallido rechaza el reintento. En modo best_effort, un fallo en la capa del token puede permitir continuar al precio normal y queda registrado en usage.fallback_credit; los tokens mal formados y la combinación del crédito con fallbacks siguen fallando. El canje también exige cumplir los requisitos de solicitud, cuenta, espacio de trabajo, plataforma y plazo de cinco minutos descritos en la guía oficial del crédito.
Una solicitud de contenido inocuo con fallbacks: "default", la cabecera beta de julio y speed: "standard" devolvió el texto esperado. Esto solo confirma la aceptación de la solicitud: la ejecución del fallback y el canje del crédito no se han verificado de extremo a extremo aquí.
Entradas multimedia y de herramientas
Las imágenes usan bloques image y los PDF bloques document en un mensaje del usuario. Los tipos de fuente oficiales incluyen URL públicas y base64 con el tipo MIME correspondiente. Las comprobaciones de compatibilidad usaron un PNG en base64 y un PDF de una página en base64, y verificaron el contenido de las respuestas. No se probaron todas las URL ni todos los límites de tamaño de archivo, resolución de imagen o número de páginas PDF.
Las herramientas del cliente usan el intercambio estándar tool_use → tool_result. Mantén los ID de uso de herramientas y devuelve el resultado en un mensaje del usuario. Un ejemplo correcto de herramienta en modo estricto verifica los argumentos de ese ejemplo, no todas las palabras clave compatibles de JSON Schema.
Respuestas
Una respuesta sin streaming contiene id, type: "message", role: "assistant", model, content, stop_reason, stop_sequence y usage, además de campos oficiales opcionales como container, diagnostics, context_management, stop_details y campos de respuesta beta. El contenido puede incluir texto, pensamiento, llamadas a herramientas, resultados de herramientas u otros tipos de bloques oficiales; no des por hecho que el primer bloque es texto.
En streaming, procesa message_start, content_block_start, content_block_delta, content_block_stop, message_delta y message_stop. También pueden producirse errores dentro del flujo. El uso puede incluir tokens ordinarios de entrada/salida, detalles de los tokens de pensamiento, lecturas de caché y recuentos separados de creación de caché para duraciones de 5 minutos / 1 hora.
Un rechazo oficial del clasificador es una respuesta normal con stop_reason: "refusal" y stop_details, en lugar de un error HTTP. En una respuesta de fallback, model identifica el modelo que respondió, los bloques de contenido fallback marcan las transiciones y usage.iterations describe los intentos. Revisa estos campos en vez de suponer que el modelo solicitado generó la respuesta. Estos comportamientos de respuesta siguen sin verificarse aquí.
Los errores de Messages usan {"type":"error","error":{"type":"...","message":"..."}}. Las solicitudes fallidas no se cobran.
Verificación de compatibilidad: 2026-10-01
| Resultado | Comportamiento comprobado |
|---|---|
| Funcionamiento observado | Texto básico, recuerdo del contexto en conversaciones normales de varios turnos, instrucciones del sistema sin conflicto en formato de cadena/bloque, streaming, solicitudes de pensamiento adaptativo y entre llamadas a herramientas, salida JSON, herramientas auto/none, una llamada a herramienta en modo estricto, reenvío de resultados de herramientas, entradas de imagen/PDF en base64 y uso de escritura/lectura de caché de 5m/1h. |
| Rechazado según la especificación del modelo | Presupuestos de tokens de salida no válidos, ajustes de muestreo eliminados, pensamiento manual/desactivado, combinaciones between-tools no válidas, herramientas forzadas, prellenado del asistente, herramientas de ordenador antiguas e ID de metadata demasiado largos. |
| Aceptado, efecto no establecido | Los cinco niveles de esfuerzo, pensamiento resumido, ajustes de vinculación, metadata, nivel de servicio, selección de región, diagnósticos, una lista vacía de ediciones del contexto, contenedor null, lista MCP vacía y declaración del conjunto de herramientas de ordenador. Declarar ese conjunto no demuestra que el uso de ordenador se haya ejecutado correctamente. |
| Incompatibilidad conocida | max_tokens: 0 devolvió 400. Una solicitud con secuencia de parada devolvió la cadena de parada y el texto posterior. La compactación bajo demanda devolvió texto ordinario en lugar de un bloque de compactación firmado. |
| Comportamiento adicional que requiere investigación | Una solicitud con esfuerzo por mensaje no recordó el valor anterior; una prueba con instrucciones de sistema/usuario contradictorias siguió la instrucción del usuario. Estos resultados no demuestran que todos los prompts del sistema o las solicitudes de varios turnos fallen. |
La ejecución de herramientas beta, las conexiones MCP reales, las referencias de Files API, la residencia geográfica de datos, el reenvío de firmas de pensamiento, los límites completos de contexto/salida, los casos límite multimedia y el comportamiento de rechazo/fallback no se han validado de extremo a extremo. Un HTTP 200 y el nombre de modelo devuelto no autentican qué modelo se ejecutó ni demuestran que todas las opciones enviadas tuvieran efecto.
