NeuVerbinde jeden Agenten mit UberLLM: ein Schlüssel, alle Modelle, zum Listenpreis oder günstiger.
UberLLM

Fehler

UberLLM gibt Fehlerumschläge im OpenAI-Stil zurück, damit die bestehende Fehlerbehandlung unverändert funktioniert:

{
  "error": {
    "code": "insufficient_credits",
    "message": "Your credit balance is too low to serve this request.",
    "type": "insufficient_credits"
  }
}

Inference-Oberfläche (/v1/*)

HTTP code Bedeutung Was zu tun ist
402 insufficient_credits Dein Prepaid-Guthaben reicht nicht für die Reservierung der Anfrage. Lade unter Dashboard → Credits auf.
402 key_spend_cap_exceeded Dieser Key hat sein konfiguriertes Ausgabenlimit erreicht (täglich / monatlich / lebenslang). Erhöhe oder entferne das Limit des Keys, oder verwende einen anderen Key.
400 invalid_request Der Request-Body konnte nicht geparst werden, oder das Modell hat die Anfrage abgelehnt (die Meldung sagt, warum). Korrigiere die Anfrage; sie wird nicht erneut versucht.
413 request_too_large Der Request-Body ist über 10 MB groß (meistens Bilder, die als base64 gesendet werden). Sende Bilder als https://-Links oder kürze die Unterhaltung. Es wurde nichts berechnet.
404 model_not_found Die model-ID ist nicht verfügbar. Ein uberllm/-Präfix davor ist okay: uberllm/deepseek/deepseek-v4.1-flash erreicht deepseek/deepseek-v4.1-flash. Prüfe GET /v1/models; korrigiere die ID.
400 context_length_exceeded Der Prompt ist länger, als das Modell verarbeiten kann, egal wer es verkauft. Auf /v1/chat/completions ohne eine models-Liste antwortet stattdessen das passendste Modell, das ihn verarbeiten kann (die model der Antwort nennt es); dieser Fehler kommt, wenn keins das tut, oder auf /v1/messages. Die Meldung gibt beide Größen an und nennt Modelle, die ihn verarbeiten können. Sende weniger oder wähle ein Modell, das die Meldung nennt. Es wurde nichts berechnet.
400 tools_not_supported Die Anfrage sendet tools, und das Modell kann sie nicht aufrufen, egal wer es verkauft. Dieselbe Ersatzregel wie oben. Die Meldung nennt Modelle, die es können. Sende sie ohne Tools oder wähle ein Modell, das die Meldung nennt. Es wurde nichts berechnet.
400 max_price_exceeded Niemand verkauft das Modell gerade innerhalb deiner provider.max_price (und kein Modell in models könnte es übernehmen). Erhöhe max_price, versuche es später oder nenne andere Modelle. Es wurde nichts berechnet.
400 unsupported_routing_option Eine provider-Option, die UberLLM nicht anwenden kann (die Meldung nennt sie). Lass sie weg; siehe Modelle & Routing.
400 invalid_metadata metadata ist kein Objekt aus bis zu 16 Textwerten. Korrigiere die Tags; Zahlen gehören in Anführungszeichen.
400 unknown_capability Ein best-price: / fastest:-Alias benennt keinen Job. Verwende einen von chat, image, image-edit, text-to-video, image-to-video, music, speech, transcription.
400 wrong_endpoint Das Modell (oder der Alias) erledigt einen Job, den diese Route nicht ausführt: ein Bild-, Video-, Musik-, Sprach- oder Transkriptionsmodell, das an /v1/chat/completions oder /v1/messages gesendet wird, ein Chat-Modell, das an eine Medien-Route gesendet wird, oder Sprache und Transkription vertauscht. Die Meldung nennt die richtige Route. Vor der Ausführung abgelehnt; es wurde nichts berechnet, und Activity führt es als abgelehnt auf. Sende es an die Route, die die Meldung nennt (auch in endpoints auf /v1/models/{id}).
503 no_timing_data fastest: wurde abgefragt, bevor genug Anfragen zeitlich erfasst wurden, um Modelle zu vergleichen. Verwende best-price: oder nenne ein Modell.
429 rate_limited Dieser Key hat sein Anfragelimit pro Minute überschritten, oder der Marktplatz hat nach automatischen Wiederholungen weiterhin rate-limitiert. Warte etwas ab und versuche es mit Jitter erneut; erhöhe das Rate-Limit des Keys.
503 no_available_provider Niemand kann dieses Modell gerade bedienen, selbst nach automatischen Wiederholungen (kein Anbieter, jeder Anbieter schlägt fehl oder startet zu langsam, oder deine provider-Optionen ließen nichts zum Routen übrig), oder ein best-price: / fastest:-Alias hat kein Modell für den Job gefunden, das gerade verfügbar ist. Die Meldung nennt das Modell oder den Job. Das deckt auch einen Anbieter ab, dessen eigenes Provider-Konto fehlgeschlagen ist: UberLLM versucht andere Anbieter und gibt den Fehler dieses Anbieters niemals so weiter, als wäre dein Key falsch. Versuche es gleich noch einmal oder wähle ein anderes Modell. Es wurde nichts berechnet.
503 service_unavailable Ein vorübergehendes Problem auf UberLLM-Seite. Versuche es in ein paar Minuten erneut.

Bild-, Video- und Musik-Anfragen fügen ein paar eigene Codes hinzu (image_required, invalid_image_url (ein Quellbild-Link, der nicht zu einem Bild führt), max_cost_too_low, idempotency_key_reused, artifact_expired); siehe Video oder Bild erstellen.

Eine abgelehnte oder fehlgeschlagene Chat-Anfrage erscheint in Dashboard → Activity mit der Meldung, die du erhalten hast. Chat-, Bild-, Video-, Musik-, Sprach- und Transkriptionsantworten tragen einen X-Request-Id-Header mit derselben ID wie ihre Activity-Zeile, Fehler eingeschlossen.

Wiederholungen erfolgen für dich, bevor ein Fehler zurückgegeben wird: bis zu 4 Versuche, nur vor dem ersten Inhalts-Byte. Siehe Modelle & Routing.

Reservierungen und Abbrüche

UberLLM reserviert vor dem Weiterleiten über den Proxy geschätzte Kosten und rechnet danach nach tatsächlicher Nutzung ab. Wenn eine Anfrage fehlschlägt, abbricht oder du mitten im Stream die Verbindung trennst, wird die ungenutzte Reservierung freigegeben — du zahlst nur für tatsächlich erzeugten Inhalt. Abgebrochene Streams werden anhand einer Tokenizer-Schätzung abgeglichen und in Dashboard → Activity markiert.

Ratenbegrenzung

Pro-Schlüssel-Ratenbegrenzungen werden mit einem festen Zeitfenster durchgesetzt. Auf der Inferenzoberfläche schließen Ratenbegrenzungsprüfungen im Fehlerfall — kann UberLLM Ihr Limit nicht überprüfen, wird die Anfrage abgelehnt, anstatt unbegrenzt bedient zu werden. Legen Sie das Anfragelimit pro Minute für einen Schlüssel fest (oder erhöhen Sie es) unter Dashboard → API keys.

Jede authentifizierte /v1/* Antwort enthält das aktuelle Zeitfenster des Schlüssels:

Header Bedeutung
X-RateLimit-Limit Anfragen, die dieser Schlüssel pro Minute senden darf
X-RateLimit-Remaining Verbleibende Anfragen in der aktuellen Minute
X-RateLimit-Reset Wann das Zeitfenster neu beginnt (Unix-Sekunden)
Retry-After Bei einer 429 dieses Limits: Sekunden Wartezeit vor einem erneuten Versuch

Drosseln Sie, wenn X-RateLimit-Remaining sich 0 nähert. Die Header werden weggelassen, wenn das Zeitfenster nicht gelesen werden kann.

Verkäufer-API (/api/v1/seller/*)

Diese verwenden Standard-REST-Codes:

HTTP code Bedeutung
400 invalid_request Validierung fehlgeschlagen (z.B. nicht-HTTPS endpoint_url, fehlende Preise für absolute, multiplier außerhalb 0 < m ≤ 1.5). Die Nachricht benennt das Feld.
400 model_not_in_catalog model_id ist kein bekanntes Katalogmodell.
401 unauthorized Fehlendes oder ungültiges dashboard JWT.
404 seller_not_found Kein Verkäufer für Ihre Organisation — rufen Sie zuerst POST /api/v1/seller/register auf.
404 offer_not_found Kein Angebot mit dieser ID unter Ihrem Verkäufer.
409 invalid_status_transition Ungültige Statusänderung — z.B. die Wiederaufnahme eines delisted Angebots (entlistet ist endgültig).

Hinweis: eine fehlgeschlagene Validierungsprüfung ist keine Fehlermeldung. Das Angebot wird erfolgreich erstellt/aktualisiert und mit status: "paused" und einer last_probe_error zurückgegeben, die den Grund erklärt — beheben Sie den endpoint und PATCH es zurück auf active, um es erneut zu prüfen. Siehe Verkäufer.

Authentifizierungsfehler

HTTP Bedeutung
401 Fehlender/ungültiger Authorization header. Inferenz-Schlüssel sind Bearer ull_...; Dashboard-Endpunkte verwenden Ihr Konto-JWT.
403 Der Schlüssel ist gültig, aber ihm fehlt der erforderliche Scope (z.B. ein reiner Inferenz-Schlüssel, der einen Dashboard-Endpunkt aufruft).