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

IDModelProviderContextBest For
dolphinDolphin-Mistral-24BVenice (open-weight)32KFlagship — uncensored general purpose
deepseekDeepSeekOpen-weight128KCode, math, reasoning
qwenQwenOpen-weight32KMultilingual, translation
llamaLlama 3.1 70BOpen-weight128KLong-context, research
mistralMistralOpen-weight32KFallback, fast
gptGPT-4oOpenAI128KFrontier reasoning, vision
geminiGemini 2.0 FlashGoogle1MUltra-long context, multimodal
claudeClaude SonnetAnthropic200KDeep reasoning, safety-aware
autoRouter decidesSmart routing in <3s

Image Generation Models

IDModelProviderBest For
imagenImagen 3Google (Gemini)Photorealism, fine detail
dalleDALL·E 3OpenAI (GPT)Creative, prompt-faithful
sdxlStable Diffusion XLOpen-weightFast, 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.

Auto-router decision tree — how IO picks the right model for your prompt.

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.