APIMODELSAPIMODELS
OpenAI-compatible · chat + image · one key, every model

Use apimodels in Cherry Studio

Cherry Studio talks to apimodels as an OpenAI-compatible provider. One API key unlocks every chat model (GPT-6.1 Sol, Claude, Gemini, GLM, …) and image model (gpt-image-2). This page has the full setup and troubleshooting.

TL;DR

Add an OpenAI provider in Cherry Studio, set the API host to https://api.apimodels.app/v1/ (the trailing slash matters), put your sk_… key in, and use a model id like gpt-6.1-sol or gpt-image-2.

Get connected in 3 steps

  1. 1

    Obtenha uma chave API

    Abra Console no seu console e crie uma chave sk_….

  2. 2

    Add an OpenAI provider

    Cherry Studio → Settings → Model Providers → Add, pick type OpenAI. API host + key below.

  3. 3

    Pick a model

    Add models with + or fetch the list. Pick gpt-6.1-sol to chat, gpt-image-2 to generate images — both work in an ordinary conversation, no separate setup.

Provider settings

FieldValor
Provider typeOpenAI
API hosthttps://api.apimodels.app/v1/
API keyyour sk_… key
Modelgpt-5.6-sol · gpt-5.6-terra · gpt-6.1-sol · claude-opus-5-5 · gemini-3-pro-preview · gpt-image-2 …

⚠️ The API host must end with a slash: use https://api.apimodels.app/v1/ (with the /). Without it, Cherry Studio appends another /v1, giving …/v1/v1/… and the connection fails. Alternatively enter https://api.apimodels.app and let it append /v1 itself.

Common model IDs

The full list shows up in Cherry Studio's model dropdown (served by our /v1/models endpoint). The common ones:

ForModel id
Chat / codinggpt-5.6-sol · gpt-5.6-terra · gpt-5.6-luna-max · gpt-6.1-sol · claude-opus-5-5 · gemini-3-pro-preview · glm-5.2 · deepseek-v4-flash
Imagegpt-image-2 · gemini-3.1-flash-image-preview (Nano Banana 2) · gemini-3-pro-image-preview (Nano Banana Pro) · grok-imagine-image · doubao-seedream-5-0-pro · kling-v3

Generate images inside a chat

Image models sit behind the same provider and the same API host as the chat models — no second provider, and no # suffix tricks on the URL. In an ordinary conversation switch the model to gpt-image-2 (or gemini-3.1-flash-image-preview, grok-imagine-image, …) and just send your description; the picture comes back as an image in the reply.

curl -s https://api.apimodels.app/v1/chat/completions \
  -H "Authorization: Bearer $APIMODELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "messages": [{ "role": "user", "content": "a cute corgi puppy on grass" }]
  }'
# → assistant message containing: ![a cute corgi puppy on grass](https://r2.apimodels.app/images/….png)

Attach an image to the same message and it becomes image-to-image editing — just describe the change. Note that each message stands alone: the previous picture is not silently reused as a reference, so "draw a cat" followed by "draw a dog" will not bleed together. To edit the previous image, attach it again.

Rendering usually takes 10–90s depending on model and resolution; in streaming mode the connection is kept alive, so a slow render is not a hang. Failed generations are not billed.

For programmatic use — your own size, count and callbacks — the standard OpenAI image endpoint is still there:

curl -s https://api.apimodels.app/v1/images/generations \
  -H "Authorization: Bearer $APIMODELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "a cute corgi puppy on grass",
    "n": 1,
    "size": "1024x1024"
  }'

Verificação rápida de 30 segundos

If it won't connect, confirm the key + endpoint with curl first — this is exactly what Cherry Studio hits on "check connection":

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

Then a chat call:

curl -s https://api.apimodels.app/v1/chat/completions \
  -H "Authorization: Bearer $APIMODELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "messages": [{ "role": "user", "content": "Reply with exactly: ok" }]
  }'

Solução de problemas

SintomaCausa / correção
Connection check fails / no modelsAPI host missing its trailing slash → became …/v1/v1/…. Use https://api.apimodels.app/v1/ (with the /).
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, gpt-image-2 (see the table above).
Image takes a whileRendering itself takes 10–90s; we hold the request until the picture is done (keeping a stream alive) — normal, not a hang.
Full endpoint pasted into the host → 404Cherry Studio appends the path to whatever you type. Pasting …/api/v1/images/generations turns into …/images/generations/chat/completions, which does not exist. Type only https://api.apimodels.app/v1/. The "preview" line under the field shows the final URL — check it before saving.
"No model available to test (e.g. a chat model)"Your model list is still empty (0 models) — add one with + first. The message does not mean the key or host is wrong. Also note: running the check on an image model really does render an image and bills for it, so check with a chat model instead.
Our provider is missing from the AI-image moduleA Cherry Studio limitation: a custom provider's image models cannot be selected in the painting module (upstream issue closed as not-planned). Use the image model in a normal conversation instead — same result.