Provider Comparison

Authoritative state of each provider class in src/providers/. Keep this in sync with config/providers.yml.

id Class Schema Default model Free? BYOK? Auth Notes
auto (virtual) chain — Yes No — Default. Walks pollinations → duckduckgo → huggingface → mistral and returns the first success.
pollinations PollinationsProvider OpenAI-like /openai openai-large Yes No None Zero-config free gateway. GPT-4o-class. Throttles at ~1 req/3-5s per IP.
duckduckgo DuckDuckGoProvider Reverse-engineered SSE gpt-4o-mini Yes No vqd token (auto) Two-step handshake. Models: gpt-4o-mini, claude-haiku, llama-3.3-70b, mistral-small, o3-mini.
huggingface HuggingFaceProvider OpenAI /chat/completions Qwen/Qwen2.5-7B-Instruct Yes Optional Bearer (optional) Free without key (rate-limited per IP); HF token bumps quota and unlocks gated models.
mistral OpenAICompatibleProvider OpenAI /chat/completions mistral-small-latest Yes Yes Bearer Free tier ~1 req/s. BYOK only — get a free key at console.mistral.ai/api-keys.
openai OpenAICompatibleProvider OpenAI /chat/completions gpt-4o-mini No Yes Bearer BYOK only; no official free API tier.
anthropic AnthropicProvider Anthropic /messages claude-haiku-4-5-20251001 No Yes x-api-key Different schema; system field is top-level; max_tokens required.
groq OpenAICompatibleProvider OpenAI /chat/completions llama-3.1-8b-instant Yes Yes Bearer Free tier with 60 req/min on most models.
ollama OllamaProvider Ollama /api/chat llama3.1:8b Yes No None Local; base URL overridable; stream=false; format=json.
g4f G4FProvider OpenAI /chat/completions gpt-3.5-turbo Unofficial No None Opt-in (enableUnofficialProviders); rotates endpoints; falls back to Mistral.

When to use what