Files
librefang-registry/providers
Evan 541052dc79 chore: prune deprecated models across providers (#75)
* chore: prune deprecated models across providers

Remove old-generation models that are strictly superseded by current versions
on the same provider/family. Affected providers: anthropic, bedrock, vertex-ai,
xai, moonshot, zhipu, baichuan, stepfun, volcengine, minimax, cohere, together,
fireworks, deepinfra, openrouter. Also clean up orphan aliases (grok3, grok-mini,
minimax-m2.1) and remap moonshot alias to kimi-k2.5.

Net: -42 model entries across 18 files. Provider model counts and README rows
updated accordingly.

* chore: remove redundant and orphan aliases from aliases.toml

Provider TOML files auto-register their model.aliases at load time, so
re-declaring them globally is duplication. Also drop entries pointing to
models that no longer exist after the prune.

- 45 redundant entries duplicating provider-defined aliases
- 11 orphan targets (gpt-4o, gpt-4o-mini, grok-2-mini, grok-3,
  mixtral-8x7b-32768, copilot/gpt-4, open-mistral-nemo,
  pixtral-large-latest, jamba-1.5-large, palmyra-x5, venice-uncensored)

Net: 100 lines down to 21. The file is now what the header comment
always claimed it was: 'additional global aliases not tied to a specific
model entry.'

* chore: second pass — prune more deprecated models

Apply the same 'strictly superseded by same-provider/family successor'
rule to providers missed in the first pass:

- openai: gpt-4.1 / -mini / -nano, o3, o4-mini (5)
- meta-llama: llama-3.3-70b-instruct (1)
- zhipu: glm-4v-plus (1)
- together: Llama-3.3-70B-Instruct-Turbo (1)
- xiaomi: mimo-v2-flash / -omni / -pro (3)
- aion-labs: aion-1.0 / -mini (2)
- qianfan: ernie-speed-128k, ernie-4.0-turbo-8k (2)
- cerebras: cerebras/llama3.1-8b (1)
- qwen-code: qwen-code/qwq-32b (1)
- nvidia-nim: 12 models (llama-3.1/3.2 series, mixtral-8x22b,
  mistral-small-3.1, phi-4-mini, qwq-32b, r1-distill-32b,
  qwen2.5-coder, nemotron-mini-4b, nemotron-70b-instruct)
- openrouter: meta-llama/llama-3.3-70b (paid), rekaai/reka-edge (2)
- alibaba-coding-plan: qwen3.5-plus, qwen3-max-2026-01-23,
  MiniMax-M2.5, kimi-k2.5 (4)

Net: -35 model entries. providers/README.md model counts updated.
220 models remain.
2026-04-27 09:36:43 +09:00
..

Providers

LLM provider and model metadata for LibreFang. Each .toml file defines one provider's API configuration and all its available models with pricing, context windows, and capability flags.

Current state: 46 providers, 220+ models


Provider Categories

Frontier / Major Cloud APIs

ID Display Name Base URL API Key Env Models Description
anthropic Anthropic https://api.anthropic.com ANTHROPIC_API_KEY 7 Claude family (Haiku / Sonnet / Opus); native Anthropic wire protocol, not OpenAI-compatible
openai OpenAI https://api.openai.com/v1 OPENAI_API_KEY 10 GPT-5.x family + image generation; codex-cli fallback
gemini Google Gemini https://generativelanguage.googleapis.com GEMINI_API_KEY 6 Gemini 2.x family; native Google GenerativeLanguage protocol
xai xAI https://api.x.ai/v1 XAI_API_KEY 7 Grok-3 family from Elon Musk's xAI
mistral Mistral AI https://api.mistral.ai/v1 MISTRAL_API_KEY 3 Mistral Large / Small / Codestral; European frontier models
cohere Cohere https://api.cohere.com/v2 COHERE_API_KEY 4 Command R+ family; strong RAG and tool-use models
deepseek DeepSeek https://api.deepseek.com/v1 DEEPSEEK_API_KEY 2 DeepSeek-V3 (chat) + R1 (reasoning); extremely cost-effective
meta-llama Meta Llama https://api.llama.com/v1 LLAMA_API_KEY 3 Official Meta Llama API — Llama 4 Maverick / Scout + Guard 4
perplexity Perplexity AI https://api.perplexity.ai PERPLEXITY_API_KEY 4 Sonar family with live web search built in

Fast Inference / Compute Clouds

ID Display Name Base URL API Key Env Models Description
groq Groq https://api.groq.com/openai/v1 GROQ_API_KEY 3 GroqChip hardware; ~10× faster than GPU inference for supported models
cerebras Cerebras https://api.cerebras.ai/v1 CEREBRAS_API_KEY 3 Wafer-scale chip inference; best-in-class throughput for Llama
sambanova SambaNova https://api.sambanova.ai/v1 SAMBANOVA_API_KEY 3 Reconfigurable Dataflow Unit (RDU) inference; fast Llama variants
fireworks Fireworks AI https://api.fireworks.ai/inference/v1 FIREWORKS_API_KEY 3 Serverless open-model hosting; fast cold-start
together Together AI https://api.together.xyz/v1 TOGETHER_API_KEY 4 Open-model hosting (Llama 4, DeepSeek) + fine-tuning API
nvidia-nim NVIDIA NIM https://integrate.api.nvidia.com/v1 NVIDIA_API_KEY 14 NVIDIA NIM microservices; broad open-model selection
replicate Replicate https://api.replicate.com/v1 REPLICATE_API_TOKEN 3 Run any model as a serverless API; image + video + LLM
huggingface Hugging Face https://api-inference.huggingface.co/v1 HF_API_KEY 3 HF Serverless Inference API for hosted open models

Cloud Platform / Enterprise

ID Display Name Base URL API Key Env Models Description
bedrock AWS Bedrock https://bedrock-runtime.us-east-1.amazonaws.com AWS_ACCESS_KEY_ID 8 AWS-managed models (Claude, Llama, Mistral, Nova); IAM auth
vertex-ai Google Cloud Vertex AI https://us-central1-aiplatform.googleapis.com GOOGLE_APPLICATION_CREDENTIALS 4 GCP-hosted Gemini + third-party models; service account JSON auth
github-copilot GitHub Copilot https://api.githubcopilot.com GITHUB_TOKEN 1 Uses ApiFormat::Copilot — proprietary protocol, not OpenAI-compatible; requires GitHub PAT with Copilot access

Aggregators / Routers

ID Display Name Base URL API Key Env Models Description
openrouter OpenRouter https://openrouter.ai/api/v1 OPENROUTER_API_KEY 38+ Meta-provider routing to 300+ models; also receives models from OpenRouter-only providers via sync script
siliconflow SiliconFlow https://api.siliconflow.cn/v1 SILICONFLOW_API_KEY dynamic 硅基流动 — Chinese open-model hosting; models discovered at runtime, not hardcoded in TOML

Chinese Providers

ID Display Name Base URL API Key Env Models Description
qwen Qwen (Alibaba) https://dashscope.aliyuncs.com/compatible-mode/v1 DASHSCOPE_API_KEY 9 Qwen3 family by Alibaba; multi-region support (intl / us) via [provider.regions]
moonshot Moonshot (Kimi) https://api.moonshot.ai/v1 MOONSHOT_API_KEY 2 Kimi K2 / K2.5
minimax MiniMax https://api.minimax.io/v1 MINIMAX_API_KEY 4 MiniMax M-series; strong Chinese + multilingual models
zhipu Zhipu AI (GLM) https://open.bigmodel.cn/api/paas/v4 ZHIPU_API_KEY 2 GLM-4.7 / GLM-5 by Zhipu AI (智谱)
zai Z.AI https://api.z.ai/api/paas/v4 ZHIPU_API_KEY 2 Z.AI general models; shares API key with zhipu
baichuan Baichuan (百川) https://api.baichuan-ai.com/v1 BAICHUAN_API_KEY 1 Baichuan4; strong Chinese-language performance
volcengine Volcano Engine (Doubao) https://ark.cn-beijing.volces.com/api/v3 VOLCENGINE_API_KEY 5 ByteDance Doubao 2.0 + UI-TARS; Ark platform
stepfun Stepfun (阶跃星辰) https://api.stepfun.com/v1 STEPFUN_API_KEY 2 Step-3 / Step-3.5 Flash; long-context reasoning
tencent Tencent https://api.hunyuan.cloud.tencent.com/v1 HUNYUAN_API_KEY 1 Hunyuan models by Tencent
qianfan Baidu Qianfan https://qianfan.baidubce.com/v2 QIANFAN_API_KEY 1 ERNIE 4.5 by Baidu; Qianfan platform

Coding-Specific Endpoints

Separate base_url for coding workloads — not just model aliases. Same API key as the general counterpart.

ID Display Name Base URL API Key Env Models vs. General
kimi_coding Kimi for Code https://api.kimi.com/coding KIMI_API_KEY 1 vs moonshot: api.moonshot.ai/v1
alibaba-coding-plan Alibaba Coding Plan (Intl) https://coding-intl.dashscope.aliyuncs.com/v1 ALIBABA_CODING_PLAN_API_KEY 5 vs qwen: dashscope.aliyuncs.com; aggregates Qwen + GLM under one plan
volcengine_coding Volcano Engine Coding Plan https://ark.cn-beijing.volces.com/api/coding/v3 VOLCENGINE_API_KEY dynamic vs volcengine: /api/v3; models discovered at runtime
zhipu_coding Zhipu Coding (CodeGeeX) https://open.bigmodel.cn/api/coding/paas/v4 ZHIPU_API_KEY 1 vs zhipu: /api/paas/v4; CodeGeeX-4 coding model
zai_coding Z.AI Coding https://api.z.ai/api/coding/paas/v4 ZHIPU_API_KEY 2 vs zai: /api/paas/v4; GLM coding variants

CLI-Based Providers (No API Key)

Route through a locally-installed CLI tool. key_required = false, base_url is empty. Cost is $0.

ID Display Name CLI Binary Models ApiFormat Description
claude-code Claude Code claude 3 ClaudeCode Anthropic's official CLI; routes through Claude API with OAuth
codex-cli Codex CLI codex 6 CodexCli OpenAI Codex CLI; also serves as fallback for openai provider
gemini-cli Gemini CLI gemini 2 GeminiCli Google Gemini CLI; also serves as fallback for gemini provider
qwen-code Qwen Code qwen-code 2 QwenCode Alibaba Qwen coding CLI

Local / Self-Hosted

ID Display Name Default Base URL API Key Env Notes
ollama Ollama http://localhost:11434/v1 OLLAMA_API_KEY No key required; models discovered dynamically at runtime via /api/tags
lmstudio LM Studio http://localhost:1234/v1 LMSTUDIO_API_KEY No key required; GUI app for running GGUF models locally
vllm vLLM http://localhost:8000/v1 VLLM_API_KEY No key required; high-throughput inference server for production self-hosting

Special / Niche

ID Display Name Base URL API Key Env Notes
chatgpt ChatGPT (Session Auth) https://chatgpt.com/backend-api CHATGPT_SESSION_TOKEN Session cookie auth, not an API key. Exposes GPT-5.x Codex models (gpt-5.1-codex etc.) that are unavailable via the standard OpenAI API
elevenlabs ElevenLabs https://api.elevenlabs.io/v1 ELEVENLABS_API_KEY TTS / voice generation only — has a dedicated elevenlabs.rs driver in librefang-runtime. No chat models; appears in the provider list for media capability routing

Inclusion Criteria

A provider gets its own .toml file when it meets at least one of:

  1. Has a direct public API not accessible via OpenRouter
  2. Has a unique endpoint for a specific workload (e.g. coding plan endpoints)
  3. Has a dedicated driver (ApiFormat beyond generic OpenAI)
  4. Is a local/self-hosted runtime
  5. Is a CLI-based provider

Providers that only route through openrouter.ai/api/v1 with OPENROUTER_API_KEY are not given standalone files — their models are merged into openrouter.toml by the sync script. See scripts/sync-pricing.py.


Provider TOML Format

[provider]
id = "provider-id"                # Unique identifier (lowercase, hyphenated)
display_name = "Provider Name"
api_key_env = "PROVIDER_API_KEY"  # Env var for API key
base_url = "https://api.example.com"
key_required = true

[[models]]
id = "model-id"                   # Exact API model ID
display_name = "Model Name"
tier = "smart"                    # frontier | smart | balanced | fast | local
context_window = 128000
max_output_tokens = 16384
input_cost_per_m = 2.50           # USD per million input tokens
output_cost_per_m = 10.0          # USD per million output tokens
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = ["short-name"]

Tier Definitions

Tier Description Examples
frontier Most capable, cutting-edge Claude Opus, GPT-4.1
smart Smart, cost-effective Claude Sonnet, Gemini 2.5 Flash
balanced Balanced speed/cost GPT-4.1 Mini, Llama 3.3 70B
fast Fastest, cheapest GPT-4o Mini, Claude Haiku
local Local models, zero cost Ollama, vLLM, LM Studio

Sync Script

scripts/sync-pricing.py runs daily via CI to keep model pricing current.

python scripts/sync-pricing.py                             # Update prices only
python scripts/sync-pricing.py --create-missing            # Also add new providers
python scripts/sync-pricing.py --dry-run --create-missing  # Preview changes

--create-missing routing logic:

Condition Action
Provider in PROVIDER_API map (has direct API) Create standalone .toml
Provider not in PROVIDER_API (OpenRouter-only) Merge into openrouter.toml with openrouter/{provider}/{model} IDs
Provider in SKIP_PROVIDERS (morph, aider, kwaipilot, …) Skip entirely
Provider ID starts with ~ (OpenRouter internal routing alias) Skip entirely

Validation

python scripts/validate.py           # Warn on issues
python scripts/validate.py --strict  # Treat warnings as errors

Checks: required fields, valid tiers, non-negative costs, no duplicate model IDs.

Adding or Updating a Provider

  1. Check inclusion criteria above — if OpenRouter-only, don't create a new file
  2. Create or edit the .toml in providers/
  3. Use exact API model IDs; verify pricing from official sources
  4. Run python scripts/validate.py
  5. Update the table in this README
  6. Submit a PR

See CONTRIBUTING.md for the full guide.