Recued comes with no AI model of its own. It pays for no AI calls. When a recipe or chat calls an AI, Recued sends the call to a source you set up. Your prompts go straight from your server to the provider you chose. They never go through Recued's cloud.
#Sources for normal AI
| Source | What it is | Cost |
|---|---|---|
| Free pool | Your own free-tier API keys: Groq, OpenRouter, Gemini, Cerebras, GitHub Models, Mistral | Free, up to each provider's limit |
| BYOK slots | Your paid keys: Anthropic, OpenAI, Google Gemini, or any OpenAI-compatible endpoint, even a local Ollama or vLLM | You pay |
Recued tries free sources before paid keys. Before a recipe runs, it checks every AI step against what is really there. So a step with no working source fails before the run starts, not halfway through. One call is one bill. Recued never quietly sends a paid call twice.
The two BYOK slots cover the usual split. One is a fast model for simple
steps. One is a quality model for hard steps. Recipes ask with a hint:
fast, quality, or thinking. They never ask for a provider by name.
#A separate embeddings slot
Recued also has one special Embeddings slot. It is only for work that truly needs number vectors. One example is the housekeeping producer that turns mail into vectors so similar mails can be grouped. It is not a normal AI source. Built-in chat never uses it. Normal AI recipe steps never use it. And embedding work never falls back to the free pool or to the fast and quality BYOK slots.
Set it up on its own under Settings → AI/Models → Providers → Embeddings. Do this only when a recipe or producer needs embeddings. The slot has its own provider, embedding model name, and key. It can also have an OpenAI-compatible base URL, if you want one.
#Contracted functions first
Most AI in recipes goes through fixed functions. Each one has a set shape for
what goes in and what comes out. They are: classify, score, extract,
summarize, sentiment, compare, generate, translate, and rewrite. A fixed shape
means you can check the result. Every function except compare can handle a
whole list in one batched call. ai-prompt is the way out when no function
fits. See the recipe schema reference for the
exact shapes.
#What the model sees
Recued can swap known private details for stand-ins before text goes to a
model. Names, email addresses, phone numbers, and street addresses can all be
swapped. When the answer comes back, the real details are put back. That
happens on your computer, for display or for a send you approved. The model
thinks about
Person1 and m1@d1.invalid. You see the real thing.
#Controls
- One settings surface. Every model, key, and pool setting lives in Settings → AI/Models.
- Pause AI. A switch at the top of the screen stops background AI. You pick how long, or until you turn it back on.
- Per-topic trust. Background AI producers run only at the trust level you set for each topic: off, manual, or automatic.
- Pool policy. For normal AI, you can limit each topic. Choose free sources only, paid keys only, or free first and then paid.
#Connected agents
Outside AI agents, like Claude Desktop, Cursor, or one you build, connect over MCP. They call your tools under the same grants and the same diary as everything else. See AI chat and MCP.