Models & Providers
Supported providers
Section titled “Supported providers”| Provider | Config key | Endpoint |
|---|---|---|
| Groq | groq | https://api.groq.com/openai/v1/chat/completions |
| Cerebras | cerebras | https://api.cerebras.ai/v1/chat/completions |
| Gemini | gemini | https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent |
| OpenRouter | openrouter | https://openrouter.ai/api/v1/chat/completions |
| DeepSeek | deepseek | https://api.deepseek.com/chat/completions |
OpenRouter is itself a router: it forwards each request to a provider that hosts the model, which makes it the provider that serves the most aliases below.
Model aliases
Section titled “Model aliases”An alias lists provider models in a fixed order. Nuabase uses the first one whose provider you supplied an API key for.
| Alias | Tries, in order |
|---|---|
fast (default) | Cerebras qwen-3.8-27b → Groq openai/gpt-oss-120b → OpenRouter z-ai/glm-5.3-flash |
gemini | Gemini gemini-3.8-flash → OpenRouter google/gemini-3.8-flash |
deepseek | DeepSeek deepseek-v4-pro → OpenRouter deepseek/deepseek-v4-pro-0813 |
qwen | OpenRouter qwen/qwen3.8-2.4t-a95b |
sonnet | OpenRouter anthropic/claude-sonnet-5.5 |
opus | OpenRouter anthropic/claude-opus-5.5 |
haiku | OpenRouter anthropic/claude-haiku-4.5 |
kimi | OpenRouter moonshotai/kimi-k3 |
gpt | OpenRouter openai/gpt-6.1-sol |
// Client defaultconst nua = Nua.direct({ providers: { openrouter: { apiKey: process.env.OPENROUTER_API_KEY! } }, model: { alias: 'sonnet' },});
// Per callawait nua.get('Summarize this', { input: text, output: { name: 'summary', schema: z.string() }, model: { alias: 'kimi' },});On a local agent, only Claude Code accepts aliases, and only haiku, sonnet, and opus, which it maps to its own models.
Explicit provider models
Section titled “Explicit provider models”To use a model no alias covers, name the provider and the provider’s own model ID:
await nua.get('Summarize this', { input: text, output: { name: 'summary', schema: z.string() }, model: { provider: 'groq', model: 'openai/gpt-oss-120b' },});The provider must be one you configured a key for. For Gemini, use bare model IDs such as gemini-3.8-flash, not models/gemini-3.8-flash.
Picking a model
Section titled “Picking a model”- Latency-sensitive work such as parsing user input in a form:
fast. Cerebras and Groq serve open models at very high token rates. - Harder extraction or reasoning:
sonnet,opus,gpt, orgemini. - Bulk enrichment of many rows: start with
fastand move up only for fields where it isn’t accurate enough.nua.list()already amortizes the prompt over many rows.
Pricing and rate limits are set by each provider. Check their dashboards for current numbers.