Model Router
IO runs a smart multi-model router. You specify "model": "auto" and IO picks the best model for your query. Or lock to a specific model — your choice.
The roster spans both open-weight models (self-hosted, zero data-sharing) and frontier models (GPT, Gemini, Claude) — all routed through the same zero-retention inference layer. Every response carries a signed receipt regardless of which model answered.
Text & Code Models
| ID | Model | Provider | Context | Best For |
|---|---|---|---|---|
dolphin | Dolphin-Mistral-24B | Venice (open-weight) | 32K | Flagship — uncensored general purpose |
deepseek | DeepSeek | Open-weight | 128K | Code, math, reasoning |
qwen | Qwen | Open-weight | 32K | Multilingual, translation |
llama | Llama 3.1 70B | Open-weight | 128K | Long-context, research |
mistral | Mistral | Open-weight | 32K | Fallback, fast |
gpt | GPT-4o | OpenAI | 128K | Frontier reasoning, vision |
gemini | Gemini 2.0 Flash | 1M | Ultra-long context, multimodal | |
claude | Claude Sonnet | Anthropic | 200K | Deep reasoning, safety-aware |
auto | Router decides | — | — | Smart routing in <3s |
Image Generation Models
| ID | Model | Provider | Best For |
|---|---|---|---|
imagen | Imagen 3 | Google (Gemini) | Photorealism, fine detail |
dalle | DALL·E 3 | OpenAI (GPT) | Creative, prompt-faithful |
sdxl | Stable Diffusion XL | Open-weight | Fast, highly customisable |
Auto Router
When you send "model": "auto", the router analyzes your prompt and selects the best model:
- Code / math / reasoning → DeepSeek or GPT-4o
- Non-English → Qwen
- Ultra-long context (>128K tokens) → Gemini 2.0 Flash (1M window)
- Complex analysis / nuanced reasoning → Claude Sonnet
- General uncensored → Dolphin-Mistral-24B
- Fallback / low latency → Mistral
The router decides in under 3 seconds and names the chosen model in the response receipt.
Specifying a Model
{"model": "deepseek", "messages": [{"role": "user", "content": "Write a Rust sorting algorithm"}]}{"model": "claude", "messages": [{"role": "user", "content": "Analyze the risks in this contract"}]}{"model": "gemini", "messages": [{"role": "user", "content": "Summarize this 500-page document"}]}Use the model ID from the registry above.
Broadcast Mode
Send to multiple models simultaneously:
{"models": ["dolphin", "gpt", "claude"], "messages": [{"role": "user", "content": "What do you disagree on?"}]}Diff Mode
Compare two models side-by-side:
{"model_a": "gpt", "model_b": "claude", "messages": [{"role": "user", "content": "Explain consciousness"}]}Returns a divergence score + structured key differences.
Diffuse Mode
Broadcast to multiple models, then synthesize unique insights into one answer:
{"model": "diffuse", "models": ["dolphin", "gpt", "gemini", "claude"], "messages": [{"role": "user", "content": "What is the future of AI?"}]}The response merges non-overlapping insights with per-model attribution.
Pricing
Each model has a per-token rate. auto routing applies the selected model's rate. Check current pricing at /v1/models.
All billing is on-chain via $IO token — no credit cards, no Stripe, no privacy leaks.