Referenz
SDK-Integration (OpenAI, Anthropic, AI SDK), Rate Limits und Fehlercodes.
Auf dieser Seite
OpenAI SDK (TypeScript)
Nutze das offizielle OpenAI Node.js SDK mit anymize als Base-URL.
1npm install openaiOpenAI SDK (Python)
Nutze das offizielle OpenAI Python SDK mit anymize als Base-URL.
1pip install openaiBasis-URLs
Je nach Feature verwendest du eine andere Base-URL.
https://app.anymize.ai/api/v1/llmhttps://app.anymize.ai/api/v1/llm-anonymoushttps://app.anymize.ai/api/v1/llm/responseshttps://app.anymize.ai/apiUnterstützte Formate
Die API akzeptiert JSON (application/json) und multipart/form-data für Datei-Uploads.
Kompatibilitäts-Tipp
Anthropic SDK (TypeScript)
Offizielles @anthropic-ai/sdk. Base URL zeigt auf /api, der Client hängt /v1/messages an. apiKey wird als x-api-key geschickt, anymize akzeptiert das.
1npm install @anthropic-ai/sdkAnthropic SDK (Python)
anthropic.Anthropic mit base_url auf /api. api_key sendet x-api-key (funktioniert). auth_token sendet Bearer, analog zu Claude Code.
1pip install anthropicVercel AI SDK (OpenAI-Provider)
createOpenAI mit baseURL .../api/v1/llm spricht Chat Completions. generateText, streamText, tools: alles wie gegen api.openai.com, plus Anonymisierung.
1import { createOpenAI } from "@ai-sdk/openai"2import { generateText } from "ai"34const openai = createOpenAI({5 apiKey: "YOUR_API_KEY",6 baseURL: "https://app.anymize.ai/api/v1/llm",7})89const { text } = await generateText({10 model: openai.chat("fountain-1.0"),11 prompt: "Hello",12})Vercel AI SDK (Anthropic-Provider)
Rate Limits
Standard-Limits
Jeder API-Key hat Standard-Limits pro Minute und pro Tag.
| Endpunkt | Pro Minute | Pro Tag |
|---|---|---|
| LLM Chat | 60 | 1,000 |
| Anonymous Chat | 30 | 500 |
| Anonymize | 60 | 2,000 |
| Models | 120 | — |
Rate-Limit-Header
Jede Antwort enthält Header mit den aktuellen Limits und dem Verbrauch.
X-RateLimit-Limit-RequestsMaximale Anzahl erlaubter Requests.Retry-AfterZeitpunkt, an dem das Limit zurückgesetzt wird (Unix-Timestamp).Rate-Limit-Fehler
Bei Überschreitung erhältst du einen 429-Fehler mit Retry-After-Header.
{
"error": {
"message": "Rate limit exceeded. Please retry after 30 seconds.",
"type": "rate_limit_error",
"code": "rate_limit_exceeded"
}
}Retry-Strategie
Warte die im Retry-After-Header angegebene Zeit ab, bevor du es erneut versuchst.
1# Check rate limit headers in the response2curl -i -X POST https://app.anymize.ai/api/v1/llm/chat/completions \3 -H #0a3069">"Authorization: Bearer YOUR_API_KEY" \4 -H #0a3069">"Content-Type: application/json" \5 -d '{6 #0a3069">"model": "fountain-1.0",7 #0a3069">"messages": [{"role": "user", "content": "Hello!"}]8 }'910# Response headers include:11# X-RateLimit-Limit-Requests: 6012# Retry-After: 30Credit-basierte Limits
Zusätzlich zu Rate Limits gelten Credit-basierte Limits je nach Tarif.
Höhere Limits
Du benötigst höhere Limits? Kontaktiere uns für ein Enterprise-Angebot.
Tipp
Fehlercodes
HTTP-Statuscodes
Alle API-Endpunkte verwenden Standard-HTTP-Statuscodes.
| Code | Status | Beschreibung |
|---|---|---|
200 | OK | Erfolg — Anfrage wurde verarbeitet. |
202 | Accepted | Akzeptiert — Job wurde erstellt und wird verarbeitet. |
400 | Bad Request | Ungültige Anfrage — prüfe die Parameter. |
401 | Unauthorized | Nicht authentifiziert — API-Key fehlt oder ungültig. |
403 | Forbidden | Zugriff verweigert — keine Berechtigung für diese Ressource. |
404 | Not Found | Nicht gefunden — Endpunkt oder Ressource existiert nicht. |
429 | Too Many Requests | Zu viele Anfragen — Rate Limit überschritten. |
500 | Internal Server Error | Serverfehler — versuche es später erneut. |
503 | Service Unavailable | Service nicht verfügbar — temporäre Wartung. |
Fehlerformat
Fehler werden als JSON mit error-Objekt zurückgegeben.
{
"error": {
"message": "Missing required field: messages",
"type": "invalid_request_error",
"code": "missing_messages",
"param": "messages"
}
}Fehlertypen
Jeder Fehler hat einen Typ, der die Kategorie beschreibt.
invalid_request_errorUngültige Anfrage — Parameter fehlen oder sind falsch.auth_errorAuthentifizierungsfehler — API-Key prüfen.rate_limit_errorRate Limit — zu viele Anfragen in kurzer Zeit.api_errorAPI-Fehler — internes Problem auf Serverseite.Fehlercodes
Spezifische Fehlercodes für häufige Probleme.
| Fehlercode | HTTP-Status | Beschreibung |
|---|---|---|
invalid_api_key | 401 | API-Key ist ungültig oder abgelaufen. |
model_not_found | 404 | Das angegebene Modell existiert nicht. |
missing_messages | 400 | Das messages-Array fehlt im Request. |
missing_model | 400 | Der model-Parameter fehlt im Request. |
rate_limit_exceeded | 429 | Rate Limit wurde überschritten. |
service_unavailable | 503 | Der Service ist vorübergehend nicht erreichbar. |
Fehler-Beispiele
{
"error": {
"message": "Invalid API key",
"type": "auth_error",
"code": "invalid_api_key"
}
}{
"error": {
"message": "Model 'gpt-nonexistent' not found",
"type": "invalid_request_error",
"code": "model_not_found",
"param": "model"
}
}{
"error": {
"message": "Rate limit exceeded. Please retry after 30 seconds.",
"type": "rate_limit_error",
"code": "rate_limit_exceeded"
}
}{
"error": {
"message": "The model is currently overloaded. Please try again later.",
"type": "api_error",
"code": "service_unavailable"
}
}Best Practices
Empfehlungen für robuste Fehlerbehandlung.
- •Prüfe immer den HTTP-Statuscode, bevor du die Antwort parst.
- •Logge Fehler mit error.code und error.message für Debugging.
- •Implementiere Retry-Logik mit exponentiellem Backoff für 429 und 5xx.
- •Zeige dem Endnutzer eine hilfreiche Fehlermeldung, nicht den rohen API-Fehler.
Hinweis zu Retries