Entwickeln / Anleitungen
Budgets je Schlüssel
Wie Sie jeder Anwendung ein eigenes Ausgabenlimit geben, wann es zurückgesetzt wird und wie Ihr Code auf Statuscode 402 reagiert.
Ein Budget begrenzt, was ein API-Schlüssel in Euro ausgeben darf. Ist es aufgebraucht, lehnt das Gateway weitere Anfragen dieses Schlüssels mit 402 ab. Andere Schlüssel Ihrer Organisation arbeiten weiter.
-
Einen Schlüssel je Anwendung erstellen
Erstellen Sie für jede Anwendung und jede Umgebung einen eigenen Schlüssel, zum Beispiel
chatbot-produktionundchatbot-test. So trifft ein Budget genau eine Anwendung, und der Verbrauch je Schlüssel zeigt, welche Anwendung welche Kosten verursacht.Admins Ihrer Organisation erstellen Schlüssel unter Models → API-Schlüssel mit Neuer Schlüssel.
Ergebnis: Jede Anwendung hat einen eigenen Schlüssel.
-
Budget festlegen
Tragen Sie beim Erstellen oder später über Details & Bearbeiten im Abschnitt Budget zwei Werte ein:
- Ausgabenlimit (€): der Höchstbetrag, zum Beispiel 50 €. Leer bedeutet kein Limit.
- Zurücksetzen: Nie, Täglich, Wöchentlich oder Monatlich.
Zurücksetzen Neuer Zeitraum beginnt Täglich jeden Tag um 00:00 UTC Wöchentlich montags um 00:00 UTC Monatlich am 1. des Monats um 00:00 UTC Nie nie; das Limit gilt für die gesamte Lebensdauer des Schlüssels Ergebnis: Unter Models → API-Schlüssel zeigt die Spalte Verbrauch den Stand im laufenden Zeitraum. Ist das Limit erreicht, steht dort Limit erreicht.
-
402 behandeln
Prüfen Sie bei Statuscode 402 das Feld
codeim Fehlerobjekt:key_budget_exhausted: Das Budget dieses Schlüssels ist für den laufenden Zeitraum aufgebraucht.insufficient_credit: Das Guthaben der Organisation reicht nicht. Diesen Fehler sehen Organisationen, die mit Guthaben abrechnen (siehe Guthaben & Abrechnung).
Wiederholen Sie die Anfrage bei
key_budget_exhaustednicht unverändert. Ist das Limit erreicht, scheitert sie bis zur nächsten Rücksetzung oder bis ein Admin das Limit erhöht. Nennt die Meldung eine Schätzung (siehe unten), kann ein kleineresmax_tokensgenügen.Ergebnis: Ihre Anwendung unterscheidet ein erschöpftes Budget von fehlendem Guthaben.
curl -s https://api.noirdoc.de/v1/chat/completions \ -H "Authorization: Bearer $NOIRDOC_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "qwen3.8-27b", "max_tokens": 500, "messages": [{"role": "user", "content": "Hallo"}] }' \ | jq '.error.code'import os import openai from openai import OpenAI client = OpenAI( base_url="https://api.noirdoc.de/v1", api_key=os.environ["NOIRDOC_API_KEY"], ) try: response = client.chat.completions.create( model="qwen3.8-27b", max_tokens=500, messages=[{"role": "user", "content": "Hallo"}], ) except openai.APIStatusError as e: if e.status_code != 402: raise code = e.response.json()["error"]["code"] if code == "key_budget_exhausted": ... # bis zur Rücksetzung pausieren elif code == "insufficient_credit": ... # Admins zum Aufladen auffordernimport OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.noirdoc.de/v1", apiKey: process.env.NOIRDOC_API_KEY, }); try { await client.chat.completions.create({ model: "qwen3.8-27b", max_tokens: 500, messages: [{ role: "user", content: "Hallo" }], }); } catch (err) { if (!(err instanceof OpenAI.APIError)) throw err; if (err.status !== 402) throw err; if (err.code === "key_budget_exhausted") { // bis zur Rücksetzung pausieren } else if (err.code === "insufficient_credit") { // Admins zum Aufladen auffordern } }
Was das Budget zählt
Das Budget zählt Anfragen an von Noirdoc verwaltete Modelle mit Preis. Anfragen über Ihre eigenen Anbieter (BYOK) zählen nicht, denn deren Kosten rechnet Ihr Anbieter ab.
Das Gateway bucht die Kosten einer Anfrage nach der Antwort auf den Schlüssel.
Prüfung vor der Anfrage
Vor dem Weiterleiten schätzt das Gateway die höchstmöglichen Kosten einer Anfrage:
- Eingabe: die Länge der Eingabefelder (etwa Nachrichten, System-Prompt, Tool-Definitionen) als JSON in Zeichen, geteilt durch 4, als Tokens.
- Ausgabe: der Wert aus
max_tokens,max_completion_tokensodermax_output_tokens. Fehlt er, rechnet das Gateway mit 4.096 Tokens.
Bei Bildern schätzt es Anzahl mal Preis je Bild oder Megapixel. Übersteigen bisheriger Verbrauch plus Schätzung das Ausgabenlimit, antwortet das Gateway mit 402 key_budget_exhausted. Die Meldung nennt die Schätzung und das restliche Budget. Setzen Sie max_tokens passend zu Ihrer Anwendung, damit kurze Anfragen auch kurz vor dem Limit durchgehen.
Bei Audio-Endpunkten prüft das Gateway ohne Schätzung, ob das Limit bereits erreicht ist.
{
"error": {
"type": "proxy_error",
"code": "key_budget_exhausted",
"message": "This request could cost up to 0.42 EUR, more …"
}
}Fehler
| Status | Code | Bedeutung |
|---|---|---|
| 402 | insufficient_credit | Das Guthaben der Organisation ist aufgebraucht oder kleiner als die geschätzten Höchstkosten der Anfrage. |
| 402 | key_budget_exhausted | Das Budget dieses Schlüssels ist für den laufenden Zeitraum aufgebraucht oder reicht für die geschätzten Kosten der Anfrage nicht aus. |