Dokumentation
Smart AIPI bietet sowohl OpenAI- als auch Anthropic-kompatible APIs. Verwende unseren Service mit jedem bestehenden OpenAI- oder Anthropic-SDK, Tool oder jeder App, indem du einfach die base URL änderst. Keine Code-Änderungen erforderlich.
OpenAI Basis URL
https://api.smartaipi.com/v1
Anthropic Basis URL
https://api.smartaipi.com
CLI- & MCP-Tools
Smart AIPI bietet zwei npm-Pakete, die Entwicklern bei der Arbeit mit ihren Konten helfen:
Beides installieren
npm install -g smart-aipi @smart-aipi/mcp
Einzeln installieren
npm install -g smart-aipi
npm install -g @smart-aipi/mcp
Authentifizierung
Alle API-Requests benötigen einen API key. Derselbe Schlüssel funktioniert mit beiden Authentifizierungsmethoden:
Authorization: Bearer YOUR_API_KEY
x-api-key: YOUR_API_KEY
Migrationsanleitung
Die Migration dauert weniger als eine Minute. Unsere API ist zu 100% kompatibel mit OpenAI- und Anthropic-endpoints.
Von OpenAI
Hole dir deinen Smart AIPI API key
Registriere dich und erstelle einen API key in deinem Dashboard.
Die base URL ändern
Ersetze https://api.openai.com/v1 durch https://api.smartaipi.com/v1
Deinen API key aktualisieren
Verwende deinen Smart AIPI-Schlüssel anstelle deines OpenAI-Schlüssels. Das war's!
Von Anthropic
Hole dir deinen Smart AIPI API key
Registriere dich und erstelle einen API key in deinem Dashboard.
Die base URL ändern
Ersetze https://api.anthropic.com durch https://api.smartaipi.com
Deinen API key aktualisieren
Verwende deinen Smart AIPI-Schlüssel anstelle deines Anthropic-Schlüssels. Deine bestehenden Claude-Modellnamen funktionieren unverändert.
Dein bestehender Code, SDKs und Apps, die die Anthropic Messages API verwenden, funktionieren ohne jegliche Code-Änderungen. Claude-Modellnamen (claude-opus-4-6, claude-sonnet-4-5-20250929, claude-haiku-4-5-20251001) werden automatisch auf leistungsstarke GPT-5.4-Modelle geroutet. Jede Antwort enthält einen x-actual-model -header, der für volle Transparenz das echte Backend-Modell anzeigt.
Chat-Abschlüsse
Erstellt eine Chat-Completion für die angegebenen Nachrichten und das Modell. Das ist der Haupt-endpoint für die Interaktion mit Sprachmodellen.
Request-Body-Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| model | Zeichenfolge | Ja | Zu verwendende Modell-ID (z. B. "gpt-6-astra", "gpt-5.6-sol") |
| messages | Array | Ja | Array von Nachrichtenobjekten mit role und content |
| temperature | Nummer | Nein | Sampling-Temperatur (0–2). Höher = zufälliger. Standard: 1 |
| max_tokens | ganze Zahl | Nein | Maximale Anzahl an tokens, die in der Antwort generiert werden |
| top_p | Nummer | Nein | Nucleus Sampling. Berücksichtigt tokens mit top_p-Wahrscheinlichkeit. Standard: 1 |
| frequency_penalty | Nummer | Nein | Bestraft tokens basierend auf Häufigkeit (-2 bis 2). Standard: 0 |
| presence_penalty | Nummer | Nein | Bestraft tokens basierend auf Präsenz (-2 bis 2). Standard: 0 |
| stop | string/array | Nein | Stop-Sequenzen. Bis zu 4 Sequenzen, bei denen die Generierung stoppt. |
| stream | Boolescher Wert | Nein | Aktiviert streaming-Antworten via SSE. Standard: false |
Nachrichtenrollen
system- system - Legt das Verhalten/die Persona des Assistenten festuser- user - Nachrichten vom Benutzerassistant- assistant - Frühere Antworten des Assistenten
Code-Beispiele
from openai import OpenAI
client = OpenAI(
base_url="https://api.smartaipi.com/v1",
api_key="your-api-key"
)
response = client.chat.completions.create(
model="gpt-6-astra",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
temperature=0.7,
max_tokens=1000
)
print(response.choices[0].message.content)
Streaming
Aktiviere streaming, um tokens während der Generierung über Server-Sent Events (SSE) zu erhalten. Das sorgt für eine bessere Nutzererfahrung bei langen Antworten.
Setze "stream": true in deinem Request, um streaming zu aktivieren.
Streaming-Beispiel
from openai import OpenAI
client = OpenAI(
base_url="https://api.smartaipi.com/v1",
api_key="your-api-key"
)
# Enable streaming
stream = client.chat.completions.create(
model="gpt-6-astra",
messages=[{"role": "user", "content": "Write a poem"}],
stream=True
)
# Process chunks as they arrive
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
Argumentationsaufwand
Steuere die Tiefe des reasoning mit dem Parameter reasoning_effort für GPT-5-Modelle.
Smart AIPI verwendet standardmäßig reasoning.effort = "high" für alle Requests an die Responses API.
Nach umfangreichen Tests haben wir festgestellt, dass high der beste reasoning effort für den praktischen Einsatz ist – er bietet tiefgehende, zuverlässige Tool-Nutzung und Analyse ohne die Latenzkosten von xhigh. Du kannst das überschreiben, indem du reasoning effort explizit in deinem Request setzt.
Smart AIPI setzt standardmäßig store = false für alle Requests an die Responses API und WebSocket.
Die Upstream-API erfordert store: false für GPT-5.4 und neuere Modelle. Wenn du explizit store: true in deinen Requests setzt, erhältst du den Fehler "Store must be set to false". Entferne es oder setze es auf false.
Unterstützte Modelle
Antworten API
gpt-5.4, gpt-5.3, gpt-5.1, gpt-5 und alle Codex-Varianten
Nur Chat Completions
gpt-5.4-nano — reasoning-Unterstützung ist nur verfügbar für /v1/chat/completions .
Reasoning-Effort-Stufen
none- Kein reasoning. Überspringt das Denken vollständig.low- Minimales reasoning. Ideal für einfache Aufgaben.medium- Ausgewogene Geschwindigkeit und Tiefe.high- Tiefgehende Analyse für komplexe Probleme. (Smart AIPI-Standard)xhigh- Extra hoch. Maximale reasoning-Tiefe für die schwierigsten Probleme.
Fast Mode (Priorisierte Verarbeitung)
Verwende service_tier: "priority" für priorisierte Verarbeitung mit geringerer Latenz. Das ist es, was der /fast Befehl in Codex CLI nutzt. Die reasoning-Tiefe ändert sich nicht – du bekommst dieselbe Qualität, nur schneller.
Preise: Priorisierte Verarbeitung wird mit dem 1,5-fachen des Standardtarifs berechnet. Zum Beispiel kostet GPT-5.4 Output normalerweise $3.75/1M tokens – mit Priorität kostet er $5.625/1M tokens.
response = client.responses.create(
model="gpt-6-astra",
input="Refactor this function",
service_tier="priority" # priority processing, lower latency
)
Chat-Abschlüsse API
response = client.chat.completions.create(
model="gpt-6-astra",
messages=[{"role": "user", "content": "Analyze this code for bugs..."}],
reasoning_effort="high" # or "xhigh" for maximum depth
)
Antworten API
# Reasoning is set via the "reasoning" object
response = client.responses.create(
model="gpt-6-astra",
input=[{"role": "user", "content": "Refactor this function..."}],
reasoning={"effort": "high"} # defaults to "high" on Smart AIPI
)
Bildgenerierung
Generiere Bilder aus Text-prompts mit unserem Bildgenerierungs-endpoint.
/v1/images/variations ) werden noch nicht unterstützt. Bildbearbeitung ist verfügbar über /v1/images/edits.
Request-Body-Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| prompt | Zeichenfolge | Textbeschreibung des zu generierenden Bildes (erforderlich) |
| model | Zeichenfolge | "gpt-image-2.5-flare" (frontier), "gpt-image-2.5-sunburst" oder "gpt-image-2". Standard: "gpt-image-2.5-flare" |
| n | ganze Zahl | Anzahl der zu generierenden Bilder (1–10). Standard: 1 |
| size | Zeichenfolge | "1024x1024", "1024x1792" oder "1792x1024". Standard: "1024x1024" |
| quality | Zeichenfolge | "standard" oder "hd". Standard: "standard" |
Verfügbare Modelle
gpt-image-2.5-flare- Frontier-Modell, höchste Qualität (Standard)gpt-image-2.5-sunburst- Präzisionsbearbeitung und hochwertige Kreativarbeit (langsamere Generierung)gpt-image-latest- Alias für gpt-image-2.5-flaregpt-image-2- Flaggschiff der vorherigen Generationgpt-image-1.5- Älteres Flaggschiff (unterstützt transparente Hintergründe)gpt-image-1- Bildgenerierung in voller Qualitätgpt-image-1-mini- Schneller, kleinere Bilder
Beispiel
response = client.images.generate(
model="gpt-image-2.5-flare",
prompt="A futuristic city at sunset, cyberpunk style",
size="1024x1024",
n=1
)
# Response contains base64-encoded image
image_b64 = response.data[0].b64_json
# Save to file
import base64
with open("output.png", "wb") as f:
f.write(base64.b64decode(image_b64))
Bildbearbeitung
Bearbeite vorhandene Bilder mit einem Text-prompt. Unterstützt sowohl JSON (base64-String) als auch multipart/form-data (Datei-Upload), sodass OpenAI SDKs sofort funktionieren.
Request-Body-Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| prompt | Zeichenfolge | Textbeschreibung der gewünschten Bearbeitung (erforderlich) |
| image | Zeichenfolge | Base64-kodiertes Bild zur Bearbeitung (erforderlich) |
| model | Zeichenfolge | "gpt-image-2.5-flare" (Standard), "gpt-image-2.5-sunburst" oder "gpt-image-2" |
| n | ganze Zahl | Anzahl der bearbeiteten Bilder, die generiert werden sollen (1–10). Standard: 1 |
| size | Zeichenfolge | "1024x1024", "1024x1792" oder "1792x1024". Standard: "1024x1024" |
| quality | Zeichenfolge | "low", "medium", "high" oder "auto". Standard: "medium" |
image as an array of base64 strings (JSON) or as repeated image / image[] parts (multipart). Add a mask field alongside image to restrict edits to specific regions (white = edit, black = preserve). Works identically to the official OpenAI SDK.
Beispiel
import base64
response = client.images.edit(
model="gpt-image-2.5-flare",
image=open("input.png", "rb"),
prompt="Change the background to a sunset beach",
size="1024x1024",
n=1
)
# Save the edited image
edited_b64 = response.data[0].b64_json
with open("edited.png", "wb") as f:
f.write(base64.b64decode(edited_b64))
Realtime API mit WebSocket
WebSockets sind eine breit unterstützte API für Echtzeit-Datenübertragung und eine hervorragende Wahl, um in Server-zu-Server-Anwendungen mit der Smart AIPI Realtime API zu arbeiten.
In einer Server-zu-Server-Integration verbindet sich dein Backend-System direkt per WebSocket mit der Realtime API. Verwende einen standardmäßigen API-Taste zur Authentifizierung der Verbindung, da der token nur auf deinem sicheren Backend-Server verfügbar ist.
Per WebSocket verbinden
Unten findest du mehrere Beispiele für Verbindungen per WebSocket. Zusätzlich zur WebSocket-URL musst du einen Authentifizierungs-header mit deinem API key übergeben.
import WebSocket from "ws";
const url = "wss://api.smartaipi.com/v1/responses";
const ws = new WebSocket(url, {
headers: {
Authorization: "Bearer " + process.env.SMARTAIPI_API_KEY,
},
});
ws.on("open", function open() {
console.log("Connected to server.");
// Send a response.create event
ws.send(JSON.stringify({
type: "response.create",
response: {
model: "gpt-6-astra",
store: false,
input: [{ role: "user", content: "Hello!" }],
stream: true,
},
}));
});
ws.on("message", function incoming(message) {
const event = JSON.parse(message.toString());
console.log(event.type, event);
});
Events senden und empfangen
Sitzungen werden über vom Client und Server gesendete JSON-Events über die WebSocket-Verbindung verwaltet. Wickle deinen Request in ein response.create -Envelope:
| Ereignis | Richtung | Beschreibung |
|---|---|---|
| response.create | Kunde | Einen Request senden (umschließt dein Modell, input und Parameter) |
| response.created | Server | Sitzung akzeptiert, Verarbeitung gestartet |
| response.output_text.delta | Server | Streaming-Textblock |
| response.completed | Server | Terminal-Event mit vollständiger Antwort und Nutzung |
| response.failed | Server | Terminal-Event, das auf einen Fehler hinweist |
"store": false im Antwort-Envelope enthalten. Die Verbindung bleibt über mehrere Turns hinweg bestehen – sende zusätzliche response.create -Frames senden, ohne die Verbindung neu aufzubauen.
Modelle auflisten
Rufe eine Liste aller verfügbaren Modelle ab. Verwende diesen endpoint, um dynamisch zu erkennen, welche Modelle für dein Konto verfügbar sind.
Antwortformat
{
"object": "list",
"data": [
{
"id": "gpt-6-astra",
"object": "model",
"created": 1700000000,
"owned_by": "smart-aipi"
},
{
"id": "gpt-5.3-codex",
"object": "model",
"created": 1700000000,
"owned_by": "smart-aipi"
},
// ... more models
]
}
Beispiel
from openai import OpenAI
client = OpenAI(
base_url="https://api.smartaipi.com/v1",
api_key="your-api-key"
)
# List all available models
models = client.models.list()
for model in models.data:
print(model.id)
Verfügbare Modelle
GPT-Serie
- gpt-6-astra Neueste
- gpt-5.6-sol
- gpt-5.6-terra
- gpt-5.6-luna
- gpt-5.5
- gpt-5.4-pro
- gpt-5.4
- gpt-5.4-mini
- gpt-5.4-nano nur completions
Codex-Serie
- gpt-5.3-codex
- gpt-5.2-codex
- gpt-5.2
- gpt-5.1
Anthropic Nachrichten API
Volle Kompatibilität mit der Anthropic Messages API. Verwende jedes Anthropic SDK, Claude Code oder jede App, die das Anthropic-Protokoll spricht – ändere einfach nur die base URL.
Unterstützte Funktionen
- ✓ Streaming (volles Anthropic SSE-Event-Protokoll)
- ✓ Tool-Nutzung / function calling
- ✓ System-Nachrichten (String- und Array-Formate)
- ✓ Bildeingaben (base64 und URL)
- ✓ Token-Zählung (
/v1/messages/count_tokens) - ✓ Erweitertes Denken / reasoning effort
Code-Beispiele
from anthropic import Anthropic
client = Anthropic(
base_url="https://api.smartaipi.com",
api_key="your-api-key"
)
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello!"}
]
)
print(response.content[0].text)
Modell-Mapping
Claude-Modellnamen werden akzeptiert und automatisch mit abgestuftem reasoning effort auf GPT-5.4 geroutet. Jede Antwort enthält einen x-actual-model -header, der das echte Backend-Modell anzeigt.
| Claude-Modell | Backend | Argumentation | Am besten für |
|---|---|---|---|
| claude-opus-4-6 | gpt-5.4 | Hoch | Komplexes reasoning, Architektur |
| claude-sonnet-4-5-20250929 | gpt-5.4 | Mittel | Tägliches Coding, ausgewogene Qualität |
| claude-haiku-4-5-20251001 | gpt-5.4 | Niedrig | Schnelle Antworten, einfache Aufgaben |
Claude Code
Verwende Claude Code mit Smart AIPI als Backend. Volle Unterstützung für Tool-Nutzung, streaming und agentische Fähigkeiten.
Automatische Einrichtung
npx smart-aipi claude
Dadurch werden ~/.claude/settings.json und ~/.claude.json automatisch konfiguriert. Wenn Claude Code bei dir bereits mit einem Anthropic-Konto eingerichtet ist, wird dir stattdessen die manuelle Konfiguration angezeigt, anstatt sie zu überschreiben.
Manuelle Einrichtung
Zu ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.smartaipi.com",
"ANTHROPIC_API_KEY": "sk-your-key",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5-20251001"
},
"model": "opus"
}
Füge dann "hasCompletedOnboarding": true hinzu ~/.claude.json hinzu, um den Setup-Assistenten zu überspringen.
Nachdem du die Einstellungen bearbeitet hast, starte Claude Code neu, damit die Änderungen wirksam werden. Wenn Claude Code bei dir bereits mit einem echten Anthropic-Konto verbunden ist, überschreiben diese env vars diese Verbindung – verwende ein Projekt-Level- .claude/settings.json , um beides zu behalten.
Was jede Einstellung macht
"model": "opus"— Hauptmodell. Verwendet claude-opus-4-6 (high reasoning) für alle primären Aufgaben.ANTHROPIC_DEFAULT_HAIKU_MODEL— Hintergrundmodell. Verwendet claude-haiku-4-5 (low reasoning) für schnelle Hintergrundaufgaben wie Datei-Indizierung.- Wechsle mitten in der Sitzung zwischen Modellen mit
/model sonnet,/model opus, oder/model haiku.
| Alias | Claude-Modell | Backend | Argumentation |
|---|---|---|---|
| opus | claude-opus-4-6 | gpt-5.4 | Hoch |
| sonnet | claude-sonnet-4-5-20250929 | gpt-5.4 | Mittel |
| haiku | claude-haiku-4-5-20251001 | gpt-5.4 | Niedrig |
OpenCode
Verwende Smart AIPI als dein OpenCode-Backend über das OpenAI-kompatible SDK.
Config-Setup
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"smart-aipi": {
"npm": "@ai-sdk/openai-compatible",
"name": "Smart AIPI",
"options": {
"baseURL": "https://api.smartaipi.com/v1",
"apiKey": "YOUR_API_KEY"
},
"models": {
"gpt-6-astra": {
"name": "GPT-6 Astra",
"reasoning": true,
"limit": { "context": 400000, "output": 128000 }
},
"gpt-5.3-codex": {
"name": "GPT-5.3 Codex",
"reasoning": true,
"limit": { "context": 400000, "output": 128000 }
},
"gpt-5.2-codex": {
"name": "GPT-5.2 Codex",
"reasoning": true,
"limit": { "context": 400000, "output": 128000 }
},
"gpt-5-codex": {
"name": "GPT-5 Codex",
"reasoning": true,
"limit": { "context": 400000, "output": 128000 }
}
}
}
},
"model": "smart-aipi/gpt-6-astra"
}
Codex CLI
Verwende Smart AIPI mit OpenAIs Codex CLI-Tool. Drei Dateien müssen konfiguriert werden.
Automatische Einrichtung
npx smart-aipi codex
Dadurch werden alle drei untenstehenden Dateien automatisch konfiguriert. Füge nach dem Ausführen model_reasoning_effort deiner Konfiguration hinzu (siehe Schritt 2).
Manuelle Einrichtung
Konfiguriere diese drei Dateien:
1. API Schlüssel — ~/.codex/auth.json
{
"auth_mode": "apikey",
"OPENAI_API_KEY": "sk-your-key"
}
2. Modell & Reasoning — ~/.codex/config.toml
Füge immer model_reasoning_effort hinzu – erforderlich für benutzerdefinierte Modelle.
Ohne dies verwendet Codex standardmäßig kein reasoning und funktioniert nicht richtig. Verwende "high" für die besten Ergebnisse.
model = "gpt-6-astra"
model_reasoning_effort = "high"
Gültige reasoning-Level: low, medium, high (empfohlen), xhigh.
3. Umgebungsvariablen — ~/.zshrc
# Smart AIPI
export OPENAI_API_KEY="sk-your-key"
export OPENAI_BASE_URL="https://api.smartaipi.com/v1"
Nachdem du dein Shell-Profil bearbeitet hast, starte dein Terminal neu oder führe source ~/.zshrc aus, damit die Änderungen wirksam werden.
Verwende Codex dann wie gewohnt:
codex "fix this bug"
Codex WebSocket-Geschwindigkeitsguide
Der WebSocket-Modus ist für agentische Coding-Flows mit vielen Tool-Calls meist schneller. Statt sich wiederholt über HTTP neu zu verbinden und vollständige Request-Envelopes erneut zu senden, hält Codex eine einzige aktive Verbindung offen und sendet inkrementelle Turns, was den Continuation-Overhead reduziert.
WebSockets in Codex aktivieren
Verwende das WebSocket v2-Feature-Flag in ~/.codex/config.toml: ~/.codex/config.toml:
model = "gpt-6-astra"
model_reasoning_effort = "high"
[features]
responses_websockets_v2 = true
CLI-Äquivalent:
codex --enable responses_websockets_v2
Ältere Builds verwenden möglicherweise das Legacy-Flag:
[features]
responses_websockets = true
Bekanntes Homebrew-Verhalten
Bei einigen über Homebrew verteilten Builds können WebSocket-Turns bei lang laufenden Aufgaben hängen bleiben und dann stillschweigend auf HTTP zurückfallen. Das haben wir besonders in komplexen Tool-Call-Schleifen gesehen. Ein Rebuild aus dem Open-Source-Code mit den untenstehenden Fixes hat sowohl Stabilität als auch Geschwindigkeit verbessert.
Nach dem Merge: Den Open-Source-WebSocket-Bug beheben
Nachdem du deinen Branch gemergt hast, verwende diese Checkliste, um sicherzustellen, dass der Fix in deiner lokalen Binärdatei enthalten ist:
# 1) Pull merged main
git checkout main
git pull --ff-only
# 2) Confirm websocket flags exist
codex features list | rg responses_websockets
# 3) Build and install
cd codex-rs
cargo build --release
install -m 0755 target/release/codex ~/.local/bin/codex-beta
# 4) Run with websocket enabled
CODEX_RS_RESPONSES_WS=true \
OPENAI_BASE_URL=https://api.smartaipi.com/v1 \
~/.local/bin/codex-beta --enable responses_websockets_v2
Wenn du manuell patchen musst, prüfe, ob diese Code-Level-Fixes vorhanden sind:
# A) Build websocket request with IntoClientRequest so required headers are set
let mut request = url.as_str().into_client_request()?;
request.headers_mut().extend(headers);
# B) Ensure TLS roots are enabled for tokio-tungstenite in Cargo.toml
tokio-tungstenite = { version = "...", features = ["rustls-tls-native-roots"] }
Cursor & Cline
Verwende Smart AIPI mit Cursor IDE oder der Cline VS Code-Erweiterung.
Cursor
- Öffne die Cursor-Einstellungen
- Gehe zum
Models-Tab - Klicke auf
+ Add Model - Setze Base URL:
https://api.smartaipi.com/v1 - Gib deinen API key ein
- Modell:
gpt-6-astra
Cline (VS Code)
- Öffne die Cline-Einstellungen in VS Code
- Wähle
OpenAI Compatible - Basis URL:
https://api.smartaipi.com/v1 - Gib deinen API key ein
- Modell:
gpt-6-astra
Chatten
Verwende Smart AIPI Chat unter chat.smartaipi.com. für Workflows mit Text, Bild, Video, Code, Suche und Sprache.
Funktionen
- ✓ Chatten — Allgemeine Textunterhaltungen mit Smart AIPI-Modellen.
- ✓ Bilder — Bilder aus prompts generieren und bearbeiten.
- ✓ Video — Videos aus Text- oder Bildeingaben generieren.
- ✓ Code — Code-Unterstützung und Bearbeitung im Browser.
- ✓ Suche — Verwende Websuche für fundierte Antworten.
- ✓ Stimme — Sprich mit dem Modell per Spracheingabe und Sprachantworten.
Erste Schritte
- 1. Öffne chat.smartaipi.com
- 2. Melde dich an oder erstelle ein Konto.
- 3. Starte mit Text, Bildern, Video, Code, Suche oder Sprache zu chatten.
Abrechnung: Die Nutzung wird mit deinen Smart AIPI-Credits verrechnet.
API-Tester
Teste die API direkt in deinem Browser: