API

OpenAI-kompatibel. All Modell.

D'Spill ass OpenAI Stück verkaaft ginn. https://api.yout.chat/v1 mat Ärem Yout.chat Schlëssel an all wichteg Modell ass Ären. E Kreditpool, eng Rechnung, keng Kontrakter pro Modell.

Basis- URL: https://api.yout.chat/v1 · Auth: Authorization: Bearer <your-key>

Ersatz fir Drop-in

If your code already talks to the OpenAI API, you only change two things.

from openai import OpenAI

client = OpenAI(
    api_key="yout-...",                  # ← from Account → API keys
    base_url="https://api.yout.chat/v1",       # ← that's it
)

resp = client.chat.completions.create(
    model="anthropic-claude-sonnet-46",
    messages=[
        {"role": "user", "content": "Write a haiku about caching."},
    ],
)
print(resp.choices[0].message.content)

D'Aarbechten sinn net geännert ginn OpenAI Python SDK, OpenAI Node SDK, LangChain, LlamaIndex, Vercel AI SDK, LiteLLM, and anything else that speaks the OpenAI shape.

Endpunkten

All Endpunkte akzeptéieren Authorization: Bearer <key>. D'Websäit vum Veräin ass op der Websäit vum Veräin.

POST/v1/chat/completions

OpenAI Awunner. Pass stream: true fir SSE. Kreditter atomesch debitéiert.

Ufro-Körper
{
  "model": "anthropic-claude-sonnet-46",
  "messages": [
    {"role": "system", "content": "You are helpful."},
    {"role": "user",   "content": "What is 2+2?"}
  ],
  "stream": false,
  "temperature": 0.7,
  "max_tokens": 512
}
Antwort (net Stream)
{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "anthropic-claude-sonnet-46",
  "choices": [{"index":0,"message":{"role":"assistant","content":"Four."},"finish_reason":"stop"}],
  "usage": {"prompt_tokens": 15, "completion_tokens": 2, "total_tokens": 17},
  "yout": {"credits_charged": 10, "balance": 14999990}
}
GET/v1/models

OpenAI-compatible model list. Every active model with id, context_window, Et gëtt och Kreditt- a Kredittkaartservicer.

POST/api/chat/stream/

Native streaming endpoint — simpler JSON shape than OpenAI's, used by the web app. Prefer /v1/chat/completions D'Sprooch ass eng Sprooch mat enger grousser Diversitéit.

GET/api/chat/models/

Richtiger Modellkatalog mat Task-Tags, Modalitéiten, pro-only Flaggen. Benotzt dëst an Ärer eegener UI.

GET/api/chat/limit/

D'Aktivitéite vun der Gemeng sinn: d'Aarbechtsplazen, d'Schoul, d'Sozialversécherung an d'Aarbechtszäit.

GET/api/chat/keys/

D'Aktivitéite vun der Gemeng sinn: (fr)

POST/api/chat/keys/

Erstellen en API Schlëssel mat Numm. Full Token gëtt eemol zréckginn - späichert et.

Ufro-Körper
{"name": "production"}
POST/api/chat/keys/<id>/revoke/

En Schlëssel zréckzéien. Existéierend Sessioune mat him kréien 401 op dem nächsten Uruff.

POST/api/media/image/

Bildgeneréierungsauftrag. job_uuid; Pol /api/media/jobs/<uuid>/.

POST/api/media/video/

Videogeneréierungsaufgab. ~1.2M Credits fir 5-Sekonnen Veo. Credits automatesch zréckbezuelt wann et net klappt.

POST/api/media/speech/

Text-zu-Sprooch. job_uuid; Ausgab ass eng signéiert Audio- URL wann se fäerdeg ass.

GET/api/media/jobs/<uuid>/

Generéiere vun engem Auftrag status, output_url, error, credits_cost.

POST/api/chat/share/

Erstellen vun engem ëffentleche Schnappschuss. /c/<slug> URL:

POST/api/chat/purge/

D'Sprooch gëtt och an der Kommunikatioun, an der Kommunikatiounstechnik an an der Kommunikatiounstechnik benotzt.

Abrechnung

D'API-Benotzung gëtt aus dem selwechte Kreditpool wéi d'Webapp gezunn. Keng separat API-Billing.

Lëscht vun de Präisdréier

Textmodelle credits_per_1k_input × input tokens + credits_per_1k_output × Ausgabetoken. Medienmodelle bezuelen e flaache Präis credits_per_call.

Minimum

All Joer gëtt et eng Ausstellung mat 100 Biller, déi an der ganzer Stad ze gesinn sinn.

Retour

Bild-/Video-/Sprooch-Aufgaben, déi am Upstream verluer goen, ginn automatesch zréckbezuelt. Textstream-Verluer bezuelen nëmmen dat, wat produzéiert gouf.

Iwwerschreiden

Anrufe 402 insufficient_credits wann Äert Saldo d'geschätzte Käschte net decken kann. Pläng ginn net gedrosselt soulaang wéi plan_active ass richteg an de Saldo ass positiv.

Authentifizéierung & Privatsphär

  • Lëscht vu lëtzebuergesche Schrëftsteller — pro Benotzer, op Ärer Kontsäit ze fannen. Rotatiounen duerch Läschen + Neierstellen vun Ärem Kont (richtege Rotatiouns-Ennpunkt op der Roadmap).
  • Keng Benotzeridentifikatiounen weidergeleet — Generic HTTP-Referer: yout.chat just
  • no-log Signal — Upstream geschéckt, fir datt Modell-Provider net op Är Prompts loggen/trainéieren, wann hir Kontrakter et ënnerstëtzen.
  • Standardmäßeg gëtt keng Noriichtinhalt behalen — mir schreiwen e UsageLedger D'Reegel (Token + Credits + Modell) awer net d'Prompt oder d'Äntwert.

Roadmap

  • OpenAI-kompatibel /v1/chat/completions shim sou datt d'existéierend SDKs onverännert funktionnéieren
  • Webhook Callbacks fir laang lafend Medienjobs (ersetzt Polling)
  • Lëscht vun de lëtzebuergesche Schrëftsteller
  • Idempotency keys on /stream/ + Retry- safe Aufgabserstellung
  • Lëscht vun de lëtzebuergesche Gemengen

Sidd Dir bereet ze schécken?

D'Spill huet 50 Punkten an et gëtt 500