Cherry Studio talks to apimodels as an OpenAI-compatible provider. One API key unlocks every chat model (GPT-5.5, Claude, Gemini, GLM, …) and image model (gpt-image-2). This page has the full setup and troubleshooting.
Add an OpenAI provider in Cherry Studio, set the API host to https://apimodels.app/api/v1/ (the trailing slash matters), put your sk_… key in, and use a model id like gpt-5-5 or gpt-image-2.
Open Console in your console and create an sk_… key.
Cherry Studio → Settings → Model Providers → Add, pick type OpenAI. API host + key below.
After "Check connection" passes, pick gpt-5-5 to chat, or a gpt-image-2 painting assistant to generate images.
| Field | Value |
|---|---|
| Provider type | OpenAI |
| API host | https://apimodels.app/api/v1/ |
| API key | your sk_… key |
| Model | gpt-5-5 · gpt-5-4 · claude-opus-4-8 · gemini-3-pro-preview · gpt-image-2 … |
⚠️ The API host must end with a slash: use https://apimodels.app/api/v1/ (with the /). Without it, Cherry Studio appends another /v1, giving …/api/v1/v1/… and the connection fails. Alternatively enter https://apimodels.app/api and let it append /v1 itself.
The full list shows up in Cherry Studio's model dropdown (served by our /v1/models endpoint). The common ones:
| For | Model id |
|---|---|
| Chat / coding | gpt-5-5 · gpt-5-4 · claude-opus-4-8 · gemini-3-pro-preview · glm-5.2 · MiniMax-M2.5 |
| Image | gpt-image-2 · gemini-3-pro-image-preview · gemini-2.5-flash-image |
gpt-image-2 uses the standard OpenAI image endpoint /v1/images/generations. In Cherry Studio create a painting assistant with gpt-image-2; use a 1024x1024 (width x height) size. We return b64_json synchronously (no polling), which Cherry Studio renders directly.
curl -s https://apimodels.app/api/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"
}'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://apimodels.app/api/v1/models \
-H "Authorization: Bearer $APIMODELS_API_KEY" | head -c 300Then a chat call:
curl -s https://apimodels.app/api/v1/chat/completions \
-H "Authorization: Bearer $APIMODELS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5-5",
"messages": [{ "role": "user", "content": "Reply with exactly: ok" }]
}'| Symptom | Cause / fix |
|---|---|
| Connection check fails / no models | API host missing its trailing slash → became …/api/v1/v1/…. Use https://apimodels.app/api/v1/ (with the /). |
| HTTP 401 | Wrong or disabled key. Mint a fresh sk_… in the console and paste it again. |
| Picked a model but nothing / 400 Unknown model | Model id typo. Use the dash form, e.g. gpt-5-5, gpt-image-2 (see the table above). |
| Image takes a while | gpt-image-2 takes tens of seconds to render; we wait synchronously and return — that's normal, not a hang. |