Skip to main content
POST
CometAPI mendukung Anthropic Messages API secara native, memberi Anda akses langsung ke model Claude dengan fitur khusus Anthropic. Gunakan endpoint ini untuk kemampuan Claude seperti adaptive thinking, prompt caching, dan effort control.
Gunakan referensi resmi Anthropic Messages API sebagai sumber utama untuk daftar parameter lengkap, skema respons, dan perilaku khusus Claude. Halaman CometAPI ini menjelaskan cara mengirim bentuk request tersebut melalui CometAPI.
Parameter request dan field response Anthropic dapat berubah seiring perkembangan fitur Claude. Periksa dokumentasi Anthropic Messages API untuk daftar parameter lengkap terbaru dan perilaku khusus provider.
Banyak model Claude yang lebih baru menolak nilai temperature, top_p, dan top_k non-default pada Messages API. Hilangkan field sampling ini kecuali Anda telah memverifikasi dukungan untuk model yang dipilih. Jika model mengembalikan error parameter yang tidak didukung atau sudah deprecated, hapus field tersebut dari request.
Header x-api-key dan Authorization: Bearer sama-sama didukung untuk autentikasi. SDK Anthropic resmi menggunakan x-api-key secara default.

Mulai cepat

Untuk menggunakan SDK Anthropic resmi dengan CometAPI, tetapkan base URL:

Kontrol adaptive thinking

Gunakan adaptive thinking dengan output_config.effort untuk mengontrol seberapa banyak kerja yang diterapkan Claude pada sebuah respons. Model Claude yang lebih baru menolak bentuk manual thinking lama thinking={"type": "enabled", "budget_tokens": ...}.
Thinking token dihitung ke dalam batas max_tokens Anda. Tetapkan max_tokens cukup tinggi untuk thinking dan jawaban akhir saat Anda menggunakan level effort yang lebih tinggi.

Cache prompt

Untuk mengurangi latensi dan biaya pada permintaan berikutnya, cache system prompt yang besar atau prefiks percakapan. Tambahkan cache_control ke blok content yang harus di-cache:
Penggunaan cache dilaporkan dalam field usage pada respons:
  • cache_creation_input_tokens — token yang ditulis ke cache (ditagih dengan tarif lebih tinggi)
  • cache_read_input_tokens — token yang dibaca dari cache (ditagih dengan tarif lebih rendah)
Prompt caching memerlukan minimal 1.024 token dalam blok content yang di-cache. Content yang lebih pendek dari ini tidak akan di-cache.

Stream respons

Untuk melakukan Streaming respons menggunakan Server-Sent Events (SSE), setel stream: true. Event datang dalam urutan berikut:
  1. message_start — berisi metadata pesan dan usage awal
  2. content_block_start — menandai awal setiap blok content
  3. content_block_delta — potongan teks bertahap (text_delta)
  4. content_block_stop — menandai akhir setiap blok content
  5. message_deltastop_reason final dan usage lengkap
  6. message_stop — menandakan akhir stream

Kontrol effort

Untuk mengontrol seberapa besar effort yang Claude lakukan saat menghasilkan respons, gunakan output_config.effort:

Gunakan server tools

Claude mendukung server-side tools yang berjalan di infrastruktur Anthropic:
Ambil dan analisis content dari URL:

Contoh respons

Respons tipikal dari endpoint Anthropic CometAPI:

Bandingkan dengan endpoint yang kompatibel dengan OpenAI

Otorisasi

x-api-key
string
header
wajib

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

Header

anthropic-version
string
default:2023-06-01

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

Contoh:

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

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

Contoh:

"claude-sonnet-5"

messages
object[]
wajib

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
wajib

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.

Rentang yang diperlukan: x >= 1
Contoh:

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

Rentang yang diperlukan: 0 <= x <= 1
Contoh:

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.

Rentang yang diperlukan: 0 <= x <= 1
Contoh:

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.

Rentang yang diperlukan: x >= 0
Contoh:

0

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

Opsi yang tersedia:
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.

Opsi yang tersedia:
message
role
enum<string>

Always assistant.

Opsi yang tersedia:
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.

Opsi yang tersedia:
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.