@acedatacloud/skills 2026.406.0
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/AGENTS.md +48 -0
- package/LICENSE +17 -0
- package/README.md +342 -0
- package/bin/cli.js +75 -0
- package/bin/postinstall.js +15 -0
- package/index.js +13 -0
- package/package.json +56 -0
- package/skills/_shared/async-tasks.md +32 -0
- package/skills/_shared/authentication.md +31 -0
- package/skills/_shared/mcp-servers.md +36 -0
- package/skills/acedatacloud-api/SKILL.md +130 -0
- package/skills/ai-chat/SKILL.md +210 -0
- package/skills/face-transform/SKILL.md +153 -0
- package/skills/fish-audio/SKILL.md +99 -0
- package/skills/flux-image/SKILL.md +82 -0
- package/skills/google-search/SKILL.md +88 -0
- package/skills/hailuo-video/SKILL.md +91 -0
- package/skills/kling-video/SKILL.md +126 -0
- package/skills/luma-video/SKILL.md +108 -0
- package/skills/midjourney-image/SKILL.md +170 -0
- package/skills/nano-banana-image/SKILL.md +85 -0
- package/skills/producer-music/SKILL.md +198 -0
- package/skills/seedance-video/SKILL.md +148 -0
- package/skills/seedream-image/SKILL.md +120 -0
- package/skills/short-url/SKILL.md +60 -0
- package/skills/sora-video/SKILL.md +97 -0
- package/skills/suno-music/SKILL.md +187 -0
- package/skills/veo-video/SKILL.md +112 -0
- package/skills/wan-video/SKILL.md +152 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: producer-music
|
|
3
|
+
description: Generate AI music with Producer via AceDataCloud API. Use when creating songs, generating lyrics, extending tracks, creating covers, swapping vocals/instrumentals, replacing song sections, or uploading reference audio. Supports custom lyrics, instrumental-only mode, and multiple creative actions.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: acedatacloud
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN environment variable.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Producer Music Generation
|
|
12
|
+
|
|
13
|
+
Generate AI music through AceDataCloud's Producer API.
|
|
14
|
+
|
|
15
|
+
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X POST https://api.acedata.cloud/producer/audios \
|
|
21
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
|
+
-H "Content-Type: application/json" \
|
|
23
|
+
-d '{"action": "generate", "prompt": "upbeat electronic dance track with synth leads"}'
|
|
24
|
+
```
|
|
25
|
+
|
|
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.
|
|
27
|
+
|
|
28
|
+
## Models
|
|
29
|
+
|
|
30
|
+
| Model | Notes |
|
|
31
|
+
|-------|-------|
|
|
32
|
+
| `FUZZ-2.0 Pro` | Default, highest quality |
|
|
33
|
+
| `FUZZ-2.0` | Standard quality |
|
|
34
|
+
| `FUZZ-2.0 Raw` | Raw output variant |
|
|
35
|
+
| `FUZZ-1.1 Pro` | Pro v1.1 |
|
|
36
|
+
| `FUZZ-1.0 Pro` | Pro v1.0 |
|
|
37
|
+
| `FUZZ-1.0` | v1.0 |
|
|
38
|
+
| `FUZZ-1.1` | v1.1 |
|
|
39
|
+
| `FUZZ-0.8` | Legacy |
|
|
40
|
+
|
|
41
|
+
## Actions
|
|
42
|
+
|
|
43
|
+
| Action | Description |
|
|
44
|
+
|--------|-------------|
|
|
45
|
+
| `generate` | Create a new song from prompt or custom lyrics |
|
|
46
|
+
| `cover` | Create a cover version of an existing song |
|
|
47
|
+
| `extend` | Continue a song from a specific timestamp |
|
|
48
|
+
| `replace_section` | Replace a time range in an existing song |
|
|
49
|
+
| `swap_vocals` | Extract and swap vocal tracks |
|
|
50
|
+
| `swap_instrumentals` | Extract and swap instrumental tracks |
|
|
51
|
+
| `variation` | Generate a variation of an existing song |
|
|
52
|
+
| `stems` | Separate a song into stems |
|
|
53
|
+
|
|
54
|
+
## Workflows
|
|
55
|
+
|
|
56
|
+
### 1. Generate from Prompt
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
POST /producer/audios
|
|
60
|
+
{
|
|
61
|
+
"action": "generate",
|
|
62
|
+
"prompt": "chill lo-fi hip hop with rain sounds and soft piano"
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 2. Custom Lyrics Mode
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
POST /producer/audios
|
|
70
|
+
{
|
|
71
|
+
"action": "generate",
|
|
72
|
+
"custom": true,
|
|
73
|
+
"title": "Midnight City",
|
|
74
|
+
"lyric": "[Verse]\nNeon lights reflect on wet streets\n[Chorus]\nMidnight city never sleeps",
|
|
75
|
+
"instrumental": false
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 3. Instrumental Only
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
POST /producer/audios
|
|
83
|
+
{
|
|
84
|
+
"action": "generate",
|
|
85
|
+
"prompt": "epic orchestral soundtrack for a movie trailer",
|
|
86
|
+
"instrumental": true
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 4. Extend Song
|
|
91
|
+
|
|
92
|
+
```json
|
|
93
|
+
POST /producer/audios
|
|
94
|
+
{
|
|
95
|
+
"action": "extend",
|
|
96
|
+
"audio_id": "existing-audio-id",
|
|
97
|
+
"continue_at": 30
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### 5. Replace Section
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
POST /producer/audios
|
|
105
|
+
{
|
|
106
|
+
"action": "replace_section",
|
|
107
|
+
"audio_id": "existing-audio-id",
|
|
108
|
+
"replace_section_start": 15,
|
|
109
|
+
"replace_section_end": 30
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 6. Separate into Stems
|
|
114
|
+
|
|
115
|
+
```json
|
|
116
|
+
POST /producer/audios
|
|
117
|
+
{
|
|
118
|
+
"action": "stems",
|
|
119
|
+
"audio_id": "existing-audio-id"
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### 7. Generate Lyrics
|
|
124
|
+
|
|
125
|
+
```json
|
|
126
|
+
POST /producer/lyrics
|
|
127
|
+
{
|
|
128
|
+
"prompt": "a love song about stargazing on a summer night"
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### 8. Get WAV / Video
|
|
133
|
+
|
|
134
|
+
```json
|
|
135
|
+
POST /producer/wav
|
|
136
|
+
{"audio_id": "your-audio-id"}
|
|
137
|
+
|
|
138
|
+
POST /producer/videos
|
|
139
|
+
{"audio_id": "your-audio-id"}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### 9. Upload Reference Audio
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
POST /producer/upload
|
|
146
|
+
{
|
|
147
|
+
"audio_url": "https://example.com/reference.mp3"
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Parameters
|
|
152
|
+
|
|
153
|
+
| Parameter | Type | Description |
|
|
154
|
+
|-----------|------|-------------|
|
|
155
|
+
| `action` | string | See actions table |
|
|
156
|
+
| `prompt` | string | Song description (for non-custom mode) |
|
|
157
|
+
| `model` | string | Model (e.g., `"FUZZ-2.0 Pro"`) |
|
|
158
|
+
| `custom` | boolean | Enable custom lyrics mode |
|
|
159
|
+
| `instrumental` | boolean | Pure instrumental (no vocals) |
|
|
160
|
+
| `title` | string | Song title |
|
|
161
|
+
| `lyric` | string | Custom lyrics with `[Verse]`, `[Chorus]` tags |
|
|
162
|
+
| `audio_id` | string | Existing audio ID (for edit actions) |
|
|
163
|
+
| `continue_at` | number | Seconds — where to extend from |
|
|
164
|
+
| `replace_section_start` | number | Start time of section to replace |
|
|
165
|
+
| `replace_section_end` | number | End time of section to replace |
|
|
166
|
+
| `lyrics_strength` | 0-1 | Lyrics adherence (default: 0.7) |
|
|
167
|
+
| `sound_strength` | 0.2-1 | Sound quality weight (default: 0.7) |
|
|
168
|
+
| `weirdness` | 0-1 | Creative randomness (default: 0.5) |
|
|
169
|
+
| `seed` | string | Seed for reproducibility |
|
|
170
|
+
|
|
171
|
+
## Response Structure
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
{
|
|
175
|
+
"data": [
|
|
176
|
+
{
|
|
177
|
+
"id": "audio-id",
|
|
178
|
+
"audio_url": "https://cdn.example.com/song.mp3",
|
|
179
|
+
"video_url": "https://cdn.example.com/video.mp4",
|
|
180
|
+
"image_url": "https://cdn.example.com/cover.jpg",
|
|
181
|
+
"title": "Song Title",
|
|
182
|
+
"lyric": "full lyrics...",
|
|
183
|
+
"style": "electronic, dance",
|
|
184
|
+
"model": "FUZZ-2.0 Pro"
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Gotchas
|
|
191
|
+
|
|
192
|
+
- Use `[Verse]`, `[Chorus]`, `[Bridge]`, `[Outro]` tags in custom lyrics
|
|
193
|
+
- `continue_at` is in **seconds** — the song extends from that point
|
|
194
|
+
- `replace_section_start` / `replace_section_end` define the time range to regenerate
|
|
195
|
+
- `weirdness` at 0 = predictable, at 1 = highly experimental
|
|
196
|
+
- Upload a reference audio via `/producer/upload` to get an audio ID for use with `cover` or `extend`
|
|
197
|
+
- WAV and video downloads are separate endpoints — call them after the main generation completes
|
|
198
|
+
- **CRITICAL:** Check the `state` field in task responses — only `state: "complete"` with `success: true` means done. During `pending`, the API may return intermediate `audio_url` values (streaming previews). Do NOT stop polling just because `audio_url` is non-empty
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seedance-video
|
|
3
|
+
description: Generate AI dance and motion videos with Seedance (ByteDance) via AceDataCloud API. Use when creating videos from text prompts or animating images into motion videos. Supports multiple models with configurable resolution, aspect ratio, duration, and optional audio generation.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: acedatacloud
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN environment variable. Optionally pair with mcp-seedance for tool-use.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Seedance Video Generation
|
|
12
|
+
|
|
13
|
+
Generate AI dance and motion videos through AceDataCloud's Seedance (ByteDance) API.
|
|
14
|
+
|
|
15
|
+
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X POST https://api.acedata.cloud/seedance/videos \
|
|
21
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
|
+
-H "Content-Type: application/json" \
|
|
23
|
+
-d '{"model": "doubao-seedance-1-0-pro-250528", "content": [{"type": "text", "text": "a dancer performing contemporary ballet in a misty forest"}], "callback_url": "https://api.acedata.cloud/health"}'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
> **Async:** See [async task polling](../_shared/async-tasks.md). Poll via `POST /seedance/tasks` with `{"task_id": "..."}`.
|
|
27
|
+
This returns a task ID immediately. Poll for the result:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
curl -X POST https://api.acedata.cloud/seedance/tasks \
|
|
31
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
32
|
+
-H "Content-Type: application/json" \
|
|
33
|
+
-d '{"task_id": "<task_id from above>"}'
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Models
|
|
37
|
+
|
|
38
|
+
| Model | Type | Best For |
|
|
39
|
+
|-------|------|----------|
|
|
40
|
+
| `doubao-seedance-1-0-pro-250528` | Text+Image-to-Video | General-purpose, reliable quality |
|
|
41
|
+
| `doubao-seedance-1-0-pro-fast-251015` | Text+Image-to-Video | Faster Pro generation |
|
|
42
|
+
| `doubao-seedance-1-5-pro-251215` | Text+Image-to-Video | Latest model, highest quality, audio support |
|
|
43
|
+
| `doubao-seedance-1-0-lite-t2v-250428` | Text-to-Video only | Lightweight text-to-video |
|
|
44
|
+
| `doubao-seedance-1-0-lite-i2v-250428` | Image-to-Video only | Lightweight image-to-video |
|
|
45
|
+
|
|
46
|
+
## Workflows
|
|
47
|
+
|
|
48
|
+
### 1. Text-to-Video
|
|
49
|
+
|
|
50
|
+
Pass a text content item in the `content` array.
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
POST /seedance/videos
|
|
54
|
+
{
|
|
55
|
+
"model": "doubao-seedance-1-0-pro-250528",
|
|
56
|
+
"content": [
|
|
57
|
+
{"type": "text", "text": "a street dancer doing breakdancing moves in an urban setting"}
|
|
58
|
+
],
|
|
59
|
+
"resolution": "1080p",
|
|
60
|
+
"ratio": "16:9",
|
|
61
|
+
"duration": 5
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 2. Image-to-Video
|
|
66
|
+
|
|
67
|
+
Include an image content item (with an optional `role`) alongside the text.
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
POST /seedance/videos
|
|
71
|
+
{
|
|
72
|
+
"model": "doubao-seedance-1-5-pro-251215",
|
|
73
|
+
"content": [
|
|
74
|
+
{"type": "text", "text": "the person starts dancing gracefully"},
|
|
75
|
+
{
|
|
76
|
+
"type": "image_url",
|
|
77
|
+
"role": "first_frame",
|
|
78
|
+
"image_url": {"url": "https://example.com/dancer.jpg"}
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"resolution": "720p",
|
|
82
|
+
"duration": 5
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Image roles:
|
|
87
|
+
- `first_frame` — image is used as the opening frame
|
|
88
|
+
- `last_frame` — image is used as the closing frame
|
|
89
|
+
- `reference_image` — image is used as a style/content reference
|
|
90
|
+
|
|
91
|
+
### 3. First-frame + Last-frame
|
|
92
|
+
|
|
93
|
+
Provide both a start and end frame image:
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
POST /seedance/videos
|
|
97
|
+
{
|
|
98
|
+
"model": "doubao-seedance-1-0-pro-250528",
|
|
99
|
+
"content": [
|
|
100
|
+
{"type": "text", "text": "smooth transition between two scenes"},
|
|
101
|
+
{"type": "image_url", "role": "first_frame", "image_url": {"url": "https://example.com/start.jpg"}},
|
|
102
|
+
{"type": "image_url", "role": "last_frame", "image_url": {"url": "https://example.com/end.jpg"}}
|
|
103
|
+
]
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Parameters
|
|
108
|
+
|
|
109
|
+
| Parameter | Values | Description |
|
|
110
|
+
|-----------|--------|-------------|
|
|
111
|
+
| `model` | see Models table | Model to use (required) |
|
|
112
|
+
| `content` | array | Input items: text and/or image_url objects (required) |
|
|
113
|
+
| `resolution` | `"480p"`, `"720p"`, `"1080p"` | Output resolution (default: 720p for pro, 480p for lite) |
|
|
114
|
+
| `ratio` | `"16:9"`, `"4:3"`, `"1:1"`, `"3:4"`, `"9:16"`, `"21:9"`, `"adaptive"` | Aspect ratio (default: 16:9) |
|
|
115
|
+
| `duration` | `2` – `12` | Duration in seconds |
|
|
116
|
+
| `frames` | 29–289 (must satisfy 25+4n) | Frame count — mutually exclusive with `duration` |
|
|
117
|
+
| `seed` | -1 to 4294967295 | Seed for reproducible results (-1 = random) |
|
|
118
|
+
| `generate_audio` | `true` / `false` | Generate audio (only supported by `doubao-seedance-1-5-pro-251215`) |
|
|
119
|
+
| `camerafixed` | `true` / `false` | Fix the camera position during generation |
|
|
120
|
+
| `watermark` | `true` / `false` | Add a watermark to the generated video |
|
|
121
|
+
| `return_last_frame` | `true` / `false` | Return the last frame of the generated video |
|
|
122
|
+
| `service_tier` | `"default"`, `"flex"` | Processing tier (default: default) |
|
|
123
|
+
| `execution_expires_after` | number | Task timeout threshold in seconds |
|
|
124
|
+
|
|
125
|
+
## Inline Parameter Syntax
|
|
126
|
+
|
|
127
|
+
You can also embed generation parameters directly in the text prompt using the `--param value` syntax:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
A kitten yawning at the camera. --rs 720p --rt 16:9 --dur 5 --fps 24 --seed 42
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Supported inline params: `--rs` (resolution), `--rt` (ratio), `--dur` (duration), `--frames`, `--fps` (24 only), `--seed`, `--cf` (camera_fixed), `--wm` (watermark).
|
|
134
|
+
|
|
135
|
+
## Gotchas
|
|
136
|
+
|
|
137
|
+
- Model names use the `doubao-*` convention (e.g. `doubao-seedance-1-0-pro-250528`) — old short names like `seedance-1.0` are not valid
|
|
138
|
+
- The `content` array replaces the old `prompt` + `image_url` fields; always use `content`
|
|
139
|
+
- Image and text scenarios are mutually exclusive per content item — each item has either `text` or `image_url`, not both
|
|
140
|
+
- `first_frame`, `last_frame`, and `reference_image` roles are mutually exclusive scenarios — pick one pattern per request
|
|
141
|
+
- `generate_audio: true` is only supported by `doubao-seedance-1-5-pro-251215`; other models ignore this field
|
|
142
|
+
- Lite models are split: `*-lite-t2v-*` only accepts text, `*-lite-i2v-*` only accepts image-to-video
|
|
143
|
+
- Resolution options are `480p`, `720p`, `1080p` — there is no 360p or 540p
|
|
144
|
+
- `service_tier` values are `"default"` and `"flex"` (not "standard"/"premium")
|
|
145
|
+
- Duration range is **2–12 seconds** — values outside this range will fail
|
|
146
|
+
- Task states use `"succeeded"` (not "completed") — check for this value when polling
|
|
147
|
+
|
|
148
|
+
> **MCP:** `pip install mcp-seedance` | Hosted: `https://seedance.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seedream-image
|
|
3
|
+
description: Generate and edit AI images with Seedream (ByteDance) via AceDataCloud API. Use when creating images from text prompts, editing existing images, or working with high-resolution outputs. Supports Seedream 3.0 T2I, 4.0, 4.5, 5.0, and SeedEdit 3.0 models.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: acedatacloud
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN environment variable. Optionally pair with mcp-seedream for tool-use.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Seedream Image Generation
|
|
12
|
+
|
|
13
|
+
Generate and edit AI images through AceDataCloud's Seedream (ByteDance) API.
|
|
14
|
+
|
|
15
|
+
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X POST https://api.acedata.cloud/seedream/images \
|
|
21
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
|
+
-H "Content-Type: application/json" \
|
|
23
|
+
-d '{"prompt": "a cyberpunk cat wearing VR goggles in a neon city", "model": "doubao-seedream-5-0-260128"}'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
> **Async:** See [async task polling](../_shared/async-tasks.md). Poll via `POST /seedream/tasks` with `{"id": "..."}`.
|
|
27
|
+
## Models
|
|
28
|
+
|
|
29
|
+
| Model | Version | Best For |
|
|
30
|
+
|-------|---------|----------|
|
|
31
|
+
| `doubao-seedream-5-0-260128` | Seedream 5.0 | Latest, highest quality (default) |
|
|
32
|
+
| `doubao-seedream-4-5-251128` | Seedream 4.5 | High quality, balanced |
|
|
33
|
+
| `doubao-seedream-4-0-250828` | Seedream 4.0 | Reliable generation |
|
|
34
|
+
| `doubao-seedream-3-0-t2i-250415` | Seedream 3.0 T2I | Text-to-image, precise prompt following |
|
|
35
|
+
| `doubao-seededit-3-0-i2i-250628` | SeedEdit 3.0 | Image-to-image editing |
|
|
36
|
+
|
|
37
|
+
## Workflows
|
|
38
|
+
|
|
39
|
+
### 1. Text-to-Image
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
POST /seedream/images
|
|
43
|
+
{
|
|
44
|
+
"prompt": "a serene Japanese garden with cherry blossoms and a red bridge",
|
|
45
|
+
"model": "doubao-seedream-5-0-260128",
|
|
46
|
+
"size": "1K"
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 2. Image Editing (Image-to-Image)
|
|
51
|
+
|
|
52
|
+
Edit an existing image by providing the source image URL(s) and a descriptive prompt. Use the `doubao-seededit-3-0-i2i-250628` model for best editing results.
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
POST /seedream/images
|
|
56
|
+
{
|
|
57
|
+
"prompt": "change the sky to a golden sunset",
|
|
58
|
+
"model": "doubao-seededit-3-0-i2i-250628",
|
|
59
|
+
"image": ["https://example.com/photo.jpg"]
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 3. Async Generation with Task Polling
|
|
64
|
+
|
|
65
|
+
Pass a `callback_url` to receive results asynchronously via webhook, or poll `/seedream/tasks` for the result:
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
POST /seedream/images
|
|
69
|
+
{
|
|
70
|
+
"prompt": "an epic fantasy landscape",
|
|
71
|
+
"model": "doubao-seedream-5-0-260128",
|
|
72
|
+
"callback_url": "https://api.acedata.cloud/health"
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Poll the returned `task_id`:
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
POST /seedream/tasks
|
|
80
|
+
{"id": "<task_id>"}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Parameters
|
|
84
|
+
|
|
85
|
+
### Generation
|
|
86
|
+
|
|
87
|
+
| Parameter | Values | Description |
|
|
88
|
+
|-----------|--------|-------------|
|
|
89
|
+
| `model` | see Models table | Model to use (required) |
|
|
90
|
+
| `prompt` | string | Image description (required) |
|
|
91
|
+
| `size` | `"1K"`, `"2K"`, `"3K"`, `"4K"`, `"adaptive"` | Output resolution (e.g. `1K`=1024px, `2K`=2048px); `3K` only for Seedream 5.0 |
|
|
92
|
+
| `seed` | integer [-1, 2147483647] | Seed for reproducibility (Seedream 3.0 T2I / SeedEdit 3.0 only) |
|
|
93
|
+
| `guidance_scale` | number [1, 10] | Prompt adherence strength (3.0 models only; T2I default 2.5, edit default 5.5) |
|
|
94
|
+
| `sequential_image_generation` | `"auto"`, `"disabled"` | Generate related images in sequence (5.0, 4.5, 4.0 only) |
|
|
95
|
+
| `stream` | boolean | Stream images as they're generated (5.0, 4.5, 4.0 only) |
|
|
96
|
+
| `watermark` | boolean | Add AI-generated watermark (default: true) |
|
|
97
|
+
| `output_format` | `"jpeg"`, `"png"` | Output file format (Seedream 5.0 only; default: jpeg) |
|
|
98
|
+
| `response_format` | `"url"`, `"b64_json"` | Response format (default: url) |
|
|
99
|
+
| `tools` | array | Enable tools, e.g. `[{"type": "web_search"}]` (Seedream 5.0 only) |
|
|
100
|
+
| `callback_url` | string | Webhook URL for async delivery; returns `task_id` immediately |
|
|
101
|
+
|
|
102
|
+
### Editing
|
|
103
|
+
|
|
104
|
+
| Parameter | Required | Description |
|
|
105
|
+
|-----------|----------|-------------|
|
|
106
|
+
| `image` | Yes (for editing) | Array of image URLs or base64 strings (max 10MB each) |
|
|
107
|
+
| `prompt` | Yes | Describe the desired edit |
|
|
108
|
+
|
|
109
|
+
## Gotchas
|
|
110
|
+
|
|
111
|
+
- Model names now use the `doubao-*` naming convention (e.g. `doubao-seedream-5-0-260128`)
|
|
112
|
+
- Image editing uses the same `/seedream/images` endpoint with the `image` array parameter (no separate edit endpoint)
|
|
113
|
+
- `size` replaces separate `width`/`height` params; use `"1K"` for 1024×1024, `"2K"` for 2048×2048, etc.
|
|
114
|
+
- `3K` size is only supported by Seedream 5.0; `adaptive` selects the best aspect ratio automatically
|
|
115
|
+
- `seed` only works with `doubao-seedream-3-0-t2i-250415` and `doubao-seededit-3-0-i2i-250628`
|
|
116
|
+
- `guidance_scale` is only available for the 3.0-series models
|
|
117
|
+
- `stream` and `sequential_image_generation` are only available for Seedream 5.0, 4.5, and 4.0
|
|
118
|
+
- Pass `callback_url` to get a `task_id` immediately and avoid blocking; poll `/seedream/tasks` for the result — use `"https://api.acedata.cloud/health"` as a placeholder to force async mode without a real webhook
|
|
119
|
+
|
|
120
|
+
> **MCP:** `pip install mcp-seedream` | Hosted: `https://seedream.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: short-url
|
|
3
|
+
description: Create short URLs via AceDataCloud API. Use when generating shortened links for sharing, or batch-creating multiple short URLs at once. Supports custom slugs and expiration.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: acedatacloud
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN environment variable. Optionally pair with mcp-short-url for tool-use.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Short URL Service
|
|
12
|
+
|
|
13
|
+
Create short URLs through AceDataCloud's URL shortening API.
|
|
14
|
+
|
|
15
|
+
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X POST https://api.acedata.cloud/shorturl \
|
|
21
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
|
+
-H "Content-Type: application/json" \
|
|
23
|
+
-d '{"content": "https://example.com/very-long-url-path?with=params"}'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Workflows
|
|
27
|
+
|
|
28
|
+
### 1. Create a Short URL
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
POST /shorturl
|
|
32
|
+
{
|
|
33
|
+
"content": "https://example.com/article/2024/awesome-content"
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Response:
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"data": {
|
|
42
|
+
"url": "https://suro.id/abc123"
|
|
43
|
+
},
|
|
44
|
+
"success": true
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Parameters
|
|
49
|
+
|
|
50
|
+
| Parameter | Required | Description |
|
|
51
|
+
|-----------|----------|-------------|
|
|
52
|
+
| `content` | Yes | The original long URL to shorten |
|
|
53
|
+
|
|
54
|
+
## Gotchas
|
|
55
|
+
|
|
56
|
+
- Short URLs use the `suro.id` domain
|
|
57
|
+
- Results are returned synchronously — no task polling needed
|
|
58
|
+
- The `content` field must be a valid URL to shorten
|
|
59
|
+
|
|
60
|
+
> **MCP:** `pip install mcp-shorturl` | Hosted: `https://short-url.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sora-video
|
|
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
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: acedatacloud
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN environment variable. Optionally pair with mcp-sora for tool-use.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Sora Video Generation
|
|
12
|
+
|
|
13
|
+
Generate AI videos through AceDataCloud's OpenAI Sora API.
|
|
14
|
+
|
|
15
|
+
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X POST https://api.acedata.cloud/sora/videos \
|
|
21
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
|
+
-H "Content-Type: application/json" \
|
|
23
|
+
-d '{"prompt": "a golden retriever running on a beach at sunset", "model": "sora-2", "callback_url": "https://api.acedata.cloud/health"}'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
> **Async:** See [async task polling](../_shared/async-tasks.md). Poll via `POST /sora/tasks` with `{"task_id": "..."}`.
|
|
27
|
+
|
|
28
|
+
## Models
|
|
29
|
+
|
|
30
|
+
| Model | Duration | Quality | Best For |
|
|
31
|
+
|-------|----------|---------|----------|
|
|
32
|
+
| `sora-2` | 10–15s | Standard | Most tasks (default) |
|
|
33
|
+
| `sora-2-pro` | 10–25s | Higher | Premium quality, longer videos |
|
|
34
|
+
|
|
35
|
+
## Workflows
|
|
36
|
+
|
|
37
|
+
### 1. Text-to-Video
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
POST /sora/videos
|
|
41
|
+
{
|
|
42
|
+
"prompt": "a busy Tokyo street at night with neon signs reflecting in rain puddles",
|
|
43
|
+
"model": "sora-2",
|
|
44
|
+
"size": "small",
|
|
45
|
+
"duration": 10,
|
|
46
|
+
"orientation": "landscape"
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 2. Image-to-Video
|
|
51
|
+
|
|
52
|
+
Use reference images to guide generation.
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
POST /sora/videos
|
|
56
|
+
{
|
|
57
|
+
"prompt": "the scene gradually comes alive with gentle motion",
|
|
58
|
+
"image_urls": ["https://example.com/scene.jpg"],
|
|
59
|
+
"model": "sora-2",
|
|
60
|
+
"orientation": "landscape"
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 3. Character-Driven Video
|
|
65
|
+
|
|
66
|
+
Extract a character from an existing video and use them in a new scene.
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
POST /sora/videos
|
|
70
|
+
{
|
|
71
|
+
"prompt": "the character walks through a futuristic city",
|
|
72
|
+
"character_url": "https://example.com/source-video.mp4",
|
|
73
|
+
"character_start": 2.0,
|
|
74
|
+
"character_end": 5.0,
|
|
75
|
+
"model": "sora-2-pro"
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Parameters
|
|
80
|
+
|
|
81
|
+
| Parameter | Values | Description |
|
|
82
|
+
|-----------|--------|-------------|
|
|
83
|
+
| `model` | `"sora-2"`, `"sora-2-pro"` | Model to use (required) |
|
|
84
|
+
| `size` | `"small"`, `"large"` | Video resolution |
|
|
85
|
+
| `duration` | `10`, `15`, `25` | Duration in seconds (25 only with sora-2-pro) |
|
|
86
|
+
| `orientation` | `"landscape"` (16:9), `"portrait"` (9:16), `"square"` (1:1) | Video orientation |
|
|
87
|
+
| `version` | `"1.0"` | API version — version `1.0` enables duration up to 25s, orientation, character references, and image inputs |
|
|
88
|
+
|
|
89
|
+
## Gotchas
|
|
90
|
+
|
|
91
|
+
- Duration of **25 seconds** is only available with `sora-2-pro` model
|
|
92
|
+
- `size: "large"` produces higher resolution but costs more and takes longer
|
|
93
|
+
- Character-driven generation requires `character_start` and `character_end` timestamps (in seconds) from the source video
|
|
94
|
+
- `orientation` sets the aspect ratio — use `"portrait"` for mobile-first content
|
|
95
|
+
- Task states use `"succeeded"` (not "completed") — check for this value when polling
|
|
96
|
+
|
|
97
|
+
> **MCP:** `pip install mcp-sora` | Hosted: `https://sora.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
|