Get Model List
Retrieve all models currently available on the platform, grouped at two levels: model capability and model provider. Once you obtain a modelId, you can reference it in other APIs that require a specific model.
This API is rate-limited to 60 requests/minute per account. The platform model list changes infrequently, so caching the result on the caller side is recommended.
Request Method
GET
Request URL
https://api-${endpoint}.gptbots.ai/v1/model/list
Request Authentication
This API uses account-level DevKey / DevSecret credentials, passed via HTTP Basic Authentication:
Authorization: Basic base64(${DevKey}:${DevSecret})
Join DevKey and DevSecret with a colon, Base64-encode the whole string, and prefix it with Basic (note the space).
To obtain your DevKey / DevSecret: log in to the console and go to Personal Center - Account - Developer Info, where you can find the Developer ID (DevKey) and API DevSecret.
⚠️ Do not confuse this with Agent-level authentication: APIs such as the conversation APIs use an Agent's API Key (
Authorization: Bearer ${API Key}), while this API uses the account's DevKey / DevSecret with Basic authentication. The two are not interchangeable.Base64 is reversible encoding, not encryption. Treat the encoded string like a plaintext password — do not commit it to code repositories or include it in public documents.
Request
Request Example
curl -X GET 'https://api-${endpoint}.gptbots.ai/v1/model/list' \
-H 'Authorization: Basic ${base64(DevKey:DevSecret)}'
Request Headers
| Field | Type | Description |
|---|---|---|
| Authorization | Basic base64({DevSecret}) | HTTP Basic authentication with account-level DevKey / DevSecret. Get the credentials from the Personal Center - Account - Developer Info page. |
Request Parameters
None.
Response
Response Example
{
"code": 0,
"message": "OK",
"data": {
"CHAT": {
"OPEN_AI": [
{ "aiModelVersion": "gpt-4o", "modelId": "65f2c1a8d3b4e5f601234567" },
{ "aiModelVersion": "gpt-3.5-turbo", "modelId": "65f2c1a8d3b4e5f601234568" }
],
"ANTHROPIC_CLAUDE": [
{ "aiModelVersion": "claude-opus-4-8", "modelId": "65f2c1a8d3b4e5f601234569" }
]
},
"EMBEDDING": {
"OPEN_AI_EMB": [
{ "aiModelVersion": "text-embedding-3-large", "modelId": "65f2c1a8d3b4e5f60123456a" }
]
},
"RERANK": { },
"SPEECH2TEXT": { },
"TEXT2SPEECH": { },
"MODERATION": { },
"ANONYMIZATION": { }
}
}
Success Response
| Field | Type | Description |
|---|---|---|
| code | int | 0 means success; for non-zero values, see Error Codes. |
| message | string | Result description; OK on success. |
| data | JSON Object | Model data, grouped at two levels by model capability and model provider. See below. |
| aiModelVersion | string | Model version name, e.g. gpt-4o, for display purposes. |
| modelId | string | Model version ID; use this value when referencing a model in other APIs. Model version names may change as the platform evolves; modelId is the stable identifier. |
Two-level structure of data
data
└── model capability outer key, 7 kinds, fixed order
└── model provider inner key, e.g. OPEN_AI
└── [ model list ]
The outer keys are model capabilities, fixed to the following 7 kinds and always returned in this order:
| Capability | Meaning |
|---|---|
| CHAT | Chat (large language models) |
| EMBEDDING | Embedding |
| RERANK | Rerank |
| SPEECH2TEXT | Speech recognition (ASR) |
| TEXT2SPEECH | Speech synthesis (TTS) |
| MODERATION | Content moderation |
| ANONYMIZATION | Anonymization |
The inner keys are model provider identifiers. Taking CHAT as an example, possible values include OPEN_AI, AZURE, ANTHROPIC_CLAUDE, GEMINI, ALI_QWEN, DEEP_SEEK, KIMI, META_LLAMA, MISTRAL, ZHIPU_CHATGLM, HUNYUAN, ERINE, XAI_GROK, BYTEDANCE_SEED, SENSE, etc. Provider identifiers differ under other capabilities (e.g. OPEN_AI_EMB, JINA_EMB under EMBEDDING).
- If a capability currently has no available models, its value is an empty object
{}. The key is still present and never omitted, so check for emptiness before iterating.- The platform may add or remove providers over time. Always rely on the actual API response instead of hardcoding the provider list.
- Providers and models are sorted by the platform's configured display priority. The order is for display only — do not build business logic on it (e.g. "the first one is the default model").
Failure Response
| Field | Type | Description |
|---|---|---|
| code | int | Error code. |
| message | string | Error details. |
Error Codes
| Code | Message |
|---|---|
| 40101 | Authorization is empty |
| 40102 | Invalid Authorization format; check the Basic prefix (including the space) and the Base64 encoding |
| 40001 | Rate limit exceeded; this API is limited to 60 requests/minute |
| 50000 | Internal server error; please retry later |
