docs
Einstieg

So funktioniert es

Markdown

Was zwischen Ihrem Programm und dem Modell mit einer Anfrage geschieht.

Vollständiger Leitfaden

Sie senden eine Anfrage an die Ailoot API genauso wie direkt an OpenAI, Anthropic oder Google. Ailoot prüft Schlüssel und Guthaben, leitet die Anfrage an das Modell weiter, liefert die Antwort im selben Format zurück und bucht den tatsächlichen Verbrauch ab.

01AnfrageIhr Client sendet die Anfrage an api.ailoot.ai mit dem Schlüssel sk-…
02Prüfung und ReservierungSchlüssel, Limits, Guthaben. Bis zur Antwort wird ein Betrag reserviert.
03ModellDas Modell antwortet; die Antwort wird in Ihrem Format zurückgegeben.
04AbbuchungEine Abbuchung nach tatsächlichen Tokens; die übrige Reservierung wird freigegeben.

Ein Schlüssel — drei Formate

Das Format ergibt sich aus dem Anfragepfad, nicht aus dem Modell. Dasselbe Claude-Modell lässt sich über OpenAI Chat, OpenAI Responses oder Anthropic Messages aufrufen — die Antwort entspricht dem Format des aufgerufenen Pfads.

FormatPfadWer verwendet es?
OpenAI Chat Completions/v1/chat/completionsOpenAI SDK, die meisten Chats und Editoren, n8n, LangChain
OpenAI Responses/v1/responsesCodex CLI, OpenAI Agents SDK, neuere SDK-Versionen
Anthropic Messages/v1/messagesClaude Code, Anthropic SDK, Zed, Cline
Gemini/v1beta/models/{model}:generateContentGemini CLI, Google GenAI SDK

Kosten: Reservierung und eine Abbuchung

  • Vor dem Senden einer neuen Textanfrage reserviert Ailoot die geschätzten Kosten für Eingabe und eine typische Antwort unter Berücksichtigung des Limits (max_tokens) und der Bedingungen des genauen Modells. Passt die Reservierung nicht in das frei verfügbare Guthaben oder das Schlüssellimit, lässt sich das übermittelte Limit nur bei einem Modell und einer Methode reduzieren, die es tatsächlich einhalten; dabei dürfen weder 256 Tokens noch die festgelegte Mindestantwort unterschritten werden. Bei Bildern, Video und Audio als Ausgabe bleibt die vollständige Reservierung der Ergebniskosten bestehen.
  • Nach der Antwort wird der tatsächliche Verbrauch einmalig abgebucht. Die ungenutzte Reservierung wird sofort wieder als Guthaben freigegeben.
  • Kostet die Antwort mehr als reserviert, wird die Differenz aus dem frei verfügbaren Guthaben gedeckt. Das Guthaben wird nie negativ.
  • Reicht das Guthaben nicht einmal für die Mindestreservierung, wird die Anfrage nicht gesendet: Sie erhalten einen verständlichen Fehler 402, und es wird nichts abgebucht.
  • Fehler ohne anschliessendes Ergebnis werden nicht abgerechnet.

Details und ein Berechnungsbeispiel stehen auf der Seite Reservierung und Abbuchung.

Fehler mit Request ID

Jede Antwort erhält eine Anfrage-ID: im Header X-Request-ID und im Fehlertext. Fehler kommen im JSON des aufgerufenen Formats, sodass SDKs sie korrekt erkennen. Falls etwas schiefgeht, senden Sie die Request ID an den Support — damit finden wir die Anfrage innerhalb einer Minute.

401 Unauthorized
{
  "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 übertragen. Kostenpflichtige Textantworten liefert Ailoot nach der Kostenberechnung. Mit stream: true bleibt das Format daher ein Stream (SSE), der Text kommt aber nach Abschluss des Modells als ein Block, nicht Wort für Wort. Dauert die Antwort länger als ungefähr 15 Sekunden, erscheinen in den Streams von Chat Completions, Responses und Messages zunächst Statuszeilen : ping (etwa alle 10 Sekunden), danach die Zeile : ailoot-charged-usd … mit dem abgebuchten Betrag und die eigentlichen Daten. SDKs überspringen diese Zeilen.

Im Gemini-Format gibt es keine Statuszeilen: Die Antwort von :streamGenerateContent kommt nach der Berechnung vollständig. Wählen Sie für Reasoning-Modelle einen ausreichend hohen Client-Timeout: Einige Minuten sind normal.

Antwortheader

X-Request-ID ist in jeder Antwort enthalten. Die übrigen Header ergänzt Ailoot bei bezahlten Textantworten:

HeaderInhalt
X-Request-IDAnfrage-ID — der Support benötigt sie
X-Ailoot-Charged-USDFür diese Anfrage abgebuchter Betrag in Dollar
X-Ailoot-Output-TokensAnzahl bezahlter Antworttokens
X-Ailoot-Max-Tokens-CappedDas reduzierte Antwortlimit, wenn das Guthaben für die vollständige Reservierung nicht ausgereicht hat
X-Ailoot-Notice-Code, X-Ailoot-NoticeErläuterung, wenn die Antwort am Längenlimit beendet wurde

Hat der Stream bereits mit Statuszeilen begonnen, kommen diese Angaben als Kommentarzeile vor den Daten statt als Header.

Prompt-Cache

Unterstützt das Modell Caching, kann ein erneut gesendeter langer Präfix (Systemanweisung, Dokumente) günstiger sein. Preise für Cache-Lese- und Schreibzugriffe stehen auf der Modellkarte im Katalog. Über Cache-Treffer entscheidet der Modellentwickler; Ailoot garantiert sie nicht.

Noch Fragen? Schicken Sie uns die Request ID und eine Beschreibung — wir helfen Ihnen weiter.Support kontaktieren