Install
openclaw skills install acedatacloud-acedatacloud-apiGuide for using AceDataCloud APIs. Use when authenticating, making API calls, managing credentials, understanding billing, or integrating AceDataCloud services into applications. Covers setup, authentication, request patterns, error handling, and SDK integration.
openclaw skills install acedatacloud-acedatacloud-apiComplete guide for using AceDataCloud's AI-powered data services API.
Register at platform.acedata.cloud.
Browse available services and click Get to subscribe. Most services include free quota.
Go to your service's Credentials page and create an API Token.
All APIs use Bearer token authentication:
curl -X POST https://api.acedata.cloud/<endpoint> \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
| Type | Format | Scope |
|---|---|---|
| Service Token | UUID string | Access to subscribed service only |
| Global Token | UUID string | Access to all subscribed services |
https://api.acedata.cloud
For chat completion services, use the standard OpenAI SDK:
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_TOKEN",
base_url="https://api.acedata.cloud/v1"
)
response = client.chat.completions.create(
model="claude-sonnet-4-20250514",
messages=[{"role": "user", "content": "Hello!"}]
)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_TOKEN",
baseURL: "https://api.acedata.cloud/v1"
});
const response = await client.chat.completions.create({
model: "gpt-4.1",
messages: [{ role: "user", content: "Hello!" }]
});
Some APIs return results immediately (e.g., face transform, search):
curl -X POST https://api.acedata.cloud/face/analyze \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"image_url": "https://example.com/photo.jpg"}'
Most generation APIs (images, video, music) are asynchronous:
Step 1: Submit request
POST /suno/audios
{"prompt": "a jazz song", "wait": false}
→ {"task_id": "abc123"}
Step 2: Poll for results
POST /suno/tasks
{"task_id": "abc123"}
→ {"state": "succeeded", "data": [...]}
Shortcut: Pass "wait": true to block until completion (simpler but longer timeout).
| HTTP Code | Meaning | Action |
|---|---|---|
| 400 | Bad request | Check request parameters |
| 401 | Unauthorized | Check API token |
| 403 | Forbidden | Content filtered or insufficient permissions |
| 429 | Rate limited | Wait and retry with backoff |
| 500 | Server error | Retry or contact support |
Error response format:
{
"error": {
"code": "token_mismatched",
"message": "Invalid or expired token"
}
}
| Category | Services | Base Path |
|---|---|---|
| AI Chat | GPT, Claude, Gemini, DeepSeek, Grok | /v1/chat/completions |
| Image Gen | Midjourney, Flux, Seedream, NanoBanana | /midjourney/*, /flux/*, etc. |
| Video Gen | Luma, Sora, Veo, Kling, Hailuo, Seedance | /luma/*, /sora/*, etc. |
| Music Gen | Suno, Producer, Fish Audio | /suno/*, /producer/*, /fish/* |
| Search | Google Search (web/images/news/maps) | /serp/* |
| Face | Analyze, beautify, swap, cartoon, age | /face/* |
| Utility | Short URL, QR Art, Headshots | /short-url, /qrart/*, /headshots/* |
task_id — you must poll to get the resultwait: true is convenient but has a timeout limit (typically 60–120s)