Zurück zum Blog

FehlerbehebungAnleitung

API-Fehler 401 oder 404: falscher Schlüssel, Basis-URL oder Modell-ID

Lies den Statuscode, finde heraus, welche der drei Sachen falsch ist (Schlüssel, Basis-URL, Modell-ID), und bestätige die Lösung mit einer curl-Anfrage.

Von CheapTokens TeamVeröffentlicht am 5 Min. Lesezeit

Fehlerkarte mit Status 401 und einem Hinweis, den Schlüssel, die Basis-URL und die Modell-ID zu prüfen
Auf dieser Seite
  1. So unterscheidest du sie schnell
  2. 401: Der Schlüssel passt nicht zum Endpunkt
  3. 404 bei jedem Modell: Die Adresse ist falsch
  4. 404 bei einem Modell: Die Modell-ID
  5. Beweise die Lösung mit einem curl-Befehl
  6. Wenn es immer noch nicht funktioniert

Deine Anfrage ist mit einem Statuscode fehlgeschlagen und du weißt nicht, wo du zuerst ansetzen sollst. Kurze Antwort: 401 deutet meist auf den Schlüssel hin, 404 bedeutet meist, dass du an der falschen Stelle anklopfst — entweder an der Adresse (Basis-URL und Pfad) oder an der Modell-ID. Drei Dinge, die du in dieser Reihenfolge prüfen solltest, und ein curl-Befehl, der die Lösung beweist.

Die Fehlercode-Seite von OpenAI (geprüft am 26. Oktober 2026) listet zwei 401-Meldungen auf: „Invalid Authentication“ und „Incorrect API key provided“. Die angegebene Lösung ist bei beiden dieselbe: den Schlüssel prüfen oder einen neuen generieren. Die Seite dokumentiert keinen 404 für die API selbst, daher stammt die folgende Regel für 404 daraus, wie OpenAI-kompatible Endpunkte funktionieren, nicht von dieser Seite.

So unterscheidest du sie schnell#

Status Was der Server sagt Zuerst prüfen
401 meist: Ich akzeptiere diesen Schlüssel nicht den Schlüssel und zu welchem Anbieter er gehört
404 bei jedem Modell meist: An dieser Adresse gibt es nichts Basis-URL und /v1
404 nur bei einem Modell meist: Die Adresse stimmt, diese Modell-ID ist nicht bekannt die Modell-ID

Der Wortlaut der Meldung hängt vom Server und von deinem Tool ab (Cline, Aider, OpenCode und Continue verpacken Fehler jeweils auf ihre eigene Weise), also beginne mit der Zahl und bestätige sie dann mit der curl-Prüfung unten.

401: Der Schlüssel passt nicht zum Endpunkt#

Die klassische Geschichte: Du hast ein Tool auf einen neuen Anbieter umgestellt, die Basis-URL geändert und den Schlüssel des alten Anbieters in der Konfiguration gelassen. Die Adresse ist neu, der Schlüssel ist der alte, und der Server antwortet mit 401. Nichts ist kaputt; der Schlüssel gehört einfach zu einem anderen Haus.

Was du prüfen solltest:

  1. Welcher Anbieter hat den Schlüssel ausgestellt? Es muss derjenige sein, dessen Adresse du aufrufst. Ein Schlüssel für einen Dienst ist bei einem anderen nicht gültig.
  2. Verrutschte Zeichen. Ein Leerzeichen oder ein Zeilenumbruch, der mit dem Schlüssel eingefügt wurde, oder Anführungszeichen, die im Wert gelandet sind.
  3. Woher das Tool ihn liest. Eine Umgebungsvariable, die in einem Terminal gesetzt ist, aber nicht in dem, aus dem dein Editor gestartet wurde, ist eine häufige Ursache. Wenn das Tool sowohl eine Konfigurationsdatei als auch eine Umgebungsvariable hat, finde heraus, welche gewinnt.
  4. Ein widerrufener oder gelöschter Schlüssel. Ein Schlüssel, den du gelöscht oder widerrufen hast, funktioniert nicht mehr — erstelle einen neuen und trage ihn in die Konfiguration ein.

Wenn du nicht sicher bist, wie Schlüssel funktionieren oder wo du sie aufbewahren solltest, erklärt was ein API-Schlüssel ist und wie du ihn sicher speicherst das in einfachen Worten.

404 bei jedem Modell: Die Adresse ist falsch#

Die Basis-URL für CheapTokens ist https://api.cheaptokens.dev/v1. Tools und SDKs hängen den Endpunktpfad selbst an, daher drehen sich die üblichen Fehler um /v1:

  • Fehlendes /v1: Das Tool ruft am Ende https://api.cheaptokens.dev/chat/completions auf.
  • Doppeltes /v1: Du hast den vollständigen Pfad in ein Feld eingefügt, das ihn bereits hinzufügt, und erhältst https://api.cheaptokens.dev/v1/v1/chat/completions.
  • Falsche Variante: OpenAI-artige Tools und das OpenAI SDK verwenden die Adresse mit /v1. Das Anthropic SDK und Claude Code verwenden die Adresse ohne /v1: https://api.cheaptokens.dev.

Wenn du dich jemals gefragt hast, was genau eine Basis-URL ist und welchen Teil davon das Tool hinzufügt, geht diese Erklärung das durch. Für die Anthropic-Seite siehe das Anthropic Python SDK mit CheapTokens.

404 bei einem Modell: Die Modell-ID#

Dieser Fall erwischt Leute, die einen Namen aus einer Preistabelle oder von einem anderen Anbieter kopieren. Eine Preistabelle könnte DeepSeek-V4-Flash anzeigen; die API möchte die vollständige Gateway-ID, mit dem Entwicklerpräfix und dem Release:

Wo du es gesehen hast Was die API braucht
DeepSeek-V4-Flash deepseek-ai/DeepSeek-V4-Flash-0731
GLM-5.3-Flash zai-org/GLM-5.3-Flash
MiniMax-M2.7 MiniMaxAI/MiniMax-M2.7

Kurze IDs aus Preisbezeichnungen werden von der API nicht akzeptiert, und die Schreibweise ist wichtig: Großbuchstaben, der Schrägstrich, das Suffix -0731. Kopiere die ID aus der CheapTokens-Dokumentation, statt sie aus dem Gedächtnis einzutippen — verschiedene Anbieter benennen dasselbe Modell unterschiedlich. Um die genauen IDs zu sehen, die für deinen Schlüssel verfügbar sind, rufe GET https://api.cheaptokens.dev/v1/models mit demselben Authorization-Header auf und kopiere die ID aus der Liste:

bash
curl https://api.cheaptokens.dev/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"

Wenn die Namenslogik in der Tabelle seltsam aussieht, erklärt wie man AI-Modellnamen liest Alias versus feste Version.

Beweise die Lösung mit einem curl-Befehl#

Nimm das Tool aus dem Spiel und rufe die API direkt auf. Ersetze den Schlüsselplatzhalter durch deinen eigenen:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
    "messages": [{"role": "user", "content": "Say hi in one word."}],
    "max_tokens": 20
  }'

Diese eine Anfrage enthält alle drei Verdächtigen: den Schlüssel im Header, die Basis-URL in der ersten Zeile, die Modell-ID im Body. Eine JSON-Antwort mit einem choices-Array bedeutet, dass alle drei richtig sind, und was auch immer dein Tool anders macht, ist das Problem. Wenn es fehlschlägt, ändere eine Sache nach der anderen:

  • 401 → tausche den Schlüssel ein, den du von CheapTokens erhalten hast, und führe es erneut aus.
  • 404 → vergleiche die URL Zeichen für Zeichen mit der oben, dann die Modell-ID.

Nachdem curl funktioniert, kopiere dieselben drei Werte in das Tool: den Schlüssel, die Basis-URL (https://api.cheaptokens.dev/v1, oder ohne /v1 für Anthropic SDK und Claude Code) und die vollständige Modell-ID.

Wenn es immer noch nicht funktioniert#

  • Derselbe Fehler im Tool, curl ist in Ordnung. Das Tool liest einen alten Schlüssel oder eine alte URL von woanders: eine zweite Konfigurationsdatei, ein gespeichertes Profil, eine Umgebungsvariable. Starte das Tool nach der Änderung neu.
  • Nicht sicher, ob die Modell-ID richtig ist. Rufe GET /v1/models mit deinem Schlüssel auf und kopiere die ID aus der Liste.
  • Verbindung abgelehnt, Timeouts, Zertifikatsfehler. Das ist kein 401 oder 404; siehe häufige Verbindungsfehler.
  • Nicht sicher, wie die erste Anfrage aussehen sollte. Deine erste API-Anfrage geht Schritt für Schritt vor, und die Docs enthalten die vollständige Referenz.

Die Gewohnheit, die es wert ist, beibehalten zu werden: Wenn ein Aufruf fehlschlägt, lies zuerst die Zahl. 401 bedeutet meist den Schlüssel, 404 meist die Adresse oder Modell-ID, und curl klärt es. Das sortiert die meisten dieser Fehler aus, bevor du ein einziges Log öffnest.