LLM API
Frontier and open-weight language models behind one OpenAI-compatible chat completions endpoint: point any OpenAI SDK or OpenAI-compatible tool at a per-model base URL with one ModelRunner key, and switch models by changing the URL. Billed per token at the published in/out rates, streaming, tool calling and JSON mode included where the model supports them.
6 language models available right now — every one runnable in a free playground or from any OpenAI SDK and OpenAI-compatible tool.
LLM models & pricing
| Model | Endpoint | Price | Context | Features |
|---|---|---|---|---|
| GLM-5.2 Fast Preview | z-ai/glm-5.2-fast-preview | $2.8 in · $8.8 out per 1M tokens | 1M | reasoning, tool calling, json mode |
| DeepSeek V4 Pro | deepseek/v4 | $2.4 in · $4.8 out per 1M tokens | 1M | reasoning, tool calling, json mode |
| GLM-5.2 | z-ai/glm-5.2 | $1.4 in · $4.4 out per 1M tokens | 1M | reasoning, tool calling, json mode |
| Gemini 3.5 Flash-Lite | google/gemini-3.5-flash-lite | $0.3 in · $2.5 out per 1M tokens | 1M | tool calling, json mode |
| Gemini 3.7 Flash | google/gemini-3.7-flash | $1.5 in · $7.5 out per 1M tokens | 1M | reasoning, tool calling, json mode |
| Gemini 3.5 Flash | google/gemini-3.5-flash | $1.5 in · $9 out per 1M tokens | 1M | reasoning, tool calling, json mode |
Full catalog on the models page; live per-configuration costs on the pricing page.
Connect any OpenAI SDK in one change
Set base_url to https://queue.modelrunner.run/<owner>/<alias>, pass a ModelRunner API key as the bearer token and use <owner>/<alias> as the model id — the SDK appends /chat/completions itself. Switch models by changing the URL; nothing else changes. Each model page lists verified integrations (LangChain, Vercel AI SDK, LiteLLM, Aider, …) with the exact config.
cURL
# Synchronous, OpenAI-compatible — the reply is in the response (or streams)
curl https://queue.modelrunner.run/z-ai/glm-5.2-fast-preview/chat/completions \
-H "Authorization: Bearer $MODELRUNNER_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "messages": [{ "role": "user", "content": "..." }] }'Frequently asked questions
How much does an LLM API call cost?
Each language model is billed per token at its own published rates — separate prices per 1M input tokens and per 1M output tokens, shown in the table above and on every model page, with cached input at a reduced rate where the model supports it. Reasoning (thinking) tokens bill at the output rate unless a model prices them separately. There is no subscription and no per-request minimum: a short call bills a fraction of a cent, exact to six decimals, from prepaid credits.
How do I call an LLM through the API?
Every language model is served by a synchronous OpenAI-compatible chat completions endpoint at POST https://queue.modelrunner.run/<owner>/<alias>/chat/completions. Point any OpenAI SDK or OpenAI-compatible tool at base_url https://queue.modelrunner.run/<owner>/<alias> with a ModelRunner API key (Authorization: Bearer <key>) and model <owner>/<alias>; the SDK appends /chat/completions itself and the reply comes back in the response body — or as Server-Sent Events with "stream": true. These models are not submitted to the asynchronous queue path the media models use.
Which tools work with it?
Anything that speaks the OpenAI chat completions API: the official OpenAI Python and Node SDKs, LangChain (ChatOpenAI with a base_url), the Vercel AI SDK (@ai-sdk/openai-compatible), LiteLLM, Aider, and editor tools with an OpenAI-compatible provider setting. Claude Code connects through the same base URL via its Anthropic-compatible /v1/messages endpoint (ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN), and any MCP client can call a language model through the ModelRunner MCP server's run_model tool. Each model page lists the integrations we have verified with a real call, each with the exact config to paste.
Do these models support streaming, tool calling and JSON mode?
Streaming is available on every model ("stream": true returns Server-Sent Events ending with data: [DONE]). Tool calling (an OpenAI-format tools array with tool_choice) and JSON mode (response_format {"type": "json_object"}) work wherever the underlying model supports them — the features line on each model page and in the table above says which. Reasoning models also take reasoning_effort to trade thinking depth against cost.
Which LLM should I pick?
Use the cheapest tier for high-volume classification, extraction, tagging and translation; a general Flash-class model for everyday summarisation, rewriting and chat features; and a thinking model (reasoning feature) for non-trivial coding, multi-step agent loops and hard reasoning, where a single-pass answer is often wrong. The open-weight MIT-licensed rows are the option when a closed model is not acceptable. Every model page has a cost estimator and a tier comparison.
