Get the Model List of AceDataCloud Platform
Returns all available LLM / image / video / audio / embedding / reordering models on the platform — returns in a flat view compatible with OpenAI /v1/models style, compatible with OpenAI SDK. A Proxy service typically corresponds to dozens or even hundreds of models.
Applicable scenarios:
- Render "model selection dropdown" in your product.
- Perform model availability checks at the routing layer.
- Sync to LiteLLM / OpenRouter style middleware.
ℹ️ This interface belongs to the AceDataCloud Platform Management API, with a unified prefix of
https://platform.acedata.cloud/api/v1/.
¶ Interface Overview
| Item | Content |
|---|---|
| Method | GET |
| URL | https://platform.acedata.cloud/api/v1/models/ |
| Authentication | ❌ Public |
¶ Authentication Description
This interface is completely public, no account token or login state required.
💡 However: if an account token is included, the response will be filtered based on the services you have applied for, returning only the models you can call.
¶ Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
service_id |
UUID | No | — | Filter by service |
tag |
string | No | — | Filter by tag (e.g., chat, embedding, image, video, tts) |
limit |
integer | No | 100 | Number of items per page, maximum 200 |
offset |
integer | No | 0 | Offset |
ordering |
string | No | — | Sorting field |
¶ Request Examples
¶ cURL
# All models
curl 'https://platform.acedata.cloud/api/v1/models/?limit=200' \
-H 'accept: application/json'
# Only view chat types
curl 'https://platform.acedata.cloud/api/v1/models/?tag=chat&limit=200' \
-H 'accept: application/json'
¶ Python
import requests
resp = requests.get(
"https://platform.acedata.cloud/api/v1/models/",
headers={"accept": "application/json"},
params={"tag": "chat", "limit": 200},
timeout=10,
)
data = resp.json()
print(f"Total {data['count']} chat models")
for m in data["items"][:20]:
print(f" {m['id']:50s} ${m.get('prompt_price') or 0:.6f}/1K in, ${m.get('completion_price') or 0:.6f}/1K out")
¶ Node.js
const r = await fetch('https://platform.acedata.cloud/api/v1/models/?limit=200')
const { count, items } = await r.json()
console.log(`Total ${count} models`)
¶ Response Example (HTTP 200)
{
"count": 187,
"items": [
{
"id": "gpt-4.1",
"object": "model",
"owned_by": "openai",
"service_id": "38ecf158-36f2-42f2-8e7f-6786cdfc2452",
"service_alias": "openai",
"service_title": "OpenAI",
"context_window": 1048576,
"max_output_tokens": 32768,
"prompt_price": 0.000002,
"completion_price": 0.000008,
"cached_prompt_price": 0.0000005,
"tags": ["chat", "vision", "tool_call"],
"created_at": 1733616000
}
]
}
ℹ️ Field names are also compatible with OpenAI's official
/v1/modelsresponse (id,object,owned_by), and can be directly fed to the OpenAI SDK.
¶ Response Field Description
| Field | Type | Description |
|---|---|---|
id |
string | Model ID (e.g., gpt-4.1, claude-sonnet-4, midjourney, veo-3) |
object |
string | Always "model" (OpenAI compatible field) |
owned_by |
string | Owner of the model (openai / anthropic / google / meta / xai...) |
service_id |
UUID | The platform service ID to which this model is attached |
service_alias |
string | Service alias |
service_title |
string | Service title |
context_window |
integer | Context window length (Token count, specific to LLM) |
max_output_tokens |
integer | Maximum output Token count per request |
prompt_price |
number | null |
completion_price |
number | null |
cached_prompt_price |
number | null |
tags |
array | Model capability tags: chat / vision / tool_call / audio / embedding / rerank / image / video / tts / stt etc. |
created_at |
integer | Model launch time (Unix timestamp in seconds, OpenAI compatible field) |
¶ Error Handling
| HTTP | code | Meaning |
|---|---|---|
| 400 | invalid |
Invalid parameter |
¶ Practical Tips
- OpenAI SDK Compatible: The response from this interface can be directly used as a replacement source for
client.models.list()in the OpenAI Python SDK. - Prices are per Token: Not per thousand Tokens — this differs from the "per 1M tokens" shown in OpenAI's official pricing table. Remember to multiply by 1,000,000 when converting.
nullprice indicates billing by call count: Typically for image / video / audio models, each call is billed by a fixed number of Credits. See the package table in Creating AceDataCloud Platform Recharge Orders.- Filter actual callable models: Including an account token will return only the models under the services you have applied for.
