API

Eine API, kompatibel mit OpenAI und Anthropic

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.

01

Schlüssel erstellen

In deinem Profil, Tab API. Der Schlüssel beginnt mit sk-slafy- und wird nur einmal angezeigt, speichere ihn.

02

Modell wählen

Die Modell-IDs stehen unten und auf der Seite Preise. Zum Beispiel claude-sonnet-5-5.

03

Adresse und Schlüssel angeben

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.

Basis-URL
https://slafy.co/v1
Für das Anthropic SDK
https://slafy.co, das SDK ergänzt /v1 selbst
Schlüssel
Header Authorization: Bearer sk-slafy-… oder x-api-key: sk-slafy-…
Modellliste
GET /v1/models, Preise auf der Seite Preise
Denkaufwand
reasoning_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 Parameter

OpenAI SDK

Python und Node.js, beliebige Modelle über Chat Completions

Python

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)

Node.js

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);

Anthropic SDK

Python und Node.js, Claude-Modelle über Messages

Python

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)

Node.js

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);

curl

Schlüssel und Modell im Terminal prüfen

Chat Completions

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"}]}'

Messages, Streaming

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"}]}'

Bildgenerierung

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.

Das Modell zeichnen lassen

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.

Images API

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.

Modelle

IDs für das Feld model und die API-Formate, mit denen das Modell funktioniert. Preise stehen auf der Seite Preise.

Anthropic
  • Claude Opus 5.5claude-opus-5-5chat/completions · responses · messages
  • Claude Sonnet 5.5claude-sonnet-5-5chat/completions · responses · messages
  • Claude Haiku 5.5claude-haiku-5-5chat/completions · responses · messages
  • Claude Fable 5.1claude-fable-5-1chat/completions · responses · messages
OpenAI
  • GPT-6.1 Solgpt-6.1-solchat/completions · responses · messages
  • GPT-6.1 Terragpt-6.1-terrachat/completions · responses
  • GPT-6 Astragpt-6-astrachat/completions · responses · messages
  • GPT-6 Lunagpt-6-lunachat/completions · responses · messages
  • GPT Image 2.5 Sunburstgpt-image-2.5-sunburstimages
Google
  • Gemini 4 Argongemini-4-argonchat/completions
  • Gemini 3.8 Flashgemini-3.8-flashchat/completions
xAI
  • Grok 4.7grok-4.7chat/completions · responses · messages
DeepSeek
  • DeepSeek V4 Prodeepseek-v4-prochat/completions
  • DeepSeek V4.1 Flash 1017deepseek-v4.1-flash-1017chat/completions
Moonshot AI
  • Kimi K3.1 Prokimi-k3.1-prochat/completions
Zhipu AI
  • GLM 5.3glm-5.3chat/completions · responses · messages
  • GLM 5.3 Flashglm-5.3-flashchat/completions · responses · messages

Endpoints

Methode und PfadFormat
POST /v1/chat/completionsOpenAI Chat Completions, Streaming wird unterstützt
POST /v1/responsesOpenAI Responses, Streaming und das Tool image_generation
POST /v1/messagesAnthropic Messages, Streaming wird unterstützt
POST /v1/messages/count_tokensAnthropic, Token-Zählung, kostenlos
POST /v1/images/generationsOpenAI Images, Antwort in b64_json
POST /v1/images/editsOpenAI Images, multipart/form-data
GET /v1/modelsListe der verfügbaren Modelle

Welches Modell über welchen Endpoint funktioniert, siehst du unter Preise.

Fehler

HTTPCodeWas tun
401invalid_api_keySchlüssel nicht gefunden oder deaktiviert. Kopiere ihn vollständig aus deinem Profil.
402insufficient_balanceKeine Token mehr, lade dein Guthaben auf.
402key_limit_reachedDer Schlüssel hat sein Ausgabenlimit erreicht, erhöhe das Limit im Tab API.
404model_not_foundDieses Modell gibt es nicht. Prüfe den Namen mit GET /v1/models.
429rate_limit_exceededZu viele Anfragen. Versuch es in ein paar Sekunden erneut.
5xxupstream_errorStö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.