API Hop

Dokumentasi

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.

POSThttps://api.apihop.ai/anthropic/v1/messages

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

text
POST https://api.apihop.ai/anthropic/v1/messages

Autentikasi

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.

http
x-api-key: YOUR_APIHOP_API_KEY
anthropic-version: 2023-06-01
http
Authorization: Bearer YOUR_APIHOP_API_KEY
anthropic-version: 2023-06-01

Isi

modelstringwajibBawaan: claude-sonnet-5-5

ID model Claude yang didukung.

  • claude-fable-5
  • claude-fable-5-1
  • claude-opus-4-6
  • claude-opus-4-7
  • claude-opus-4-8
  • claude-opus-5
  • claude-opus-5-5
  • claude-sonnet-5
  • claude-sonnet-5-5

Gunakan GET https://api.apihop.ai/v1/models untuk model yang saat ini tersedia bagi API Key Anda.

max_tokensintegerwajib

Jumlah 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[]wajib

Pesan 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: false

Apakah mengembalikan peristiwa SSE Anthropic.

temperaturenumber

Temperatur sampling. Nilai yang diterima dan efeknya berbeda menurut model yang dipilih.

top_pnumber

Parameter nucleus sampling. Penerimaan tidak menjamin perubahan perilaku pembuatan.

top_kinteger

Parameter 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_choiceobject

Kebijakan pemilihan alat, seperti { "type": "auto" } atau { "type": "tool", "name": "..." }.

thinkingobject

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

metadataobject

Metadata 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

json
{
  "model": "claude-sonnet-5-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Hello, introduce yourself in one sentence."
    }
  ],
  "stream": false
}

Respons streaming

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

idstring

ID respons, seperti msg_....

typestring

Tipe objek, biasanya message.

rolestring

Biasanya assistant.

modelstring

Model Claude yang sebenarnya digunakan.

contentobject[]

Blok konten keluaran native, termasuk text, tool_use, dan thinking saat digunakan.

stop_reasonstring

Alasan penghentian, seperti end_turn, max_tokens, stop_sequence, atau tool_use.

usageobject

Penggunaan token, termasuk input_tokens dan output_tokens. Kolom token cache disertakan jika ada.

Contoh Berhasil

json
{
  "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_start
  • content_block_start
  • content_block_delta
  • content_block_stop
  • ping
  • message_delta
  • message_stop

Respons Kesalahan

Lihat Kode Kesalahan dan Pemecahan Masalah untuk referensi kode lengkap, perbedaan protokol, dan langkah diagnosis.

Respons kesalahan menggunakan bentuk bergaya Anthropic:

json
{
  "type": "error",
  "error": {
    "type": "authentication_error",
    "message": "Invalid credentials or API key has expired."
  }
}