API Dokumentation
OpenAI-kompatibel, Ihr bestehendes Setup funktioniert sofort
Quickstart
In 3 Schritten loslegen.
- Account erstellen
Registrieren Sie sich auf smartllm.at/portal/register - API-Key generieren
Im Portal unter API Keys einen neuen Key erstellen. - Ersten Request senden
Liste aller verfügbaren Modelle: GET /v1/models.
Wer lieber direkt eine konkrete Modell-ID verwendet, findet sie dort.
Production-Aliase SmartLLM-Erweiterung
Stabile Rollen-Namen statt versionierter Modell-IDs.
Statt sich an Intel/Qwen3.5-397B-A17B-int4-AutoRound zu binden, setzen
Konsumenten den Alias frontier als model. Der Gateway löst
den Alias serverseitig auf das aktuell dahinterliegende Modell auf. Wenn wir die
Hardware oder das Modell tauschen, ändert sich nichts im Client-Code.
Hinweis: /v1/aliases ist nicht Teil der OpenAI-Spec —
eine SmartLLM-spezifische Erweiterung. Wenn Sie strikt OpenAI-kompatibel bleiben wollen,
nutzen Sie konkrete Modell-IDs aus /v1/models. Die Aliase tauchen dort übrigens
auch auf (additiv), mit owned_by: "smartllm-alias" als Discriminator.
Aktuelle Aliase
| Alias | Rolle | Trade-Off |
|---|---|---|
frontier | Stärkstes Modell, multimodal | capability-first |
coder | Beste Coding-Qualität | capability-first |
coder-fast | Schnelles Coding | latency-first |
vision | Bild- und Video-Input | capability-first |
mid | Allround-Mittelklasse | capability-first |
fast | Klassifikation / Routing / Intent (A·B·C-Entscheidungen) | latency-first |
Welches Modell aktuell hinter einem Alias steckt, kann sich ändern — das ist der Sinn der Sache.
GET /v1/aliases
Live-Liste der konfigurierten Aliase. Antwort-Objekte tragen
"object": "smartllm.alias" als Discriminator.
Beispiel-Request mit Alias
Base URL
Ersetzen Sie einfach https://api.openai.com/v1 durch https://smartllm.at/v1 in Ihrem bestehenden Code.
Endpoints
POST /v1/chat/completions
Chat mit dem Modell. Unterstützt Streaming. model akzeptiert eine konkrete Modell-ID oder einen Production-Alias.
GET /v1/models
Liste aller verfügbaren Modelle. Aliase tauchen additiv mit owned_by: "smartllm-alias" auf.
GET /v1/aliases SmartLLM
Nur die Aliase, mit Target-Modell wo erlaubt. Details in der Sektion oben.
POST /v1/completions
Legacy Text-Completion Endpoint.
POST /v1/embeddings
Embedding-Vektoren für Text. Nur Modelle mit embedding-Capability. Chat-Modelle auf diesem Endpoint → 400; unbekannte Modelle → 404.
input akzeptiert einen String oder ein Array von Strings (Batch). Verfügbare Embedding-Modelle: nomic-embed-text:latest.
Web-Tools SmartLLM-Erweiterung
Web-Suche und Page-Fetch für AI-Agents — aus dem selben Bearer-Key wie die Chat-API.
Vollständige Referenz für Programmieragenten:
https://smartllm.at/web.md — mit allen
Body- und Response-Schemas, Fehler-Codes, Tier-Auswahl und einem fertigen
Mini-Workflow zum Rauskopieren.
Authentifizierung mit Ihrem SmartLLM-API-Key. Tokens werden nicht verbrechnet, Search/Fetch sind gratis, und der optionale Pre-Filter-LLM-Call läuft über einen internen Operator-Key (also nicht auf Ihr Kontingent). Nicht Teil der OpenAI-Spec.
POST /web/search
Meta-Suche über 70+ Suchmaschinen (SearXNG).
Response: {"query", "results": [{"rank", "url", "title", "snippet"}], "engine_count", "elapsed_ms"}. limit akzeptiert 1–30, Default 8.
POST /web/fetch
URL fetchen, Markdown zurückgeben. Optional gegen eine Relevance-Frage destilliert („Magen“-Pattern).
Ohne relevance: rohe Markdown-Antwort mit Token-Schätzung. Mit relevance: Page wird durch einen schnellen LLM-Filter destilliert, Sie bekommen nur die zur Frage passenden Passagen zurück plus eine Zeile mit den nicht-extrahierten Themen. tier: "27b" erzwingt den stärkeren Filter, sonst greift Auto-Eskalation ab ~150k Token Page-Größe.
Vision-Support
Zwei Modelle akzeptieren Bilder als Input via image_url-Content-Block (OpenAI-kompatibel).
| Modell | Kategorie | Empfohlenes max_tokens | Einsatz |
|---|---|---|---|
Intel/Qwen3.5-397B-A17B-int4-AutoRound (Alias: frontier) |
Flagship | 200–500 | Komplexe Bildanalyse, Detail-Extraction, Dokumentenanalyse, Rechnungsklassifikation |
qwen3.6-35b (Alias: vision, mid, coder) |
Allgemein, loaded | 500–1500 | Bild- und Video-Input, Reasoning, Tool-Calling. Dauerhaft geladen, sofortige Antwort. |
gemma4-nothink:26b / gemma4-think:26b |
Allgemein | ≥ 2000 | OCR, Bildklassifikation, kurze Beschreibungen |
qwen3.6:27b |
Allgemein | 500–1000 | Bildanalyse im Tagesgeschäft, gute Balance aus Latenz und Qualität |
nemotron3:33b |
Multimodal (Omni) | 500–1500 | Bild und Audio in einem Request, gemischte Anfragen |
Beispiel
Hinweise pro Modell
Qwen 3.5 397B
- Nativ multimodal, schnelle Antwortgenerierung.
- Empfohlen für mehrschichtige visuelle Aufgaben und niedrige Latenz bei Vision.
max_tokenszwischen 200 und 500 reicht in der Regel.
Gemma 4 26B
- Führt bei Vision-Requests ausführliches internes Reasoning durch — typisch 1500–2000 Tokens, bevor die Antwort geschrieben wird.
max_tokensmindestens 2000 setzen, sonst kommt leerer Content zurück (Budget wird im Reasoning aufgebraucht).- Für niedrige Latenz Qwen 3.5 397B bevorzugen.
Audio BETA
nemotron3:33b akzeptiert zusätzlich Audio-Inputs.
Beta-Hinweis: Pricing und API-Schema für Audio-Inputs können sich ändern. Verfügbarkeit ist nicht SLA-garantiert.
Schema
OpenAI-kompatibler Content-Block mit Typ input_audio. Daten als Base64.
Format-Beschränkungen
| Modalität | Formate | Empfohlene Dauer | Token-Verbrauch (ca.) |
|---|---|---|---|
| Audio | WAV, MP3, M4A | bis 60 Sek. | ~32 Token/Sek. |
Pricing
Einheitliches Token-Pricing. Audio wird vom Modell intern tokenisiert und in usage.prompt_tokens mitgemeldet — es gibt aktuell keine separate Audio-Gebühr. Zur Orientierung bei €8/M Tokens:
| Input | Token-Rate | Kosten/Sekunde | Kosten/Minute |
|---|---|---|---|
| Text | variabel | — | — |
| Audio | ~32 Token/Sek. | ~€0.00032 | ~€0.019 |
Token-Raten sind Orientierungswerte basierend auf vergleichbaren Omni-Modellen. Tatsächlicher Verbrauch ergibt sich aus usage.prompt_tokens der jeweiligen Antwort. Endabrechnung immer auf realen Token-Counts.
Parameter-Referenz
| Parameter | Typ | Default | Beschreibung |
|---|---|---|---|
model | string | required | Modell-ID (siehe GET /v1/models) |
messages | array | required | Chat-Verlauf als Array von {role, content} |
temperature | float | 0.7 | Kreativität (0.0 = deterministisch, 1.0 = kreativ) |
max_tokens | int | 1000 | Maximale Antwortlänge in Tokens |
stream | bool | false | Streaming-Antwort (Server-Sent Events) |
top_p | float | 1.0 | Nucleus Sampling |
stop | string/array | null | Stop-Sequenzen |
Smart-Modus vs Direct
Smart-Modus
55+ Tools automatisch verfügbar. Checkin-Modell prüft ob Tools nötig sind. Ideal für Chat, Assistenten, Recherche.
Direct-Modus
Request geht 1:1 ans Modell. Kein Checkin, keine Tools. Für Coding-Agents, eigenes Tool-Calling, OpenCode.
Modus pro API-Key einstellbar im Portal.
Integration
Python (OpenAI SDK)
JavaScript (fetch)
Rate Limits
| Limit | Default | Beschreibung |
|---|---|---|
RPM | 60 | Requests pro Minute |
TPD | 1.000.000 | Tokens pro Tag (Input + Output) |
Concurrent | 3 | Gleichzeitige Requests |
Limits pro API-Key konfigurierbar. Bei Überschreitung: HTTP 429.
Fehler-Codes
| Code | Bedeutung | Lösung |
|---|---|---|
401 | Invalid API Key | Key prüfen, neuen Key erstellen |
429 | Rate Limit | Warten oder Limits erhöhen lassen |
502 | Backend offline | Modell wird geladen, kurz warten |
504 | Timeout | Kleineres Modell oder weniger Tokens |