API Hop

Dokumentation

API Hop-Dokumentation

Gemeinsame Chat Completions

Einheitliche Chat-API zum Wechseln von Textmodellen über den Parameter `model`. Das Anfrageformat ist mit OpenAI Chat Completions kompatibel.

POSThttps://api.apihop.ai/v1/chat-completions

Einheitliche Chat-API zum Wechseln von Textmodellen über den Parameter model. Das Anfrageformat ist mit OpenAI Chat Completions kompatibel.

Claude Sonnet 4.6 (claude-sonnet-4-6) wird vom vorgelagerten Anbieter unterstützt, ist aber derzeit nicht bei RequestBeam veröffentlicht. Es ist kein aktiver Integrationsstandard. Bestätigen Sie vor jedem Modellaufruf den Zugriff anhand Ihrer eigenen Antwort von GET https://api.apihop.ai/v1/models.

Dieser Endpunkt liefert standardmäßig eine vollständige JSON-Antwort. Setzen Sie stream: true ausdrücklich, wenn Sie SSE-Streaming benötigen.

text
POST https://api.apihop.ai/v1/chat-completions

Authentifizierung

Alle Anfragen erfordern Bearer-Token-Authentifizierung.

http
Authorization: Bearer YOUR_API_KEY

Falls die Authentifizierung fehlschlägt, prüfen Sie:

  • Ob der API-Schlüssel korrekt ist
  • Ob der Schlüssel für diese API-Basis-URL gültig ist
  • Ob der Anfrageheader richtig geschrieben ist
  • Ob ein Proxy den Autorisierungsheader umschreibt

Anfragekörper

modelstringerforderlichStandard: gpt-5.4

Dokumentierte Textmodell-IDs (Zugriff mit GET https://api.apihop.ai/v1/models bestätigen):

  • OpenAI: gpt-5.4, gpt-5.5, gpt-5.6-sol, gpt-5.6-terra, gpt-6-astra
  • Anthropic: 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
  • DeepSeek: deepseek-v4-flash, deepseek-v4-pro, deepseek-v4.1-flash

(V4.1 Flash ist eine eigenständige Modell-ID und erst nach Bereitstellung und Aktivierung verfügbar; prüfen Sie GET https://api.apihop.ai/v1/models).

  • Gemini: gemini-3.6-flash, gemini-3.7-flash, gemini-3.8-flash, gemini-3.5-flash-lite, gemini-4-argon (nach Bereitstellung und Aktivierung)
  • Kimi: kimi-k3
  • MiniMax: minimax-m3

Die vollständige Liste und die für den aktuellen API-Schlüssel sichtbaren Modelle finden Sie im Modellkatalog. Verwenden Sie Ihre eigene Antwort von GET https://api.apihop.ai/v1/models als aktuelle Verfügbarkeitsquelle. Die Leitfäden zu DeepSeek, Gemini, Kimi und MiniMax enthalten familienspezifische Auswahlhinweise und Beispiele.

messagesobject[]erforderlich

Chatnachrichten. Jede Nachricht sollte Folgendes enthalten:

  • role: system, user oder assistant
  • content: Nachrichteninhalt

Beispiel:

json
  [
    {"role": "system", "content": "You are a helpful Python tutor."},
    {"role": "user", "content": "How should I learn programming?"}
  ]

Modellspezifische Sampling-Grenzen: gpt-6-astra akzeptiert die alten Felder temperature, top_p und top_logprobs nicht; lassen Sie sie weg, auch wenn ein älterer Client sie einschließt. Der GPT-6-Astra-Playground von RequestBeam blendet die alten Sampling- und Strafparameter ebenfalls aus. claude-sonnet-5 lehnte top_p in einer dokumentierten Integrationsnachprüfung ab; lassen Sie es auch bei diesem Modell weg. Das Durchreichen eines optionalen Feldes durch einen Proxy belegt keine Unterstützung durch das gewählte Anbietermodell.

temperaturenumberStandard: 1.0

Sampling-Temperatur. OpenAI-kompatible Clients verwenden häufig 0 bis 2; die endgültige Validierung trifft jedoch das gewählte Modell.

max_tokensinteger

Optionale maximale Ausgabetokens als positive Ganzzahl. Lassen Sie das Feld weg, um den Anbieterstandard des gewählten Modells zu verwenden; Standardwerte und Höchstgrenzen hängen von Modell und Anbieterkonfiguration ab.

Je nach Modell kann das Budget Denktokens und endgültigen Text umfassen. Ein kleines Budget kann finish_reason: "length" verursachen, die Antwort abschneiden oder vor dem endgültigen Text verbraucht sein. Eine Erhöhung kann die Kosten steigern.

max_completion_tokensinteger

Optionale Kompatibilitätsalternative zu max_tokens mit denselben Budgethinweisen. Ein Modell akzeptiert möglicherweise nur eines dieser Felder; beginnen Sie beim Modellwechsel mit einem minimalen Anfragekörper. Lassen Sie beide weg, um den Anbieterstandard zu verwenden.

streambooleanStandard: false

Ob die Antwort gestreamt wird.

  • true: Server-Sent Events zurückgeben
  • false: eine vollständige Antwort zurückgeben
top_pnumberStandard: 1.0

Nucleus-Sampling-Parameter. OpenAI-kompatible Clients verwenden häufig 0 bis 1; das gewählte Modell übernimmt die endgültige Validierung.

frequency_penaltynumberStandard: 0

Häufigkeitsstrafe. OpenAI-kompatible Clients verwenden häufig -2.0 bis 2.0; das gewählte Modell übernimmt die endgültige Validierung.

presence_penaltynumberStandard: 0

Präsenzstrafe. OpenAI-kompatible Clients verwenden häufig -2.0 bis 2.0; das gewählte Modell übernimmt die endgültige Validierung.

stopstring | array

Eine Stoppsequenz oder ein Array von Stoppsequenzen. Das gewählte Modell bestimmt die akzeptierte Anzahl und das Verhalten.

nintegerStandard: 1

Anzahl zu erzeugender Antworten. Verwenden Sie eine Zahl wie 1, keine Zeichenfolge in Anführungszeichen.

Unterschiede bei Modellparametern

Aktuelle Textmodelle unterstützen minimale Chat-Anfragen mit und ohne Streaming. Annahme und Auswirkungen optionaler Parameter hängen jedoch vom gewählten Modell und seiner Kompatibilitätsimplementierung ab.

Die jüngste Nachprüfung am 2026-09-26 akzeptierte claude-fable-5 mit temperature: 0 und lieferte Text. Dieselbe Prüfung lehnte claude-sonnet-5 mit top_p: 0.9 mit HTTP 400 und top_p is deprecated ab. Lassen Sie top_p für dieses Modell weg. Die Annahme belegt weder eine Sampling-Wirkung noch eine Garantie für andere Modelle oder spätere Anfragen; gehen Sie nicht davon aus, dass alle Sampling-Parameter unterstützt werden.

Die OpenAI-Prüfungen am 2026-09-26 akzeptierten stop für gpt-5.6-sol und gpt-5.6-terra. Die Parameterannahme kann sich beim Anbieter ändern und beweist nicht die Wirksamkeit einer Stoppsequenz.

Native OpenAI-kompatible Chat-Weiterleitung behält top_p und stop in der Anbieteranfrage bei. Eine Route, die Chat in Responses umwandelt, behält top_p bei, leitet stop jedoch nicht weiter. Das Weiterleiten belegt weder Anbieterunterstützung noch Wirkung; für keines der Felder gibt es eine plattformweite Garantie über alle Routen hinweg.

Beginnen Sie beim Modellwechsel mit einer minimalen Anfrage und prüfen Sie Sampling, Stoppsequenzen und erweiterte Werkzeugparameter getrennt. Prüfen Sie bei Stoppsequenzen den tatsächlichen Text und Stoppgrund, nicht nur den HTTP-Status. HTTP 200 belegt keine Sampling-Wirkung. Ausgabebudgets müssen Denkprozess und endgültigen Text des Modells abdecken.

Anfragebeispiel

json
{
  "model": "gpt-5.4",
  "messages": [
    {
      "role": "user",
      "content": "Hello, introduce yourself briefly."
    }
  ],
  "stream": false
}

Antwort

idstring

Eindeutige Antwortkennung.

objectstring

Objekttyp, gewöhnlich chat.completion oder bei Streaming chat.completion.chunk.

createdinteger

Unix-Erstellungszeitstempel.

modelstring

In der Antwort zurückgegebene Modellkennung.

choicesarray

Erzeugte Auswahlmöglichkeiten einschließlich Nachrichteninhalt, Index und Abschlussgrund.

usageobject

Statistik der Tokennutzung.

Erfolgsbeispiel

json
{
  "id": "chatcmpl-9876543210",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "gpt-5.4",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "I am an AI assistant that can help with writing, coding, and analysis."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 28,
    "completion_tokens": 42,
    "total_tokens": 70
  }
}

Fehlerantwort

Die vollständige Codereferenz, Protokollunterschiede und Diagnoseschritte finden Sie unter Fehlercodes und Fehlerbehebung.

HTTP-Fehler von Chat Completions verwenden einen flachen JSON-Körper, auch Anbieter-HTTP-Fehler vor Beginn eines SSE-Streams. HTTP 402 liefert beispielsweise:

json
{
  "code": 40000,
  "message": "Insufficient credit. Required: 30000, Available: 20000",
  "type": "api_error"
}
  • code: numerischer Plattformfehlercode, getrennt vom HTTP-Status und keine Zeichenfolge
  • message: lesbare Fehlerbeschreibung
  • type: api_error
  • requestId: optionale Anfragekennung zur Fehlerbehebung
HTTP-StatuscodeBedeutung
40010000Ungültige Anfrage
40120000Fehlende oder ungültige Authentifizierung
40240000Unzureichendes Guthaben
40320001Zugriff verweigert oder Modell für diesen Schlüssel nicht verfügbar
40430000Modell oder Ressource nicht gefunden
40930001Anfragekonflikt
42210001Validierungsfehler
42940001Ratenlimit überschritten
50050003Interner Fehler
50250000Fehler des vorgelagerten Anbieters
50350001Dienst nicht verfügbar
50450002Gateway-Zeitüberschreitung

Prüfen Sie zuerst den HTTP-Status, um den Erfolg festzustellen, und vergleichen Sie anschließend den numerischen code für anwendungsspezifische Behandlung. Vergleichen Sie code nicht mit Zeichenfolgen wie "400", setzen Sie ihn nicht mit dem HTTP-Status gleich und verwenden Sie message nicht als stabile Fehlerkennung. Fehlende oder falsch typisierte messages werden vor dem Anbieteraufruf mit HTTP 400 und code: 10000 abgelehnt.

Dieses Fehlerformat gilt für Chat-Completions-HTTP-Antworten, nicht für Fehler in einem bereits gestarteten SSE-Stream oder anderen API-Protokollen. Modellkatalog und native Protokollendpunkte besitzen eigene dokumentierte Fehlerformate.