@acedatacloud/skills 2026.808.0 → 2026.809.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/fish-audio/SKILL.md +1 -4
- package/skills/flux-image/SKILL.md +1 -1
- package/skills/google-search/SKILL.md +8 -3
- package/skills/kling-video/SKILL.md +5 -1
- package/skills/maestro-video/SKILL.md +4 -5
- package/skills/minimax-video/SKILL.md +67 -41
- package/skills/nano-banana-image/SKILL.md +4 -2
- package/skills/producer-music/SKILL.md +14 -5
- package/skills/seedance-video/SKILL.md +1 -1
- package/skills/seedream-image/SKILL.md +1 -0
- package/skills/sora-video/SKILL.md +4 -11
- package/skills/suno-music/SKILL.md +6 -2
- package/skills/turnstile/SKILL.md +1 -1
- package/skills/webextrator/SKILL.md +0 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acedatacloud/skills",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.809.1",
|
|
4
4
|
"description": "Agent Skills for AceDataCloud AI services — music, image, video generation, LLM chat, web search. Compatible with Claude Code, GitHub Copilot, Gemini CLI, OpenAI Codex, and 30+ AI coding agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent-skills",
|
|
@@ -37,7 +37,6 @@ Synchronous responses return a direct audio URL:
|
|
|
37
37
|
| `POST /fish/tts` | Text-to-speech generation |
|
|
38
38
|
| `GET /fish/model` | Browse/search public Fish reference voices |
|
|
39
39
|
| `GET /fish/model/{id}` | Fetch one reference voice by ID |
|
|
40
|
-
| `POST /fish/model` | Clone a voice — create a reference model from an audio URL |
|
|
41
40
|
| `POST /fish/tasks` | Poll async TTS jobs when `async: true` |
|
|
42
41
|
|
|
43
42
|
## Workflows
|
|
@@ -97,10 +96,9 @@ Headers:
|
|
|
97
96
|
|-----------|---------------|-------------|
|
|
98
97
|
| `text` | string | Text to synthesize (required) |
|
|
99
98
|
| `reference_id` | string | Public/reference voice ID from `GET /fish/model` |
|
|
100
|
-
| `format` | `"mp3"`, `"wav"`, `"pcm"
|
|
99
|
+
| `format` | `"mp3"`, `"wav"`, `"pcm"` | Output format |
|
|
101
100
|
| `sample_rate` | integer | Optional output sample rate |
|
|
102
101
|
| `mp3_bitrate` | `64`, `128`, `192` | MP3 bitrate |
|
|
103
|
-
| `opus_bitrate` | integer | Opus bitrate |
|
|
104
102
|
| `latency` | `"normal"`, `"balanced"` | TTS latency mode |
|
|
105
103
|
| `chunk_length` / `min_chunk_length` | integer | Chunking controls |
|
|
106
104
|
| `temperature`, `top_p`, `repetition_penalty` | number | Sampling controls |
|
|
@@ -117,4 +115,3 @@ Headers:
|
|
|
117
115
|
- Choose the Fish engine with the **`model` request header**, not a JSON `model` field.
|
|
118
116
|
- Use `reference_id` from `GET /fish/model` — not `voice_id`.
|
|
119
117
|
- Synchronous requests return `audio_url` directly; async jobs should be polled via `/fish/tasks`.
|
|
120
|
-
- Voice cloning is `POST /fish/model`. `voices` must be a **single** HTTP(S) audio URL string — not an array, and not a file upload. It returns the `_id` you then pass to `/fish/tts` as `reference_id`.
|
|
@@ -20,7 +20,7 @@ Generate and edit images through AceDataCloud's Flux API.
|
|
|
20
20
|
curl -X POST https://api.acedata.cloud/flux/images \
|
|
21
21
|
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
22
|
-H "Content-Type: application/json" \
|
|
23
|
-
-d '{"prompt": "a cat wearing a space helmet, photorealistic", "model": "flux-dev", "callback_url": "https://api.acedata.cloud/health"}'
|
|
23
|
+
-d '{"action": "generate", "prompt": "a cat wearing a space helmet, photorealistic", "model": "flux-dev", "callback_url": "https://api.acedata.cloud/health"}'
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
> **Async:** See [async task polling](../_shared/async-tasks.md). Poll via `POST /flux/tasks` with `{"id": "..."}`.
|
|
@@ -51,10 +51,10 @@ POST /serp/google
|
|
|
51
51
|
|
|
52
52
|
| Parameter | Type | Description |
|
|
53
53
|
|-----------|------|-------------|
|
|
54
|
-
| `query` | string | Search query (required) |
|
|
54
|
+
| `query` | string | Search query (required; must contain non-whitespace text; maximum 2048 characters) |
|
|
55
55
|
| `type` | string | One of: search, images, news, maps, places, videos |
|
|
56
|
-
| `country` | string |
|
|
57
|
-
| `language` | string |
|
|
56
|
+
| `country` | string | Non-empty country code (e.g., "us", "uk", "cn", "jp"; maximum 32 characters) |
|
|
57
|
+
| `language` | string | Non-empty language code (e.g., "en", "zh", "ja"; maximum 32 characters) |
|
|
58
58
|
| `range` | string | Time filter (see below) |
|
|
59
59
|
| `number` | int | Number of results per page |
|
|
60
60
|
| `page` | int | Page number for pagination |
|
|
@@ -69,6 +69,11 @@ POST /serp/google
|
|
|
69
69
|
| `qdr:w` | Past week |
|
|
70
70
|
| `qdr:m` | Past month |
|
|
71
71
|
| `qdr:y` | Past year |
|
|
72
|
+
| `h` | Past hour |
|
|
73
|
+
| `d` | Past 24 hours |
|
|
74
|
+
| `w` | Past week |
|
|
75
|
+
| `m` | Past month |
|
|
76
|
+
| `y` | Past year |
|
|
72
77
|
|
|
73
78
|
## Response Structure
|
|
74
79
|
|
|
@@ -124,7 +124,9 @@ Apply precise camera/motion control from an image + reference video.
|
|
|
124
124
|
POST /kling/motion
|
|
125
125
|
{
|
|
126
126
|
"image_url": "https://example.com/subject.jpg",
|
|
127
|
-
"video_url": "https://example.com/motion-reference.mp4"
|
|
127
|
+
"video_url": "https://example.com/motion-reference.mp4",
|
|
128
|
+
"mode": "std",
|
|
129
|
+
"character_orientation": "image"
|
|
128
130
|
}
|
|
129
131
|
```
|
|
130
132
|
|
|
@@ -186,6 +188,8 @@ POST /kling/talking-photo
|
|
|
186
188
|
| `voice_id` (`/kling/lip-sync`) | string | Voice preset ID used in `text2video` |
|
|
187
189
|
| `voice_language` (`/kling/lip-sync`) | `"zh"`, `"en"` | TTS language for `text2video` (default `zh`) |
|
|
188
190
|
| `voice_speed` (`/kling/lip-sync`) | number | TTS speaking speed (default `1.0`) |
|
|
191
|
+
| `mode` (`/kling/motion`) | `"std"`, `"pro"` | Motion generation quality mode |
|
|
192
|
+
| `character_orientation` (`/kling/motion`) | `"image"`, `"video"` | Character orientation source |
|
|
189
193
|
| `image_url` (`/kling/talking-photo`) | URL | Source portrait image |
|
|
190
194
|
| `audio_url` (`/kling/talking-photo`) | URL | Driving audio track |
|
|
191
195
|
| `model` (`/kling/talking-photo`) | `"kling-v1"`, `"kling-v1-6"`, `"kling-v2-master"`, `"kling-v2-1-master"`, `"kling-v2-5-turbo"`, `"kling-v2-6"` | Talking-photo model |
|
|
@@ -40,7 +40,7 @@ curl -X POST https://api.acedata.cloud/maestro/videos \
|
|
|
40
40
|
}'
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
The response contains a `task_id`. Maestro is asynchronous, so query the task until it reaches `succeeded` or `failed`:
|
|
43
|
+
The successful creation response is HTTP `201` and contains a `task_id`. Maestro is asynchronous, so query the task until it reaches `succeeded` or `failed`:
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
46
|
curl -X POST https://api.acedata.cloud/maestro/tasks \
|
|
@@ -230,18 +230,17 @@ On success, inspect the delivered variants:
|
|
|
230
230
|
|
|
231
231
|
Treat the fields above as a shape guide. Return fields that are actually present; never fabricate missing captions, covers, durations, or QC scores.
|
|
232
232
|
|
|
233
|
-
##
|
|
233
|
+
## Task Retrieval
|
|
234
234
|
|
|
235
|
-
|
|
235
|
+
Retrieve a task by its required `id`; the only documented action is `retrieve`:
|
|
236
236
|
|
|
237
237
|
```bash
|
|
238
238
|
curl -X POST https://api.acedata.cloud/maestro/tasks \
|
|
239
239
|
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
240
240
|
-H "Content-Type: application/json" \
|
|
241
|
-
-d '{"
|
|
241
|
+
-d '{"id": "TASK_ID", "action": "retrieve"}'
|
|
242
242
|
```
|
|
243
243
|
|
|
244
|
-
Optional Unix timestamp filters are `created_at_min` and `created_at_max`. The authenticated identity determines which tasks are returned; do not supply or trust a body-level user ID.
|
|
245
244
|
|
|
246
245
|
## Prompting Guidance
|
|
247
246
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: minimax-video
|
|
3
|
-
description: Generate MiniMax H3 videos from text
|
|
3
|
+
description: Generate MiniMax H3 videos from text and optional image, video, or audio references through AceDataCloud. Use for text-to-video, first/last-frame video, multimodal reference video, and MiniMax H3 task polling.
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
@@ -10,7 +10,7 @@ compatibility: Requires ACEDATACLOUD_API_TOKEN in .env (see _shared/authenticati
|
|
|
10
10
|
|
|
11
11
|
# MiniMax H3 Video Generation
|
|
12
12
|
|
|
13
|
-
Generate 4–15 second videos through `POST https://api.acedata.cloud/minimax/videos`.
|
|
13
|
+
Generate 4–15 second videos through `POST https://api.acedata.cloud/minimax/videos`. Use the V2 multimodal `content` array to supply the prompt and optional reference media.
|
|
14
14
|
|
|
15
15
|
> **Setup:** See [authentication](../_shared/authentication.md). For long jobs, use [async task polling](../_shared/async-tasks.md) with `POST /minimax/tasks`.
|
|
16
16
|
|
|
@@ -18,70 +18,96 @@ Generate 4–15 second videos through `POST https://api.acedata.cloud/minimax/vi
|
|
|
18
18
|
|
|
19
19
|
| Parameter | Values | Default |
|
|
20
20
|
| --- | --- | --- |
|
|
21
|
-
| `model` | `
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
25
|
-
| `
|
|
26
|
-
| `ratio` | `16:9`, `9:16` | `16:9` |
|
|
27
|
-
| `aigc_watermark` | boolean | false |
|
|
28
|
-
| `duration` | integer 4–15 | 4 |
|
|
29
|
-
| `async` | boolean | false |
|
|
21
|
+
| `model` | `MiniMax-H3` | required |
|
|
22
|
+
| `content` | array of prompt and optional media items | required |
|
|
23
|
+
| `resolution` | `768P`, `2K` | required |
|
|
24
|
+
| `duration` | integer 4–15 | required |
|
|
25
|
+
| `ratio` | `adaptive`, `21:9`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16` | omitted |
|
|
30
26
|
| `callback_url` | public HTTP(S) webhook | omitted |
|
|
31
27
|
|
|
32
|
-
`
|
|
28
|
+
Each `content` item has a `type` of `text`, `image_url`, `video_url`, or `audio_url`; set the matching field to the text or public URL. Media items use a `role`:
|
|
33
29
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
| Role | Use |
|
|
31
|
+
| --- | --- |
|
|
32
|
+
| `first_frame` | Starting image |
|
|
33
|
+
| `last_frame` | Ending image |
|
|
34
|
+
| `reference_image` | Reference image |
|
|
35
|
+
| `reference_video` | Reference video |
|
|
36
|
+
| `reference_audio` | Reference audio |
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
Include a `text` item with the generation prompt in every request.
|
|
39
39
|
|
|
40
40
|
## Text to video
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
43
|
curl -X POST https://api.acedata.cloud/minimax/videos \
|
|
44
|
-
-H "Authorization:
|
|
44
|
+
-H "Authorization: ******" \
|
|
45
45
|
-H "Content-Type: application/json" \
|
|
46
46
|
-d '{
|
|
47
|
-
"model": "
|
|
48
|
-
"
|
|
47
|
+
"model": "MiniMax-H3",
|
|
48
|
+
"content": [
|
|
49
|
+
{
|
|
50
|
+
"type": "text",
|
|
51
|
+
"text": "A red fox running through a snowy forest at dawn, low tracking shot"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
49
54
|
"resolution": "768P",
|
|
50
55
|
"ratio": "16:9",
|
|
51
|
-
"duration": 4
|
|
52
|
-
"async": true
|
|
56
|
+
"duration": 4
|
|
53
57
|
}'
|
|
54
58
|
```
|
|
55
59
|
|
|
56
|
-
##
|
|
60
|
+
## First and last frame video
|
|
57
61
|
|
|
58
62
|
```json
|
|
59
63
|
{
|
|
60
|
-
"model": "
|
|
61
|
-
"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
"model": "MiniMax-H3",
|
|
65
|
+
"content": [
|
|
66
|
+
{
|
|
67
|
+
"type": "text",
|
|
68
|
+
"text": "A camera slowly pushes in as the character walks into the sunrise."
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "image_url",
|
|
72
|
+
"image_url": "https://cdn.acedata.cloud/first-frame.png",
|
|
73
|
+
"role": "first_frame"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"type": "image_url",
|
|
77
|
+
"image_url": "https://cdn.acedata.cloud/last-frame.png",
|
|
78
|
+
"role": "last_frame"
|
|
79
|
+
}
|
|
65
80
|
],
|
|
66
81
|
"resolution": "768P",
|
|
67
82
|
"ratio": "9:16",
|
|
68
|
-
"duration": 8
|
|
69
|
-
"async": true
|
|
83
|
+
"duration": 8
|
|
70
84
|
}
|
|
71
85
|
```
|
|
72
86
|
|
|
73
|
-
##
|
|
87
|
+
## Reference-guided video
|
|
74
88
|
|
|
75
89
|
```json
|
|
76
90
|
{
|
|
77
|
-
"model": "
|
|
78
|
-
"
|
|
79
|
-
|
|
80
|
-
|
|
91
|
+
"model": "MiniMax-H3",
|
|
92
|
+
"content": [
|
|
93
|
+
{
|
|
94
|
+
"type": "text",
|
|
95
|
+
"text": "A dancer moves naturally to the rhythm."
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"type": "image_url",
|
|
99
|
+
"image_url": "https://cdn.acedata.cloud/reference.png",
|
|
100
|
+
"role": "reference_image"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"type": "audio_url",
|
|
104
|
+
"audio_url": "https://cdn.acedata.cloud/reference.wav",
|
|
105
|
+
"role": "reference_audio"
|
|
106
|
+
}
|
|
107
|
+
],
|
|
81
108
|
"resolution": "768P",
|
|
82
109
|
"ratio": "9:16",
|
|
83
|
-
"duration": 8
|
|
84
|
-
"async": true
|
|
110
|
+
"duration": 8
|
|
85
111
|
}
|
|
86
112
|
```
|
|
87
113
|
|
|
@@ -89,18 +115,18 @@ curl -X POST https://api.acedata.cloud/minimax/videos \
|
|
|
89
115
|
|
|
90
116
|
```bash
|
|
91
117
|
curl -X POST https://api.acedata.cloud/minimax/tasks \
|
|
92
|
-
-H "Authorization:
|
|
118
|
+
-H "Authorization: ******" \
|
|
93
119
|
-H "Content-Type: application/json" \
|
|
94
120
|
-d '{"action":"retrieve","id":"TASK_ID"}'
|
|
95
121
|
```
|
|
96
122
|
|
|
97
|
-
Continue polling about every five seconds until
|
|
123
|
+
Continue polling about every five seconds until the task reaches a terminal state. Use `retrieve_batch` with `ids` to check several tasks, or `delete` with `id` to remove a task. Batch listing also accepts `limit`, `offset`, `created_at_min`, and `created_at_max`.
|
|
98
124
|
|
|
99
125
|
## Gotchas
|
|
100
126
|
|
|
101
127
|
- Do not send `action` to `/minimax/videos`; the API infers the mode from media inputs.
|
|
102
128
|
- `duration` must be an integer, not a decimal.
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
- Use public URLs that the generation service can download.
|
|
129
|
+
- Put the prompt in a `content` item with `type: "text"`; do not send a top-level `prompt`.
|
|
130
|
+
- Use `first_frame`, `last_frame`, and reference roles explicitly; do not rely on item order to determine an image's role.
|
|
131
|
+
- Use public URLs that the generation service can download for every media item.
|
|
106
132
|
- Returned videos are served from AceDataCloud CDN.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: nano-banana-image
|
|
3
|
-
description: Generate and edit AI images with NanoBanana (Gemini-based) via AceDataCloud API. Use when creating images from text prompts or editing existing images with text instructions. Supports nano-banana, nano-banana-2, nano-banana-pro and their :official variants.
|
|
3
|
+
description: Generate and edit AI images with NanoBanana (Gemini-based) via AceDataCloud API. Use when creating images from text prompts or editing existing images with text instructions. Supports nano-banana, nano-banana-2-lite, nano-banana-2, nano-banana-pro and their :official variants.
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
@@ -29,9 +29,11 @@ curl -X POST https://api.acedata.cloud/nano-banana/images \
|
|
|
29
29
|
| Model | Best For |
|
|
30
30
|
|-------|----------|
|
|
31
31
|
| `nano-banana` | Standard image generation (default) |
|
|
32
|
+
| `nano-banana-2-lite` | Fast, lightweight second-generation model |
|
|
32
33
|
| `nano-banana-2` | Improved quality, second generation |
|
|
33
34
|
| `nano-banana-pro` | Highest quality, most detailed output |
|
|
34
35
|
| `nano-banana:official` | Official channel variant of `nano-banana` |
|
|
36
|
+
| `nano-banana-2-lite:official` | Official channel variant of `nano-banana-2-lite` |
|
|
35
37
|
| `nano-banana-2:official` | Official channel variant of `nano-banana-2` |
|
|
36
38
|
| `nano-banana-pro:official` | Official channel variant of `nano-banana-pro` |
|
|
37
39
|
|
|
@@ -69,7 +71,7 @@ POST /nano-banana/images
|
|
|
69
71
|
| Parameter | Values | Description |
|
|
70
72
|
|-----------|--------|-------------|
|
|
71
73
|
| `action` | `"generate"`, `"edit"` | Operation mode |
|
|
72
|
-
| `model` | `"nano-banana"`, `"nano-banana-2"`, `"nano-banana-pro"`, `"nano-banana:official"`, `"nano-banana-2:official"`, `"nano-banana-pro:official"` | Model to use |
|
|
74
|
+
| `model` | `"nano-banana"`, `"nano-banana-2-lite"`, `"nano-banana-2"`, `"nano-banana-pro"`, `"nano-banana:official"`, `"nano-banana-2-lite:official"`, `"nano-banana-2:official"`, `"nano-banana-pro:official"` | Model to use |
|
|
73
75
|
| `prompt` | string | Image description or editing instruction |
|
|
74
76
|
| `image_urls` | array of strings | Source image URLs (required for edit action) |
|
|
75
77
|
| `aspect_ratio` | `"1:1"`, `"3:2"`, `"2:3"`, `"16:9"`, `"9:16"`, `"4:3"`, `"3:4"` | Output aspect ratio |
|
|
@@ -20,7 +20,7 @@ Generate AI music through AceDataCloud's Producer API.
|
|
|
20
20
|
curl -X POST https://api.acedata.cloud/producer/audios \
|
|
21
21
|
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
22
|
-H "Content-Type: application/json" \
|
|
23
|
-
-d '{"action": "generate", "prompt": "upbeat electronic dance track with synth leads"}'
|
|
23
|
+
-d '{"action": "generate", "lyric": "", "prompt": "upbeat electronic dance track with synth leads"}'
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
> **Async:** All generation is async. See [async task polling](../_shared/async-tasks.md). Poll via `POST /producer/tasks` with `{"id": "..."}` every 3-5 seconds.
|
|
@@ -59,6 +59,7 @@ curl -X POST https://api.acedata.cloud/producer/audios \
|
|
|
59
59
|
POST /producer/audios
|
|
60
60
|
{
|
|
61
61
|
"action": "generate",
|
|
62
|
+
"lyric": "",
|
|
62
63
|
"prompt": "chill lo-fi hip hop with rain sounds and soft piano"
|
|
63
64
|
}
|
|
64
65
|
```
|
|
@@ -72,6 +73,7 @@ POST /producer/audios
|
|
|
72
73
|
"custom": true,
|
|
73
74
|
"title": "Midnight City",
|
|
74
75
|
"lyric": "[Verse]\nNeon lights reflect on wet streets\n[Chorus]\nMidnight city never sleeps",
|
|
76
|
+
"prompt": "nocturnal electronic pop",
|
|
75
77
|
"instrumental": false
|
|
76
78
|
}
|
|
77
79
|
```
|
|
@@ -82,6 +84,7 @@ POST /producer/audios
|
|
|
82
84
|
POST /producer/audios
|
|
83
85
|
{
|
|
84
86
|
"action": "generate",
|
|
87
|
+
"lyric": "",
|
|
85
88
|
"prompt": "epic orchestral soundtrack for a movie trailer",
|
|
86
89
|
"instrumental": true
|
|
87
90
|
}
|
|
@@ -94,6 +97,8 @@ POST /producer/audios
|
|
|
94
97
|
{
|
|
95
98
|
"action": "extend",
|
|
96
99
|
"audio_id": "existing-audio-id",
|
|
100
|
+
"lyric": "",
|
|
101
|
+
"prompt": "",
|
|
97
102
|
"continue_at": 30
|
|
98
103
|
}
|
|
99
104
|
```
|
|
@@ -105,6 +110,8 @@ POST /producer/audios
|
|
|
105
110
|
{
|
|
106
111
|
"action": "replace_section",
|
|
107
112
|
"audio_id": "existing-audio-id",
|
|
113
|
+
"lyric": "",
|
|
114
|
+
"prompt": "",
|
|
108
115
|
"replace_section_start": 15,
|
|
109
116
|
"replace_section_end": 30
|
|
110
117
|
}
|
|
@@ -116,7 +123,9 @@ POST /producer/audios
|
|
|
116
123
|
POST /producer/audios
|
|
117
124
|
{
|
|
118
125
|
"action": "stems",
|
|
119
|
-
"audio_id": "existing-audio-id"
|
|
126
|
+
"audio_id": "existing-audio-id",
|
|
127
|
+
"lyric": "",
|
|
128
|
+
"prompt": ""
|
|
120
129
|
}
|
|
121
130
|
```
|
|
122
131
|
|
|
@@ -152,13 +161,13 @@ POST /producer/upload
|
|
|
152
161
|
|
|
153
162
|
| Parameter | Type | Description |
|
|
154
163
|
|-----------|------|-------------|
|
|
155
|
-
| `action` | string |
|
|
156
|
-
| `prompt` | string |
|
|
164
|
+
| `action` | string | Required for every `/producer/audios` request; see actions table |
|
|
165
|
+
| `prompt` | string | Required for every `/producer/audios` request; use an empty string when an edit action does not use a prompt |
|
|
157
166
|
| `model` | string | Model (e.g., `"FUZZ-2.0 Pro"`) |
|
|
158
167
|
| `custom` | boolean | Enable custom lyrics mode |
|
|
159
168
|
| `instrumental` | boolean | Pure instrumental (no vocals) |
|
|
160
169
|
| `title` | string | Song title |
|
|
161
|
-
| `lyric` | string |
|
|
170
|
+
| `lyric` | string | Required for every `/producer/audios` request; custom lyrics use `[Verse]`, `[Chorus]` tags, otherwise use an empty string |
|
|
162
171
|
| `audio_id` | string | Existing audio ID (for edit actions) |
|
|
163
172
|
| `continue_at` | number | Seconds — where to extend from |
|
|
164
173
|
| `replace_section_start` | number | Start time of section to replace |
|
|
@@ -164,7 +164,7 @@ POST /seedance/videos
|
|
|
164
164
|
| `resolution` | `"480p"`, `"720p"`, `"1080p"`, `"4k"` | Output resolution. `4k` is `doubao-seedance-2-0-260128` (standard) only; `2-0-fast` / `2-0-mini` max out at `720p` (default: 720p for pro/2.0, 480p for lite) |
|
|
165
165
|
| `ratio` | `"16:9"`, `"4:3"`, `"1:1"`, `"3:4"`, `"9:16"`, `"21:9"`, `"adaptive"` | Aspect ratio (default: 16:9) |
|
|
166
166
|
| `duration` | `2` – `15` | Duration in seconds (Seedance 2.0 supports 4–15) |
|
|
167
|
-
| `frames` | 29–
|
|
167
|
+
| `frames` | 29–289 (must satisfy 25+4n) | Frame count — mutually exclusive with `duration` |
|
|
168
168
|
| `seed` | -1 to 4294967295 | Seed for reproducible results (-1 = random) |
|
|
169
169
|
| `generate_audio` | `true` / `false` | Generate audio (supported by `doubao-seedance-1-5-pro-251215` and the `doubao-seedance-2-0` series; other models ignore it) |
|
|
170
170
|
| `camerafixed` | `true` / `false` | Fix the camera position during generation |
|
|
@@ -29,6 +29,7 @@ curl -X POST https://api.acedata.cloud/seedream/images \
|
|
|
29
29
|
| Model | Version | Best For |
|
|
30
30
|
|-------|---------|----------|
|
|
31
31
|
| `doubao-seedream-5-0-260128` | Seedream 5.0 | Latest, highest quality (default) |
|
|
32
|
+
| `doubao-seedream-5-0-pro-260628` | Seedream 5.0 Pro | Highest-quality Seedream 5.0 model |
|
|
32
33
|
| `doubao-seedream-4-5-251128` | Seedream 4.5 | High quality, balanced |
|
|
33
34
|
| `doubao-seedream-4-0-250828` | Seedream 4.0 | Reliable generation |
|
|
34
35
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sora-video
|
|
3
|
-
description:
|
|
3
|
+
description: Generate AI videos with OpenAI Sora via AceDataCloud API. Use when creating videos from text prompts, generating videos from reference images, or using character references from existing videos. Supports text-to-video, image-to-video, and character-driven generation with multiple models and resolutions.
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
@@ -10,13 +10,6 @@ compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authent
|
|
|
10
10
|
|
|
11
11
|
# Sora Video Generation
|
|
12
12
|
|
|
13
|
-
> [!WARNING]
|
|
14
|
-
> **This service is currently unavailable.** `/sora/videos` and `/sora/tasks` return
|
|
15
|
-
> `404 no Route matched with those values`, and the Sora service is no longer published
|
|
16
|
-
> in the API catalog. The reference below is kept for historical accuracy only — do not
|
|
17
|
-
> build against it. For video generation use [veo-video](../veo-video/SKILL.md),
|
|
18
|
-
> [kling-video](../kling-video/SKILL.md) or [seedance-video](../seedance-video/SKILL.md).
|
|
19
|
-
|
|
20
13
|
Generate AI videos through AceDataCloud's OpenAI Sora API.
|
|
21
14
|
|
|
22
15
|
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
@@ -77,8 +70,8 @@ POST /sora/videos
|
|
|
77
70
|
{
|
|
78
71
|
"prompt": "the character walks through a futuristic city",
|
|
79
72
|
"character_url": "https://example.com/source-video.mp4",
|
|
80
|
-
"character_start": 2
|
|
81
|
-
"character_end": 5
|
|
73
|
+
"character_start": 2,
|
|
74
|
+
"character_end": 5,
|
|
82
75
|
"model": "sora-2-pro"
|
|
83
76
|
}
|
|
84
77
|
```
|
|
@@ -101,4 +94,4 @@ POST /sora/videos
|
|
|
101
94
|
- `orientation` sets the aspect ratio — use `"portrait"` for mobile-first content
|
|
102
95
|
- Task states use `"succeeded"` (not "completed") — check for this value when polling
|
|
103
96
|
|
|
104
|
-
> **MCP:**
|
|
97
|
+
> **MCP:** `pip install mcp-sora` | Hosted: `https://sora.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
|
|
@@ -128,6 +128,7 @@ For best results follow this multi-step workflow:
|
|
|
128
128
|
| `remaster` | Remaster an existing audio |
|
|
129
129
|
| `mashup` | Blend multiple audio IDs together |
|
|
130
130
|
| `samples` | Add samples to an uploaded song |
|
|
131
|
+
| `inspo` | Generate a song inspired by an existing audio |
|
|
131
132
|
|
|
132
133
|
## Auxiliary Endpoints
|
|
133
134
|
|
|
@@ -140,8 +141,11 @@ For best results follow this multi-step workflow:
|
|
|
140
141
|
| `/suno/wav` | POST | Convert to lossless WAV format |
|
|
141
142
|
| `/suno/midi` | POST | Extract MIDI data for DAW editing |
|
|
142
143
|
| `/suno/vox` | POST | Extract vocal track (stem separation) |
|
|
144
|
+
| `/suno/voices` | POST | Create a reusable voice from an audio URL; requires `audio_url`, with optional `name` and `description` |
|
|
143
145
|
| `/suno/timing` | POST | Get word-level timing/subtitles |
|
|
144
|
-
| `/suno/persona` | POST | Save a vocal style as a reusable persona |
|
|
146
|
+
| `/suno/persona` | POST | Save a vocal style as a reusable persona; requires `audio_id` and `name` |
|
|
147
|
+
| `/suno/persona` | GET | List reusable personas |
|
|
148
|
+
| `/suno/persona` | DELETE | Delete a reusable persona |
|
|
145
149
|
| `/suno/upload` | POST | Upload external audio for extend/cover |
|
|
146
150
|
| `/suno/tasks` | POST | Query task status and results |
|
|
147
151
|
|
|
@@ -183,7 +187,7 @@ Ending lyrics
|
|
|
183
187
|
- `variation_category` ("high"/"normal"/"subtle") is only supported on v5+ models
|
|
184
188
|
- `duration` is forwarded as you send it — support varies by model and action, and an unsupported combination may ignore it or return an error, so verify with one request before batching. Note the request `duration` is a *target*; the `duration` in each returned clip is the *actual* length and will vary slightly
|
|
185
189
|
- The `concat` action merges extended song segments — requires audio_id of the extended track
|
|
186
|
-
- `persona` requires an existing audio_id
|
|
190
|
+
- `persona` requires an existing `audio_id` and a `name`; optional `vox_audio_id`, `vocal_start`, `vocal_end`, and `description` refine the vocal reference
|
|
187
191
|
- Upload external audio via `/suno/upload` before using it with extend/cover
|
|
188
192
|
|
|
189
193
|
> **MCP:** `pip install mcp-suno` | Hosted: `https://suno.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
|
|
@@ -107,11 +107,8 @@ POST /webextrator/tasks
|
|
|
107
107
|
| `block_resources` | No | Drop `image`/`font`/`media`/`stylesheet`/`xhr`/`fetch` |
|
|
108
108
|
| `headers` | No | Extra request headers for the target site |
|
|
109
109
|
| `user_agent` | No | Override the browser User-Agent |
|
|
110
|
-
| `cookies` | No | Cookies to install before navigation |
|
|
111
110
|
| `async` | No | `true` submits without blocking; poll `/webextrator/tasks` for the result |
|
|
112
111
|
| `callback_url` | No | Posted the final envelope when running asynchronously |
|
|
113
|
-
| `bypass_cache` | No | Skip the Redis result cache for this request |
|
|
114
|
-
| `cache_ttl_seconds` | No | Override cache TTL; `0` disables caching |
|
|
115
112
|
|
|
116
113
|
### Extract-only
|
|
117
114
|
|
|
@@ -135,6 +132,5 @@ POST /webextrator/tasks
|
|
|
135
132
|
- `expected_type` only allows `product`/`article`/`general` — typed kinds (recipe/video/job) are detected automatically from schema.org
|
|
136
133
|
- `enable_llm` has no effect when the page ships schema.org JSON-LD — the deterministic mapper wins for free
|
|
137
134
|
- Tasks API is free and retains records for 7 days only
|
|
138
|
-
- `cache_ttl_seconds: 0` means "do not cache" — use `bypass_cache` to skip read
|
|
139
135
|
|
|
140
136
|
> **MCP:** `pip install mcp-webextrator` | Hosted: `https://webextrator.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
|