Providers
hermes-router routes across a pool of providers. You only need one configured provider to start. Add providers and keys to create more failover options. Multiple keys do not necessarily add quota: many services enforce limits per project, organization, or account.
Add keys with hr auth add <provider> (see configuration.md for where
they’re stored).
Want help choosing? See the free model rankings for a quality-first comparison of the exact models Hermes Router uses by default.
Add a provider from the dashboard
Section titled “Add a provider from the dashboard”Open Providers, choose a provider and follow Get API key. Paste your key, leave Automatically add free chat models selected, and click Save provider. Hermes activates the key immediately and reads the catalog in the background. The provider card shows queued, running, complete or an error with a retry button. No router restart is needed for this automatic path or for model On/Off switches.
Automatic discovery adds all compatible models whose catalog confirms zero pricing
(or OpenRouter’s documented :free variants). It excludes speech, embeddings and
moderation models from chat routing. The old eight-model cap does not apply.
Existing manual chat models and your On/Off choices remain. Previously discovered
models that disappear or stop qualifying are removed on the next successful refresh.
This refresh runs when you save a key, click Discover free models, enable discovery,
or start Hermes; it is not continuous price monitoring.
Groq requires an extra check: tick My Groq account uses the Free plan only if that is your actual account plan. Its catalog does not identify billing eligibility. Hermes then imports only the documented Free-plan chat models, currently GPT-OSS 120B, GPT-OSS 20B and Qwen3.8 27B (checked 2026-11-04). Uncheck and save again if your plan changes. Developer accounts can be billed for the same model IDs.
Providers with missing prices, unsupported catalogs or no confirmed free chat models will say so; Hermes does not guess that they are free. Use Choose models manually to select models explicitly. Refresh model list can include paid models; manual configuration may still require a restart where the runtime reports it. Existing manual paid models are not converted to free models by enabling discovery.
Catalog reads send no chat prompts and do not run inference probes for the imported models. Published tool and context metadata are used when available. Free models can still have quotas and limited tool support; three configured providers need not all be eligible for every request. No credentials are returned by the discovery endpoints.
References: OpenRouter model metadata, OpenRouter free models, Groq billing FAQ, and Groq Free-plan limits.
Preset directory
Section titled “Preset directory”Key links lead to the provider’s key console or sign-in/start page; you may need to create an account before the API-key screen is available. The exact key-only workflow covers the presets below, not browser-cookie or OAuth services.
| Provider ID | Provider | Access guidance | Get API key |
|---|---|---|---|
agnes | Agnes AI | Listed free tier — verify | Open provider |
ai21 | AI21 Labs | Trial / limited credits | Open provider |
ainative | AINative Studio | Listed free tier — verify | Open provider |
aion | Aion Labs | Listed free tier — verify | Open provider |
anthropic | Anthropic | Paid / subscription | Open provider |
api_airforce | Api.airforce | Listed free tier — verify | Open provider |
arcee_ai | Arcee AI | Listed free tier — verify | Open provider |
baichuan | Baichuan | Trial / limited credits | Open provider |
baidu | Baidu (ERNIE) | Listed free tier — verify | Open provider |
bazaarlink | BazaarLink | Listed free tier — verify | Open provider |
blackbox | Blackbox AI | Listed free tier — verify | Open provider |
bluesminds | BluesMinds | Listed free tier — verify | Open provider |
bytez | Bytez | Trial / limited credits | Open provider |
cerebras | Cerebras | Trial / limited credits | Open provider |
cohere | Cohere | Trial / limited credits | Open provider |
deepinfra | DeepInfra | Trial / limited credits | Open provider |
deepseek | DeepSeek | Trial / limited credits | Open provider |
doubao | Doubao | Trial / limited credits | Open provider |
fireworks | Fireworks AI | Trial / limited credits | Open provider |
freemodel_dev | FreeModel.dev | Trial / limited credits | Open provider |
friendliai | FriendliAI | Listed free tier — verify | Open provider |
gemini | Gemini | Free tier / selected models | Open provider |
github_models | GitHub Models | Free tier / selected models | Open provider |
groq | Groq | Free tier / selected models | Open provider |
huggingface | Hugging Face | Trial / limited credits | Open provider |
hyperbolic | Hyperbolic | Trial / limited credits | Open provider |
iflytek | iFlytek Spark | Listed free tier — verify | Open provider |
inference_net | Inference.net | Listed free tier — verify | Open provider |
kilo_gateway | Kilo Gateway | Free tier / selected models | Open provider |
kimi | Kimi | Paid / subscription | Open provider |
liquid | Liquid AI | Listed free tier — verify | Open provider |
llm7 | LLM7.io | Listed free tier — verify | Open provider |
longcat | LongCat AI | Trial / limited credits | Open provider |
mistral | Mistral | Free tier / selected models | Open provider |
modelscope | ModelScope | Listed free tier — verify | Open provider |
monsterapi | MonsterAPI | Trial / limited credits | Open provider |
morph | Morph | Listed free tier — verify | Open provider |
naga | Naga | Free tier / selected models | Open provider |
nara | NaraRouter | Listed free tier — verify | Open provider |
navy | NavyAI | Listed free tier — verify | Open provider |
nebius | Nebius AI | Trial / limited credits | Open provider |
novita | Novita AI | Trial / limited credits | Open provider |
nscale | nScale | Trial / limited credits | Open provider |
nvidia | NVIDIA NIM | Trial / limited credits | Open provider |
ollama_cloud | Ollama Cloud | Listed free tier — verify | Open provider |
openai | OpenAI | Paid / subscription | Open provider |
opencode | OpenCode Zen | Free tier / selected models | Open provider |
opencode_go | OpenCode Go | Paid / subscription | Open provider |
openrouter | OpenRouter | Free tier / selected models | Open provider |
ovhcloud | OVHcloud AI | Listed free tier — verify | Open provider |
pollinations | Pollinations AI | Listed free tier — verify | Open provider |
publicai | PublicAI | Trial / limited credits | Open provider |
reka | Reka | Listed free tier — verify | Open provider |
requesty | Requesty | Listed free tier — verify | Open provider |
routeway | Routeway | Listed free tier — verify | Open provider |
sambanova | SambaNova | Trial / limited credits | Open provider |
scaleway | Scaleway AI | Trial / limited credits | Open provider |
sealion | SEA-LION | Listed free tier — verify | Open provider |
sensenova | SenseNova | Trial / limited credits | Open provider |
stepfun | StepFun | Trial / limited credits | Open provider |
tencent | Tencent Hunyuan | Listed free tier — verify | Open provider |
tokenharbor | Token Harbor | Listed free tier — verify | Open provider |
uncloseai | UncloseAI | Listed free tier — verify | Open provider |
xkiro | xKiro | Listed free tier — verify | Open provider |
zai | Z.ai | Free tier / selected models | Open provider |
New IDs also work with hr auth add <provider> and hr model set <provider> model-a,model-b.
Their environment names use uppercase IDs: for example, KILO_GATEWAY_API_KEYS and
KILO_GATEWAY_MODEL. Hyphenated aliases such as kilo-gateway work in the CLI.
The additional presets use fixed URLs; endpoint overrides are not accepted from the browser.
Coverage limits
Section titled “Coverage limits”This is not complete OmniRoute provider parity. Cloudflare Workers AI and Vertex need
account/project information; Kiro and similar services need OAuth; browser-chat services
need separate adapters. Some other entries have unverified endpoint or key-acquisition
details. These are not offered as working key-only presets. The repository’s
docs/research/2026-11-03-provider-catalog.md records the full comparison and exclusions.
Free and evaluation access
Section titled “Free and evaluation access”Provider plans, model catalogs, regions, and limits change independently of Hermes Router. Treat this table as an access guide, then check the linked provider console for the limits that apply to your account before relying on it.
| Provider | Access notes | Sign up / current limits |
|---|---|---|
| Gemini | Free tier for eligible models, projects, and regions; limits are model/project-specific | AI Studio · rate limits |
| OpenRouter | Zero-priced model variants; the no-credit plan currently has a shared daily request limit | OpenRouter · free-model limits |
| SambaNova | Developer access and model availability are account-specific | SambaNova Cloud |
| GitHub Models | Included, rate-limited API use for experiments and prototypes; paid usage is separate | GitHub Models · rate limits |
| Cerebras | Trial/credit access; verify current eligibility, payment-method requirements and expiry | Cerebras Cloud |
| Groq | Free plan with model-specific organization limits | Groq Console · rate limits |
| Mistral | Experiment access is intended for testing and learning; availability depends on the account | Mistral Console |
| Cohere | Trial/evaluation keys are currently limited to 1,000 calls per month | Cohere Dashboard · limits |
| Z.ai (GLM) | Some models are zero-priced; verify the current catalog and account limits | Z.ai |
| Naga AI | Promotional or free access may change; verify before configuring it | Naga AI |
| NVIDIA NIM | Hosted API trial access and limits depend on the account/model | NVIDIA Build |
| Hugging Face | Monthly Inference Providers credit; the free-user amount is currently $0.10 and subject to change | tokens · pricing |
Hugging Face note: one user token can access models currently served by Inference Providers through an OpenAI-compatible endpoint. The catalog and serving partners change, and only eligible routed requests use the monthly credit. The default model uses the
:cheapestsuffix; change it withHUGGINGFACE_MODEL.
Paid providers
Section titled “Paid providers”Add your existing API key; the router handles everything else.
| Provider | Default model | API keys |
|---|---|---|
| OpenAI | gpt-4o-mini | platform.openai.com |
| Anthropic | claude-haiku-4-5 | console.anthropic.com |
Anthropic’s API uses a different wire format from OpenAI. hermes-router translates automatically — your app sends the same OpenAI-format request regardless of which provider handles it.
Codex (ChatGPT subscription)
Section titled “Codex (ChatGPT subscription)”Codex lets you use your ChatGPT subscription (Plus/Pro/Go) for completions instead of a pay-per-token API key. It doesn’t use an API key — it authenticates with OAuth tokens, so setup is different:
codex login # one-time, with the official Codex CLI (opens browser / device flow)hr auth import-codex # copy the login into the router (reads ~/.codex/auth.json)hr restartThe router stores the account under codex_accounts in auth.json, refreshes the access
token automatically before it expires, and translates your OpenAI-format requests to the
Codex Responses API transparently. Add several accounts (run hr auth import-codex after
logging into each) and pair with hr mode sequential to drain one account’s quota before the
next. Override the model with CODEX_MODEL (default gpt-5.5).
Unofficial integration: this subscription-token path is not an OpenAI API-key integration. Review the terms that apply to your account and use only accounts you control; OpenAI may change or stop supporting the underlying behavior.
Kimi (Moonshot coding plan)
Section titled “Kimi (Moonshot coding plan)”The Kimi coding plan (Moonshot) is a subscription, but — unlike Codex — it authenticates
with a normal API key (sk-...), not OAuth. Its endpoint is OpenAI-compatible, so it adds
like any other provider:
hr auth add kimi # paste your Kimi/Moonshot keyhr restartDefaults to https://api.kimi.com/coding/v1 with model kimi-for-coding. Using the standard
Moonshot API instead of the coding plan? Point it elsewhere with KIMI_BASE_URL
(e.g. https://api.moonshot.ai/v1) and set KIMI_MODEL to a model like kimi-k2-0905-preview.
Get a key at platform.kimi.ai / platform.moonshot.ai.
OpenCode (Zen + Go)
Section titled “OpenCode (Zen + Go)”OpenCode Zen is an OpenAI-compatible gateway of coding-tuned models — including a rotating pool of models currently marked free. It’s a normal API-key provider (no OAuth): sign in at opencode.ai, copy your key from API Keys, then:
hr auth add opencodehr restartThe default routes to free models (deepseek-v4-flash-free, nemotron-3-ultra-free,
mimo-v2.5-free, north-mini-code-free). Free promotions rotate — when one ends OpenCode
returns a model error and the router automatically skips it and fails over to the next.
Reach the premium models (Claude, GPT, Gemini, GLM, Kimi, Qwen…) by
setting OPENCODE_MODEL.
OpenCode Go is OpenCode’s paid subscription tier — the same API key against a different endpoint, no separate auth. Check OpenCode’s current Go plan for pricing and limits, then enable Go billing on opencode.ai, then add it as its own provider so it’s only used once you’ve subscribed:
hr auth add opencode_go # paste the same OpenCode keyhr restartOnly do this after you’ve actually enabled Go billing. Adding an
opencode_gokey is the router’s only signal that you’ve subscribed — it doesn’t verify it. A key added without Go billing enabled will fail on every request with an auth error (the router backs off after repeated failures instead of retrying forever, but it will never succeed). If you haven’t subscribed, skip this section — OpenCode Zen above already covers the free tier.
Defaults to https://opencode.ai/zen/go/v1 with chat-completions-compatible models
deepseek-v4-flash,kimi-k2.7-code,mimo-v2.5; override with OPENCODE_GO_MODEL.
Models that OpenCode exposes only through /v1/messages are not compatible with this
provider adapter.
Local models (Ollama / LM Studio / llama.cpp)
Section titled “Local models (Ollama / LM Studio / llama.cpp)”Run a model on your own machine and route to it — free, private, and fast, with the cloud
providers as automatic fallback. Any OpenAI-compatible local server works (Ollama, LM Studio,
llama.cpp’s server, vLLM…). It’s keyless, so there’s nothing to add with hr auth add —
just point the router at it:
# e.g. with Ollama: ollama serve && ollama pull llama3.1hr model set local llama3.1 # writes LOCAL_MODEL; enables the local providerhr restartOr set it directly in .env:
LOCAL_BASE_URL=http://localhost:11434/v1 # Ollama default (LM Studio: http://localhost:1234/v1)LOCAL_MODEL=llama3.1 # comma-separate for multi-model failover# LOCAL_EMBED_MODEL=nomic-embed-text # optional: also serve /v1/embeddings locallyThe provider turns on as soon as LOCAL_BASE_URL or LOCAL_MODEL is set.
Conversation mode — send the model id hermes-router:fast and the router
prefers your local model for short/casual turns,
falling back to the cloud pool for heavier requests. Plain hermes-router keeps the normal
smart routing across every provider.
Valid provider names
Section titled “Valid provider names”All IDs in the preset directory above are valid, alongside these original IDs and the keyless/OAuth integrations:
Use these names with hr auth add, hr model set, and the <PROVIDER>_* environment
variables:
gemini, openrouter, sambanova, github_models, cerebras, groq, mistral,
cohere, zai, naga, nvidia, huggingface, kimi, opencode, opencode_go, openai,
anthropic, codex, local.
Per-provider capabilities
Section titled “Per-provider capabilities”Each provider’s model is probed at startup for function-calling and reasoning
support; results show up in hr status and /v1/status. See
usage.md for how those affect tool routing, and
configuration.md for the override variables.
Next: Configuration — tune models, per-key budgets, caching, and every other setting.