Claude Opus 5 dirilis pada 24 Juli 2026. Anthropic mengarahkan developer untuk memulai dari model ini jika belum yakin model mana yang tepat. Gunakan ID model API berikut, tanpa sufiks tanggal: claude-opus-5.
Panduan ini menunjukkan cara mendapatkan API key, mengirim request pertama, menangani streaming, menjalankan tool use, mengatur adaptive thinking dan effort, serta memverifikasi prompt caching lewat objek usage. Semua contoh menggunakan HTTP dan JSON, sehingga dapat diuji di Apidog sebelum diintegrasikan ke aplikasi.
Jika Anda memigrasikan layanan dari Opus 4.8, baca juga panduan migrasi Opus 4.8 ke Opus 5.
Sebelum request pertama: dua perubahan penting
1. Thinking aktif secara default
Pada Opus 4.8, request tanpa field thinking berjalan tanpa thinking. Pada Opus 5, request yang sama menggunakan adaptive thinking.
Konsekuensinya, max_tokens kini membatasi token thinking dan token respons dalam satu anggaran. Request lama dengan max_tokens kecil dapat berhenti sebelum jawaban selesai.
Tindakan yang perlu dilakukan:
- Naikkan
max_tokensdari nilai lama jika sebelumnya dihitung hanya untuk output terlihat. - Pantau
stop_reason. - Jika nilainya
max_tokens, respons Anda terpotong.
2. Thinking dinonaktifkan membatasi effort
Kombinasi berikut akan mengembalikan HTTP 400:
{
"thinking": {"type": "disabled"},
"output_config": {"effort": "xhigh"}
}
Hal yang sama berlaku untuk effort max.
Jika thinking dinonaktifkan, gunakan effort maksimal high:
{
"thinking": {"type": "disabled"},
"output_config": {"effort": "high"}
}
Anthropic menyarankan untuk membiarkan thinking aktif lalu menurunkan effort bila ingin mengendalikan biaya. Dengan thinking dinonaktifkan, Opus 5 kadang dapat menulis tool call sebagai teks biasa atau membocorkan tag <thinking> ke output.
Kedua perubahan ini dijelaskan dalam panduan migrasi model Anthropic.
Langkah 1: Dapatkan API key
Masuk ke Claude Developer Platform, buka pengaturan organisasi, lalu buat API key. Salin key tersebut saat dibuat karena Anda tidak dapat melihatnya lagi nanti.
Simpan key sebagai environment variable:
export ANTHROPIC_API_KEY="sk-ant-..."
Jangan hard-code key ke source code.
Jika menggunakan klien GUI seperti Apidog, buat environment seperti Local, Staging, dan Production, lalu simpan variabel ANTHROPIC_API_KEY. Referensikan nilainya di header dengan:
{{ANTHROPIC_API_KEY}}
Dengan cara ini, request dapat dibagikan ke tim tanpa memasukkan rahasia ke koleksi atau ekspor.
Tambahkan juga kredit billing sebelum mengirim request. Tarif Opus 5 adalah $5 per juta token input dan $25 per juta token output, sama seperti Opus 4.8. Lihat rincian harga lengkap untuk tarif caching, batch, dan mode cepat.
Langkah 2: Kirim request pertama
Endpoint Messages API:
POST https://api.anthropic.com/v1/messages
Header yang dibutuhkan:
x-api-keyanthropic-versioncontent-type
Contoh dengan curl:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-opus-5",
"max_tokens": 4096,
"messages": [
{
"role": "user",
"content": "Jelaskan perbedaan antara 429 dan 529 dari perspektif API."
}
]
}'
Gunakan max_tokens: 4096 sebagai titik awal yang lebih aman daripada 1024, karena anggaran token juga dipakai untuk thinking.
Contoh menggunakan SDK Python resmi:
import os
from anthropic import Anthropic
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
message = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Jelaskan perbedaan antara 429 dan 529 dari perspektif API.",
}
],
)
for block in message.content:
if block.type == "text":
print(block.text)
Jangan mengasumsikan message.content[0].text selalu berisi jawaban. content adalah array blok bertipe, dan adaptive thinking dapat menghasilkan blok thinking sebelum blok text.
Gunakan parsing berbasis tipe:
for block in message.content:
if block.type == "thinking":
# Simpan untuk logging bila diperlukan
pass
elif block.type == "text":
print(block.text)
Spesifikasi penting Opus 5:
- Context window: 1 juta token sebagai default dan maksimum.
- Output maksimum di Messages API: 128 ribu token.
- Knowledge cutoff: Mei 2026.
Lihat ikhtisar model Anthropic dan penjelasan Claude Opus 5 untuk detail spesifikasi.
Langkah 3: Tangani adaptive thinking
Adaptive thinking berarti model menentukan sendiri seberapa banyak penalaran internal yang diperlukan. Anda tidak menetapkan token budget untuk thinking secara langsung; gunakan parameter effort untuk mengarahkannya.
Saat membangun aplikasi multi-turn atau agent, ikuti aturan berikut:
Parse blok berdasarkan tipe.
Tampilkan hanya blok denganblock.type == "text"kepada pengguna.Kirim kembali seluruh konten asisten.
Jangan merekonstruksi respons asisten hanya dari teks. Teruskanmessage.contentapa adanya agar blok thinking dan tool use tetap konsisten.Anggarkan
max_tokensuntuk thinking dan respons.
Jika respons berhenti denganstop_reason: "max_tokens", naikkan batasnya.
Untuk menonaktifkan thinking sepenuhnya:
{
"model": "claude-opus-5",
"max_tokens": 4096,
"thinking": {"type": "disabled"},
"output_config": {"effort": "high"},
"messages": [
{
"role": "user",
"content": "Kembalikan hanya kode status HTTP."
}
]
}
Jangan naikkan effort ke xhigh atau max pada request ini karena API akan mengembalikan 400.
Langkah 4: Kendalikan biaya dengan output_config.effort
Parameter effort berada di bawah output_config:
{
"output_config": {
"effort": "high"
}
}
Nilai yang tersedia:
lowmediumhighxhighmax
Default-nya adalah high.
Contoh request dengan effort xhigh:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-opus-5",
"max_tokens": 65536,
"output_config": {"effort": "xhigh"},
"messages": [
{
"role": "user",
"content": "Refaktor handler ini untuk mengalirkan respons dan menjaga tekanan balik."
}
]
}'
Hal yang perlu diperhatikan:
Jangan membawa setting effort dari Opus 4.8 tanpa evaluasi ulang.
Anthropic menyatakanlowdanmediumlebih kuat di Opus 5 dibandingkan model Opus sebelumnya.Gunakan
xhighsebagai titik awal untuk coding dan agent yang kompleks.
Berimax_tokensyang cukup. Untuk giliran agent panjang,65536dapat menjadi batas awal yang masuk akal.Effort lebih rendah tidak membuat output terlihat menjadi lebih pendek.
Effort mengurangi thinking, bukan panjang jawaban. Jika ingin output singkat, nyatakan batas panjang di prompt.
Lihat uraian parameter effort untuk strategi evaluasi yang lebih lengkap.
Langkah 5: Streaming respons
Tambahkan "stream": true untuk menerima Server-Sent Events (SSE), bukan satu respons JSON penuh.
Contoh Python:
with client.messages.stream(
model="claude-opus-5",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Buat draf kebijakan coba lagi untuk upstream yang tidak stabil.",
}
],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
final = stream.get_final_message()
print("\n\nusage:", final.usage)
Urutan event SSE mentah:
message_start
content_block_start
content_block_delta
content_block_stop
message_delta
message_stop
Dengan thinking aktif, Anda dapat menerima dua blok berbeda:
- Blok thinking dengan
thinking_delta - Blok teks dengan
text_delta
Jangan gabungkan semua delta ke buffer UI yang sama. Jika dilakukan, reasoning internal dapat ikut tercetak kepada pengguna.
Saat menguji streaming, gunakan Apidog untuk melihat event SSE secara langsung dan memverifikasi batas antarblok sebelum menulis handler produksi.
Langkah 6: Tambahkan tool use
Definisikan tool melalui array tools. Jika model ingin menjalankan tool, respons akan memiliki:
{
"stop_reason": "tool_use"
}
Respons juga akan berisi blok konten bertipe tool_use.
Contoh:
tools = [
{
"name": "get_order_status",
"description": "Mencari status pesanan pelanggan saat ini berdasarkan ID.",
"input_schema": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "ID pesanan, mis. A-10293",
}
},
"required": ["order_id"],
},
}
]
message = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=tools,
messages=[
{
"role": "user",
"content": "Bagaimana status pesanan A-10293?",
}
],
)
if message.stop_reason == "tool_use":
call = next(block for block in message.content if block.type == "tool_use")
result = get_order_status(**call.input)
follow_up = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=tools,
messages=[
{
"role": "user",
"content": "Bagaimana status pesanan A-10293?",
},
{
"role": "assistant",
"content": message.content,
},
{
"role": "user",
"content": [
{
"type": "tool_result",
"tool_use_id": call.id,
"content": result,
}
],
},
],
)
Bagian pentingnya adalah ini:
{
"role": "assistant",
"content": message.content,
}
Teruskan message.content secara langsung. Jangan membangun ulang respons asisten secara manual, karena Anda dapat menghapus blok thinking atau metadata tool call yang diperlukan.
Detail penting untuk agent:
- Overhead system prompt tool use adalah 286 token ketika
tool_choicebernilaiautoataunone. - Nilai tersebut lebih rendah daripada Opus 4.8 (290 token) dan Opus 4.7 (675 token).
- Header beta
mid-conversation-tool-changes-2026-07-01memungkinkan penambahan atau penghapusan tool antar giliran tanpa membatalkan prompt cache. - Opus 5 lebih mudah mendelegasikan pekerjaan ke subagent dibandingkan Opus 4.8. Tentukan scope delegasi secara eksplisit dalam system prompt agar biaya tetap terkontrol.
Langkah 7: Verifikasi prompt cache lewat usage
Setiap respons memiliki objek usage:
{
"usage": {
"input_tokens": 84,
"cache_creation_input_tokens": 6421,
"cache_read_input_tokens": 0,
"output_tokens": 913
}
}
Tambahkan cache_control ke blok stabil yang ingin di-cache:
{
"model": "claude-opus-5",
"max_tokens": 4096,
"system": [
{
"type": "text",
"text": "<instruksi panjang dan stabil serta materi referensi Anda>",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [
{
"role": "user",
"content": "Pertanyaan satu."
}
]
}
Interpretasi nilai cache:
| Kondisi | cache_creation_input_tokens |
cache_read_input_tokens |
|---|---|---|
| Request pertama | Lebih dari 0 | 0 |
| Request berikutnya dengan prefix identik | Bisa tetap ada | Lebih dari 0
|
Jika cache_read_input_tokens tidak pernah naik, periksa dua hal:
- Prefix prompt tidak identik byte demi byte.
- Jumlah token belum mencapai batas minimum cache.
Pada Opus 5, caching dimulai dari 512 token, turun dari 1.024 token di Opus 4.8. Token cache read ditagih $0,50 per juta token, dibandingkan harga input dasar $5 per juta token.
Jadikan cache sebagai assertion dalam pengujian integrasi:
assert response.usage.cache_read_input_tokens > 0
Dengan begitu, perubahan kecil pada system prompt yang merusak cache dapat terdeteksi sebelum menjadi tagihan besar. Lihat juga panduan memotong tagihan API Claude.
Uji dan debug alur di Apidog
Semua langkah di atas adalah HTTP request dengan header autentikasi, JSON body, SSE stream, dan respons yang perlu divalidasi. Apidog dapat digunakan untuk mengirim request, menyimpan environment variable, melihat SSE, dan menguji respons.
Apidog tidak menjalankan inferensi atau merutekan model. Request tetap dikirim ke Anthropic.
Setup praktis untuk tim:
Buat request dasar
GunakanPOST https://api.anthropic.com/v1/messages, tiga header wajib, dan environment variable untuk API key.Simpan ke koleksi
Hindari setiap anggota tim membuat request baru dari nol.Fork request berdasarkan effort
Buat variasilow,medium,high, danxhigh. Jalankan prompt yang sama, lalu bandingkan kualitas output, latensi, dan jumlah token.Uji SSE
Aktifkan"stream": truedan pastikan blok thinking serta text ditangani secara terpisah.Periksa tool call
Saatstop_reasonbernilaitool_use, periksa objekinput. Jika input terlalu ambigu atau tidak sesuai, ketatkaninput_schema.Tambahkan assertion respons
Pastikan respons tidak berhenti karenamax_tokens, dan cache hit muncul pada request berulang.
// Contoh assertion konseptual
stop_reason !== "max_tokens"
cache_read_input_tokens > 0
Unduh Apidog jika ingin mengikuti alur ini. Koleksi yang sama juga dapat dipakai untuk Sonnet 5 atau request Claude Opus 4.8.
Kesalahan dan jebakan umum
HTTP 400 saat
thinking: disableddengan effortxhighataumax
Turunkan effort kehigh, atau aktifkan kembali thinking.HTTP 400 saat mengatur sampling parameter non-default
temperature,top_p, dantop_kdengan nilai non-default tetap mengembalikan400, sama seperti Opus 4.8. Arahkan gaya atau variasi output lewat prompt.Jawaban terpotong
Jikastop_reasonadalahmax_tokens, batas token habis untuk thinking dan output. Tingkatkanmax_tokens.Priority Tier tidak didukung di Opus 5
Opus 4.8 menyediakannya. Jika kapasitas enterprise Anda bergantung pada Priority Tier, selesaikan kebutuhan ini sebelum memindahkan traffic.System message di tengah percakapan kini didukung
Entrirole: "system"di dalammessagesditerima oleh Opus 5, sedangkan Opus 4.8 mengembalikan400.Instruksi verifikasi berlebihan
Opus 5 memverifikasi pekerjaannya sendiri tanpa perlu selalu diminta. Hapus instruksi seperti “periksa ulang jawaban Anda sebelum merespons” jika tidak memberi nilai tambahan, karena dapat menghabiskan token thinking.
Batas yang perlu diketahui
Opus 5 bukan model paling mampu di seluruh jajaran Claude. Fable 5 masih memegang sebutan Anthropic sebagai model “paling mampu dirilis secara luas”, dengan harga $10 per juta token input dan $50 per juta token output.
Menurut Anthropic, Opus 5 juga tertinggal dari Mythos 5 pada eksploitasi keamanan siber dan penelitian biologi otonom.
Klaim benchmark peluncuran berikut berasal dari Anthropic dan belum direproduksi secara independen pada 25 Juli 2026:
- Kira-kira 2x Opus 4.8 pada Frontier-Bench v0.1.
- Sekitar 3x model terbaik berikutnya pada ARC-AGI 3.
- Berjarak 0,5% dari Fable 5 pada CursorBench 3.2.
Gunakan angka tersebut sebagai hasil vendor, lalu jalankan evaluasi dengan data dan workload Anda sendiri. Baca perbandingan Opus 5 versus Fable 5 dan posting peluncuran Anthropic untuk sumber utama klaim tersebut.
FAQ
Apa ID model untuk Claude Opus 5?
Gunakan:
claude-opus-5
Tanpa sufiks tanggal. Di Amazon Bedrock, gunakan anthropic.claude-opus-5. Google Cloud dan Claude Platform di AWS menggunakan ID pihak pertama.
Mengapa request Opus 4.8 saya terpotong di Opus 5?
Thinking aktif secara default di Opus 5. Nilai max_tokens kini membatasi thinking dan respons sekaligus.
Naikkan max_tokens dan periksa:
{
"stop_reason": "max_tokens"
}
Mengapa saya mendapatkan HTTP 400 saat menonaktifkan thinking?
Kemungkinan request Anda menggunakan:
{
"thinking": {"type": "disabled"},
"output_config": {"effort": "xhigh"}
}
Atau effort: "max".
Turunkan effort ke high, atau biarkan thinking aktif dan gunakan effort lebih rendah.
Apakah context window 1 juta token memerlukan beta header?
Tidak. Di Opus 5, 1 juta token adalah default dan maksimum tanpa beta header atau premi harga context panjang.
Untuk output 300k di Batch API, gunakan beta header:
output-300k-2026-03-24
Messages API tetap membatasi output pada 128k token.
Bisakah saya menggunakan kembali setting effort Opus 4.8?
Tidak disarankan. Anthropic menyatakan level effort telah dikalibrasi ulang. Jalankan evaluasi baru untuk workload Anda, terutama pada low dan medium.
Apakah Apidog menjalankan model Claude?
Tidak. Apidog mengirim, memeriksa, dan menguji request HTTP. Inferensi tetap terjadi di infrastruktur Anthropic. Apidog membantu mengelola key, streaming, tool call payload, dan assertion respons di sekitar API call.


Top comments (0)