Claude Opus 5.5 ya está disponible en SeedRouter
LogoSeedRouter

Busca modelos por nombre, p. ej. 'nano banana'

Busca modelos por nombre, p. ej. 'nano banana'

Text

Claude Haiku 5.5

View Markdown

Referencia Messages de Claude Haiku 5.5: parámetros, pensamiento, herramientas forzadas, caché, funciones beta, streaming y respuestas.

Usa claude-haiku-5-5 con POST https://api.seedrouter.ai/v1/messages. El modelo acepta texto, imágenes y documentos y devuelve texto o solicitudes de herramientas. La página del modelo muestra las tarifas actuales de tokens.

El contrato siguiente sigue la documentación específica del modelo de Anthropic, revisada el 9 de octubre de 2026. Los límites oficiales de capacidad y la verificación de extremo a extremo son distintos: que un campo se acepte no demuestra que haya producido el efecto previsto. Consulta los resultados de compatibilidad antes de usar opciones avanzadas.

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-haiku-5-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Classify this request as billing, technical or account: I was charged twice. Return only the label."}]
  }'
import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["SEEDROUTER_API_KEY"],
    base_url="https://api.seedrouter.ai",
)
message = client.messages.create(
    model="claude-haiku-5-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Summarize the purpose of a database index."}],
)
for block in message.content:
    if block.type == "text":
        print(block.text)
import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic({
  apiKey: process.env.SEEDROUTER_API_KEY,
  baseURL: 'https://api.seedrouter.ai',
});
const message = await client.messages.create({
  model: 'claude-haiku-5-5',
  max_tokens: 1024,
  messages: [{ role: 'user', content: 'Summarize the purpose of a database index.' }],
});
for (const block of message.content) {
  if (block.type === 'text') console.log(block.text);
}

Guarda tu clave API en el servidor. Selecciona los bloques de respuesta por type; una respuesta puede empezar con pensamiento o una llamada a herramientas.

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "os"
    "time"
)

func main() {
    body, err := json.Marshal(map[string]any{
        "model": "claude-haiku-5-5",
        "max_tokens": 1024,
        "messages": []map[string]string{
            {"role": "user", "content": "Summarize the purpose of a database index."},
        },
    })
    if err != nil { panic(err) }
    req, err := http.NewRequest("POST", "https://api.seedrouter.ai/v1/messages", bytes.NewReader(body))
    if err != nil { panic(err) }
    req.Header.Set("x-api-key", os.Getenv("SEEDROUTER_API_KEY"))
    req.Header.Set("anthropic-version", "2023-06-01")
    req.Header.Set("Content-Type", "application/json")
    client := &http.Client{Timeout: 2 * time.Minute}
    res, err := client.Do(req)
    if err != nil { panic(err) }
    defer res.Body.Close()
    data, err := io.ReadAll(res.Body)
    if err != nil { panic(err) }
    if res.StatusCode >= 400 { panic(fmt.Sprintf("HTTP %d: %s", res.StatusCode, data)) }
    fmt.Println(string(data))
}

Parámetros de solicitud

El contrato nativo contiene 25 campos de primer nivel. Opcional no significa que acepte null: solo lo aceptan las filas que mencionan explícitamente null. Los campos desconocidos y los campos de muestreo no admitidos se descartan antes del envío, según la política de parámetros de modelos de texto. Los valores inválidos de campos admitidos devuelven un invalid_request_error antes de generar.

CampoObligatorioContrato
modelSíclaude-haiku-5-5.
max_tokensSíEntero 0–128000, incluido el pensamiento. Sin valor predeterminado en la API. El Playground empieza en 8192.
messagesSí1–100000 mensajes con un rol y una cadena o un array de bloques de contenido. Consulta las reglas de conversación.
systemNoCadena o array de bloques de texto. No acepta null.
thinkingNoadaptive por defecto, o disabled. Sin presupuesto manual ni modo between_tools.
output_configNoObjeto con effort, format y el campo beta opcional task_budget.
stop_sequencesNoArray de cadenas de parada.
streamNoBooleano; false por defecto.
temperatureNoOmítelo. Se descarta aquí; el valor oficial de compatibilidad es 1.
top_pNoOmítelo. Se descarta aquí; el valor oficial de compatibilidad es 0.99.
top_kNoNo admitido; se descarta.
toolsNoArray de herramientas del cliente o declaraciones oficiales de herramientas del servidor.
tool_choiceNoauto, none, any o tool por nombre. Se admite forzar herramientas.
metadataNoObjeto; user_id opcional es una cadena de hasta 512 caracteres o null.
cache_controlNoNull o {"type":"ephemeral","ttl":"5m"}; TTL también acepta 1h. El TTL predeterminado es 5m.
containerNoNull, cadena con ID del contenedor u objeto con ID opcional y hasta 20 skills.
context_managementNoNull u objeto con ediciones oficiales de contexto; se aplican las cabeceras beta.
mcp_serversNoArray de hasta 20 servidores URL; requiere la cabecera beta MCP correspondiente.
service_tierNoauto o standard_only. Haiku no tiene capacidad Priority Tier.
inference_geoNoglobal, us o null. Si se omite, usa el valor predeterminado de la cuenta; revisa el uso declarado antes de asumir una región.
diagnosticsNoNull u objeto; previous_message_id es null o una cadena de hasta 256 caracteres.
compactionNoNull o {"type":"summarize","instructions":"..."}. Las instrucciones son opcionales, aceptan null y tienen un máximo de 16384 caracteres.
fallbacksNoNull o default con la beta correspondiente. Haiku no tiene modelos de respaldo automático; las listas explícitas son inválidas.
fallback_credit_tokenNoNull, cadena de token o {token,mode}. La API debe comprobar elegibilidad y validez; no asumas que cualquier modelo es un destino elegible.
speedNostandard o null. No admite modo rápido.

El Playground ofrece controles para los campos admitidos, incluidos controles JSON para estructuras anidadas. El formulario omite los parámetros de muestreo y la velocidad estándar fija. El ID del modelo queda fijado a esta página. Usa la vista previa JSON de la solicitud para examinar el cuerpo enviado.

Pensamiento y esfuerzo

Por defecto usa pensamiento adaptativo con esfuerzo medium y texto de pensamiento omitido. El esfuerzo acepta low, medium, high, xhigh, max o null para usar el valor predeterminado.

{
  "thinking": {"type": "adaptive", "display": "summarized"},
  "output_config": {"effort": "medium"}
}

Para desactivar el pensamiento, usa {"type":"disabled"} con esfuerzo low, medium o high. No incluyas display ni block_binding en modo disabled. enabled, budget_tokens, between_tools y el pensamiento disabled con xhigh/max son inválidos.

En modo adaptativo, display acepta omitted, summarized o null. El valor beta genérico updates requiere thinking-display-updates-2026-08-18; Anthropic no establece actualmente actualizaciones de progreso legibles para Haiku, así que no dependas de esa salida.

El campo opcional thinking.block_binding requiere thinking-binding-controls-2026-08-01. Es null o un objeto cuyo prefix_mismatch_behavior es error, drop_block o null. Conserva intactos los turnos anteriores y los bloques completos de pensamiento al reenviar el historial. Las firmas de pensamiento están vinculadas a la cuenta que las produjo o a una cuenta asociada.

output_config.task_budget es null o { "type": "tokens", "total": 20000 } con remaining opcional de tipo entero/null. Requiere task-budgets-2026-03-13; total debe ser al menos 20000. Aquí no se impone otro rango a remaining.

Herramientas y salida estructurada

Las herramientas del cliente requieren un nombre de 1–128 letras, dígitos, guiones bajos o guiones y un input_schema con type: "object". Usa tool_choice: {"type":"any"} o {"type":"tool","name":"lookup"} para forzar una herramienta declarada. Con pensamiento adaptativo, una respuesta de herramienta forzada empieza con la llamada, sin bloque de pensamiento.

disable_parallel_tool_use es un booleano opcional para las opciones auto, any y tool; no es un campo de none. Devuelve el resultado de la herramienta con el tool_use_id original. El Playground muestra las llamadas, pero no ejecuta tus herramientas del cliente.

{
  "tools": [{
    "name": "lookup",
    "description": "Look up a product by SKU.",
    "input_schema": {
      "type": "object",
      "properties": {"sku": {"type": "string"}},
      "required": ["sku"],
      "additionalProperties": false
    }
  }],
  "tool_choice": {"type": "tool", "name": "lookup"}
}

Las respuestas estructuradas usan output_config.format: {"type":"json_schema","schema":{...}}. Sigue el subconjunto de JSON Schema admitido por Anthropic, incluido additionalProperties: false en objetos. Una estructura válida no garantiza valores correctos. Las herramientas estrictas y la salida estructurada tienen límites para el conjunto del esquema; consulta la referencia oficial de salida estructurada.

El uso de ordenador requiere computer_toolset_20260801; las versiones antiguas de herramientas de ordenador son inválidas. El uso de navegador tiene su propio browser_toolset_20260801. Declarar una herramienta no verifica que funcione una sesión completa de herramientas del servidor. Revisa su guía oficial y los requisitos beta antes de usarla.

Conversaciones y gestión del contexto

No admite el prefill habitual del asistente. La continuación de una herramienta del servidor pausada es distinta: reenvía los bloques completos del asistente según el protocolo Messages.

Un mensaje del sistema con contenido puede aparecer después de un mensaje del usuario o del resultado de una herramienta del servidor pausada. Debe ir seguido de un mensaje del asistente o ser el último mensaje. Los mensajes consecutivos del sistema se evalúan como un grupo. No insertes uno entre una llamada a una herramienta del cliente y su resultado obligatorio.

Un mensaje del sistema sin contenido solo puede cambiar output_config.effort con mid-conversation-output-config-2026-07-01. Puede aparecer en cualquier lugar. Con el pensamiento desactivado, no puede cambiar el esfuerzo efectivo. El campo del sistema clear_at acepta never, next_user_message o null con mid-conversation-system-clear-at-2026-08-21; los mensajes limitados a un turno solo admiten texto, sin configuración de salida ni caché de bloques.

Las ediciones de contexto incluyen:

EdiciónBetaRestricciones principales
clear_tool_uses_20250919context-management-2025-06-27Conteo de activación mínimo de 1; conteo conservado mínimo de 0.
clear_thinking_20251015context-management-2025-06-27Conserva todo o al menos un turno de pensamiento. Colócalo antes de borrar el uso de herramientas al combinar ediciones.
compact_20260112compact-2026-01-12Umbral de activación de tokens de entrada mínimo de 50000; valor predeterminado 150000.

La compaction bajo demanda requiere compact-2026-09-04. No se puede combinar con context_management, stop_sequences, un formato de salida, herramientas forzadas ni task_budget.remaining. Un bloque de compactación firmado tampoco se puede combinar con task_budget.remaining ni compactación por umbral. Conserva el bloque devuelto y su firma al continuar.

Imágenes, PDF y tamaño de solicitud

Las imágenes aceptan JPEG, PNG, GIF y WebP por URL, base64 o referencia de archivo. Los PDF aceptan URL, base64 o referencia de archivo. Las referencias requieren la beta Files API correspondiente y acceso válido al archivo. Los documentos de texto pueden usar fuentes de texto o contenido.

El límite de solicitud nativa es 32 MB. Los límites oficiales de imágenes son hasta 600 imágenes, 10 MB de datos codificados en base64 por imagen y 8000 píxeles en cada lado; las solicitudes con muchas imágenes pueden tener límites más estrictos según la plataforma. Los PDF deben estar sin cifrar y tener hasta 600 páginas para el contexto de este modelo. La API sigue siendo responsable de inspeccionar los archivos remotos; comprobar la estructura local no demuestra el contenido de una URL.

El Playground sube los adjuntos antes de enviar las URL. El JSON de conversación también admite bloques nativos de contenido multimedia. Las pruebas de límites completos de tamaño de medios y ventana de contexto son distintas de una pequeña solicitud de ejemplo.

Caché de prompts y facturación

El prompt mínimo de Haiku que se puede guardar en caché es de 512 tokens. Los prompts marcados más cortos pueden ejecutarse sin crear una entrada de caché. Usa como máximo cuatro puntos de corte de caché; el control automático de caché de primer nivel consume uno. Coloca los prefijos con mayor duración antes que los de menor duración.

max_tokens: 0 solicita precalentar la caché sin generar respuesta. No puede acompañar a stream: true, salida estructurada ni uso forzado de herramientas. Mantén consistentes los ajustes de pensamiento y esfuerzo entre la preparación de la caché y las solicitudes que la reutilizan.

Lee usage.input_tokens, output_tokens, cache_creation_input_tokens, cache_read_input_tokens y el desglose 5m/1h bajo cache_creation. El pensamiento está incluido en los tokens de salida; su desglose declarado no es un cargo adicional que debas sumar. Las tarifas actuales están en la sección de precios, con más explicaciones en la guía de precios.

Respuestas, streaming y errores

Una respuesta completada contiene id, type: "message", role: "assistant", model, content, stop_reason, stop_sequence y usage. Los campos opcionales container, diagnostics, context_management, stop_details e input_transformations se conservan cuando se devuelven.

Gestiona end_turn, max_tokens, stop_sequence, tool_use, pause_turn, compaction, refusal y model_context_window_exceeded. Una parada por límite o un rechazo no equivalen a un error HTTP. Nunca supongas que el primer bloque de contenido será texto.

El streaming usa los eventos SSE de Messages: message_start, content_block_start, content_block_delta, content_block_stop, message_delta y message_stop. Gestiona también ping y error. Conserva las firmas de pensamiento y los bloques de herramientas que necesiten turnos posteriores.

Los errores usan la estructura de Anthropic:

{"type":"error","error":{"type":"invalid_request_error","message":"max_tokens must be an integer from 0 to 128000."}}

Las solicitudes que devuelven un error no se cobran. Consulta la gestión de errores para los tipos de error compartidos.

Formatos compatibles con OpenAI

El mismo ID está disponible con /v1/chat/completions y /v1/responses. Usa sus campos nativos: Chat usa messages; Responses usa input. Las opciones nativas de Claude pertenecen a Messages y no deben copiarse íntegramente a un cuerpo con formato OpenAI.

curl https://api.seedrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-haiku-5-5","max_tokens":256,"messages":[{"role":"user","content":"Reply with OK."}]}'
curl https://api.seedrouter.ai/v1/responses \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-haiku-5-5","max_output_tokens":256,"input":"Reply with OK."}'

Resultados de compatibilidad

Comprobado el 9 de octubre de 2026 en el entorno de desarrollo. Estas comprobaciones establecen el comportamiento observado de solicitudes concretas, no todos los límites oficiales ni el despliegue en producción.

CapacidadResultado observado
Messages nativo y SSERespuesta textual y secuencia completa de eventos verificadas.
ClasificaciónDevolvió Billing; 41 tokens de entrada y 5 de salida.
JSON estructurado y herramientas del clienteValores JSON, selección automática/none/por nombre/any, argumentos de herramientas estrictas y continuación con resultado de herramienta verificados.
Imágenes y PDFDevolvió el color de imagen y el marcador PDF esperados de ejemplos base64. No se probaron los límites completos de medios.
Precalentamiento de cachémax_tokens: 0 no devolvió texto generado y devolvió cero tokens de salida.
Caché de cinco minutos y una horaCreación y uso posterior mediante acierto de caché verificados para ambos TTL.
Secuencias de paradaDevolvió el motivo solicitado y se detuvo antes del sufijo excluido.
Pensamiento y esfuerzoSe aceptaron los cinco valores de esfuerzo. Algunas solicitudes con pensamiento explícitamente disabled aun así devolvieron bloques de pensamiento. La aceptación no verifica por sí sola el comportamiento del esfuerzo.
Instrucciones del sistema y esfuerzo por mensajeResultados inconsistentes; una prueba por mensaje con mayor presupuesto aun así devolvió texto no relacionado. Prueba tu conversación exacta antes del despliegue.
Compactación bajo demandaDevolvió un bloque de compactación firmado y stop_reason: compaction. La validación de reproducción completa y facturación sigue pendiente.
Metadatos y geografía de inferenciametadata.user_id devolvió un error de permisos; la geografía explícita devolvió una restricción por tipo de cuenta.
MCPLa beta MCP actual devolvió una restricción de credenciales. No se verificó una sesión MCP completa.
OpenAI Chat y ResponsesLas solicitudes básicas y las solicitudes de razonamiento explícito max/none devolvieron la respuesta esperada. La semántica de razonamiento no se estableció de forma independiente.
Otros campos betaSe aceptaron el presupuesto de tarea, los controles de vinculación y el respaldo default; no se estableció la semántica completa de las funciones.

La facturación de escritura de caché de una hora y de compactación no ha superado la validación de lanzamiento. No se probaron ejecuciones con contexto/salida máximos, herramientas alojadas con cargos separados, acceso a Files API ni canje de créditos de respaldo. Conserva las estructuras oficiales de solicitud; no deduzcas compatibilidad solo a partir de un estado de éxito.

Referencias