Proceso de solicitud
Para utilizar Claude Messages API, primero obtenga su API Token en la consola de Ace Data Cloud y guárdelo para su uso posterior.
Si aún no ha iniciado sesión o se ha registrado, será redirigido automáticamente a la página de inicio de sesión para invitarle a registrarse e iniciar sesión; al completarlo, regresará automáticamente a la página actual.
Un API Token permite invocar todos los servicios de la plataforma, sin necesidad de solicitar uno por separado para cada servicio. La primera solicitud incluye saldo gratuito, que permite una experiencia sin costo; cuando el saldo sea insuficiente, puede recargar saldo general en la consola.
📘 Documentación completa: Claude Messages API →
Uso básico
La ruta de solicitud de Claude Messages API es/v1/messages, coherente con la API oficial de Anthropic. Como mínimo, debemos proporcionar tres parámetros obligatorios:
model: seleccione el modelo Claude que desea utilizar.claude-opus-5-5solo se proporciona mediante Messages API, admite un contexto de 1 millón de Token, una salida máxima de 128K Token y siempre habilita el pensamiento adaptativo. El buque insignia más reciente esclaude-fable-5-1(contexto de 1 millón de Token, salida máxima de 128K Token); el anteriorclaude-fable-5sigue conservándose por compatibilidad.claude-sonnet-5-5se ha incorporado a la interfaz de la serie nativa Messages, admite entrada de imágenes y pensamiento adaptativo; sus precios de referencia oficiales de entrada, salida y lectura de caché son respectivamente 2, 10 y 0.20 dólares por millón de Token.messages: matriz de mensajes de entrada, donde cada mensaje incluyerole(rol) ycontent(contenido), yroleadmiteuseryassistant.max_tokens: número máximo de token de salida, utilizado para limitar la longitud de una sola respuesta.
system: prompt del sistema, utilizado para establecer el comportamiento y el rol del modelo.temperature: aleatoriedad de la generación, entre 0 y 1; cuanto mayor sea el valor, más dispersa será la respuesta.stream: si se utiliza respuesta en streaming; establecerlo entruepermite lograr un efecto de devolución palabra por palabra.stop_sequences: secuencias de detención personalizadas; el modelo dejará de generar cuando encuentre estos textos.top_p: parámetro de muestreo de núcleo, que controla la aleatoriedad de la generación junto con temperature.top_k: realiza el muestreo solo entre las K opciones con mayor probabilidad.tools: definición de herramientas, utilizada para permitir que el modelo llame a funciones externas.tool_choice: controla cómo utiliza el modelo las herramientas proporcionadas.cache_control: crea automáticamente un punto de interrupción de caché en el último bloque de contenido almacenable en caché de la solicitud; también puede escribirse en bloques de contenido específicos.
Ejemplo de cURL
Ejemplo de Python
id: identificador único de este mensaje.type: siempre esmessage.role: siempre esassistant.content: matriz de contenido de la respuesta; cada elemento contienetype(comotext) y el contenido correspondiente.model: nombre del modelo que procesa la solicitud.stop_reason: motivo de detención. Los valores estables incluyenend_turn,max_tokens,stop_sequence,tool_use,pause_turn(puede devolver el contenido actual de assistant sin cambios para continuar),refusalymodel_context_window_exceeded.stop_sequence: si se detiene debido a una secuencia de detención personalizada, muestra el texto de la secuencia de detención coincidente.stop_details: cuandostop_reasonesrefusal, puede incluir la categoría y la explicación del rechazo.usage: estadísticas de uso de token.input_tokenscorresponde a la entrada no almacenada en caché;cache_creation_input_tokensycache_read_input_tokenscorresponden respectivamente a la escritura y lectura de caché;output_tokenses el número total de token de salida. Si se devuelveoutput_tokens_details.thinking_tokens, este valor es un subconjunto deoutput_tokens; no lo sume de nuevo al calcular el total o el costo. Este detalle puede sernullu omitirse cuando no haya un recuento autorizado.usage.cache_creation: detalle opcional de TTL de escritura de caché, que incluyeephemeral_5m_input_tokensyephemeral_1h_input_tokens. Cuando el objeto existe, la suma de ambos equivale acache_creation_input_tokens; que el campo seanullo se omita indica que la respuesta actual no tiene un desglose de TTL disponible y no debe interpretarse como0.usage.cost: las respuestas sin streaming pueden incluir un objeto de consumo de saldo registrado por Ace Data Cloud, dondeamountes el consumo real de esta solicitud,currencyes la unidad de medida ylist_amountes el importe antes del descuento (si existe). El precio base oficial de lectura de caché de Fable 5.1 es de $0.25/millón de Token, y los precios base de escritura de caché de 5 minutos y 1 hora son respectivamente $12.50 y $20/millón de Token; el precio real de la plataforma se calcula según el descuento del plan.
Prompt del sistema
Claude Messages API admite establecer prompts del sistema mediante el camposystem, utilizado para definir el comportamiento, el rol y el contexto del modelo.
Ejemplo de Python
system, se puede controlar con precisión el rol y el comportamiento de Claude.
Respuesta en streaming
Esta interfaz también admite respuestas en streaming; establezca el parámetrostream en true para obtener un efecto de retorno gradual, lo cual es muy adecuado para implementar una visualización carácter por carácter en páginas web.
Ejemplo en Python
event: y data:. Los tipos de eventos de streaming incluyen:
message_start: inicio del mensaje, incluye la información básica del mensaje y el nombre del modelo.content_block_start: inicio del bloque de contenido.content_block_delta: actualización incremental del bloque de contenido, incluye los fragmentos de texto recién generados.content_block_stop: finalización del bloque de contenido.message_delta: actualización incremental a nivel de mensaje, incluye la información destop_reasonyusagefinal. El valor autorizado deoutput_tokens_details.thinking_tokenssolo debe leerse del últimomessage_delta.usage; no se debe acumular entre eventos.message_stop: finalización del mensaje.
content_block_delta de la respuesta en streaming contiene el contenido de texto generado gradualmente; al concatenar todos los text_delta se puede obtener la respuesta completa.
Ejemplo en JavaScript
Conversación de múltiples turnos
Si desea integrar la función de conversación de múltiples turnos, debe alternar los mensajes con los rolesuser y assistant en el arreglo messages, y pasar también el historial de conversación anterior.
Ejemplo en Python
messages, Claude puede proporcionar respuestas precisas en función del contexto.
Modelo de razonamiento profundo
El thinking y el thinking summary de Claude son dos conceptos diferentes: el modelo puede realizar razonamiento interno, pero la API no devuelve la cadena de pensamiento original. Cuando se necesita mostrar el proceso de razonamiento, la API devuelve un resumen procesado. Actualmente, se recomienda utilizar adaptive thinking con el modelo actual y controlar la inversión total de razonamiento medianteoutput_config.effort:
display: "summarized"devuelve un resumen de pensamiento legible; no es la cadena de pensamiento original.display: "omitted"devuelvethinking: "", pero aún conserva unasignatureopaca para admitir conversaciones posteriores.display: "updates"es el modo beta de Anthropic y requiere incluiranthropic-beta: thinking-display-updates-2026-08-18. La definición oficial es ocultar el cuerpo del razonamiento y mostrar actualizaciones breves de progreso entre llamadas a herramientas. La plataforma transmite este parámetro y el encabezado de solicitud beta según sus valores originales, y no lo reescribe forzosamente comosummarized; el contenido de salida real depende de la compatibilidad del modelo seleccionado.thinking,output_config, effort, parámetros de muestreo y campos de extensión añadidos se transmiten según sus valores originales. La plataforma no mantiene enumeraciones de valores ni restricciones de combinación codificadas de forma fija por modelo, ni reescribe automáticamente los modos de thinking; el modelo seleccionado determina si acepta estos parámetros, y los errores de parámetros devueltos por el modelo se transmiten al cliente.- Los valores predeterminados de display para Fable 5.1, Fable 5, Opus 5, Sonnet 5, Opus 4.8 y Opus 4.7 son
omitted; Opus 4.6, Sonnet 4.6 y los modelos anteriores compatibles con thinking usansummarizedde forma predeterminada. - Display solo afecta al contenido devuelto y a la latencia de streaming; no desactiva el razonamiento ni reduce la facturación de tokens de thinking.
- Si thinking está habilitado de forma predeterminada y el valor predeterminado de display son dos cuestiones independientes. Opus 5 y Sonnet 5 habilitan adaptive thinking de forma predeterminada; para Opus 5, omitir
thinkingequivale a adaptive, y omitiroutput_config.effortequivale ahigh. Opus 4.8, 4.7 y 4.6 requieren habilitación explícita. - Thinking y el cuerpo final comparten el presupuesto de salida de
max_tokens. Cuando el presupuesto es demasiado pequeño, thinking puede consumir la mayor parte de la cuota, dejando el cuerpo vacío o truncado; aumentemax_tokenso use effortlow/mediumpara controlar la inversión de razonamiento. - Para los modelos que permiten desactivar thinking, se puede pasar
thinking: {"type":"disabled"}. Los nuevos modos comobetween_toolsy las combinaciones de effort dependen del modelo seleccionado; la plataforma no los rechaza por adelantado basándose en reglas de modelos antiguas. - El presupuesto de pensamiento fijo se puede transmitir mediante
budget_tokens; los modelos nuevos suelen utilizarthinking.type=adaptiveyoutput_config.effort. Si se admite un presupuesto fijo o la desactivación del pensamiento depende de las capacidades actuales del modelo seleccionado. - En conversaciones de múltiples turnos y llamadas a herramientas, se deben devolver sin modificaciones los bloques completos de thinking y signature devueltos por el assistant; no modifique ni genere signatures por su cuenta.
- La transmisión de parámetros no significa que cada modelo admita todas las funciones. Las llamadas entre protocolos aún requieren conversión, y el alcance de compatibilidad y los errores de contenidos como
redacted_thinkingson determinados por el servicio de modelo que procesa realmente la solicitud.
summarized produce thinking_delta; omitted no produce thinking_delta, solo conserva el ciclo de vida del bloque thinking y signature_delta.
Modelos visuales
Claude admite entradas multimodales y puede procesar texto e imágenes simultáneamente. En la API de Messages, las capacidades visuales se pueden utilizar estableciendocontent en formato de matriz y pasando bloques de contenido de imagen.
Uso de imágenes codificadas en Base64
Uso de imágenes mediante URL
Ejemplo de cURL
image/jpeg, image/png, image/gif, image/webp.
Documentos y PDF
Los PDF utilizan el bloque de contenidodocument y admiten dos fuentes estables: Base64 y URL. Las fuentes Base64 deben utilizar application/pdf:
{"type":"url","url":"https://example.com/report.pdf"}. document también admite text/plain y fuentes content compuestas por bloques text/image; los campos opcionales incluyen title, context y citations. La fuente file_id de la API de Files pertenece a una función beta independiente y no forma parte del contrato estable de esta interfaz.
Caché de prompts
cache_control de nivel superior coloca automáticamente el punto de interrupción de caché en el último bloque almacenable en caché:
cache_control en bloques de contenido text, image, document, tool_use, tool_result o en definiciones de herramientas. ttl admite 5m (predeterminado) y 1h; determine la escritura y los aciertos de caché mediante usage.cache_creation_input_tokens y usage.cache_read_input_tokens.
Cuando la respuesta proporciona usage.cache_creation, ephemeral_5m_input_tokens + ephemeral_1h_input_tokens = cache_creation_input_tokens. Si cache_creation es null o se omite, indica que solo existe el total de escritura de caché y no hay un desglose de TTL autoritativo; en este caso, no considere ningún bucket como un 0 conocido, y la facturación y el total seguirán basándose en el campo agregado.
Ejemplo de resultado devuelto:
Llamada de herramientas (Tool Use)
La API de Mensajes de Claude admite de forma nativa la funcionalidad de llamada de herramientas, lo que permite al modelo llamar a las herramientas/funciones que usted haya predefinido cuando sea necesario.Ejemplo en Python
content del resultado devuelto incluirá un bloque de contenido de tipo tool_use:
stop_reason es tool_use, lo que indica que el modelo necesita llamar a una herramienta. Tras recibir este resultado, debe ejecutar la función de la herramienta y devolver el resultado al modelo en forma de tool_result:
Diferencias con la API de Chat Completion
Ace Data Cloud ofrece simultáneamente dos formatos de API de Claude; las principales diferencias entre ambos son las siguientes: Elusage.input_tokens de la API de Messages solo representa entradas sin caché; cache_read_input_tokens y cache_creation_input_tokens son buckets de facturación independientes; los tres se calculan por separado según los precios correspondientes.
Si su sistema ya está integrado con una API en formato OpenAI, puede utilizar la API de Chat Completion para realizar una transición fluida. Si necesita utilizar todas las capacidades nativas de Claude, se recomienda utilizar la API de Messages.
Manejo de errores
Las respuestas de error de la interfaz pública utilizan el envelope de la plataforma Ace Data Cloud:error.code es un código de error estable, error.message es una descripción y trace_id se utiliza para investigar solicitudes. Los estados HTTP comunes incluyen:
400: Los parámetros de la solicitud o el contenido del protocolo no son válidos.401: El token de autorización no es válido, falta o ha expirado.403: Acceso prohibido, saldo insuficiente o cuota restringida.404: La API o el modelo no existe.413: El cuerpo de la solicitud es demasiado grande.429: Demasiadas solicitudes.500/503/504: Error del servicio, no disponible temporalmente o tiempo de espera de procesamiento agotado.
Ejemplo de respuesta de error
error.code.

