Skip to main content
DeepInfra routes requests to popular open source and frontier models behind a single OpenAI-compatible endpoint and API key. Most OpenAI SDKs work against it by switching the base URL.

Install plugin

Get an API key

  1. Sign in at deepinfra.com
  2. Go to Dashboard / Keys and generate a key, or use the auto-created one

CLI setup

Or set the environment variable:

Config snippet

Supported surfaces

Chat, image generation, and video generation refresh their model catalogs live from https://api.deepinfra.com/v1/openai/models?sort_by=openclaw&filter=with_meta once DEEPINFRA_API_KEY is configured. Live discovery expands the list of selectable models; the default model per surface stays the static value below. Other surfaces use static catalogs until they move onto the same live catalog. DeepInfra also exposes reranking, classification, object-detection, and other native model types. OpenClaw has no provider contract for those categories yet, so this plugin does not register them.

Available models

OpenClaw discovers DeepInfra models dynamically once a key is configured. Use /models deepinfra or openclaw models list --provider deepinfra to see the current list. Any model on deepinfra.com works with the deepinfra/ prefix:

Price estimates

Chat discovery keeps model membership, order, tags, and limits from DeepInfra’s agent projection. Prices come separately from the anonymous native /models/list catalog. The plugin converts cents per token to USD per million tokens, applies the advertised numeric discount once, and uses the native cached-input ratio. Both requests share the existing five-minute live-catalog cache and run concurrently only for configured chat discovery. Image and video discovery do not request chat prices. Schedules qualified by pricing prose, a nonempty pricing table, or a scheduled discount expiry remain unknown; OpenClaw does not guess context tiers or parse promotion dates. A declared generic cache-write rate also remains unsupported because its numeric semantics are not documented. Explicit 5-minute/1-hour retention and priority/flex rates are separate contracts and are not included in standard estimates. See DeepInfra’s prompt caching and cache retention docs. Missing or unsupported individual price schedules use the required runtime zero-cost placeholder, which means unknown, not verified free billing. A failed metadata or native pricing request marks chat discovery unavailable and retains the last successful catalog for the same provider configuration and credentials. A successful empty model response clears discovered chat models even when pricing is unavailable. Live discovery does not append bundled models absent from the response. Without credentials, the bundled catalog remains available without fetching. Explicitly configured models and costs remain authoritative; onboarding does not pin provider prices. The plugin’s public buildDeepInfraProvider API keeps its advisory default: it retains bundled choices and uses unknown price estimates when discovery fails. OpenClaw’s registered catalog hook explicitly selects discoveryMode: "strict" so failed or empty acquisitions reach the shared publication owner unchanged. Hosted publication uses the same native parser. It preserves metadata without cost for unsupported or absent schedules, retains declared zero prices, and leaves the previous hosted catalog intact if the native feed fails validation. The existing hosted catalog refresh and Gateway restart lifecycle is unchanged.

Notes

  • Model refs are deepinfra/<provider>/<model> (for example deepinfra/Qwen/Qwen3-Max).
  • Default chat model: deepinfra/deepseek-ai/DeepSeek-V4-Flash
  • Base URL: https://api.deepinfra.com/v1/openai
  • Video generation uses the OpenAI-compatible async endpoint https://api.deepinfra.com/v1/openai/videos (submit, then poll). A configured baseUrl is honored. openclaw doctor --fix migrates legacy nativeBaseUrl or /v1/inference values on api.deepinfra.com to baseUrl automatically; custom native endpoints are retired with a doctor notice and need a manually configured OpenAI-compatible baseUrl. Video generation fails with an actionable error (before sending any request) while baseUrl still targets the retired /v1/inference surface.