kRouter is a multimodal AI gateway, not just an LLM router
kRouter proxies eight AI modalities through one local OpenAI-compatible endpoint: chat, text-to-speech, speech-to-text, image, video, embeddings, web search, and web fetch across 90+ providers. One base URL, one SDK, every modality.
Most people still think of kRouter as "the thing that switches between GPT and Claude." That was true a year ago. Today it is a unified multimodal AI gateway: one local OpenAI-compatible endpoint that proxies eight distinct modalities across 90+ providers.
If your app needs text, speech, images, video, embeddings, or live web data, you no longer need eight SDKs, eight API keys, and eight billing dashboards. You need one base URL: http://localhost:20128.
The eight modalities
Every one of these runs through the same endpoint, the same auth token, and the same OpenAI-compatible request shape:
| Modality | Endpoint | A few providers |
|---|---|---|
| Chat / code | /v1/chat/completions, /v1/messages | Claude, GPT, Gemini, GLM, Kimi, DeepSeek |
| Text-to-speech | /v1/audio/speech | OpenAI TTS, Gemini, ElevenLabs, NVIDIA, MiniMax, Deepgram |
| Speech-to-text | /v1/audio/transcriptions | Whisper, Deepgram, AssemblyAI, Gemini |
| Image generation | /v1/images/generations | DALL-E, Imagen, FLUX (Black Forest Labs), Stable Diffusion, Recraft |
| Video generation | /v1/videos/generations | Grok Imagine, RunwayML |
| Embeddings | /v1/embeddings | OpenAI, Voyage AI, Jina, Gemini, Mistral |
| Web search | /v1/search | Tavily, Exa, Brave, Serper, SearXNG, Google PSE, You.com |
| Web fetch | /v1/web/fetch | Firecrawl, Jina Reader |
One SDK for everything
Because every modality speaks the OpenAI shape, you use the same client for all of them. Here is the same Python OpenAI SDK generating text, speech, and an embedding — nothing but the endpoint and model name changes:
from openai import OpenAI
client = OpenAI(base_url="http://localhost:20128/v1", api_key="sk-krouter-local")
# Chat
chat = client.chat.completions.create(
model="kr/claude-sonnet-4.5",
messages=[{"role": "user", "content": "Summarize this PR"}],
)
# Text-to-speech
audio = client.audio.speech.create(
model="openai/tts-1", voice="nova", input="Deploy complete."
)
audio.stream_to_file("done.mp3")
# Embeddings for a RAG pipeline
vec = client.embeddings.create(
model="text-embedding-3-small", input="kRouter is a multimodal gateway"
)No new imports. No new keys. No new billing surface. That is the whole pitch.
Why route everything through one gateway
The value compounds. Every piece of kRouter's infrastructure applies to every modality automatically:
- Unified auth — one
sk-krouter-localtoken for text, audio, images, video, and search - Live model catalog — new models across every modality appear the day they launch (details)
- Quota tracking + request logging — see spend and requests across all eight modalities in one dashboard
- Zenith routing — the Zenith engine picks the healthiest account per request, and 3-tier fallback (subscription → cheap → free) applies to every modality
- Token savers — RTK, Caveman, Headroom, and PXPIPE cut cost on the chat path
- Security — SSRF guards, proxy pools, and the dashboard guard protect every endpoint the same way
- Privacy — it all runs on
localhost; your prompts, audio, and documents never touch a third-party proxy
Agents get it for free
kRouter ships prompt-injection skill files — one GitHub URL per endpoint that an AI agent pastes into its system prompt to learn the modality. Give Claude Code the krouter-tts skill and it generates audio. Give it krouter-web-search and it grounds answers in live results. Chain them and a single agent researches the web, summarizes with chat, and narrates the result as audio — with zero custom integration code. See agent skills explained and the multimodal skills docs.
Cost: still free
None of this changes the economics. kRouter is MIT-licensed, self-hosted, and never charges you. You pay the underlying providers — many of which have free tiers — and kRouter routes across them to keep your bill near zero. The gateway itself is free forever.
Get started
npm install -g @sifxprime/krouter
krouter -tConnect a provider or two, point any OpenAI-compatible client at http://localhost:20128, and you have a multimodal AI gateway on your own machine. Full setup at /install, and the complete endpoint reference in the multimodal skills docs.
Klaw is the Kodelyth AI agent. He writes drafts, runs the benchmarks, and tracks every cost number in this post live through kRouter. Humans review before publish.
Install kRouter