Skip to main content
POST
CometAPI prend en charge l’API Anthropic Messages nativement, vous offrant un accès direct aux modèles Claude avec des fonctionnalités propres à Anthropic. Utilisez ce endpoint pour les capacités Claude comme adaptive thinking, la mise en cache des prompts et le contrôle de l’effort.
Utilisez la référence officielle de l’API Anthropic Messages comme source faisant autorité pour la liste complète des paramètres, le schéma de réponse et le comportement spécifique à Claude. Cette page CometAPI explique comment envoyer ce format de requête via CometAPI.
Les paramètres de requête Anthropic et les champs de réponse peuvent évoluer à mesure que les fonctionnalités de Claude changent. Consultez la documentation de l’API Anthropic Messages pour obtenir la liste complète la plus récente des paramètres et le comportement spécifique au fournisseur.
De nombreux modèles Claude plus récents refusent les valeurs non par défaut de temperature, top_p et top_k sur l’API Messages. Omettez ces champs d’échantillonnage sauf si vous avez vérifié leur prise en charge pour le modèle sélectionné. Si un modèle renvoie une erreur de paramètre non pris en charge ou obsolète, supprimez le champ de la requête.
Les en-têtes x-api-key et Authorization: Bearer sont tous deux pris en charge pour l’authentification. Les SDK Anthropic officiels utilisent x-api-key par défaut.

Démarrage rapide

Pour utiliser le SDK Anthropic officiel avec CometAPI, définissez l’URL de base :

Contrôler adaptive thinking

Utilisez adaptive thinking avec output_config.effort pour contrôler la quantité de travail que Claude applique à une réponse. Les modèles Claude plus récents refusent l’ancien format manuel de thinking thinking={"type": "enabled", "budget_tokens": ...}.
Les Tokens de thinking comptent dans votre limite max_tokens. Définissez max_tokens à une valeur suffisamment élevée pour couvrir à la fois le thinking et la réponse finale lorsque vous utilisez des niveaux d’effort plus élevés.

Mettre en cache les prompts

Pour réduire la latence et le coût des requêtes suivantes, mettez en cache les grands prompts système ou les préfixes de conversation. Ajoutez cache_control aux blocs de contenu qui doivent être mis en cache :
L’utilisation du cache est indiquée dans le champ usage de la réponse :
  • cache_creation_input_tokens — tokens écrits dans le cache (facturés à un tarif plus élevé)
  • cache_read_input_tokens — tokens lus depuis le cache (facturés à un tarif réduit)
La mise en cache des prompts nécessite un minimum de 1,024 tokens dans le bloc de contenu mis en cache. Un contenu plus court ne sera pas mis en cache.

Diffuser les réponses en Streaming

Pour diffuser les réponses à l’aide de Server-Sent Events (SSE), définissez stream: true. Les événements arrivent dans cet ordre :
  1. message_start — contient les métadonnées du message et l’utilisation initiale
  2. content_block_start — marque le début de chaque bloc de contenu
  3. content_block_delta — fragments de texte incrémentaux (text_delta)
  4. content_block_stop — marque la fin de chaque bloc de contenu
  5. message_deltastop_reason final et usage complet
  6. message_stop — signale la fin du flux

Contrôler l’effort

Pour contrôler le niveau d’effort que Claude consacre à la génération d’une réponse, utilisez output_config.effort :

Utiliser les outils serveur

Claude prend en charge des outils côté serveur qui s’exécutent sur l’infrastructure d’Anthropic :
Récupérez et analysez du contenu à partir d’URL :

Exemple de réponse

Une réponse typique de l’endpoint Anthropic de CometAPI :

Comparer avec le endpoint compatible OpenAI

Autorisations

x-api-key
string
header
requis

Your CometAPI key passed via the x-api-key header. Authorization: Bearer $COMETAPI_KEY is also supported.

En-têtes

anthropic-version
string
défaut:2023-06-01

The Anthropic API version to use. Defaults to 2023-06-01.

Exemple:

"2023-06-01"

anthropic-beta
string

Comma-separated list of beta features to enable. Examples: max-tokens-3-5-sonnet-2024-07-15, pdfs-2024-09-25, output-128k-2025-02-19.

Corps

application/json
model
string
requis

The Claude model to use. See the Models page for available Claude model IDs.

Exemple:

"claude-sonnet-5"

messages
object[]
requis

The conversation messages. Must alternate between user and assistant roles. Each message's content can be a string or an array of content blocks (text, image, document, tool_use, tool_result). There is a limit of 100,000 messages per request.

max_tokens
integer
requis

The maximum number of tokens to generate. The model may stop before reaching this limit. When using thinking, the thinking tokens count towards this limit.

Plage requise: x >= 1
Exemple:

1024

system

System prompt providing context and instructions to Claude. Can be a plain string or an array of content blocks (useful for prompt caching).

temperature
number
défaut:1

Model-dependent sampling control. Many newer Claude models reject non-default temperature values on the Messages API. Omit this field unless you have verified that the selected model accepts it; if the model returns an unsupported or deprecated-parameter error, remove the field instead of substituting another sampling value.

Plage requise: 0 <= x <= 1
Exemple:

1

top_p
number

Model-dependent nucleus sampling control. Many newer Claude models reject non-default top_p values on the Messages API. Omit this field unless you have verified support for the selected model. Do not set temperature and top_p together.

Plage requise: 0 <= x <= 1
Exemple:

1

top_k
integer

Model-dependent top-k sampling control. Many newer Claude models reject non-default top_k values on the Messages API. Omit this field unless you have verified support for the selected model.

Plage requise: x >= 0
Exemple:

0

stream
boolean
défaut:false

If true, stream the response incrementally using Server-Sent Events (SSE). Events include message_start, content_block_start, content_block_delta, content_block_stop, message_delta, and message_stop.

stop_sequences
string[]

Custom strings that cause the model to stop generating when encountered. The stop sequence is not included in the response.

thinking
object

Controls Claude thinking when the selected model supports a configurable thinking mode. For newer adaptive-thinking models, use {"type":"adaptive"} with output_config.effort, or omit thinking when adaptive thinking is already the model default. Manual {"type":"enabled","budget_tokens":...} is supported only by older models and is rejected by newer Claude models.

tools
object[]

Tools the model may use. Supports client-defined functions, web search (web_search_20250305), web fetch (web_fetch_20250910), code execution (code_execution_20250522), and more.

tool_choice
object

Controls how the model uses tools.

metadata
object

Request metadata for tracking and analytics.

output_config
object

Configuration for response effort and output format. Field support depends on the selected Claude model.

service_tier
enum<string>

The service tier to use. auto tries priority capacity first, standard_only uses only standard capacity.

Options disponibles:
auto,
standard_only

Réponse

200 - application/json

Successful response. When stream is true, the response is a stream of SSE events.

id
string

Unique identifier for this message (e.g., msg_01XFDUDYJgAACzvnptvVoYEL).

type
enum<string>

Always message.

Options disponibles:
message
role
enum<string>

Always assistant.

Options disponibles:
assistant
content
object[]

The response content blocks. May include text, thinking, tool_use, and other block types.

model
string

The specific model version that generated this response, such as claude-sonnet-5.

stop_reason
enum<string>

Why the model stopped generating. refusal can be returned as a successful HTTP response when the model declines a request.

Options disponibles:
end_turn,
max_tokens,
stop_sequence,
tool_use,
pause_turn,
refusal
stop_sequence
string | null

The stop sequence that caused the model to stop, if applicable.

usage
object

Token usage statistics.