acedatacloud
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAceDataCloud Platform Management
AceDataCloud平台管理
Programmatically manage your AceDataCloud account: balances, usage records, API
keys, services, orders, platform tokens, models, announcements and referral
earnings — plus browse the public catalog & docs (service pricing, API specs,
datasets, integrations, documentation search, model catalog) without a token.
This is the management / console API at
— the same surface the web console uses. It is different from the
data-generation API at (image / video / music / search generation).
https://platform.acedata.cloud/api/v1api.acedata.cloud通过编程方式管理您的AceDataCloud账户:余额、使用记录、API密钥、服务、订单、平台令牌、模型、公告与推荐收益 —— 此外无需令牌即可浏览公开目录与文档(服务定价、API规范、数据集、集成、文档搜索、模型目录)。
这是位于的管理/控制台API —— 与Web控制台使用的是同一接口。它与位于的数据生成API(图像/视频/音乐/搜索生成)不同。
https://platform.acedata.cloud/api/v1api.acedata.cloudSetup — use a PLATFORM token, not a service token
设置 —— 使用PLATFORM令牌,而非服务令牌
The management API is authenticated with a platform token (or a logged-in
user token), not the per-service API token used for .
api.acedata.cloud- Create one at platform.acedata.cloud/console/platform-tokens
(or ). It starts with
POST /api/v1/platform-tokens/and never expires.platform- - Provide it one of two ways:
- Connector (recommended in studio / chat): install the AceDataCloud
connector at auth.acedata.cloud/user/connections
and paste the token once — the runtime injects into the sandbox automatically (this skill declares
ACEDATACLOUD_PLATFORM_TOKEN).connections: [acedatacloud] - Local :
.env
- Connector (recommended in studio / chat): install the AceDataCloud
connector at auth.acedata.cloud/user/connections
and paste the token once — the runtime injects
bash
ACEDATACLOUD_PLATFORM_TOKEN=platform-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbash
curl -H "authorization: Bearer $ACEDATACLOUD_PLATFORM_TOKEN" \
https://platform.acedata.cloud/api/v1/applications/A normal token only ever sees its own account data. A superuser token sees every user's data and is required for admin operations (announcements).
管理API通过平台令牌(或登录用户令牌)进行身份验证,而非用于的按服务划分的API令牌。
api.acedata.cloud- 在platform.acedata.cloud/console/platform-tokens创建令牌(或调用接口)。令牌以
POST /api/v1/platform-tokens/开头,永不过期。platform- - 通过以下两种方式之一提供令牌:
- 连接器(在工作室/聊天中推荐):在auth.acedata.cloud/user/connections安装AceDataCloud连接器,粘贴一次令牌 —— 运行时会自动将注入沙箱(本技能声明了
ACEDATACLOUD_PLATFORM_TOKEN)。connections: [acedatacloud] - 本地文件:
.env
- 连接器(在工作室/聊天中推荐):在auth.acedata.cloud/user/connections安装AceDataCloud连接器,粘贴一次令牌 —— 运行时会自动将
bash
ACEDATACLOUD_PLATFORM_TOKEN=platform-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbash
curl -H "authorization: Bearer $ACEDATACLOUD_PLATFORM_TOKEN" \
https://platform.acedata.cloud/api/v1/applications/普通令牌仅能查看自身账户数据。超级用户令牌可查看所有用户的数据,是执行管理员操作(发布公告)所必需的。
CLI (preferred)
CLI(推荐方式)
The skill ships — a self-contained
CLI (stdlib only) for the most common operations.
scripts/acedatacloud.pybash
ADC=$SKILL_DIR/scripts/acedatacloud.py本技能附带了 —— 一个独立的CLI工具(仅使用标准库),用于执行最常见的操作。
scripts/acedatacloud.pybash
ADC=$SKILL_DIR/scripts/acedatacloud.pyRead
读取操作
python3 $ADC balance # remaining credits per subscription
python3 $ADC services --search suno # list/search subscribed services
python3 $ADC usage --days 7 # recent API call records
python3 $ADC usage-summary --days 30 # spend aggregated by day + API
python3 $ADC keys # list API keys (credentials)
python3 $ADC orders --state Finished # recharge orders
python3 $ADC tokens # platform tokens
python3 $ADC models # available chat models
python3 $ADC distributions # referral status + commission history
python3 $ADC balance # 查看各订阅服务的剩余额度
python3 $ADC services --search suno # 列出/搜索已订阅服务
python3 $ADC usage --days 7 # 查看近期API调用记录
python3 $ADC usage-summary --days 30 # 按日期+API汇总消费情况
python3 $ADC keys # 列出API密钥(凭证)
python3 $ADC orders --state Finished # 查看充值订单
python3 $ADC tokens # 查看平台令牌
python3 $ADC models # 查看可用聊天模型
python3 $ADC distributions # 查看推荐状态+佣金历史
Catalog & docs (PUBLIC — work without a token)
目录与文档(公开内容 —— 无需令牌即可使用)
python3 $ADC get-service --service suno # one service's detail
python3 $ADC pricing --service suno # unit, free_amount and cost
python3 $ADC apis --service suno # API endpoints for a service
python3 $ADC spec --path /suno/audios # one API's OpenAPI definition + cost
python3 $ADC datasets # downloadable datasets
python3 $ADC integrations # third-party integrations
python3 $ADC docs-search --query "suno lyrics" --lang en # full-text doc search
python3 $ADC docs-list # browse documentation pages
python3 $ADC doc --id <document-uuid> # one doc's full content
python3 $ADC model-catalog --modality chat # rich model catalog + credit pricing
python3 $ADC model --model claude # look up a model by id/name
python3 $ADC get-service --service suno # 查看单个服务详情
python3 $ADC pricing --service suno # 查看单位、免费额度与成本
python3 $ADC apis --service suno # 查看某服务的API端点
python3 $ADC spec --path /suno/audios # 查看单个API的OpenAPI定义+成本
python3 $ADC datasets # 查看可下载数据集
python3 $ADC integrations # 查看第三方集成
python3 $ADC docs-search --query "suno lyrics" --lang en # 全文文档搜索
python3 $ADC docs-list # 浏览文档页面
python3 $ADC doc --id <document-uuid> # 查看单个文档的完整内容
python3 $ADC model-catalog --modality chat # 查看丰富的模型目录+额度定价
python3 $ADC model --model claude # 通过ID/名称查找模型
Safe write (require --yes to actually execute)
安全写入操作(需添加--yes参数才会实际执行)
python3 $ADC create-key --application <app-id> --name "ci" --yes
python3 $ADC delete-key --id <credential-id> --yes
python3 $ADC create-order --application <app-id> --package <package-id> --yes
python3 $ADC pay-order --id <order-id> --pay-way Stripe --yes
python3 $ADC create-token --yes
python3 $ADC delete-token --id <token-id> --yes
python3 $ADC create-key --application <app-id> --name "ci" --yes
python3 $ADC delete-key --id <credential-id> --yes
python3 $ADC create-order --application <app-id> --package <package-id> --yes
python3 $ADC pay-order --id <order-id> --pay-way Stripe --yes
python3 $ADC create-token --yes
python3 $ADC delete-token --id <token-id> --yes
Admin (superuser token only)
管理员操作(仅超级用户令牌可用)
python3 $ADC send-announcement --title "..." --content "..." --yes
Every command accepts `--json` for machine-readable output and `--token` to
override the env token. Without `--yes`, write commands print a dry-run preview
and exit without calling the API.python3 $ADC send-announcement --title "..." --content "..." --yes
每个命令都支持`--json`参数以获取机器可读的输出,以及`--token`参数以覆盖环境变量中的令牌。如果不添加`--yes`参数,写入操作会打印试运行预览并退出,不会调用API。Pagination
分页
List endpoints return and accept
and . (Note: some older docs say ; the live field
is .)
{ "count": <total>, "items": [ ... ] }?limit=?offset=resultsitems列表接口返回,并支持和参数。(注意:部分旧文档中写的是;当前实际使用的字段是****。)
{ "count": <total>, "items": [ ... ] }?limit=?offset=resultsitemsEndpoints reference
端点参考
Balance / subscriptions — GET /applications/
GET /applications/余额/订阅服务 —— GET /applications/
GET /applications/An Application is your subscription to one Service; its is
your balance (in Credits) for that service.
remaining_amountbash
curl -H "authorization: Bearer $ACEDATACLOUD_PLATFORM_TOKEN" \
"https://platform.acedata.cloud/api/v1/applications/?limit=1"json
{
"count": 3,
"items": [
{
"id": "e9f625f2-cbd5-4254-8264-cfadbd180428",
"service_id": "f2b646d8-3cfd-46ef-969a-1ea9eebde329",
"remaining_amount": 100.9,
"used_amount": 1.1,
"paid": false,
"scope": "Global",
"allow_consume_global": true,
"expired_at": null,
"type": "Usage"
}
]
}Filters: , (/), (superuser only).
service_idscopeIndividualGlobaluser_idApplication指您对某一服务的订阅;其字段是您该服务的余额(单位为Credits)。
remaining_amountbash
curl -H "authorization: Bearer $ACEDATACLOUD_PLATFORM_TOKEN" \
"https://platform.acedata.cloud/api/v1/applications/?limit=1"json
{
"count": 3,
"items": [
{
"id": "e9f625f2-cbd5-4254-8264-cfadbd180428",
"service_id": "f2b646d8-3cfd-46ef-969a-1ea9eebde329",
"remaining_amount": 100.9,
"used_amount": 1.1,
"paid": false,
"scope": "Global",
"allow_consume_global": true,
"expired_at": null,
"type": "Usage"
}
]
}筛选参数:、(/)、(仅超级用户可用)。
service_idscopeIndividualGlobaluser_idUsage records — GET /usage/apis/
GET /usage/apis/使用记录 —— GET /usage/apis/
GET /usage/apis/Per-request call records (status code, latency, credits deducted).
Filters: , , , ,
, (superuser only).
api_idapplication_idstatus_codecreated_at_fromcreated_at_touser_idjson
{
"count": 128,
"items": [
{
"id": "c124684b-7188-4c3e-ad53-3fba5150b944",
"api": { "title": "Suno Audios Generation API" },
"status_code": 200,
"original_amount": 0.55,
"deducted_amount": 0.55,
"trace_id": "…",
"elapsed": 12.3,
"created_at": "2026-06-28T09:15:44Z"
}
]
}- Spend aggregate — →
GET /usage/apis/aggregate/?created_at_from=&created_at_to={ "items": [{ "date", "api_id", "amount" }], "total": <credits>, "apis": { "<id>": { "title" } } } - Status-code filter values — →
GET /usage/apis/status-codes/{ "items": [200, 400, 502] } - CSV export — (downloads
GET /usage/apis/export/?created_at_from=&created_at_to=)usages.csv
按请求记录的调用详情(状态码、延迟、扣除的额度)。
筛选参数:、、、、、(仅超级用户可用)。
api_idapplication_idstatus_codecreated_at_fromcreated_at_touser_idjson
{
"count": 128,
"items": [
{
"id": "c124684b-7188-4c3e-ad53-3fba5150b944",
"api": { "title": "Suno Audios Generation API" },
"status_code": 200,
"original_amount": 0.55,
"deducted_amount": 0.55,
"trace_id": "…",
"elapsed": 12.3,
"created_at": "2026-06-28T09:15:44Z"
}
]
}- 消费汇总 —— → 返回
GET /usage/apis/aggregate/?created_at_from=&created_at_to={ "items": [{ "date", "api_id", "amount" }], "total": <credits>, "apis": { "<id>": { "title" } } } - 状态码筛选值 —— → 返回
GET /usage/apis/status-codes/{ "items": [200, 400, 502] } - CSV导出 —— (下载
GET /usage/apis/export/?created_at_from=&created_at_to=文件)usages.csv
Services — GET /services/
GET /services/服务 —— GET /services/
GET /services/json
{ "count": 215, "items": [ { "id": "…", "alias": "suno", "title": "Suno 音乐生成",
"unit": "Credit", "free_amount": 0.0, "applied_count": 121733,
"packages": [ { "id": "…", "type": "Usage", "price": 13.0, "amount": 100.0 } ] } ] }json
{ "count": 215, "items": [ { "id": "…", "alias": "suno", "title": "Suno 音乐生成",
"unit": "Credit", "free_amount": 0.0, "applied_count": 121733,
"packages": [ { "id": "…", "type": "Usage", "price": 13.0, "amount": 100.0 } ] } ] }API keys / credentials — GET /credentials/
GET /credentials/API密钥/凭证 —— GET /credentials/
GET /credentials/json
{ "count": 2, "items": [ { "id": "dae4899f-…", "name": "ci", "type": "Token",
"token": "<secret>", "limited_amount": null, "used_amount": 1.1,
"host": null, "created_at": "2026-06-28T09:15:44Z" } ] }- Create —
POST /credentials/→ returns the credential incl. the new{ "application_id": "<app>", "name": "ci", "limited_amount": 100, "expired_at": "2026-12-31T00:00:00Z" }. Save it; it is shown in full only at creation.token - Delete — →
DELETE /credentials/{id}204 No Content - Filters: ,
application_id,host(granted/true),false(superuser).user_id - To "rotate" a key, delete it and create a new one.
json
{ "count": 2, "items": [ { "id": "dae4899f-…", "name": "ci", "type": "Token",
"token": "<secret>", "limited_amount": null, "used_amount": 1.1,
"host": null, "created_at": "2026-06-28T09:15:44Z" } ] }- 创建 —— 请求体
POST /credentials/→ 返回包含新{ "application_id": "<app>", "name": "ci", "limited_amount": 100, "expired_at": "2026-12-31T00:00:00Z" }的凭证信息。请保存该令牌;仅在创建时会完整显示。token - 删除 —— → 返回
DELETE /credentials/{id}204 No Content - 筛选参数:、
application_id、host(granted/true)、false(仅超级用户可用)。user_id - 如需“轮换”密钥,请先删除旧密钥再创建新密钥。
Orders (recharge) — GET /orders/
GET /orders/订单(充值) —— GET /orders/
GET /orders/json
{ "count": 12, "items": [ { "id": "17c10c9d-…", "application_id": "…",
"package_id": "…", "description": "100 Credits", "price": 13.0,
"state": "Finished", "pay_way": "Stripe", "pay_url": "<url>",
"created_at": "2026-06-28T09:17:25Z" } ] }- ∈
statePendingPaidFinishedExpiredFailedRefunded - ∈
pay_wayWechatPayAliPayStripeX402PayPalReward - Create —
POST /orders/{ "application_id": "<app>", "package_id": "<package>" } - Pay —
POST /orders/{id}/pay/→ returns the order with a{ "pay_way": "Stripe" }to openpay_url - Refresh status — (re-checks the PSP and updates
POST /orders/{id}/refresh/)state - Filters: ,
state,pay_way,created_at_from,created_at_to(superuser).user_id
json
{ "count": 12, "items": [ { "id": "17c10c9d-…", "application_id": "…",
"package_id": "…", "description": "100 Credits", "price": 13.0,
"state": "Finished", "pay_way": "Stripe", "pay_url": "<url>",
"created_at": "2026-06-28T09:17:25Z" } ] }- 可选值:
statePendingPaidFinishedExpiredFailedRefunded - 可选值:
pay_wayWechatPayAliPayStripeX402PayPalReward - 创建 —— 请求体
POST /orders/{ "application_id": "<app>", "package_id": "<package>" } - 支付 —— 请求体
POST /orders/{id}/pay/→ 返回包含{ "pay_way": "Stripe" }的订单信息,打开该链接即可支付pay_url - 刷新状态 —— (重新检查支付服务商状态并更新
POST /orders/{id}/refresh/字段)state - 筛选参数:、
state、pay_way、created_at_from、created_at_to(仅超级用户可用)。user_id
Platform tokens — GET /platform-tokens/
GET /platform-tokens/平台令牌 —— GET /platform-tokens/
GET /platform-tokens/json
{ "count": 2, "items": [ { "id": "efdccba4-…", "token": "<secret>",
"expiration": null, "used_at": null, "created_at": "2026-06-28T06:29:02Z" } ] }- Create — → returns the new token (starts with
POST /platform-tokens/)platform- - Delete — →
DELETE /platform-tokens/{id}/204 No Content
json
{ "count": 2, "items": [ { "id": "efdccba4-…", "token": "<secret>",
"expiration": null, "used_at": null, "created_at": "2026-06-28T06:29:02Z" } ] }- 创建 —— → 返回新令牌(以
POST /platform-tokens/开头)platform- - 删除 —— → 返回
DELETE /platform-tokens/{id}/204 No Content
Models — GET /models/
GET /models/模型 —— GET /models/
GET /models/OpenAI-style (no pagination):
{ "object": "list", "data": [ { "id": "gpt-4.1", "label": "GPT-4.1", "owned_by": "openai", "type": "chat", "capabilities": ["vision"] } ] }OpenAI风格(无分页):
{ "object": "list", "data": [ { "id": "gpt-4.1", "label": "GPT-4.1", "owned_by": "openai", "type": "chat", "capabilities": ["vision"] } ] }Catalog & docs (PUBLIC — no token required)
目录与文档(公开内容 —— 无需令牌)
These work without auth (send the token if you have one; not required):
- Service detail / pricing — →
GET /services/?id=<uuid>(full:items[0],cost,unit,free_amount). Thetitlefilter is ignored server-side, so resolve an alias by pagingservices/?alias=and matchingservices/client-side. Thealiasdetail route is broken (500).services/{id}/ - APIs — → exactly one item with its OpenAPI
GET /apis/?path=<path>+definition.costis ignored server-side; filter byapis/?service_id=client-side.service_idis broken (500).apis/{id}/ - Datasets / integrations — ,
GET /datasets/.GET /integrations/ - Doc search — →
GET /search/?query=<text>&lang=<code>. The param is{ results: [ { id, alias, title, type, snippet, url } ] }(notquery).keyword - Doc content — →
GET /documents/?id=<uuid>.items[0].content(id or slug) is broken (404).documents/{id}/ - Model catalog — →
GET /models/catalog/. Filter client-side.{ rates, modalities, count, items:[{ id, name, provider, modality, unit, capabilities, pricing:{ input_credits, output_credits, official_* } }] }
这些接口无需身份验证即可使用(如有令牌也可携带;非必需):
- 服务详情/定价 —— → 返回
GET /services/?id=<uuid>(完整信息包括items[0]、cost、unit、free_amount)。服务器端会忽略title筛选参数,因此需在客户端分页遍历services/?alias=并匹配services/字段来解析别名。alias详情接口存在故障(返回500错误)。services/{id}/ - API —— → 返回单个包含OpenAPI
GET /apis/?path=<path>+definition的条目。服务器端会忽略cost参数;需在客户端按apis/?service_id=筛选。service_id接口存在故障(返回500错误)。apis/{id}/ - 数据集/集成 —— 、
GET /datasets/。GET /integrations/ - 文档搜索 —— → 返回
GET /search/?query=<text>&lang=<code>。参数为**{ results: [ { id, alias, title, type, snippet, url } ] }**(而非query)。keyword - 文档内容 —— → 返回
GET /documents/?id=<uuid>。items[0].content(ID或别名)接口存在故障(返回404错误)。documents/{id}/ - 模型目录 —— → 返回
GET /models/catalog/。需在客户端筛选。{ rates, modalities, count, items:[{ id, name, provider, modality, unit, capabilities, pricing:{ input_credits, output_credits, official_* } }] }
Announcements — GET /announcements/
GET /announcements/公告 —— GET /announcements/
GET /announcements/Public read:
{ "count": 20, "items": [ { "id", "title", "content", "translation_key", "published", "publish_at", "rank", "tags", "is_read" } ] }Admin only (superuser token):
- Publish —
POST /announcements/admin/({ "title": "...", "content": "...", "rank": 5, "tags": ["product"], "published": true }is Markdown; a zh-cn Translation row is created and other locales are auto-translated by a CronJob)content - Edit / delete — /
PUTDELETE /announcements/admin/{id} - AI polish —
POST /announcements/admin/polish/{ "title", "content" } - AI translate —
POST /announcements/admin/translate/{ "translation_key" }
公开读取:
{ "count": 20, "items": [ { "id", "title", "content", "translation_key", "published", "publish_at", "rank", "tags", "is_read" } ] }仅管理员可用(超级用户令牌):
- 发布 —— 请求体
POST /announcements/admin/({ "title": "...", "content": "...", "rank": 5, "tags": ["product"], "published": true }为Markdown格式;系统会创建zh-cn翻译条目,其他语言由定时任务自动翻译)content - 编辑/删除 —— /
PUTDELETE /announcements/admin/{id} - AI润色 —— 请求体
POST /announcements/admin/polish/{ "title", "content" } - AI翻译 —— 请求体
POST /announcements/admin/translate/{ "translation_key" }
Write-operation safety
写入操作安全注意事项
Creating/deleting keys, creating/paying orders, deleting platform tokens, and
publishing announcements are irreversible or money-related. Always:
- Confirm the exact target (,
application_id,order_id) with the user before executing.credential_id - With the CLI, writes are dry-run unless is passed.
--yes - Never print a full value into shared logs — it grants account access.
token
创建/删除密钥、创建/支付订单、删除平台令牌以及发布公告均为不可逆或涉及资金的操作。请务必:
- 在执行前与用户确认确切的目标(、
application_id、order_id)。credential_id - 使用CLI时,写入操作默认仅为试运行,需添加参数才会实际执行。
--yes - 切勿将完整的值打印到共享日志中 —— 它会授予账户访问权限。
token
Gotchas
注意事项
- Use the platform token (), not the
ACEDATACLOUD_PLATFORM_TOKENservice token — the latter returns 401 here.api.acedata.cloud - /
remaining_amount/used_amountare in Credits, not USD. Convert with a service's package:amount.USD = Credits × (package.price / package.amount) - Newly created credential/platform tokens are returned in full only once — store them immediately.
- Credential "rotate" is delete + recreate; there is no in-place rotate endpoint.
- Announcement endpoints under require a superuser token; a normal token gets
/admin/.403
MCP:| Hosted:pip install mcp-acedatacloud| See all MCP servers. The MCP exposes these as tools (https://mcp.acedata.cloud/mcp,acedatacloud_get_balance,acedatacloud_list_usage,acedatacloud_get_pricing,acedatacloud_search_docs,acedatacloud_get_api_spec, …) with the same write-confirmation guard.acedatacloud_create_credential
- 使用平台令牌(),而非
ACEDATACLOUD_PLATFORM_TOKEN的服务令牌 —— 后者在此处会返回401错误。api.acedata.cloud - /
remaining_amount/used_amount的单位为Credits,而非美元。需通过服务套餐进行转换:amount。美元 = Credits × (套餐价格 / 套餐额度) - 新创建的凭证/平台令牌仅会一次性完整返回 —— 请立即存储。
- 凭证“轮换”需先删除再创建;不存在原地轮换的接口。
- 下的公告接口需要超级用户令牌;普通令牌会返回403错误。
/admin/
MCP:| 托管地址:pip install mcp-acedatacloud| 查看所有MCP服务器。MCP将这些功能作为工具(https://mcp.acedata.cloud/mcp,acedatacloud_get_balance,acedatacloud_list_usage,acedatacloud_get_pricing,acedatacloud_search_docs,acedatacloud_get_api_spec, …)暴露,同样带有写入确认防护。acedatacloud_create_credential