API für Entwickler.
Daten, fertige Skills, Sprache und Sprachmodelle über eine Schnittstelle. Ein Schlüssel, eine Fehlerform, Abrechnung nach Verbrauch.
- Server in Deutschland
- Sprachmodelle in Europa
- Kein Training mit Ihren Daten
- Abgeschottete Laufräume
- Keine Grundgebühr
- 5 Euro Startguthaben zum Testen
Was Sie bekommen
Datenendpunkte
Amtliche Statistik, Wetter, Energie, Recht, Register und mehr - typisierte Eingaben, Antwort mit Quellenvermerk und Lizenz. Ohne Sprachmodell.
Skills
Fertige Ergebnisse als Aufruf: Rechnung, Angebot, Brief, Präsentation, Auswertung. Festpreis je Ergebnis.
Sprache
Spracherkennung, Sprachausgabe und der Sprachlauf: Audio rein, Antwort als Text und Ton zurück - mit unserem oder Ihrem eigenen Modell.
Sprachmodelle und Läufe
OpenAI-kompatibel, Modell frei wählbar aus dem Katalog. Läufe im eigenen, abgeschotteten Laufraum mit Office-Werkzeugen.
In drei Schritten
- Konto anlegen und E-Mail-Adresse bestätigen - Sie erhalten 5 Euro Startguthaben.
- Schlüssel erzeugen - ein Testschlüssel kostet nichts.
- Ersten Aufruf senden und Guthaben aufladen.
# Datenkatalog: alle abrufbaren Fähigkeiten mit Eingaben, Quellen und Lizenz
curl https://BASIS/api/v1/daten -H "Authorization: Bearer $GLIEKS_SCHLUESSEL"
# Ein Abruf (Antwort mit Quellenvermerk und Lizenz)
curl https://BASIS/api/v1/daten/FAEHIGKEIT \
-H "Authorization: Bearer $GLIEKS_SCHLUESSEL" -H "Content-Type: application/json" \
-d '{"angaben": {"ort": "Lüneburg"}}'
# Sprachausgabe als mp3
curl https://BASIS/v1/audio/speech -H "Authorization: Bearer $GLIEKS_SCHLUESSEL" \
-H "Content-Type: application/json" -d '{"input": "Guten Tag.", "voice": "thorsten"}' -o gruss.mp3
from openai import OpenAI
glieks = OpenAI(base_url="https://BASIS/v1", api_key="glk_...")
# Sprachmodell (Modell aus GET /v1/models wählbar, reasoning: aus | niedrig | hoch)
antwort = glieks.chat.completions.create(
model="Glieks Flink",
messages=[{"role": "user", "content": "Fasse in einem Satz zusammen: ..."}],
extra_body={"reasoning": "aus"},
)
print(antwort.choices[0].message.content)
# Spracherkennung (eigener Sprachdienst in Deutschland)
with open("diktat.mp3", "rb") as f:
text = glieks.audio.transcriptions.create(model="whisper", file=f)
print(text.text)
const basis = "https://BASIS";
const kopf = { "Authorization": "Bearer " + process.env.GLIEKS_SCHLUESSEL, "Content-Type": "application/json" };
// Aufgabe starten und Ergebnis abholen
const start = await fetch(basis + "/api/v1/aufgaben", {
method: "POST", headers: kopf,
body: JSON.stringify({ bestellung: "Erstelle eine Rechnung über 3 Stunden Beratung zu 95 Euro.", model: "Glieks Standard" }),
}).then(r => r.json());
// Fortschritt als Ereignisstrom: basis + start.stromadresse
const ergebnisse = await fetch(basis + "/api/v1/aufgaben/" + start.id + "/ergebnisse", { headers: kopf }).then(r => r.json());
Endpunkte
| Weg | Wozu |
|---|---|
GET /api/v1/datenPOST /api/v1/daten/{faehigkeit} | Datenkatalog und Abruf, Antwort mit Quellenvermerk und Lizenz. Jede Fähigkeit steht mit ihren Feldern in der OpenAPI. |
GET /api/v1/skillsPOST /api/v1/skills/{kennung} | Skills mit Eingaben; der Aufruf startet einen Auftrag. |
POST /api/v1/aufgabenGET /api/v1/aufgaben/{id}/stromGET /api/v1/aufgaben/{id}/ergebnisse | Läufe starten, Fortschritt als Ereignisstrom, Ergebnisse als Dateien. Feld model wählt das Modell. |
POST /v1/chat/completionsGET /v1/models | OpenAI-kompatibel. Der Katalog nennt je Modell Anbieter, Standort, Kontextlänge, Preis je 1 Mio Token und Latenzklasse. |
POST /v1/audio/transcriptionsPOST /api/v1/transkription | Spracherkennung (Whisper large), bis 25 MiB je Datei. |
POST /v1/audio/speechPOST /api/v1/sprachausgabe | Sprachausgabe mit der Stimme „thorsten“, mp3 oder wav, bis 4 096 Zeichen. |
POST /api/v1/sprachlauf | Audio oder Text rein, Erkennung, Antwort und Sprachausgabe in einem Aufruf, wahlweise als Strom mit Teilantworten. |
PUT /api/v1/wissen/{name} | Kleine Wissensablage je Schlüssel für den Sprachlauf. |
GET /api/v1/verbrauch | Verbrauch des Kontos. |
Anmeldung mit Authorization: Bearer glk_... oder X-Glieks-Schluessel: glk_.... Basisadresse für OpenAI-Werkzeuge: https://BASIS/v1.
Sprachassistent in 20 Zeilen
Audio rein, Antwort als Ton zurück - mit eigener Rolle, eigenem Wissen und den Glieks-Daten als Werkzeug. Der erste Satz klingt schon, während das Modell noch schreibt.
import base64, json, requests
BASIS, SCHLUESSEL = "https://BASIS", "glk_..."
anfrage = {
"betriebsart": "vollstaendig", "ausgabe": "beides", "format": "mp3",
"system": "Sie sind die freundliche Auskunft der Stadtbücherei. Antworten Sie in höchstens zwei Sätzen.",
"kontext": "Öffnungszeiten: Mo-Fr 10-18 Uhr, Sa 10-14 Uhr.",
"werkzeuge": ["daten"], "gespraech": "kunde-42", "model": "Glieks Flink", "reasoning": "aus",
}
with open("frage.wav", "rb") as f:
antwort = requests.post(BASIS + "/api/v1/sprachlauf?stream=true", stream=True,
headers={"Authorization": "Bearer " + SCHLUESSEL},
files={"audio": f}, data={"anfrage": json.dumps(anfrage)})
ereignis = None
for zeile in antwort.iter_lines(decode_unicode=True):
if zeile.startswith("event: "):
ereignis = zeile[7:]
elif zeile.startswith("data: ") and ereignis == "audio":
teil = json.loads(zeile[6:])
open(f"antwort-{teil['nr']}.mp3", "wb").write(base64.b64decode(teil["audio"]))
elif zeile.startswith("data: ") and ereignis == "fertig":
print(json.loads(zeile[6:])["timings"])
Mit Ihrem eigenen Modell
Glieks übernimmt nur die Sprachteile: mit "betriebsart": "eigenes_modell" und "rueckruf": "https://ihr-dienst/antwort" geht der erkannte Text signiert an Ihren Endpunkt (Kopfzeilen X-Glieks-Zeit und X-Glieks-Signatur = HMAC-SHA256 über Zeit, Punkt und Rumpf mit dem Signaturgeheimnis des Schlüssels). Ihr Endpunkt antwortet innerhalb von 15 Sekunden mit {"text": "..."}, Glieks spricht die Antwort. Ohne Rückruf: nur Erkennung (Audio, Ausgabe „text“) oder nur Ausgabe (Text, Ausgabe „audio“).
import hashlib, hmac
from flask import Flask, request
app, GEHEIMNIS = Flask(__name__), bytes.fromhex("SIGNATURGEHEIMNIS")
@app.post("/antwort")
def antwort():
erwartet = hmac.new(GEHEIMNIS, request.headers["X-Glieks-Zeit"].encode() + b"." + request.get_data(), hashlib.sha256).hexdigest()
if not hmac.compare_digest(erwartet, request.headers["X-Glieks-Signatur"]):
return "", 401
return {"text": mein_modell(request.json["text"])}
Modelle und Antwortzeit
Im Feld model wählen Sie aus dem Katalog (Glieks-Name oder Basismodell). reasoning steuert das Nachdenken: aus für die schnellste Antwort, niedrig, hoch für schwierige Fragen. Ohne Angabe nimmt der Sprachlauf ein schnelles Modell, Läufe nehmen das Glieks-Standardmodell. Jede Sprachlauf-Antwort nennt die Zeiten je Stufe in timings (Erkennung, erstes Zeichen des Modells, erstes Audio, gesamt).
Preise
Keine Grundgebühr. Zum Testen schenken wir Ihnen 5 Euro Startguthaben, einmalig je bestätigtem Konto und für alle Endpunkte nutzbar (mindestens 12 Monate gültig, keine Auszahlung). Danach laden Sie Guthaben vorab auf (ab 5 Euro, per Stripe) und zahlen nur, was Sie nutzen. Guthaben gilt 1:1, die Umsatzsteuer kommt beim Aufladen dazu: 5 Euro Guthaben kosten 5,95 Euro inkl. 19 % USt, die Rechnung kommt per E-Mail. Auf Wunsch lädt Glieks automatisch nach, sobald das Guthaben unter Ihre Schwelle fällt - höchstens bis zu Ihrer Monatsgrenze.
Direkter Modellzugang: Preise je Modell im Katalog GET /v1/models.
Grenzen wachsen mit Ihrem Umsatz
60 je Minute
ab 0 Euro Aufladungen
300 je Minute
ab 50 Euro Aufladungen
1.200 je Minute
ab 500 Euro Aufladungen
3.000 je Minute
ab 2.500 Euro Aufladungen
Die Stufe richtet sich nach der Summe Ihrer Aufladungen.
Testmodus und Fehler
Ein Testschlüssel (glk_test_...) ist kostenlos und antwortet auf jeden schreibenden Aufruf mit einer festen Beispielantwort - ideal für Ihre Tests. Fehler kommen immer in derselben Form: {"code": "...", "grund": "...", "weg": "POST /api/v1/aufgaben"}, zum Beispiel ungueltiger_schluessel (401), guthaben_leer (402), nicht_gefunden (404), rate_begrenzt und ausgelastet (429, mit Retry-After), modell_unbekannt (400, mit der Liste der Modelle).