Skip to main content
POST
CometAPI ondersteunt de Anthropic Messages API standaard, waardoor je directe toegang krijgt tot Claude-modellen met Anthropic-specifieke functies. Gebruik dit endpoint voor Claude-mogelijkheden zoals adaptive thinking, prompt caching en effort control.
Gebruik de officiële Anthropic Messages API reference als de gezaghebbende bron voor de volledige parameterlijst, het response-schema en Claude-specifiek gedrag. Deze CometAPI-pagina legt uit hoe je die request-vorm via CometAPI verstuurt.
Aanvraagparameters en responsvelden van Anthropic kunnen veranderen naarmate Claude-functies zich ontwikkelen. Bekijk de Anthropic Messages API-documentatie voor de meest recente volledige parameterlijst en provider-specifiek gedrag.
Veel nieuwere Claude-modellen weigeren niet-standaard temperature, top_p en top_k-waarden in de Messages API. Laat deze sampling-velden weg, tenzij je hebt bevestigd dat het geselecteerde model ze ondersteunt. Als een model een foutmelding teruggeeft over een niet-ondersteunde of verouderde parameter, verwijder het veld dan uit de aanvraag.
Zowel x-api-key als Authorization: Bearer-headers worden ondersteund voor authenticatie. De officiële Anthropic SDK’s gebruiken standaard x-api-key.

Snelstart

Om de officiële Anthropic SDK met CometAPI te gebruiken, stel je de base URL in:

Adaptive thinking beheren

Gebruik adaptive thinking met output_config.effort om te bepalen hoeveel werk Claude aan een respons besteedt. Nieuwere Claude-modellen weigeren de verouderde handmatige thinking-vorm thinking={"type": "enabled", "budget_tokens": ...}.
Thinking tokens tellen mee voor je limiet van max_tokens. Stel max_tokens hoog genoeg in voor zowel thinking als het uiteindelijke antwoord wanneer je hogere effort-niveaus gebruikt.

Cache prompts

Om latentie en kosten bij volgende requests te verlagen, cache je grote system prompts of conversatieprefixen. Voeg cache_control toe aan contentblokken die gecachet moeten worden:
Cachegebruik wordt gerapporteerd in het usage-veld van de response:
  • cache_creation_input_tokens — tokens die naar de cache zijn geschreven (gefactureerd tegen een hoger tarief)
  • cache_read_input_tokens — tokens die uit de cache zijn gelezen (gefactureerd tegen een verlaagd tarief)
Prompt caching vereist minimaal 1.024 tokens in het gecachete contentblok. Content die korter is dan dit wordt niet gecachet.

Stream responses

Om responses te streamen met Server-Sent Events (SSE), stel je stream: true in. Events komen in deze volgorde binnen:
  1. message_start — bevat de metadata van het bericht en initieel usage
  2. content_block_start — markeert het begin van elk contentblok
  3. content_block_delta — incrementele tekstchunks (text_delta)
  4. content_block_stop — markeert het einde van elk contentblok
  5. message_delta — definitieve stop_reason en complete usage
  6. message_stop — geeft het einde van de stream aan

Control effort

Om te bepalen hoeveel inspanning Claude levert bij het genereren van een response, gebruik je output_config.effort:

Use server tools

Claude ondersteunt server-side tools die draaien op de infrastructuur van Anthropic:
Haal content op van URL’s en analyseer die:

Response example

Een typische response van CometAPI’s Anthropic-endpoint:

Vergelijk met OpenAI-compatible endpoint

Autorisaties

x-api-key
string
header
vereist

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

Headers

anthropic-version
string
standaard:2023-06-01

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

Voorbeeld:

"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.

Body

application/json
model
string
vereist

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

Voorbeeld:

"claude-sonnet-5"

messages
object[]
vereist

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
vereist

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.

Vereist bereik: x >= 1
Voorbeeld:

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
standaard: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.

Vereist bereik: 0 <= x <= 1
Voorbeeld:

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.

Vereist bereik: 0 <= x <= 1
Voorbeeld:

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.

Vereist bereik: x >= 0
Voorbeeld:

0

stream
boolean
standaard: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.

Beschikbare opties:
auto,
standard_only

Respons

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.

Beschikbare opties:
message
role
enum<string>

Always assistant.

Beschikbare opties:
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.

Beschikbare opties:
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.