Skip to content

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.

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.

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 IDProviderAccess guidanceGet API key
agnesAgnes AIListed free tier — verifyOpen provider
ai21AI21 LabsTrial / limited creditsOpen provider
ainativeAINative StudioListed free tier — verifyOpen provider
aionAion LabsListed free tier — verifyOpen provider
anthropicAnthropicPaid / subscriptionOpen provider
api_airforceApi.airforceListed free tier — verifyOpen provider
arcee_aiArcee AIListed free tier — verifyOpen provider
baichuanBaichuanTrial / limited creditsOpen provider
baiduBaidu (ERNIE)Listed free tier — verifyOpen provider
bazaarlinkBazaarLinkListed free tier — verifyOpen provider
blackboxBlackbox AIListed free tier — verifyOpen provider
bluesmindsBluesMindsListed free tier — verifyOpen provider
bytezBytezTrial / limited creditsOpen provider
cerebrasCerebrasTrial / limited creditsOpen provider
cohereCohereTrial / limited creditsOpen provider
deepinfraDeepInfraTrial / limited creditsOpen provider
deepseekDeepSeekTrial / limited creditsOpen provider
doubaoDoubaoTrial / limited creditsOpen provider
fireworksFireworks AITrial / limited creditsOpen provider
freemodel_devFreeModel.devTrial / limited creditsOpen provider
friendliaiFriendliAIListed free tier — verifyOpen provider
geminiGeminiFree tier / selected modelsOpen provider
github_modelsGitHub ModelsFree tier / selected modelsOpen provider
groqGroqFree tier / selected modelsOpen provider
huggingfaceHugging FaceTrial / limited creditsOpen provider
hyperbolicHyperbolicTrial / limited creditsOpen provider
iflytekiFlytek SparkListed free tier — verifyOpen provider
inference_netInference.netListed free tier — verifyOpen provider
kilo_gatewayKilo GatewayFree tier / selected modelsOpen provider
kimiKimiPaid / subscriptionOpen provider
liquidLiquid AIListed free tier — verifyOpen provider
llm7LLM7.ioListed free tier — verifyOpen provider
longcatLongCat AITrial / limited creditsOpen provider
mistralMistralFree tier / selected modelsOpen provider
modelscopeModelScopeListed free tier — verifyOpen provider
monsterapiMonsterAPITrial / limited creditsOpen provider
morphMorphListed free tier — verifyOpen provider
nagaNagaFree tier / selected modelsOpen provider
naraNaraRouterListed free tier — verifyOpen provider
navyNavyAIListed free tier — verifyOpen provider
nebiusNebius AITrial / limited creditsOpen provider
novitaNovita AITrial / limited creditsOpen provider
nscalenScaleTrial / limited creditsOpen provider
nvidiaNVIDIA NIMTrial / limited creditsOpen provider
ollama_cloudOllama CloudListed free tier — verifyOpen provider
openaiOpenAIPaid / subscriptionOpen provider
opencodeOpenCode ZenFree tier / selected modelsOpen provider
opencode_goOpenCode GoPaid / subscriptionOpen provider
openrouterOpenRouterFree tier / selected modelsOpen provider
ovhcloudOVHcloud AIListed free tier — verifyOpen provider
pollinationsPollinations AIListed free tier — verifyOpen provider
publicaiPublicAITrial / limited creditsOpen provider
rekaRekaListed free tier — verifyOpen provider
requestyRequestyListed free tier — verifyOpen provider
routewayRoutewayListed free tier — verifyOpen provider
sambanovaSambaNovaTrial / limited creditsOpen provider
scalewayScaleway AITrial / limited creditsOpen provider
sealionSEA-LIONListed free tier — verifyOpen provider
sensenovaSenseNovaTrial / limited creditsOpen provider
stepfunStepFunTrial / limited creditsOpen provider
tencentTencent HunyuanListed free tier — verifyOpen provider
tokenharborToken HarborListed free tier — verifyOpen provider
uncloseaiUncloseAIListed free tier — verifyOpen provider
xkiroxKiroListed free tier — verifyOpen provider
zaiZ.aiFree tier / selected modelsOpen 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.

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.

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.

ProviderAccess notesSign up / current limits
GeminiFree tier for eligible models, projects, and regions; limits are model/project-specificAI Studio · rate limits
OpenRouterZero-priced model variants; the no-credit plan currently has a shared daily request limitOpenRouter · free-model limits
SambaNovaDeveloper access and model availability are account-specificSambaNova Cloud
GitHub ModelsIncluded, rate-limited API use for experiments and prototypes; paid usage is separateGitHub Models · rate limits
CerebrasTrial/credit access; verify current eligibility, payment-method requirements and expiryCerebras Cloud
GroqFree plan with model-specific organization limitsGroq Console · rate limits
MistralExperiment access is intended for testing and learning; availability depends on the accountMistral Console
CohereTrial/evaluation keys are currently limited to 1,000 calls per monthCohere Dashboard · limits
Z.ai (GLM)Some models are zero-priced; verify the current catalog and account limitsZ.ai
Naga AIPromotional or free access may change; verify before configuring itNaga AI
NVIDIA NIMHosted API trial access and limits depend on the account/modelNVIDIA Build
Hugging FaceMonthly Inference Providers credit; the free-user amount is currently $0.10 and subject to changetokens · 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 :cheapest suffix; change it with HUGGINGFACE_MODEL.

Add your existing API key; the router handles everything else.

ProviderDefault modelAPI keys
OpenAIgpt-4o-miniplatform.openai.com
Anthropicclaude-haiku-4-5console.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 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:

Terminal window
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 restart

The 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.

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:

Terminal window
hr auth add kimi # paste your Kimi/Moonshot key
hr restart

Defaults 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 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:

Terminal window
hr auth add opencode
hr restart

The 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:

Terminal window
hr auth add opencode_go # paste the same OpenCode key
hr restart

Only do this after you’ve actually enabled Go billing. Adding an opencode_go key 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:

Terminal window
# e.g. with Ollama: ollama serve && ollama pull llama3.1
hr model set local llama3.1 # writes LOCAL_MODEL; enables the local provider
hr restart

Or 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 locally

The 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.

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.

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.