Hilfe
API für Entwickler

Eine Basis-URL, ein API Key, alle Dienste: Sprachmodelle, Embeddings, Reranking, Transkription, Websuche und Bildgenerierung - OpenAI-, Anthropic- und A1111-kompatibel. Bestehende SDKs und Tools funktionieren unverändert.

Basis-URL

https://ai.dev.wyna.info/v1

Alle Endpunkte laufen über diese eine Adresse. Anthropic-SDKs nutzen als Basis-URL https://ai.dev.wyna.info (das SDK ergänzt /v1/messages selbst). Die direkte Gateway-Adresse https://llm.ai.dev.wyna.info/v1 bleibt für die Modell-Endpunkte ebenfalls gültig.

Authentifizierung

Erstelle einen persönlichen API Key in deinem Konto (Mein Konto → API Keys) und übergib ihn als Bearer-Token:

Authorization: Bearer sk-...your-key...

Behandle den Key wie ein Passwort. Jeder Aufruf zählt auf dein Guthaben bzw. dein Monatslimit - dieselbe Abrechnung wie im Chat (siehe Preise).

Endpunkte im Überblick

EndpunktDienstFormat
POST /v1/chat/completionsSprachmodelle (inkl. Streaming, Vision, Tools)OpenAI
POST /v1/messagesSprachmodelleAnthropic
GET /v1/modelsAktuelle Modell-ListeOpenAI
POST /v1/embeddingsText-EmbeddingsOpenAI
POST /v1/rerankRerankingJina/Cohere
POST /v1/audio/transcriptionsTranskription (Speech-to-Text)OpenAI
GET/POST /v1/searchWebsucheWyna
POST /v1/txt2imgBildgenerierung (auch /sdapi/v1/txt2img für A1111-Clients)A1111

Modelle

Übergib den Modellnamen exakt so im Feld model. Die aktuelle Liste liefert GET /v1/models.

Stabile Modell-Tags (für Integrationen empfohlen): wyna-pro (unser jeweils stärkstes) und wyna-lite (unser schlankes, günstiges) bleiben stabil - wir aktualisieren das dahinterliegende Modell im Hintergrund, deine Konfiguration läuft unverändert weiter. Abgerechnet wird jeweils zum Tarif des aktuell hinterlegten Modells. Zusätzlich ist jedes Modell auch direkt unter seinem konkreten Modell-Tag ansprechbar.

modelBeschreibung
wyna-proAlias: immer unser stärkstes Modell (empfohlen) - bei uns gehostet
wyna-liteAlias: unser schlankes, günstiges Modell - bei uns gehostet
deepseek-v4-flashMoE-Modell mit 1 Mio. Token Kontext - stark in Analyse, Code und grossen Dokumenten - bei uns gehostet
qwen36-35bSchnelles MoE-Modell mit Bildverständnis - effizient für Alltagsaufgaben - bei uns gehostet
mistral-small-4Vielseitig, mit Bildverständnis
kimi-k2.6Für anspruchsvolle & agentische Aufgaben
apertus-70bOffenes Schweizer Modell (ETH Zürich & EPFL)
wyna-embedWandelt Text in Vektoren für Suche und RAG - BGE-M3 (multilingual, 1024 Dimensionen)
wyna-rerankSortiert Suchtreffer nach Relevanz zur Anfrage - BGE-Reranker-v2-M3
wyna-stt-germanÜbersetzt gesprochenes Schweizerdeutsch und weitere Sprachen in Deutschen Text - FlixAI Swissgerman
wyna-sttTranskribiert Englisch, Deutsch, Französisch, usw. ohne Übersetzung - Whisper Large v3 Turbo

Schnellstart: Sprachmodelle

curl

curl https://ai.dev.wyna.info/v1/chat/completions \
  -H "Authorization: Bearer $WYNA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wyna-pro",
    "messages": [{"role": "user", "content": "Sag Hallo auf Schweizerdeutsch."}]
  }'

Python (OpenAI-SDK)

# pip install openai
from openai import OpenAI

client = OpenAI(
    base_url="https://ai.dev.wyna.info/v1",
    api_key="WYNA_API_KEY",
)
resp = client.chat.completions.create(
    model="wyna-pro",
    messages=[{"role": "user", "content": "Sag Hallo."}],
)
print(resp.choices[0].message.content)

Python (Anthropic-SDK)

# pip install anthropic
from anthropic import Anthropic

client = Anthropic(
    base_url="https://ai.dev.wyna.info",
    api_key="WYNA_API_KEY",
)
msg = client.messages.create(
    model="wyna-pro",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Sag Hallo."}],
)
print(msg.content[0].text)

Streaming

Ergänze "stream": true (bzw. stream=True im SDK), um Token laufend zu empfangen.

Embeddings, Reranking & Transkription

Die Bausteine hinter Dokumenten-Analyse und Diktat, direkt per API - gehostet auf unserer eigenen Hardware:

# Embeddings (OpenAI-kompatibel)
curl https://ai.dev.wyna.info/v1/embeddings \
  -H "Authorization: Bearer $WYNA_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "wyna-embed", "input": "Text zum Einbetten"}'

# Reranking (Jina-kompatibel)
curl https://ai.dev.wyna.info/v1/rerank \
  -H "Authorization: Bearer $WYNA_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "wyna-rerank", "query": "Frage", "documents": ["Kandidat 1", "Kandidat 2"]}'

# Transkription (OpenAI-kompatibel; wyna-stt-german = Schweizerdeutsch → Deutsch, wyna-stt = multilingual)
curl https://ai.dev.wyna.info/v1/audio/transcriptions \
  -H "Authorization: Bearer $WYNA_API_KEY" \
  -F file=@aufnahme.wav -F model=wyna-stt-german

Websuche

Datenschutzfreundliche Suche (Kagi-basiert) für Agents und Integrationen - nur der Suchbegriff verlässt unsere Server:

curl "https://ai.dev.wyna.info/v1/search?q=Suchbegriff&limit=5" \
  -H "Authorization: Bearer $WYNA_API_KEY"

Auch als POST mit JSON-Body {"q": "...", "limit": 5}. Antwort: results[] mit title, url, snippet, published sowie related[] (verwandte Suchbegriffe) und cost_chf.

Bildgenerierung

A1111-kompatibel: bestehende A1111-Clients funktionieren mit der Basis-URL https://ai.dev.wyna.info und deinem API Key (als Bearer-Token oder als Basic-Auth-Passwort). Freie Auflösung bis 2 Megapixel, Abrechnung pro Megapixel:

curl https://ai.dev.wyna.info/v1/txt2img \
  -H "Authorization: Bearer $WYNA_API_KEY" -H "Content-Type: application/json" \
  -d '{"prompt": "a red apple on a wooden table", "width": 1328, "height": 1328, "batch_size": 1}'

Antwort im A1111-Format (images[] als Base64) plus cost_chf. Unterstützte Felder: prompt, negative_prompt, width/height, steps, cfg_scale, batch_size (max. 4), seed.

Limits & Abrechnung

Abrechnung: nutzungsbasiert in CHF - Tokens, Megapixel, Suchen, Audio-Minuten. Jeder API Key hat einen Modus: Verrechnete Keys (Standard) laufen über dein Prepaid-Guthaben bzw. Monatslimit - erschöpft heisst 402. Abo-Keys nutzen ausschliesslich dein Abo-Kontingent: ohne aktives Abo antworten sie mit 403, bei aufgebrauchtem Kontingent mit 429 bis zur Verlängerung oder einem Upgrade. Im Chat wird mit Abo weiterhin zuerst das Kontingent genutzt, danach optionaler Zusatzverbrauch, danach Guthaben bzw. Monatslimit.

Rate-Limits: Websuche 30/min, Bildgenerierung 10/min, Sprachmodelle 1.2M Tokens/min - pro Nutzer, grosszügig für Agents bemessen. Abo-Keys haben strengere Limits als verrechnete Keys - für produktive Anwendungen nutze einen verrechneten Key. Bei Überschreitung: 429, kurz warten und erneut versuchen.

Budgets: pro Nutzer oder Team konfigurierbar - dein Verbrauch ist jederzeit unter Nutzungsdetails einsehbar.