Proceso de solicitud
Para usar la API de Claude Messages, primero dirígete a Ace Data Cloud Console para obtener tu token de API, que debes guardar para uso futuro.
Si aún no has iniciado sesión o registrado, serás redirigido automáticamente a la página de inicio de sesión que te invitará a registrarte e iniciar sesión; una vez completado, volverás automáticamente a la página actual.
Un token de API es suficiente para acceder a todos los servicios de la plataforma, sin necesidad de solicitar uno por cada servicio. La primera solicitud te otorgará un crédito gratuito para que puedas probarlo; si el crédito es insuficiente, puedes recargar el saldo general en la consola.
📘 Documentación completa: Claude Messages API →
Uso básico
La ruta de solicitud de la API de Claude Messages es/v1/messages, manteniendo la consistencia con la API oficial de Anthropic. Necesitamos proporcionar al menos tres parámetros obligatorios:
model: seleccionar el modelo de Claude a utilizar. El último modelo insignia esclaude-fable-5-1(contexto de 1 millón de tokens, salida máxima de 128K tokens); el modelo originalclaude-fable-5sigue siendo compatible.messages: un array de mensajes de entrada, donde cada mensaje incluyerole(rol) ycontent(contenido), siendorolecompatible conuseryassistant.max_tokens: número máximo de tokens de salida, utilizado para limitar la longitud de la respuesta única.
system: mensaje del sistema, utilizado para establecer el comportamiento y rol del modelo.temperature: aleatoriedad de la generación, entre 0 y 1, donde un valor mayor produce respuestas más dispersas.stream: si se utiliza respuesta en streaming, establecer entruepermite un efecto de retorno palabra por palabra.stop_sequences: secuencias de parada personalizadas, el modelo dejará de generar al encontrar estos textos.top_p: parámetro de muestreo nuclear, que junto con la temperatura controla la aleatoriedad de la generación.top_k: muestreo solo de las K opciones con mayor probabilidad.tools: definición de herramientas, para permitir que el modelo llame a funciones externas.tool_choice: controla cómo el modelo utiliza las herramientas proporcionadas.cache_control: crea automáticamente un punto de caché en el último bloque de contenido que se puede almacenar en caché; también se puede escribir en bloques de contenido específicos.
Ejemplo de cURL
Ejemplo de Python
id: identificador único del mensaje actual.type: siempre esmessage.role: siempre esassistant.content: array de contenido de respuesta, donde cada elemento incluyetype(comotext) y el contenido correspondiente.model: nombre del modelo que procesó la solicitud.stop_reason: razón de la detención. Los valores estables incluyenend_turn,max_tokens,stop_sequence,tool_use,pause_turn(puede devolver el contenido actual del assistant tal cual para continuar),refusalymodel_context_window_exceeded.stop_sequence: si se detuvo debido a una secuencia de parada personalizada, muestra el texto de la secuencia de parada coincidente.stop_details: cuandostop_reasonesrefusal, puede incluir la categoría de rechazo y la explicación.usage: estadísticas de uso de tokens.input_tokensson los tokens de entrada no almacenados en caché;cache_creation_input_tokensycache_read_input_tokensson respectivamente los tokens de entrada para escritura y lectura en caché;output_tokenses el número de tokens de salida. La tarifa base oficial de lectura de caché para Fable 5.1 es de 12.50 y $20/millón de tokens respectivamente; los precios reales de la plataforma se calculan según los descuentos del paquete. Las respuestas no en streaming también pueden incluir elcostregistrado por Ace Data Cloud.
Mensajes del sistema
La API de Claude Messages permite establecer mensajes del sistema a través del camposystem, utilizado para definir el comportamiento, rol y 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; al establecer el parámetrostream en true, se puede obtener un efecto de retorno paso a paso, lo que es muy adecuado para implementar la visualización palabra por palabra en una página web.
Ejemplo de Python
event: y data:. Los tipos de eventos en streaming incluyen:
message_start: inicio del mensaje, que contiene 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, que contiene fragmentos de texto generados recientemente.content_block_stop: fin del bloque de contenido.message_delta: actualización incremental a nivel de mensaje, que incluyestop_reasone información final deusage.message_stop: fin del mensaje.
content_block_delta en la respuesta en streaming contiene el contenido de texto generado paso a paso, y al concatenar todos los text_delta se puede obtener la respuesta completa.
Ejemplo de JavaScript
Diálogo de múltiples turnos
Si desea habilitar la función de diálogo de múltiples turnos, debe alternar los mensajes de los rolesuser y assistant en el array messages, incluyendo el historial de conversación anterior.
Ejemplo en Python
messages, Claude puede proporcionar respuestas precisas en función del contexto.
Modelo de pensamiento profundo
El pensamiento de Claude y el resumen del pensamiento son dos conceptos diferentes: el modelo puede realizar inferencias internas, pero la API no devolverá la cadena de pensamiento original. Cuando se necesita mostrar el proceso de razonamiento, la API devuelve un resumen procesado. El modelo actual sugiere usar pensamiento adaptativo y controlar la inversión total de razonamiento a través deoutput_config.effort:
display: "summarized"devuelve un resumen de pensamiento legible; no es la cadena de pensamiento original.display: "omitted"devuelvethinking: "", pero aún conserva lasignatureopaca para soportar diálogos posteriores.- Los modelos Fable 5.1, Fable 5, Opus 5, Sonnet 5, Opus 4.8 y Opus 4.7 tienen un valor predeterminado de
omittedpara display; los modelos Opus 4.6, Sonnet 4.6 y anteriores que soportan pensamiento utilizan por defectosummarized. - Display solo afecta el contenido devuelto y la latencia en streaming, no cierra el razonamiento ni reduce la facturación de tokens de pensamiento.
- Si el pensamiento se habilita por defecto y el valor predeterminado de display son dos cuestiones independientes. Opus 5 y Sonnet 5 habilitan por defecto el pensamiento adaptativo; Opus 4.8, 4.7 y 4.6 necesitan ser habilitados explícitamente.
budget_tokenssolo se utiliza para modelos antiguos que aún soportan un presupuesto de pensamiento fijo. Los nuevos modelos deben usarthinking.type=adaptiveyoutput_config.effort; el pensamiento de Fable 5.1 siempre está habilitado y no se puede desactivar explícitamente.- En diálogos de múltiples turnos y llamadas a herramientas, se debe devolver el bloque completo de pensamiento y la firma devueltos por el asistente sin modificaciones; no se debe modificar ni generar la firma por cuenta propia.
- Algunas rutas de compatibilidad parcial no pueden manejar
redacted_thinkingsin pérdida o desactivar explícitamente el pensamiento, en cuyo caso se devolverá un error de parámetro y no se descartará silenciosamente ni se cambiará el significado de la solicitud.
summarized generará thinking_delta; omitted no generará thinking_delta, solo conservará el ciclo de vida del bloque de pensamiento y signature_delta.
Modelo visual
Usar imágenes de URL
Ejemplo de cURL
image/jpeg, image/png, image/gif, image/webp.
Documentos y PDF
Los PDF utilizan bloques de contenidodocument, admitiendo fuentes estables en Base64 y URL. La fuente Base64 debe usar application/pdf:
{"type":"url","url":"https://example.com/report.pdf"}. document también admite text/plain y fuentes de content compuestas de bloques de texto/imágenes; los campos opcionales incluyen title, context y citations. La fuente file_id de la API de archivos es una función beta independiente y no está dentro del contrato estable de esta interfaz.
Caché de sugerencias
Elcache_control de nivel superior colocará automáticamente el punto de caché en el último bloque que se puede almacenar en caché:
cache_control en los bloques de contenido de texto, imagen, documento, uso de herramientas, resultado de herramientas o definiciones de herramientas. ttl admite 5m (predeterminado) y 1h; se debe determinar la escritura y el acierto de la caché a través de usage.cache_creation_input_tokens y usage.cache_read_input_tokens.
Ejemplo de resultado devuelto:
Llamadas a herramientas (Tool Use)
La API de Messages de Claude admite de forma nativa la función de llamadas a herramientas, permitiendo que el modelo llame a herramientas/funciones predefinidas cuando sea necesario.Ejemplo en Python
content en el 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. Al recibir este resultado, debe ejecutar la función de la herramienta y devolver el resultado en forma de tool_result al modelo:
Diferencias con la API de Chat Completion
Ace Data Cloud ofrece dos formatos de API de Claude, y las principales diferencias son las siguientes: Elusage.input_tokens de la API de Messages solo representa la entrada no almacenada en caché, cache_read_input_tokens y cache_creation_input_tokens son contadores de facturación independientes; los tres se calcularán por separado según el precio correspondiente.
Si su sistema ya está integrado con la API en formato OpenAI, puede usar la API de Chat Completion para una transición sin problemas. Si necesita utilizar todas las capacidades nativas de Claude, se recomienda usar la API de Messages.
Manejo de errores
Las respuestas de error de la interfaz pública utilizan el sobre 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 la solicitud. Los estados HTTP comunes incluyen:
400: Parámetros de solicitud o contenido del protocolo no válidos.401: Token de autorización no válido, faltante o expirado.403: Acceso prohibido, saldo insuficiente o cuota limitada.404: API o modelo no existe.413: Cuerpo de solicitud demasiado grande.429: Demasiadas solicitudes.500/503/504: Error del servicio, temporalmente no disponible o tiempo de procesamiento agotado.
Ejemplo de respuesta de error
error.code.

