Schlüssel erstellen
In deinem Profil, Tab API. Der Schlüssel beginnt mit sk-slafy- und wird nur einmal angezeigt, speichere ihn.
Chat Completions, Responses, Images und Messages mit einem Schlüssel. Hier stehen Adressen, Modelle, Endpunkte und Fehler, die Einrichtung von Cursor, Claude Code, Codex und anderen IDEs findest du unter Integrationen.
In deinem Profil, Tab API. Der Schlüssel beginnt mit sk-slafy- und wird nur einmal angezeigt, speichere ihn.
Die Modell-IDs stehen unten und auf der Seite Preise. Zum Beispiel claude-sonnet-5-5.
Für das OpenAI-Format lautet die Adresse https://slafy.co/v1, für Anthropic https://slafy.co. Der Schlüssel wird als Bearer oder x-api-key übergeben.
https://slafy.co/v1https://slafy.co, das SDK ergänzt /v1 selbstAuthorization: Bearer sk-slafy-… oder x-api-key: sk-slafy-…GET /v1/models, Preise auf der Seite Preisereasoning_effort (in Responses reasoning.effort): low, medium, high, xhigh, max oder ultra, das ist das Maximum für das gewählte Modell. Kennt das Modell einen Wert nicht, setzt Slafy den nächstliegenden ein, und bei Modellen ohne einstellbaren Denkaufwand entfernt Slafy den ParameterPython und Node.js, beliebige Modelle über Chat Completions
from openai import OpenAI
client = OpenAI(base_url="https://slafy.co/v1", api_key="sk-slafy-dein_schluessel")
r = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": "Hallo"}],
)
print(r.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://slafy.co/v1", apiKey: process.env.SLAFY_API_KEY });
const r = await client.chat.completions.create({
model: "gpt-6-luna",
messages: [{ role: "user", content: "Hallo" }],
});
console.log(r.choices[0].message.content);Python und Node.js, Claude-Modelle über Messages
import anthropic
client = anthropic.Anthropic(base_url="https://slafy.co", api_key="sk-slafy-dein_schluessel")
m = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hallo"}],
)
print(m.content[0].text)import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({ baseURL: "https://slafy.co", apiKey: process.env.SLAFY_API_KEY });
const m = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Hallo" }],
});
console.log(m.content[0].text);Schlüssel und Modell im Terminal prüfen
curl https://slafy.co/v1/chat/completions \
-H "Authorization: Bearer sk-slafy-dein_schluessel" \
-H "Content-Type: application/json" \
-d '{"model": "claude-sonnet-5-5", "messages": [{"role": "user", "content": "Hallo"}]}'curl https://slafy.co/v1/messages \
-H "x-api-key: sk-slafy-dein_schluessel" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model": "claude-sonnet-5-5", "max_tokens": 512, "stream": true,
"messages": [{"role": "user", "content": "Erzähl einen Witz"}]}'Das Modell zeichnet direkt in der Antwort oder über die Images API
Ein Bild kostet 0,199 $, also 500.000 Token vom Guthaben. Fehler und abgelehnte Anfragen werden nicht berechnet.
Füge einer Responses-Anfrage das Tool {"type": "image_generation"} hinzu. Das Modell entscheidet selbst, wann es zeichnet, und liefert das Bild im Element image_generation_call (PNG als base64 im Feld result). So zeichnen Codex und Agenten auf Basis des OpenAI SDK.
curl https://slafy.co/v1/responses \
-H "Authorization: Bearer sk-slafy-dein_schluessel" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-6-astra", "input": "Zeichne ein App-Icon: ein blauer Wal, flacher Stil",
"tools": [{"type": "image_generation", "quality": "low"}]}'Zeichnen können die GPT-Modelle: gpt-6.1-sol, gpt-6.1-terra, gpt-6-astra, gpt-6-luna. Zum Bildpreis kommen die Token für den Antworttext.
from openai import OpenAI
import base64
client = OpenAI(base_url="https://slafy.co/v1", api_key="sk-slafy-dein_schluessel")
r = client.images.generate(model="gpt-image-2.5-sunburst", prompt="Ein blauer Wal, flacher Stil", size="1024x1024")
open("whale.png", "wb").write(base64.b64decode(r.data[0].b64_json))Die Namen gpt-image-2, gpt-image-1, dall-e-3 funktionieren auch: Slafy leitet sie an gpt-image-2.5-sunburst weiter. Fertige Skripte und Skills für OpenAI laufen deshalb ohne Änderungen.
IDs für das Feld model und die API-Formate, mit denen das Modell funktioniert. Preise stehen auf der Seite Preise.
claude-opus-5-5chat/completions · responses · messagesclaude-sonnet-5-5chat/completions · responses · messagesclaude-haiku-5-5chat/completions · responses · messagesclaude-fable-5-1chat/completions · responses · messagesgpt-6.1-solchat/completions · responses · messagesgpt-6.1-terrachat/completions · responsesgpt-6-astrachat/completions · responses · messagesgpt-6-lunachat/completions · responses · messagesgpt-image-2.5-sunburstimagesgemini-4-argonchat/completionsgemini-3.8-flashchat/completionsgrok-4.7chat/completions · responses · messagesdeepseek-v4-prochat/completionsdeepseek-v4.1-flash-1017chat/completionskimi-k3.1-prochat/completionsglm-5.3chat/completions · responses · messagesglm-5.3-flashchat/completions · responses · messages| Methode und Pfad | Format |
|---|---|
POST /v1/chat/completions | OpenAI Chat Completions, Streaming wird unterstützt |
POST /v1/responses | OpenAI Responses, Streaming und das Tool image_generation |
POST /v1/messages | Anthropic Messages, Streaming wird unterstützt |
POST /v1/messages/count_tokens | Anthropic, Token-Zählung, kostenlos |
POST /v1/images/generations | OpenAI Images, Antwort in b64_json |
POST /v1/images/edits | OpenAI Images, multipart/form-data |
GET /v1/models | Liste der verfügbaren Modelle |
Welches Modell über welchen Endpoint funktioniert, siehst du unter Preise.
| HTTP | Code | Was tun |
|---|---|---|
| 401 | invalid_api_key | Schlüssel nicht gefunden oder deaktiviert. Kopiere ihn vollständig aus deinem Profil. |
| 402 | insufficient_balance | Keine Token mehr, lade dein Guthaben auf. |
| 402 | key_limit_reached | Der Schlüssel hat sein Ausgabenlimit erreicht, erhöhe das Limit im Tab API. |
| 404 | model_not_found | Dieses Modell gibt es nicht. Prüfe den Namen mit GET /v1/models. |
| 429 | rate_limit_exceeded | Zu viele Anfragen. Versuch es in ein paar Sekunden erneut. |
| 5xx | upstream_error | Störung auf Seiten des Modells, die Anfrage wird nicht berechnet. Versuch es erneut. |
Jede Antwort enthält den Header x-request-id, darüber findest du die Anfrage im Verlauf.