Dokumentasi API Hop
Claude Messages
API native yang kompatibel dengan Claude Messages. Endpoint ini menggunakan bentuk permintaan dan respons Anthropic Messages, termasuk panggilan alat dan peristiwa SSE Anthropic.
https://api.apihop.ai/anthropic/v1/messagesAPI native yang kompatibel dengan Claude Messages. Endpoint ini menggunakan bentuk permintaan dan respons Anthropic Messages, termasuk panggilan alat dan peristiwa SSE Anthropic.
Claude Sonnet 4.6 (claude-sonnet-4-6) didukung penyedia hulu tetapi saat ini tidak dipublikasikan di API Hop. Model ini bukan pilihan integrasi bawaan yang aktif. Sebelum memanggil model apa pun, pastikan akses melalui respons GET https://api.apihop.ai/v1/models Anda sendiri.
POST https://api.apihop.ai/anthropic/v1/messagesAutentikasi
Semua permintaan memerlukan API Key API Hop. SDK Anthropic, Claude Code, dan klien kompatibel biasanya menggunakan x-api-key; klien HTTP biasa juga dapat menggunakan autentikasi Bearer Token.
x-api-key: YOUR_APIHOP_API_KEY
anthropic-version: 2023-06-01Authorization: Bearer YOUR_APIHOP_API_KEY
anthropic-version: 2023-06-01Isi
modelstringwajibBawaan: claude-sonnet-5-5ID model Claude yang didukung.
claude-fable-5claude-fable-5-1claude-opus-4-6claude-opus-4-7claude-opus-4-8claude-opus-5claude-opus-5-5claude-sonnet-5claude-sonnet-5-5
Gunakan GET https://api.apihop.ai/v1/models untuk model yang saat ini tersedia bagi API Key Anda.
max_tokensintegerwajibJumlah maksimum token keluaran, berupa bilangan bulat aman positif. Anggaran ini mencakup token keluaran pemikiran dan teks akhir. Nilai yang tidak ada, nol, negatif, pecahan, string, atau bilangan bulat tidak aman mengembalikan HTTP 400 dengan invalid_request_error sebelum pembuatan atau penagihan. Model dapat menetapkan maksimum yang lebih rendah.
Untuk model yang menghasilkan pemikiran, anggaran kecil seperti 128 mungkin hanya menghasilkan blok pemikiran sebelum berakhir dengan stop_reason: "max_tokens", tanpa keluaran teks. Atur anggaran eksplisit untuk tugas dan model yang dipilih, dengan ruang untuk pemikiran serta jawaban akhir. Nilai dalam contoh adalah alokasi yang dapat disunting, bukan nilai bawaan upstream atau batas model; alokasi lebih besar dapat meningkatkan penggunaan keluaran dan biaya.
messagesobject[]wajibPesan percakapan. Setiap pesan berisi role dan content.
role mendukung user dan assistant. content dapat berupa string atau larik blok konten.
systemstring | object[]Prompt sistem. Anthropic Messages menggunakan kolom system tingkat atas, bukan peran system dalam messages.
streambooleanBawaan: falseApakah mengembalikan peristiwa SSE Anthropic.
temperaturenumberTemperatur sampling. Nilai yang diterima dan efeknya berbeda menurut model yang dipilih.
top_pnumberParameter nucleus sampling. Penerimaan tidak menjamin perubahan perilaku pembuatan.
top_kintegerParameter sampling top-k. Dukungan bergantung pada model yang dipilih.
stop_sequencesstring[]Urutan penghenti.
Permintaan dengan urutan penghenti yang tidak kosong menghindari layanan model yang diketahui tidak mendukungnya; jika tidak ada layanan kompatibel, permintaan mengembalikan 400 sebelum pembuatan atau penagihan.
toolsobject[]Definisi alat Anthropic. Alat fungsi biasanya mencakup name, description, dan input_schema.
tool_choiceobjectKebijakan pemilihan alat, seperti { "type": "auto" } atau { "type": "tool", "name": "..." }.
thinkingobjectKonfigurasi pemikiran native Anthropic, bergantung pada dukungan model dan penyedia yang dipilih. Claude 4.5 menggunakan { "type": "enabled", "budget_tokens": 1024 }; Claude Sonnet/Opus 4.6 juga mendukung pemikiran adaptif. Jangan menerapkan anggaran manual ke setiap versi model. Dalam kelanjutan alat, kembalikan konten assistant lengkap sesuai urutan, termasuk thinking, signature, redacted_thinking dan tool_use, tanpa perubahan. Pertahankan konfigurasi pemikiran dan header anthropic-beta yang diperlukan secara konsisten sepanjang siklus alat. Untuk SSE, gabungkan fragmen signature_delta.signature untuk blok konten yang sama; ringkasan pemikiran kosong tidak berarti tanda tangannya boleh dibuang. Penolakan akses akun penyedia adalah kegagalan upstream, bukan bukti tanda tangan tidak valid. Penolakan akses akun Bedrock yang dikenali mengembalikan HTTP 502 dengan api_error; kesalahan validasi klien biasa tetap menggunakan HTTP 400. Penerimaan tetap memerlukan akun upstream yang diaktifkan.
metadataobjectMetadata permintaan.
Cache Prompt
Tambahkan cache_control: { "type": "ephemeral" } ke blok konten system atau pesan. Penggunaan cache dapat mencakup cache_creation_input_tokens, cache_read_input_tokens, dan kategori pembuatan 5 menit atau 1 jam yang didukung. TTL 1 jam juga memerlukan header anthropic-beta yang sesuai.
Contoh Permintaan
Tanpa Streaming
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Hello, introduce yourself in one sentence."
}
],
"stream": false
}Respons streaming
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Reply exactly OK."
}
],
"stream": true
}Respons
Respons tanpa streaming mempertahankan bentuk Anthropic Message.
idstringID respons, seperti msg_....
typestringTipe objek, biasanya message.
rolestringBiasanya assistant.
modelstringModel Claude yang sebenarnya digunakan.
contentobject[]Blok konten keluaran native, termasuk text, tool_use, dan thinking saat digunakan.
stop_reasonstringAlasan penghentian, seperti end_turn, max_tokens, stop_sequence, atau tool_use.
usageobjectPenggunaan token, termasuk input_tokens dan output_tokens. Kolom token cache disertakan jika ada.
Contoh Berhasil
{
"id": "msg_01...",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-5-5",
"content": [
{
"type": "text",
"text": "Hello, I am Claude and can help with writing, coding, and analysis tasks."
}
],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 18,
"output_tokens": 24
}
}Respons Streaming
Saat stream: true, endpoint mengembalikan peristiwa SSE Anthropic. Peristiwa umum meliputi:
message_startcontent_block_startcontent_block_deltacontent_block_stoppingmessage_deltamessage_stop
Respons Kesalahan
Lihat Kode Kesalahan dan Pemecahan Masalah untuk referensi kode lengkap, perbedaan protokol, dan langkah diagnosis.
Respons kesalahan menggunakan bentuk bergaya Anthropic:
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid credentials or API key has expired."
}
}