Pick your providers. Download a custom SDK bundle in 30 seconds. No third-party packages, no node_modules, no supply chain risk.
No signup required. No email gate. Takes 30 seconds.
In March 2026, the official litellm Python package on PyPI was compromised in a supply chain attack. Two malicious versions were published after attackers stole the maintainer's credentials — anyone who ran pip install during the four-hour window received credential-stealing malware. The package had 95 million monthly downloads (source).
LLM Mixer was designed to make this class of vulnerability structurally impossible. The bundle we generate contains no third-party code — only adapter logic that calls provider APIs directly. You read it, you approve it, you ship it.
✦ Zero npm dependencies
✦ No postinstall scripts
✦ No runtime calls to Smart Services
✦ Works offline after download
One import. One config. One call. Works the same whether you pass gpt-4o, claude-3.5-sonnet, or gemini-2.5-flash.
import { LLMMixer } from './llm-mixer/src/index';
const mixer = new LLMMixer({
openai: process.env.OPENAI_API_KEY,
google: process.env.GOOGLE_API_KEY,
anthropic: process.env.ANTHROPIC_API_KEY,
});
const response = await mixer.chat({
model: 'gpt-4o',
messages: [
{ role: 'user', content: 'Explain quantum entanglement in one paragraph.' }
],
});
console.log(response.content);
console.log(response.usage);Four steps. Thirty seconds. No signup.
Every line auditable. No surprises.
Your SDK contains zero third-party packages. No transitive dependencies to audit, no postinstall scripts lurking in your node_modules. Read every line before you ship it.
No node_modules black hole.
The generated bundle uses only native fetch. No version conflicts, no dependency trees, no packages to update. It runs on what Node.js already gives you.
Pick 2 providers, get 2 adapters.
Most teams use 2-3 LLM providers. So why download an SDK with 100+? Select only what you need. Your bundle stays under 100KB.
No proxy. No middleman.
Your API keys never leave your environment. The SDK calls provider APIs directly from your infrastructure. We never see your requests, your keys, or your data.
Multimodal ready.
Send text, images, and video in a normalized format. The SDK translates to each provider's native API shape. Write once, works everywhere — including video for Gemini.
Download. Install. Ship.
No signup, no account, no API key required to generate your SDK. Select your providers, pick your runtime, and download a .tgz you can audit and install immediately.
| Feature | LLM Mixer | LiteLLM | Roll Your Own |
|---|---|---|---|
| Supply chain safety | ✅ Zero deps, auditable | ⚠️ Complex tree | ✅ Auditable |
| Bundle size | ✅ < 100KB | ❌ Full install | ✅ Minimal |
| Setup time | ✅ 30 seconds | ✅ pip install | ❌ Days/weeks |
| Provider support | ✅ 3 major providers | ✅ 100+ providers | ❌ You build each |
| Dependencies | ✅ Zero | ❌ Many | ✅ Zero |
| Unified API | ✅ mixer.chat() | ✅ Yes | ❌ You write it |
| Multimodal | ✅ Normalized | ✅ Yes | ❌ You build it |
| Streaming | ✅ AsyncGenerator | ✅ Yes | ❌ You build it |
| You own the code | ✅ Fully | ❌ Fork the repo | ✅ Fully |
The point isn't that other tools are bad. LiteLLM is excellent if you need 100+ providers. But if you use 2-3 providers and care about what runs in your stack, LLM Mixer gives you the convenience of a unified API with the control of code you own.
Select your providers, download your SDK, and ship with confidence.
Build Your SDKFree. No signup. 30 seconds.
LLM Mixer is a free tool from Smart Services. We built it because developers deserve LLM tooling they can actually trust — tooling that doesn't ask you to trade control for convenience.
Your generated SDK is yours. Modify it, extend it, fork it, ship it. No license restrictions. No attribution required.
No tracking. No analytics on your build choices. Your provider selections are processed client-side and never stored.