Varje modalitet, en control plane
Chatt, inbäddningar, vision, ljud, dokument-OCR, omrankning, asynkrona videojobb och realtidssessioner — över fyra förfrågningslivscykler. Eftersom modalitet och livscykel är förstklassiga i IR:en gäller policyn lika för alla.
"Synkront, äkta SSE-streaming, kraschsäkra asynkrona jobb, realtidssessioner — en control plane för allt."
Synkront
Den klassiska request/svar-vägen — ett anrop in, en completion ut, med all policy tillämpad inline.
Äkta SSE-streaming
stream: true använder äkta server-sent events via LiveStream-adaptrar — ingen fullständig buffring uppströms i normalfallet.
Kraschsäkra asynkrona jobb
Beständiga workers med lease för långt arbete som video och batchar: köa → ta över → heartbeat → slutför, med en reaper för utgångna leases.
Realtidssessioner
En WebSocket-brygga för realtid, så att live-röst och strömmande interaktioner delar samma autentisering, budgetar och loggning som allt annat.
Varje modalitet
Chatt, embeddings, bildgenerering och bildredigering, ljud med TTS/STT och rerank — modalitet är ett förstklassigt begrepp, inte vision fastskruvat som en base64-eftertanke.
Dokument-OCR
PDF:er, skanningar och bilder blir Markdown, sida för sida, i Mistral OCR:s förfrågnings- och svarsform. Prissatt per sida, skyddsräcken körs på varje sida och skriver tillbaka sina maskeringar där, och payloadloggen sammanfattar dokumentet i stället för att lagra det.
En control plane
Alla fyra livscykler och varje operation delar samma inferens-IR — routing, cache, budgetar och guardrails gäller konsekvent för dem alla.

Steg för steg
- 01
Tala vilken form som helst
Klienter skickar requests i OpenAI-, Anthropic- eller Gemini-stil — chatt, vision, ljud, embeddings — eller den nativa IR:en direkt.
- 02
Mappa till IR:en
Fasaden mappar requesten in i en inferensrequest-modell som fångar modalitet, operation och livscykel som förstklassiga fält.
- 03
Välj livscykel
Synkront returnerar inline, streaming öppnar en SSE-kanal, långa jobb köas till beständiga workers, och realtid öppnar en WebSocket-brygga.
- 04
Tillämpa policy enhetligt
Routing, cache, budgetar och guardrails körs på samma sätt oavsett modalitet eller livscykel — inga specialfall att hålla reda 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 & livscykler är en av sex kontrollytor som tillämpas i samma requestväg och gäller varje applikation bakom endpointen — även de som aldrig instrumenterades.
Se hur de samverkarEn endpoint. Alla modeller. Full kontroll.
Kör den i er egen infrastruktur
Allt ni behöver för att köra en control plane i produktion är Apache-2.0 och förblir det — routing, HA, cache, failover, budgetar, policy, MCP, jobb och observability. Self-hosted, inget konto, ingen phone-home.
$ docker run -p 4000:4000 <registry>/waeg-gateway:<version>Ingen fungerande pull: avbilderna är inte publika än. Designpartner får registeruppgifterna privat.
Driftsätt på 5 minuterForma den som design partner
Wäg är ännu inte publikt släppt. Vi arbetar med en liten grupp team som kör AI från flera leverantörer i produktion och tar styrning och suveränitet på allvar, för att härda control plane:n mot verkliga arbetslaster.
- Alla Enterprise-funktioner ingår, utan licenskostnad
- Praktisk migrering — vi gör den tillsammans med er, även från LiteLLM
- En direktlinje till ingenjörerna som bygger den, och verkligt inflytande över vad som kommer härnäst