APIMODELSAPIMODELS
OpenAI-compatible · one key, every model

Use apimodels in any AI client

We expose the standard OpenAI surface (/v1/chat/completions and /v1/models), so any client that supports a "custom OpenAI provider" — Cherry Studio, Cursor, ChatBox, LobeChat, NextChat — connects with a single API key and gets every model (GPT-6.1 Sol, Claude, Gemini, GLM, …). Usually a one-minute setup. Image, video and audio models use their own task endpoints (see the respective docs pages) with the same key.

Three values — the same in every client

Base URL / API hosthttps://api.apimodels.app/v1
API Keyyour sk_… key (create in console)
Model idgpt-5.6-sol · gpt-6.1-sol · claude-opus-5-5 · gemini-3-pro-preview · gpt-image-2

No key yet? Open Consola → Claves de API and create an sk_… string.

Per-client setup

Cherry Studio

Details
API host
https://api.apimodels.app/v1/

Settings → Model Providers → Add, type OpenAI. The host must end with a slash.

Cursor

API host
https://api.apimodels.app/v1

Settings → Models → enable "Override OpenAI Base URL" with the host above, paste your sk_… key, then add a custom model name (e.g. gpt-6.1-sol).

ChatBox

API host
https://api.apimodels.app/v1

Settings → pick "OpenAI API Compatible", set the API host above, paste your sk_… key, model gpt-6.1-sol.

LobeChat

API host
https://api.apimodels.app/v1

Settings → Language Model → OpenAI, fill API Key and the API proxy address above, model gpt-6.1-sol.

NextChat

API host
https://apimodels.app

Settings → Custom Endpoint, set the endpoint to https://apimodels.app (it appends /v1 itself), API Key your sk_… key, model gpt-6.1-sol.

Any OpenAI-compatible app / SDK

API host
https://api.apimodels.app/v1

Set base_url to the host above, api_key to your sk_… key, model to gpt-6.1-sol. OpenAI SDK example below.

Want images inside the chat window?

The setup above covers chat only. Image, video and speech models have their own task endpoints rather than /v1/chat/completions, so a base URL alone will not reach them. To use them inside a conversation, install our MCP server — one npx command, works in Claude Desktop, Cursor and Cherry Studio, same key. The assistant then writes the prompt, generates, looks at the result and regenerates until it matches.

MCP server setup guide →

Coding agents

These tools read and write files on your machine and run commands, so pick a model that supports function calling (tools) — with one that does not, the agent stalls at the read step without erroring. Each row below states which wire protocol it uses: the three differ, and so do their base URLs, so do not copy the host from the chat-client section.

Claude Code

Details
Anthropic Messagesclaude-opus-5-5
API host
https://api.apimodels.app

Set three env vars: ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN, ANTHROPIC_MODEL. Note the host is the bare domain with no path — Claude Code appends /v1/messages itself.

Codex CLI

Details
OpenAI Responsesgpt-5.4 / gpt-5.5
API host
https://api.apimodels.app/v1

Add a model_provider in ~/.codex/config.toml with wire_api = "responses" (not chat). These two models are only served on the Responses API.

Cline / Roo Code (VS Code)

OpenAI-compatibleclaude-opus-5-5
API host
https://api.apimodels.app/v1

Pick "OpenAI Compatible" as the API Provider, fill in the Base URL and API Key, type the Model ID by hand. Choose a tool-capable model — these extensions edit files through function calls, and a model without tools will stall at the read step.

Gemini CLI

Details
Gemini native (v1beta)gemini-3-flash-preview
API host
https://api.apimodels.app

Set GOOGLE_GEMINI_BASE_URL (bare domain, no path) and GEMINI_API_KEY; on first launch pick “Use Gemini API key” as the auth method, not Google account login.

OpenClaw

Details
OpenAI-compatibleclaude-opus-5-5
API host
https://api.apimodels.app/v1

Add a custom provider under models.providers in ~/.openclaw/openclaw.json (api: "openai-completions"); every model you want must be listed in the models array or you get “model not allowed”.

Continue

OpenAI-compatibleclaude-opus-5-5
API host
https://api.apimodels.app/v1

Add an entry under `models` in config.json: provider "openai", apiBase as on the left, apiKey your sk_… key, model the model ID.

Aider

OpenAI-compatibleclaude-opus-5-5
API host
https://api.apimodels.app/v1

Set OPENAI_API_BASE and OPENAI_API_KEY, then start with `aider --model openai/claude-opus-5-5`. Keep the `openai/` prefix — that is how aider picks the protocol.

Code (OpenAI SDK)

Any project using the OpenAI SDK only needs base_url and api_key changed to point here — no other code changes.

Python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.apimodels.app/v1",
    api_key="sk_your_key_here",
)

resp = client.chat.completions.create(
    model="gpt-6.1-sol",
    messages=[{"role": "user", "content": "Reply with exactly: ok"}],
)
print(resp.choices[0].message.content)
Node.js
import OpenAI from "openai"

const client = new OpenAI({
  baseURL: "https://api.apimodels.app/v1",
  apiKey: "sk_your_key_here",
})

const resp = await client.chat.completions.create({
  model: "gpt-6.1-sol",
  messages: [{ role: "user", content: "Reply with exactly: ok" }],
})
console.log(resp.choices[0].message.content)

Comprobación rápida de 30 segundos

If a client won't connect, confirm the key + endpoint with curl first — this is exactly what clients hit on "check connection":

# confirm the endpoint + your key work (this is what a client hits on "check connection"):
curl -s https://api.apimodels.app/v1/models \
  -H "Authorization: Bearer $APIMODELS_API_KEY" | head -c 300

Common pitfalls

SíntomaCausa / solución
Connection check fails / no modelsHost became …/api/v1/v1/…. Clients like Cherry Studio need the trailing slash (…/api/v1/); clients that append /v1 themselves (e.g. NextChat) take just https://apimodels.app.
HTTP 401Wrong or disabled key. Mint a fresh sk_… in the console and paste it again.
Picked a model but nothing / 400 Unknown modelModel id typo — use the dash form, e.g. gpt-6.1-sol, claude-opus-5-5. Full list at /v1/models.
Insufficient balance / 402You're only charged for successful requests; top up in the console.