Enhver modalitet, én control plane
Chat, embeddings, vision, lyd, dokument-OCR, omrangering, asynkrone videojob og realtidssessioner — på tværs af fire forespørgselslivscyklusser. Fordi modalitet og livscyklus er førsteklasses i IR'en, gælder politikken ens for dem alle.
"Synkron, ægte SSE-streaming, crash-sikre async-jobs, realtime-sessioner — én control plane til det hele."
Synkron
Den klassiske request/response-sti — ét kald ind, én completion ud, med al politik anvendt inline.
Ægte SSE-streaming
stream: true bruger ægte server-sent events via LiveStream-adaptere — ingen fuld upstream-buffer på den lykkelige sti.
Crash-sikre async-jobs
Holdbare leasede workers til langt arbejde som video og batches: enqueue → claim → heartbeat → complete, med en reaper til udløbne leases.
Realtime-sessioner
En WebSocket-bro til realtime, så live stemme- og streaming-interaktioner deler den samme auth, de samme budgetter og den samme logning som alt andet.
Enhver modalitet
Chat, embeddings, billedgenerering og -redigering, lyd-TTS/STT og rerank — modalitet er et førsteklasses begreb, ikke vision skruet på som en base64-eftertanke.
Dokument-OCR
PDF'er, scanninger og billeder bliver til Markdown, side for side, i Mistral OCRs forespørgsels- og svarform. Afregnet per side, guardrails kører på hver side og skriver deres maskeringer tilbage, og payload-loggen opsummerer dokumentet i stedet for at gemme det.
Én control plane
Alle fire livscyklusser og hver operation deler den samme inference-IR — routing, caching, budgetter og guardrails gælder ensartet på tværs af dem.

Trin for trin
- 01
Tal et hvilket som helst format
Klienter sender requests i OpenAI-, Anthropic- eller Gemini-stil — chat, vision, lyd, embeddings — eller den native IR direkte.
- 02
Map til IR'en
Facaden mapper requesten ind i én inference-request-model, der fanger modalitet, operation og livscyklus som førsteklasses felter.
- 03
Vælg livscyklussen
Synkron returnerer inline, streaming åbner en SSE-kanal, lange jobs lægges i kø til holdbare workers, og realtime åbner en WebSocket-bro.
- 04
Anvend politik ensartet
Routing, caching, budgetter og guardrails kører på samme måde uanset modalitet eller livscyklus — ingen særtilfælde at holde styr på.
# Video generation is always a job
POST /v1/videos
→ { "id": "job_9f2", "status": "queued" }
# Durable worker: claim → heartbeat → complete
# Survives restarts; a reaper reclaims dead leases
GET /v1/videos/job_9f2
→ { "status": "running" }Multimodalitet og livscyklusser er én af seks kontrolflader, der håndhæves i den samme forespørgselsvej og gælder for alle applikationer bag endpointet — også dem, der aldrig blev instrumenteret.
Se hvordan de spiller sammenÉt endpoint. Alle modeller. Fuld kontrol.
Kør det i jeres egen infrastruktur
Alt, hvad I skal bruge for at drive en control plane i produktion, er Apache-2.0 og bliver ved med at være det — routing, HA, caching, failover, budgetter, policy, MCP, jobs og observability. Self-hosted, ingen konto, ingen phone-home.
$ docker run -p 4000:4000 <registry>/waeg-gateway:<version>Endnu ikke et pull, der virker: images er ikke offentlige endnu. Designpartnere får registry-oplysningerne direkte.
Deploy på 5 minutterVær med til at forme det som designpartner
Wäg er endnu ikke offentligt tilgængelig. Vi arbejder sammen med en lille gruppe teams, der kører multi-provider AI i produktion og tager governance og suverænitet alvorligt, for at hærde vores control plane på reelle workloads.
- Alle Enterprise-funktioner inkluderet, uden licensomkostning
- Praktisk migrering — vi gør det sammen med jer, også fra LiteLLM
- Direkte adgang til de engineers, der bygger det, og reel indflydelse på, hvad der kommer næst