Tutorial
HiAPI invalid_request: Wie behebt man einen falsch gewählten Modell-Endpunkt?
Modell-ID, unterstützte Endpunkte und Request-Body abgleichen, Fehler bei Endpunkt, Parametern und Schlüssel unterscheiden, inklusive nur lesendem Diagnosecode.
TL;DR
invalid_request ist ein Fehler der Anfrageklasse. Ein falsch gewählter Endpunkt ist eine mögliche Ursache; zusätzlich sollte man anhand der Fehlermeldung den Request-Body und die Modell-ID prüfen. Zuerst die vom Modell unterstützten Endpunkte abgleichen, dann die Felder entsprechend diesem Endpunkt aufbauen.
Vor dem Ausführen des Python-Beispiels in derselben Python-Umgebung python -m pip install requests ausführen.
Auswahl der drei Endpunkte
Die drei bei HiAPI üblichen Generierungs-Endpunkte sind folgende; welche Endpunkte ein einzelnes Modell unterstützt, steht auf seiner Modellseite und im öffentlichen Modellkatalog.
| Endpunkt | Schwerpunkt des Request-Bodys | Zweck |
|---|---|---|
/v1/tasks |
model + input |
Bild-, Video- und Audio-Aufgaben |
/v1/chat/completions |
model + messages |
Modelle, die das Chat-Protokoll unterstützen |
/v1/responses |
model + input |
Modelle, die Responses unterstützen |
task, openai und openai-response in supported_endpoint_types entsprechen jeweils den drei obigen Endpunkten. Im Katalog können weitere Protokolltypen auftauchen; bei nicht aufgeführten Typen die Integrationsdokumentation des Modells öffnen.
Nur lesende Prüfung der vom Modell unterstützten Endpunkte
HIAPI_MODEL auf die vollständige Modell-ID der Modellseite setzen und das folgende Skript ausführen. Es liest nur den öffentlichen Katalog und übermittelt keine Generierungsaufgaben.
import os
import requests
model_id = os.environ["HIAPI_MODEL"]
response = requests.get("https://api.hiapi.ai/api/pricing", timeout=30)
response.raise_for_status()
models = response.json()["data"]
model = next((m for m in models if m.get("model_name") == model_id), None)
if model is None:
raise SystemExit("Model not present in the public catalog; check its exact model ID")
print("model:", model["model_name"])
print("supported_endpoint_types:", model.get("supported_endpoint_types", []))
Vier Schritte zur Behebung der Anfrage
- Domain und Pfad der tatsächlichen Anfrage prüfen und sicherstellen, dass die Base URL nicht doppelt mit
/v1zusammengesetzt wird. - Die vollständige ID und die unterstützten Endpunkte auf der Modellseite abgleichen; der Anzeigename kann die API-Modell-ID nicht direkt ersetzen.
- Den Request-Body entsprechend anpassen:
messagesaus dem Chat dürfen nicht unverändert in den Aufgaben-Endpunkt kopiert werden; Aufgabenparameter gehören ininput. - Den zurückgegebenen HTTP-Status und die Fehlerfelder erneut lesen; bei weiterhin bestehendem Fehler Request-ID, Modell-ID, Endpunktpfad und den bereinigten Request-Body aufbewahren.
Fehler bei Endpunkt, Parametern und Schlüssel unterscheiden
| Symptom | Nächster Schritt |
|---|---|
| 400, Meldung, dass die Anfrage ungültig ist | Endpunkt, JSON, Pflichtfelder und Feldtypen prüfen |
| Klare Meldung, dass das aktuelle Protokoll nicht unterstützt wird | Den vom Modell deklarierten Endpunkt verwenden |
| 401, Schlüssel ungültig oder fehlend | Bearer-Header und Laufzeit-Umgebungsvariablen prüfen |
Aufgaben-Endpunkt gibt MODEL_UNAVAILABLE zurück |
Modell-ID, Verfügbarkeitsstatus und Zugriffsrechte des Kontos prüfen |
Die Ablehnungsantwort des Aufgaben-Endpunkts kann ein error_code auf oberster Ebene enthalten; andere Endpunkte verwenden möglicherweise error.code. Nicht nur anhand eines einzelnen Felds alle Fehler beurteilen.
Häufige Fragen
Bedeutet invalid_request immer einen falsch gewählten Endpunkt?
Nein. Auch Anfragefelder, JSON oder fehlende Pflichtangaben können zur Ablehnung der Anfrage führen. Zuerst die message lesen, dann den Endpunkt prüfen.
Reicht es, nur die URL zu ändern?
Zusätzlich muss der Request-Body an den jeweiligen Endpunkt angepasst werden. messages und input des Aufgaben-Endpunkts haben unterschiedliche Strukturen.
Was tun, wenn das Modell nicht im öffentlichen Katalog ist?
Vollständige ID, Modellseite und Sichtbarkeitsbereich des Kontos prüfen; nicht automatisch durch ein ähnlich benanntes Modell ersetzen.
Erzeugt dieser Prüfcode Inhalte?
Nein. Der Code liest nur den öffentlichen Katalog; erst beim tatsächlichen Absenden einer Generierungsanfrage wird der Aufgabenprozess gestartet.
Weitere Fehlersuche
Ähnliche Artikel
Alle Artikel ansehen →-
Tutorial
Recraft Creative Upscale Praxisbeispiele: Landschaften und Aquarell hochskalieren
Betrachten Sie die Texturveränderungen bei Holzhütte, See und Aquarellstadt, unterscheiden Sie vollständige Ergebnisse von Vorschauen und prüfen Sie neu gezeichnete Details.
-
Tutorial
Ungültiger OpenAI API key: Fehlerbehebung bei 401, Umgebungsvariablen und Projektkonfiguration
OpenAI 401, 403 und 429 unterscheiden, Umgebungsvariablen sowie Organisations- und Projekteinstellungen prüfen und Zugangsdaten mit einer schreibgeschützten Anfrage verifizieren.
-
Tutorial
Kling 4.0 Prompt-Sammlung: 6 Szenen zum direkten Kopieren für deine Videos
E-Commerce-Produkt, Food, Reise-Landschaft, Alltagsszene, leere Szene mit Ton und Bild-zu-Video – jede Szene mit echtem Ergebnisvideo, vollständigem Prompt und Ein-Klick-Vorausfüll-Link.