Connection values
Choose the correct protocol
Not every “compatible” client uses the same protocol. Check whether the application asks for OpenAI, Anthropic/Claude, or Gemini configuration.In
/v1/models, owned_by identifies the provider and id uses provider/model format. Use the complete ID, such as aliyun/kimi-k3, to choose a provider explicitly. Sending only kimi-k3 uses the platform’s current default provider setting.Common application mapping
Cursor, Cline, Roo Code, Continue, OpenCode, and OpenClaw change quickly. If the current version exposes separate Responses, Chat Completions, or Anthropic choices, follow that explicit protocol name instead of guessing from “OpenAI-compatible.”
Integration workflow
1
Create a dedicated API key
Use a separate key for each application and environment.
2
List models
provider/model value from data[].id, such as aliyun/kimi-k3.3
Choose the protocol
Prefer Responses for new code. Use Chat Completions for traditional chat clients, Claude Messages for Claude Code, and generateContent for native Gemini clients.
4
Enter the correct address and authentication
Confirm whether the field expects a base URL or full endpoint, then verify the final path and headers.
5
Test plain chat
Send a short text message before enabling images, tools, knowledge bases, or long context.
6
Validate advanced capabilities separately
Test streaming, vision, tools, and structured output only with models that support them.
Supported integration guides
Developer tools
Claude Code, CC Switch, Codex CLI, the Codex desktop app, WorkBuddy, Cursor, Cline, Roo Code, Continue, OpenCode, and OpenClaw.
Chat clients
Cherry Studio, Chatbox, LobeChat, Open WebUI, NextChat, and LibreChat.
Knowledge bases
AnythingLLM and RAG-oriented workflows.
Frameworks
Dify, LangChain, Vercel AI SDK, and LlamaIndex.
Acceptance checklist
- Connection test returns HTTP
200 - The model is present in
/v1/models - Plain text chat returns a non-empty response
- Streaming completes normally
- Usage appears in the console
- Credentials are not exposed in client bundles, logs, or screenshots
cURL templates
- Responses
- OpenAI Chat
- Claude
- Gemini
Common failures
cURL works but the application fails
cURL works but the application fails
Inspect the final protocol, URL, and authentication header. Responses uses
/v1/responses, Chat Completions uses /v1/chat/completions, Claude uses /v1/messages, and Gemini uses /v1beta/models/{model}:generateContent.The model list is empty
The model list is empty
Add an exact model ID manually. Some clients cannot discover models from custom providers.
Chat works but vision or tools fail
Chat works but vision or tools fail
Verify model capability and the application’s model capability flags. Authentication is already working.