API Hop

Dokumentacja

Dokumentacja API Hop

API Claude Messages

Natywne API zgodne z Claude Messages. Ten punkt końcowy używa struktur żądań i odpowiedzi Anthropic Messages, w tym wywołań narzędzi i zdarzeń SSE Anthropic.

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

Natywne API zgodne z Claude Messages. Ten punkt końcowy używa struktur żądań i odpowiedzi Anthropic Messages, w tym wywołań narzędzi i zdarzeń SSE Anthropic.

Claude Sonnet 4.6 (claude-sonnet-4-6) jest obsługiwany przez dostawcę, ale nie jest obecnie opublikowany w API Hop. Nie jest aktywnym domyślnym modelem integracji. Przed wywołaniem dowolnego modelu potwierdź dostęp we własnej odpowiedzi GET https://api.apihop.ai/v1/models.

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

Uwierzytelnianie

Wszystkie żądania wymagają klucza API API Hop. SDK Anthropic, Claude Code i zgodne klienty zwykle używają x-api-key; zwykłe klienty HTTP mogą także korzystać z uwierzytelniania tokenem Bearer.

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

Treść żądania

modelstringWymaganeWartość domyślna: claude-sonnet-5-5

Obsługiwane identyfikatory modeli Claude.

  • 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

Użyj GET https://api.apihop.ai/v1/models, aby sprawdzić modele obecnie dostępne dla Twojego klucza API.

max_tokensintegerWymagane

Maksymalna liczba tokenów wyjściowych jako dodatnia bezpieczna liczba całkowita. Limit obejmuje tokeny rozumowania i końcowego tekstu. Brak wartości, zero, wartość ujemna, ułamek, ciąg znaków lub liczba całkowita spoza bezpiecznego zakresu zwracają HTTP 400 z invalid_request_error przed generowaniem lub rozliczeniem. Model może narzucać niższe maksimum.

W modelach generujących rozumowanie mały limit, na przykład 128, może dać wyłącznie bloki rozumowania przed zakończeniem z stop_reason: "max_tokens", bez tekstu odpowiedzi. Ustaw jawny limit dla zadania i wybranego modelu, zostawiając miejsce na rozumowanie i końcową odpowiedź. Wartości w przykładach są edytowalnymi limitami, a nie wartościami domyślnymi dostawcy ani ograniczeniami modelu; większe limity mogą zwiększyć zużycie tokenów wyjściowych i koszt.

messagesobject[]Wymagane

Wiadomości rozmowy. Każda wiadomość zawiera role i content.

role obsługuje user i assistant. content może być ciągiem znaków lub tablicą bloków treści.

systemstring | object[]

Prompt systemowy. Anthropic Messages używa pola system na najwyższym poziomie zamiast roli system w messages.

streambooleanWartość domyślna: false

Czy zwracać zdarzenia SSE Anthropic.

temperaturenumber

Temperatura próbkowania. Akceptowane wartości i efekty zależą od wybranego modelu.

top_pnumber

Parametr próbkowania jądrowego. Przyjęcie parametru nie gwarantuje zmiany zachowania generowania.

top_kinteger

Parametr próbkowania top-k. Obsługa zależy od wybranego modelu.

stop_sequencesstring[]

Sekwencje zatrzymania.

Żądania z niepustymi sekwencjami zatrzymania pomijają usługi modeli, o których wiadomo, że ich nie obsługują; jeśli zgodna usługa nie jest dostępna, żądanie zwraca 400 przed generowaniem lub rozliczeniem.

toolsobject[]

Definicje narzędzi Anthropic. Narzędzia funkcyjne zwykle zawierają name, description i input_schema.

tool_choiceobject

Zasady wyboru narzędzi, na przykład { "type": "auto" } lub { "type": "tool", "name": "..." }.

thinkingobject

Natywna konfiguracja rozumowania Anthropic, zależna od obsługi wybranego modelu i dostawcy. Claude 4.5 używa { "type": "enabled", "budget_tokens": 1024 }; Claude Sonnet/Opus 4.6 obsługują także rozumowanie adaptacyjne. Nie stosuj ręcznego limitu do każdej wersji modelu. W kontynuacjach narzędzi zwracaj kompletną, uporządkowaną treść asystenta, w tym thinking, signature, redacted_thinking i tool_use, bez zmian. Zachowuj spójność konfiguracji rozumowania i wymaganych nagłówków anthropic-beta przez cały cykl wywołania narzędzia. W SSE łącz fragmenty signature_delta.signature tego samego bloku treści; puste podsumowanie rozumowania nie oznacza, że można odrzucić jego podpis. Odmowa dostępu do konta dostawcy jest błędem po stronie dostawcy, a nie dowodem niepoprawnego podpisu. Rozpoznane odmowy dostępu do konta Bedrock zwracają HTTP 502 z api_error; zwykłe błędy walidacji klienta zachowują HTTP 400. Akceptacja nadal wymaga włączonego konta u dostawcy.

metadataobject

Metadane żądania.

Buforowanie promptów

Dodaj cache_control: { "type": "ephemeral" } do bloku system lub treści wiadomości. Zużycie pamięci podręcznej może obejmować cache_creation_input_tokens, cache_read_input_tokens oraz obsługiwane kategorie tworzenia o czasie 5 minut lub 1 godziny. TTL wynoszący 1 godzinę wymaga także odpowiedniego nagłówka anthropic-beta.

Przykłady żądań

Bez strumieniowania

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

Strumieniowanie

json
{
  "model": "claude-sonnet-5-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Reply exactly OK."
    }
  ],
  "stream": true
}

Odpowiedź

Odpowiedzi bez strumieniowania zachowują strukturę Anthropic Message.

idstring

Identyfikator odpowiedzi, na przykład msg_....

typestring

Typ obiektu, zwykle message.

rolestring

Zwykle assistant.

modelstring

Faktycznie użyty model Claude.

contentobject[]

Natywne bloki treści wyjściowej, w tym text, tool_use i thinking, gdy są używane.

stop_reasonstring

Powód zatrzymania, na przykład end_turn, max_tokens, stop_sequence lub tool_use.

usageobject

Zużycie tokenów, w tym input_tokens i output_tokens. Pola tokenów pamięci podręcznej są dołączane, gdy występują.

Przykład powodzenia

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
  }
}

Odpowiedź strumieniowa

Przy stream: true punkt końcowy zwraca zdarzenia SSE Anthropic. Typowe zdarzenia to:

  • message_start
  • content_block_start
  • content_block_delta
  • content_block_stop
  • ping
  • message_delta
  • message_stop

Odpowiedź błędu

Zobacz kody błędów i diagnozowanie, aby poznać pełny wykaz kodów, różnice protokołów i kroki diagnostyczne.

Odpowiedzi błędów używają struktury w stylu Anthropic:

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