> ## Documentation Index
> Fetch the complete documentation index at: https://apione.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Choose an API protocol

> Choose OpenAI, Anthropic, or Gemini based on your SDK, client, and model capabilities.

Keep the protocol your application already uses whenever possible. Most migrations only require a new Base URL, API key, and model ID.

![APIONE model selector with capabilities and input/output prices.](https://mintcdn.com/apione/pAFvFGkbmcRZirTZ/images/ui/model-selector.png?fit=max\&auto=format\&n=pAFvFGkbmcRZirTZ\&q=85\&s=5ab2c2637860f5f187a680268134fabf)

APIONE model selector with capabilities and input/output prices.

## Protocol matrix

| Use case | Protocol | Base URL |
| - | - | - |
| OpenAI SDK, LangChain, and most third-party clients | OpenAI Chat or Responses | `https://api.apione.ai/v1` |
| Claude Code, Anthropic SDK | Anthropic Messages | `https://api.apione.ai` |
| Gemini SDK, Gemini native toolchain | Gemini | `https://api.apione.ai/v1beta` |

> [!WARNING]
>
> The Base URL is not the complete request URL. SDKs normally append an endpoint automatically; use the complete path only for raw HTTP requests.

## Chat or Responses

* For new integrations with general chat, streaming, and tool calling, start with Chat Completions.
* For projects already using the OpenAI Responses SDK or Codex, use Responses.
* Do not rewrite a working protocol only to change models. Keep the current request format and replace the model ID first.

## Client address quick reference

First open the guide for your tool, then enter the base address that tool requires. Confirm that the API version appears only once in the actual request path.

| Tool or SDK | Field | APIONE address | Guide |
| - | - | - | - |
| OpenAI SDK, OpenCode | Base URL | `https://api.apione.ai/v1` | [SDK](https://apione.ai/docs/en/guides/sdks.md) · [OpenCode](https://apione.ai/docs/en/guides/opencode.md) |
| Codex | `base_url`, Responses protocol | `https://api.apione.ai/v1` | [Codex](https://apione.ai/docs/en/guides/codex.md) |
| Claude Code | `ANTHROPIC_BASE_URL` | `https://api.apione.ai` | [Claude Code](https://apione.ai/docs/en/guides/claude-code.md) |
| Claude Desktop | Gateway base URL | `https://api.apione.ai` | [Claude Desktop](https://apione.ai/docs/en/guides/claude-desktop.md) |
| Cherry Studio (Anthropic) | API address | `https://api.apione.ai` | [Cherry Studio](https://apione.ai/docs/en/guides/cherry-studio.md) |
| Gemini CLI | `GOOGLE_GEMINI_BASE_URL` | `https://api.apione.ai` | [Gemini CLI](https://apione.ai/docs/en/guides/gemini-cli.md) |
| OpenClaw (Chat Completions) | `baseUrl` | `https://api.apione.ai/v1` | [OpenClaw](https://apione.ai/docs/en/guides/openclaw.md) |

After saving the configuration, verify the model list first, then send a real message. Confirm the call succeeded in APIONE request details before enabling tools, images, or other capabilities.

## Pre-selection checks

1. Call `GET /v1/models` to confirm the model IDs available to the current key.
2. Call `GET /v1/models/{model}/params` to confirm the parameters declared by the model.
3. Send a minimal text request first, then enable streaming, tools, images, or other capabilities one by one.
4. Confirm the real call succeeded and the actual cost in the console request details.

## How to fill in configuration fields

| Client field | OpenAI-compatible | Anthropic native | Gemini native |
| - | - | - | - |
| Provider / Protocol | OpenAI Compatible | Anthropic | Gemini / Google |
| Base URL | `https://api.apione.ai/v1` | `https://api.apione.ai` | `https://api.apione.ai/v1beta` |
| API Key | APIONE Key | APIONE Key | APIONE Key |
| Model | ID returned by `/v1/models` | ID available to current key that supports this protocol | ID available to current key that supports this protocol |
| Test method | Minimal Chat or Responses request | Minimal Messages request | Minimal generateContent request |

If the client only provides an "API address" without saying whether it is a Base URL or a complete endpoint, check that client's guide first. The most common mistake is entering `.../v1/chat/completions` into an SDK that automatically appends `/chat/completions`, producing a duplicated path.

## Choose by scenario

### Existing code project

Keep the original SDK and request structure unchanged; only replace the address, key, and model. Do not change streaming, tool calling, retry policy, and output format all at once; change one type of configuration at a time so problems are easier to locate.

### Third-party client

Prefer the OpenAI Compatible, Custom OpenAI, or New API option offered by the client. Claude Code uses the Anthropic native protocol; Codex usually uses Responses. Saving a configuration does not mean the model is already reachable; you must send a real message to verify.

### New project

* General chat and broad compatibility: start with Chat Completions.
* Already adopting the OpenAI new workflow: use Responses.
* Claude native message and tool format: use Anthropic Messages.
* Gemini native content structure: use Gemini generateContent.

## Minimal verification order

1. Call `/v1/models` with the same key to confirm network, authentication, and permissions.
2. Copy the exact model ID without manually guessing version numbers.
3. Send one text message only, without tools, images, or advanced parameters.
4. Save the HTTP status, response body, and `X-Maxx-Request-ID`.
5. After the minimal request succeeds, enable streaming, structured output, tools, or multimodal input one by one.

## Common mistakes

| Symptom | Likely cause | Action |
| - | - | - |
| HTML returned instead of JSON | A console URL or wrong path was entered | Use the protocol address at `api.apione.ai` |
| 404 with duplicate `/v1` in the path | Base URL and SDK automatic path overlap | Keep the Base URL only up to the version segment |
| Key valid but model unavailable | Model is not assigned to the current key or protocol mismatch | Recheck the model list and parameters |
| cURL succeeds but client fails | Client protocol, proxy, or path differs | Inspect the client logs and actual request address |

Next: [Addresses and authentication](https://apione.ai/docs/en/api/overview.md), [Quickstart](https://apione.ai/docs/en/quickstart.md), [Migration](https://apione.ai/docs/en/guides/migration.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.