Recued comes with no AI model of its own. So setting up AI means telling Recued which AI services to send calls to. Everything is on one page: Settings → AI/Models. You can start for free. Add paid keys only if you want them.
#Option 1: free-tier API keys
An API key is a secret code that lets your server use an AI service. Add your own free-tier keys from Groq, OpenRouter, Gemini, Cerebras, GitHub Models, and Mistral. Recued spreads calls across them. It stays inside each provider's free limit. This is the usual workhorse. It gives structured output. It works with no screen. And it costs nothing until a free limit runs out.
Add one under Settings → AI/Models → Providers → Free pool. Choose its
protocol: most free tiers are OpenAI-compatible, with the provider's base
URL. Then enter the model and the key. Test connection tries it before
you add it. Leave the name blank and it is named from the address, such as
groq. You can edit, disable, test, or remove each one later. An edit keeps
the saved key unless you change the protocol or the base URL.
#Option 2: your own keys
Two slots hold paid or self-hosted models:
- Slot 1 (fast) — the model for daily work.
- Slot 2 (quality) — the model for harder questions. It is also used for extended thinking.
Set them up under Settings → AI/Models → Providers. The first-run Set up Chat form names OpenAI, Anthropic, and Gemini. For anything else, its Set up slot 1 and slot 2 link opens that tab.
Each slot asks for:
- Provider: your own name for the service, such as "Groq". It is only a label.
- Protocol: how Recued talks to it. Choose OpenAI, Anthropic, Google Gemini, or OpenAI-compatible. OpenAI-compatible covers Groq, OpenRouter, Mistral, and a local Ollama or vLLM server. Use a local one if you want AI that never leaves your own machines.
- Model and API key. A local model that needs no key takes any word,
such as
none. - Base URL: needed for OpenAI-compatible. The others can skip it.
A saved key stays with the protocol and base URL it was saved for. Change either one and you enter the key again: Recued never sends a saved key to a new address. Change only the model or the name, and the saved key is kept.
Test connection tries the form as it is, before you save. When something is missing, the answer shows under the button you pressed.
#Optional: an embeddings slot
An embedding turns text into a list of numbers. Some recipes need that. Set up the Embeddings slot under Providers → Embeddings only when a recipe or producer clearly needs vector embeddings. Take the housekeeping producer that embeds mail. That lets semantic clustering compare messages. The slot has its own model and key. You set it up like a chat slot. For Protocol, pick OpenAI, Google Gemini, or OpenAI-compatible. The last one needs a base URL. Anthropic is not on the list. It makes no embedding model. The Provider name is just a label.
Recipes reach the slot through the read-only core.ai.embed kernel op:
{
"id": "embed",
"op": "core.ai.embed",
"args": {
"llm.data": "{{step.source.text}}"
}
}The step returns vector, dimensions, and model. You can add an
llm.dimensions argument. Do that only when the chosen embedding model
accepts a dimension hint. Embeddings do not support llm.pii_fields. So
protect private data before you pass it in as llm.data.
This slot is kept apart from normal AI routing. Built-in chat never uses it. Normal AI recipe steps never use it. And an embedding call never falls back to the free pool or to the fast and quality slots.
#How calls are routed
A normal AI recipe asks for a kind of model: fast, quality, or
thinking. It never names a provider. Recued picks free sources before paid
keys. It checks what is ready before a recipe starts. So a step that cannot
be served fails right at the start. One call is one billing event.
A paid call is never quietly sent again. See
AI and models for the full picture.
#Background AI stays opt-in
Some enrichment topics use AI in the background. Each topic runs at the trust level you set: off, manual, or automatic. Each topic also has a pool policy: free sources only, paid only, or free then paid. And there is one global Pause-AI switch. Nothing turns itself to automatic. Recued suggests. You decide.
#Next
Try it in chat: AI chat and MCP.