So funktioniert es
MarkdownWas mit einem Request zwischen Ihrer Anwendung und dem Modell passiert.
Vollständiger Leitfaden
Sie senden einen Request an die Ailoot API so, wie Sie ihn direkt an OpenAI, Anthropic oder Google senden würden. Ailoot prüft Schlüssel und Guthaben, leitet den Request an das Modell weiter, liefert die Antwort im selben Format und bucht nach dem tatsächlichen Verbrauch ab.
Ein Schlüssel — drei Formate
Das Format wird durch den Request-Pfad bestimmt, nicht durch das Modell. Dasselbe Claude-Modell lässt sich über OpenAI Chat, OpenAI Responses oder Anthropic Messages aufrufen — die Antwort folgt dem Format des aufgerufenen Pfads.
| Format | Pfad | Wer es verwendet |
|---|---|---|
| OpenAI Chat Completions | /v1/chat/completions | OpenAI SDK, die meisten Chats und Editoren, n8n, LangChain |
| OpenAI Responses | /v1/responses | Codex CLI, OpenAI Agents SDK, neuere SDK-Versionen |
| Anthropic Messages | /v1/messages | Claude Code, Anthropic SDK, Zed, Cline |
| Gemini | /v1beta/models/{model}:generateContent | Gemini CLI, Google GenAI SDK |
Finanzen: Reservierung und eine Abbuchung
- Vor dem Senden eines neuen Textrequests reserviert Ailoot die geschätzten Kosten für Eingabe und eine typische Antwort unter Berücksichtigung des Limits (
max_tokens) und der Bedingungen des konkreten Modells. Passt die Reservierung nicht in das freie Guthaben oder das Schlüssellimit, lässt sich das übermittelte Limit nur bei einem Modell und einer Methode reduzieren, die es tatsächlich einhalten, wobei weder 256 Tokens noch die festgelegte Mindestantwort unterschritten werden dürfen. Für Bilder, Video und Audio als Ausgabe bleibt die volle Reservierung der Ergebniskosten bestehen. - Nach der Antwort erfolgt eine Abbuchung nach dem tatsächlichen Verbrauch. Die nicht genutzte Reservierung wird sofort wieder als Guthaben verfügbar.
- Kostet die Antwort mehr als reserviert, wird die Differenz aus dem freien Guthaben abgebucht. Das Guthaben wird niemals negativ.
- Reicht das Geld nicht einmal für die Mindestreservierung, wird der Request nicht gesendet: Sie erhalten einen verständlichen Fehler 402; es wird nichts abgebucht.
- Ein Fehler ohne anschließendes Ergebnis wird nicht verrechnet.
Details und ein Rechenbeispiel finden Sie auf der Seite Reservierung und Abbuchung.
Fehler mit Request ID
Jede Antwort erhält eine Request-ID: im Header X-Request-ID und im Fehlertext. Fehler werden als JSON im Format des aufgerufenen Pfads zurückgegeben, sodass SDKs sie korrekt erkennen. Wenn etwas schiefgeht, senden Sie die Request ID an den Support — so finden wir den Request innerhalb einer Minute.
{
"code": "API_KEY_REQUIRED",
"error": {
"code": "invalid_api_key",
"message": "No API key was sent with the request. Nothing was charged. Please check that the full key is sent in the Authorization header as \"Bearer <key>\". Request ID: 3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6.",
"param": null,
"reason": "invalid_api_key",
"request_id": "3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6",
"type": "invalid_request_error"
},
"message": "No API key was sent with the request. Nothing was charged. …"
}Streaming und Timeouts
Streaming-Antworten (stream: true) werden als Server-Sent Events übermittelt. Eine kostenpflichtige Textantwort liefert Ailoot nach der Kostenberechnung. Deshalb bleibt bei stream: true das Format Streaming (SSE), der Text kommt jedoch in einem Block, sobald das Modell fertig ist, nicht Wort für Wort. Dauert die Antwort länger als ungefähr 15 Sekunden, kommen in den Streams von Chat Completions, Responses und Messages zuerst Statuszeilen : ping (ungefähr alle 10 Sekunden), danach die Zeile : ailoot-charged-usd … mit dem abgebuchten Betrag und die eigentlichen Daten. SDKs überspringen solche Zeilen.
Im Gemini-Format gibt es keine Statuszeilen: Eine Antwort auf :streamGenerateContent wird nach der Berechnung vollständig übermittelt. Planen Sie bei Reasoning-Modellen ausreichend Spielraum beim Client-Timeout ein: Einige Minuten sind normal.
Antwortheader
X-Request-ID steht in jeder Antwort. Weitere Header fügt Ailoot kostenpflichtigen Textantworten hinzu:
| Header | Inhalt |
|---|---|
X-Request-ID | Request-ID — der Support benötigt sie |
X-Ailoot-Charged-USD | Für diesen Request abgebuchter Betrag in Dollar |
X-Ailoot-Output-Tokens | Anzahl der bezahlten Antworttokens |
X-Ailoot-Max-Tokens-Capped | Reduziertes Antwortlimit, weil das Guthaben für die volle Reservierung nicht ausreichte |
X-Ailoot-Notice-Code, X-Ailoot-Notice | Erläuterung, falls die Antwort am Längenlimit endete |
Hat der Stream bereits mit Statuszeilen begonnen, werden diese Angaben vor den Daten als Kommentarzeile übermittelt, nicht als Header.
Prompt-Cache
Unterstützt das Modell Caching, kann ein erneut gesendetes langes Präfix (Systemanweisung, Dokumente) weniger kosten. Die Preise für Cache-Lese- und Schreibzugriffe stehen auf der Modellkarte im Katalog. Ob der Cache greift, bestimmt der Modellentwickler; Ailoot garantiert dies nicht.