Skip to content

Providers

Most of these docs are organized by capability: language models, embeddings, speech, and so on. This page flips that around. If you already use a provider somewhere else and want to know what effect-uai can do with it, find its row and follow the link to the usage page.

Switching providers is always a Layer swap. Each one registers under both its own typed tag and the generic capability tag, so code you write against the generic tag keeps working when you change the backend.

Capability matrix

Four tables, split on lines the library itself draws. Model capabilities take a model id: you pick a model and quality varies by which one. Web capabilities are backend services you send requests to. Runtime capabilities are environments your agent acts inside: a sandbox it runs code in, a browser it drives. Messaging is the one where people talk to the agent. A provider can appear in more than one (Jina does).

A ✓ links to the usage page for that provider and capability.

Models

ProviderLLMEmbeddingsImagesSpeechRealtimeMusicDecisions
OpenAI✓✓✓✓✓
Google✓✓✓✓✓✓
Anthropic✓
Mistral✓✓
Fal✓
ElevenLabs✓✓
Jina✓
Inworld✓
TypeSafe AI✓

Speech is one direction at a time: audio to text, or text to audio. Realtime is the duplex session where both run at once over one socket and the model decides whose turn it is. Only Google takes camera frames on that session. Decisions is the one model column that returns no text: typed questions in, a probability per answer out.

Web

ProviderWeb searchWeb reading
Exa✓✓
Perplexity✓
Tavily✓✓
Firecrawl✓
Jina✓

Runtimes

ProviderSandboxBrowser
Microsandbox✓
Deno✓
CDP (Chromium, obscura, hosted browser clouds)✓

Messaging

Where people talk to the agent rather than the agent acting on the world.

ProviderMessenger
Telegram✓
Discord✓
Slack✓

Gateways and protocol adapters

Not every backend is a provider. OpenRouter and Requesty are routing gateways: one key, hundreds of models, reached through the OpenAI protocol adapters. Those adapters, Responses and the legacy Chat Completions base (@effect-uai/chat-completions), are named for the wire protocol, not a vendor, so they point at any conforming endpoint via baseUrl.

Realtime has its own set of those, since several vendors speak the OpenAI Realtime protocol on their own host: see compatible endpoints.

MCP is a third kind of not-a-provider: a server there supplies tools, not a capability. @effect-uai/mcp connects to any of them and hands the loop a Toolkit, so it composes with whichever provider you picked above rather than replacing one.

OpenAI

@effect-uai/openai

GPT models via the Responses API, text embeddings, images, speech, and realtime sessions, all under one install. The Responses provider also ships standalone as @effect-uai/responses.

Google

@effect-uai/google

Gemini models, Gemini embeddings, Nano Banana images, Gemini speech, Gemini Live sessions, and Lyria music.

Mistral

@effect-uai/mistral

Mistral chat models plus Voxtral realtime STT and TTS, enough for a full voice pipeline on one brand.

Anthropic

@effect-uai/anthropic

Claude models via the Messages API.

Fal

@effect-uai/fal

Other people’s image models behind one key: FLUX.2, Seedream 5, Qwen Image, Muse, and the open-weights field, including the sub-second tier. The model id here is an endpoint path rather than a model name, and generating and editing are separate endpoints.

ElevenLabs

@effect-uai/elevenlabs

Streaming speech-to-text, text-to-speech, and music generation.

Jina

@effect-uai/jina

Text and multimodal embeddings, including multivector output, plus the Reader for turning URLs into clean markdown.

Inworld

@effect-uai/inworld

Text-to-speech.

TypeSafe AI

@effect-uai/typesafe-ai

Jev, a decision model: classify, rate and probability questions about one input, answered with probabilities in a single call instead of generated text.

Exa

@effect-uai/exa

Neural web search ranked by relevance score, plus /contents for reading a URL to clean markdown.

Perplexity

@effect-uai/perplexity

Fast, current-events web search snippets.

Tavily

@effect-uai/tavily

Web search with snippets, scores, and depth control, plus /extract for reading a URL to clean markdown.

Firecrawl

@effect-uai/firecrawl

JS-rendered pages turned into clean markdown or HTML.

Microsandbox

@effect-uai/microsandbox

Isolated microVM sandboxes for running model-generated code.

Deno

@effect-uai/deno

Sandboxed code execution on the Deno runtime.

CDP

@effect-uai/browser

One adapter for everything that speaks the Chrome DevTools Protocol, which in practice is the whole browser-automation field: a headless Chromium container, a locally installed Chrome or Edge, a from-scratch engine like obscura, or a hosted browser cloud’s connect URL (Browserbase, Browserless, and the like).

Telegram

@effect-uai/telegram

Your agent as a Telegram bot: DMs, group mentions and commands in, streamed answers, media and reactions out. Long-polls the Bot API over a plain HTTP client, no SDK.

Discord

@effect-uai/discord

Your agent as a Discord bot: DMs, channel mentions, threads and button presses in, streamed markdown answers, media and reactions out. Holds one gateway websocket and calls the v10 REST API over a plain HTTP client, no discord.js.

Slack

@effect-uai/slack

Your agent as a Slack bot: mentions, DMs, slash commands and button presses in, streamed markdown answers in a thread, files and reactions out. Holds one Socket Mode websocket and calls the Web API over a plain HTTP client, no Bolt.