Skip to content

Supported Providers

All model metadata lives in lm_deluge.models. At import time, each provider module registers its models with the global registry, so you can inspect them programmatically:

from lm_deluge.models import registry
print(len(registry), "models available")
print(next(iter(registry.values())))

registry maps model IDs (the values you pass to LLMClient) to APIModel objects containing API base URLs, env vars, pricing, and capability flags (supports_json, supports_logprobs, supports_responses, reasoning_model). To see the external name sent to the provider, inspect APIModel.name.

ModuleProviderRequired Environment Variables
lm_deluge.models.openaiOpenAI (GPT-4.1, GPT-5, o-series, Codex, computer-use preview)OPENAI_API_KEY
lm_deluge.models.openrouterOpenRouter-hosted modelsOPENROUTER_API_KEY
lm_deluge.models.anthropic / lm_deluge.models.bedrockAnthropic (direct or via AWS Bedrock)ANTHROPIC_API_KEY (direct) or AWS credentials for Bedrock
lm_deluge.models.googleGoogle GeminiGEMINI_API_KEY
lm_deluge.models.cohereCohere Command + Embed modelsCOHERE_API_KEY
lm_deluge.models.mistralMistral modelsMISTRAL_API_KEY
lm_deluge.models.metaMeta Llama models (direct API)META_API_KEY
lm_deluge.models.deepseekDeepSeekDEEPSEEK_API_KEY
lm_deluge.models.groqGroq-hosted Llama and MixtralGROQ_API_KEY
lm_deluge.models.grokxAI Grok modelsGROK_API_KEY
lm_deluge.models.fireworksFireworks-hosted modelsFIREWORKS_API_KEY
lm_deluge.models.togetherTogether.ai modelsTOGETHER_API_KEY
lm_deluge.models.cerebrasCerebras inferenceCEREBRAS_API_KEY
lm_deluge.models.kimiMoonshot/KimiKIMI_API_KEY
lm_deluge.models.minimaxMiniMaxMINIMAX_API_KEY

Some providers (Anthropic, Meta) can also be accessed through AWS Bedrock. In that case the registry entry points at the Bedrock endpoint and lists api_key_env_var="AWS_ACCESS_KEY_ID" with implicit use of AWS_SECRET_ACCESS_KEY.

from lm_deluge.models import registry
anthropic = [cfg for cfg in registry.values() if cfg.api_spec == "anthropic"]
reasoning = [cfg for cfg in registry.values() if cfg.reasoning_model]
for cfg in reasoning:
print(cfg.id, cfg.name, cfg.supports_responses)

Use this approach to build CLI selectors, validate configuration files, or dynamically choose models that support JSON mode, logprobs, background tasks, etc.

Each APIModel includes input_cost, cached_input_cost, cache_write_cost, and output_cost (all per million tokens). APIResponse.cost is calculated automatically when the provider returns token usage data.

For the latest provider-specific pricing and rate limits, consult the upstream provider documentation; LM Deluge stores the values that were current when the model definitions were last updated.