@acedatacloud/skills 2026.727.0 → 2026.727.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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acedatacloud/skills",
|
|
3
|
-
"version": "2026.727.
|
|
3
|
+
"version": "2026.727.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",
|
|
@@ -61,19 +61,25 @@ POST /face/beautify
|
|
|
61
61
|
|
|
62
62
|
### 3. Age Transformation
|
|
63
63
|
|
|
64
|
+
`age_infos` is required — one entry per face, each carrying the target `age`.
|
|
65
|
+
|
|
64
66
|
```json
|
|
65
67
|
POST /face/change-age
|
|
66
68
|
{
|
|
67
|
-
"image_url": "https://example.com/portrait.jpg"
|
|
69
|
+
"image_url": "https://example.com/portrait.jpg",
|
|
70
|
+
"age_infos": [{ "age": 60 }]
|
|
68
71
|
}
|
|
69
72
|
```
|
|
70
73
|
|
|
71
74
|
### 4. Gender Swap
|
|
72
75
|
|
|
76
|
+
`gender_infos` is required. `gender` is `0` to turn a male face female, `1` for the reverse.
|
|
77
|
+
|
|
73
78
|
```json
|
|
74
79
|
POST /face/change-gender
|
|
75
80
|
{
|
|
76
|
-
"image_url": "https://example.com/portrait.jpg"
|
|
81
|
+
"image_url": "https://example.com/portrait.jpg",
|
|
82
|
+
"gender_infos": [{ "gender": 1 }]
|
|
77
83
|
}
|
|
78
84
|
```
|
|
79
85
|
|
|
@@ -113,7 +119,19 @@ POST /face/detect-live
|
|
|
113
119
|
|
|
114
120
|
| Parameter | Required | Description |
|
|
115
121
|
|-----------|----------|-------------|
|
|
116
|
-
| `image_url` | Yes (
|
|
122
|
+
| `image_url` | Yes (all except `/face/swap`) | Source face image URL |
|
|
123
|
+
|
|
124
|
+
### `/face/change-age`
|
|
125
|
+
|
|
126
|
+
| Parameter | Required | Description |
|
|
127
|
+
|-----------|----------|-------------|
|
|
128
|
+
| `age_infos` | Yes | Array of `{ "age": <number> }`, one per face. Omitting it returns `400 age_infos is required` |
|
|
129
|
+
|
|
130
|
+
### `/face/change-gender`
|
|
131
|
+
|
|
132
|
+
| Parameter | Required | Description |
|
|
133
|
+
|-----------|----------|-------------|
|
|
134
|
+
| `gender_infos` | Yes | Array of `{ "gender": 0\|1 }` — `0` male→female, `1` female→male. Each entry also accepts an optional `face_rect` |
|
|
117
135
|
|
|
118
136
|
### `/face/swap`
|
|
119
137
|
|
|
@@ -36,6 +36,8 @@ Synchronous responses return a direct audio URL:
|
|
|
36
36
|
|----------|---------|
|
|
37
37
|
| `POST /fish/tts` | Text-to-speech generation |
|
|
38
38
|
| `GET /fish/model` | Browse/search public Fish reference voices |
|
|
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 |
|
|
39
41
|
| `POST /fish/tasks` | Poll async TTS jobs when `async: true` |
|
|
40
42
|
|
|
41
43
|
## Workflows
|
|
@@ -115,4 +117,4 @@ Headers:
|
|
|
115
117
|
- Choose the Fish engine with the **`model` request header**, not a JSON `model` field.
|
|
116
118
|
- Use `reference_id` from `GET /fish/model` — not `voice_id`.
|
|
117
119
|
- Synchronous requests return `audio_url` directly; async jobs should be polled via `/fish/tasks`.
|
|
118
|
-
-
|
|
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`.
|
|
@@ -50,9 +50,11 @@ Response (both endpoints): `{"data":[{"url":"https://...png"}]}` → download `d
|
|
|
50
50
|
|---|---|
|
|
51
51
|
| 16:9 | `1792x1024` (HD), `2048x1152`, `3840x2160` (4K) |
|
|
52
52
|
| 9:16 | `1024x1792`, `1152x2048`, `2160x3840` |
|
|
53
|
-
| 1:1 | `1024x1024`, `2048x2048`, `
|
|
53
|
+
| 1:1 | `1024x1024`, `2048x2048`, `2880x2880` (4K) |
|
|
54
54
|
|
|
55
|
-
(Omit `size` or use `"auto"` to let the model pick.
|
|
55
|
+
(Omit `size` or use `"auto"` to let the model pick. Custom sizes must have both sides a
|
|
56
|
+
multiple of 16, each side ≤ 3840, total pixels between 655,360 and 8,294,400, and an aspect
|
|
57
|
+
ratio ≤ 3:1 — otherwise 400.)
|
|
56
58
|
|
|
57
59
|
## Tips
|
|
58
60
|
|
|
@@ -61,4 +63,7 @@ Response (both endpoints): `{"data":[{"url":"https://...png"}]}` → download `d
|
|
|
61
63
|
- For **character/scene consistency** across video beats, generate one hero image, then
|
|
62
64
|
`edits` it per beat instead of regenerating from scratch.
|
|
63
65
|
- Text in images renders legibly — good for titles/labels you don't want to overlay in HTML.
|
|
64
|
-
-
|
|
66
|
+
- `n` accepts **1–10** and you are billed **per image returned**, not per request — `n: 4`
|
|
67
|
+
costs 4×. (`response_format: "b64_json"` still requires `n: 1`.)
|
|
68
|
+
- Both endpoints are synchronous by default. For long 4K jobs pass `callback_url` (optionally
|
|
69
|
+
with `async: true`) and poll `POST /openai/tasks` with `{"id": "<task_id>"}`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sora-video
|
|
3
|
-
description:
|
|
3
|
+
description: UNAVAILABLE — the Sora endpoints now return 404 and the service is unpublished; use veo-video, kling-video or seedance-video instead. Historical reference for AceDataCloud's OpenAI Sora API. Was used 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,6 +10,13 @@ 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
|
+
|
|
13
20
|
Generate AI videos through AceDataCloud's OpenAI Sora API.
|
|
14
21
|
|
|
15
22
|
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
@@ -81,10 +88,10 @@ POST /sora/videos
|
|
|
81
88
|
| Parameter | Values | Description |
|
|
82
89
|
|-----------|--------|-------------|
|
|
83
90
|
| `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)
|
|
87
|
-
| `version` | `"1.0"` | API version
|
|
91
|
+
| `size` | `"small"`, `"large"`, `"720x1280"`, `"1280x720"`, `"1024x1792"`, `"1792x1024"` | Video resolution |
|
|
92
|
+
| `duration` | `4`, `8`, `10`, `12`, `15`, `25` | Duration in seconds (25 only with sora-2-pro; version 2.0 supports 4/8/12) |
|
|
93
|
+
| `orientation` | `"landscape"` (16:9), `"portrait"` (9:16) | Video orientation — version 1.0 only |
|
|
94
|
+
| `version` | `"1.0"` (default), `"2.0"` | API version. `1.0` enables duration up to 25s, `orientation`, character references and image inputs; `2.0` uses pixel `size` values and drops `orientation` |
|
|
88
95
|
|
|
89
96
|
## Gotchas
|
|
90
97
|
|
|
@@ -94,4 +101,4 @@ POST /sora/videos
|
|
|
94
101
|
- `orientation` sets the aspect ratio — use `"portrait"` for mobile-first content
|
|
95
102
|
- Task states use `"succeeded"` (not "completed") — check for this value when polling
|
|
96
103
|
|
|
97
|
-
> **MCP:**
|
|
104
|
+
> **MCP:** the hosted endpoint `https://sora.mcp.acedata.cloud/mcp` currently returns 503, in line with the service being unavailable. See [all MCP servers](../_shared/mcp-servers.md)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: veo-video
|
|
3
|
-
description: Generate AI videos with Google Veo via AceDataCloud API. Use when creating videos from text descriptions, animating still images into video, upscaling/extending videos, re-shooting with new camera motion, or inserting/removing objects. Supports Veo
|
|
3
|
+
description: Generate AI videos with Google Veo via AceDataCloud API. Use when creating videos from text descriptions, animating still images into video, upscaling/extending videos, re-shooting with new camera motion, or inserting/removing objects. Supports Veo 3 and Veo 3.1 models including fast and ingredient variants.
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: acedatacloud
|
|
@@ -37,7 +37,6 @@ curl -X POST https://api.acedata.cloud/veo/tasks \
|
|
|
37
37
|
|
|
38
38
|
| Model | Audio | Best For |
|
|
39
39
|
|-------|-------|----------|
|
|
40
|
-
| `veo2-fast` | No | Fast, cost-effective generation (default) |
|
|
41
40
|
| `veo3` | Yes (native) | Full audiovisual generation |
|
|
42
41
|
| `veo3-fast` | Yes (native) | Faster audiovisual generation |
|
|
43
42
|
| `veo31` | Yes (native) | Veo 3.1, highest quality |
|
|
@@ -68,7 +67,7 @@ POST /veo/videos
|
|
|
68
67
|
"action": "image2video",
|
|
69
68
|
"prompt": "the scene gently comes to life with wind and subtle motion",
|
|
70
69
|
"image_urls": ["https://example.com/landscape.jpg"],
|
|
71
|
-
"model": "
|
|
70
|
+
"model": "veo31-fast",
|
|
72
71
|
"aspect_ratio": "16:9"
|
|
73
72
|
}
|
|
74
73
|
```
|
|
@@ -107,7 +106,7 @@ POST /veo/videos
|
|
|
107
106
|
| Parameter | Values | Description |
|
|
108
107
|
|-----------|--------|-------------|
|
|
109
108
|
| `action` | `"text2video"`, `"image2video"`, `"ingredients2video"`, `"get1080p"` | Generation mode |
|
|
110
|
-
| `model` | see Models table | Model to use
|
|
109
|
+
| `model` | see Models table | Model to use |
|
|
111
110
|
| `resolution` | `"4k"`, `"1080p"`, `"gif"` | Output resolution (default: 720p) |
|
|
112
111
|
| `aspect_ratio` | `"16:9"`, `"9:16"` | Aspect ratio — only valid for `image2video` |
|
|
113
112
|
| `image_urls` | array of strings | Reference image URLs — for `image2video` (up to 2) or `ingredients2video` (up to 3) |
|
|
@@ -118,23 +117,6 @@ POST /veo/videos
|
|
|
118
117
|
|
|
119
118
|
After generating a video, use these endpoints to further process it:
|
|
120
119
|
|
|
121
|
-
### Upsample (`POST /veo/upsample`)
|
|
122
|
-
|
|
123
|
-
Upscale a generated video to 1080p, 4K, or convert to GIF.
|
|
124
|
-
|
|
125
|
-
```json
|
|
126
|
-
POST /veo/upsample
|
|
127
|
-
{
|
|
128
|
-
"video_id": "your-video-id",
|
|
129
|
-
"action": "4k"
|
|
130
|
-
}
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
| Parameter | Values | Description |
|
|
134
|
-
|-----------|--------|-------------|
|
|
135
|
-
| `video_id` | string | Task ID from `/veo/videos`, `/veo/extend`, `/veo/reshoot`, or `/veo/objects` |
|
|
136
|
-
| `action` | `"1080p"`, `"4k"`, `"gif"` | Upsample target |
|
|
137
|
-
|
|
138
120
|
### Extend (`POST /veo/extend`)
|
|
139
121
|
|
|
140
122
|
Continue an existing video — AI auto-generates the next segment.
|
|
@@ -150,62 +132,13 @@ POST /veo/extend
|
|
|
150
132
|
|
|
151
133
|
| Parameter | Values | Description |
|
|
152
134
|
|-----------|--------|-------------|
|
|
153
|
-
| `video_id` | string | Task ID from `/veo/videos` or a prior `/veo/extend` |
|
|
154
|
-
| `model` | `"veo31-fast"`, `"veo31"` | Only Veo 3.1 series is supported |
|
|
135
|
+
| `video_id` | string | **Required.** Task ID from `/veo/videos` or a prior `/veo/extend` |
|
|
136
|
+
| `model` | `"veo31-fast"`, `"veo31"` | **Required.** Only Veo 3.1 series is supported |
|
|
155
137
|
| `prompt` | string | Optional: guides the extended segment |
|
|
156
138
|
|
|
157
|
-
### Reshoot (`POST /veo/reshoot`)
|
|
158
|
-
|
|
159
|
-
Re-render a video keeping the same content but applying new camera motion.
|
|
160
|
-
|
|
161
|
-
```json
|
|
162
|
-
POST /veo/reshoot
|
|
163
|
-
{
|
|
164
|
-
"video_id": "your-video-id",
|
|
165
|
-
"motion_type": "LEFT_TO_RIGHT"
|
|
166
|
-
}
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
| Parameter | Values | Description |
|
|
170
|
-
|-----------|--------|-------------|
|
|
171
|
-
| `video_id` | string | Task ID from `/veo/videos` (cannot use `/veo/extend` output) |
|
|
172
|
-
| `motion_type` | see table below | Camera motion to apply |
|
|
173
|
-
|
|
174
|
-
**`motion_type` values:**
|
|
175
|
-
`STATIONARY`, `STATIONARY_UP`, `STATIONARY_DOWN`, `STATIONARY_LEFT`, `STATIONARY_RIGHT`, `STATIONARY_DOLLY_IN_ZOOM_OUT`, `STATIONARY_DOLLY_OUT_ZOOM_IN`, `UP`, `DOWN`, `LEFT_TO_RIGHT`, `RIGHT_TO_LEFT`, `FORWARD`, `BACKWARD`, `DOLLY_IN_ZOOM_OUT`, `DOLLY_OUT_ZOOM_IN`
|
|
176
|
-
|
|
177
|
-
### Objects (`POST /veo/objects`)
|
|
178
|
-
|
|
179
|
-
Insert or remove objects in a video using mask-based inpainting.
|
|
180
|
-
|
|
181
|
-
```json
|
|
182
|
-
POST /veo/objects
|
|
183
|
-
{
|
|
184
|
-
"video_id": "your-video-id",
|
|
185
|
-
"action": "insert",
|
|
186
|
-
"prompt": "add a flying bird"
|
|
187
|
-
}
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
```json
|
|
191
|
-
POST /veo/objects
|
|
192
|
-
{
|
|
193
|
-
"video_id": "your-video-id",
|
|
194
|
-
"action": "remove",
|
|
195
|
-
"image_mask": "https://example.com/mask.jpg"
|
|
196
|
-
}
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
| Parameter | Values | Description |
|
|
200
|
-
|-----------|--------|-------------|
|
|
201
|
-
| `video_id` | string | Task ID (cannot use `/veo/extend` output) |
|
|
202
|
-
| `action` | `"insert"`, `"remove"` | Operation type |
|
|
203
|
-
| `prompt` | string | Required for `insert`; optional for `remove` |
|
|
204
|
-
| `image_mask` | string | URL or base64 JPEG — white pixels = target region. Required for `remove`; optional for `insert` |
|
|
205
|
-
|
|
206
139
|
## Gotchas
|
|
207
140
|
|
|
208
|
-
- Veo 3 and 3.1 models generate **native audio**
|
|
141
|
+
- Veo 3 and 3.1 models generate **native audio**
|
|
209
142
|
- The `get1080p` action uses `video_id` (from a prior generation), not a URL
|
|
210
143
|
- `aspect_ratio` is **only valid** for the `image2video` action
|
|
211
144
|
- `image_urls` accepts an array — up to 2 images for `image2video`, up to 3 for `ingredients2video`
|
|
@@ -214,6 +147,5 @@ POST /veo/objects
|
|
|
214
147
|
- `translation: true` auto-translates Chinese or other non-English prompts before sending to Veo
|
|
215
148
|
- Task polling uses `id` (not `task_id`) in the `/veo/tasks` request body
|
|
216
149
|
- Task states use `"succeeded"` (not "completed") — check for this value when polling
|
|
217
|
-
- `/veo/extend` output **cannot** be used as input for `/veo/reshoot` or `/veo/objects`
|
|
218
150
|
|
|
219
151
|
> **MCP:** `pip install mcp-veo` | Hosted: `https://veo.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
|
|
@@ -106,9 +106,10 @@ POST /webextrator/tasks
|
|
|
106
106
|
| `wait_for_selector` | No | CSS selector to wait for before ready |
|
|
107
107
|
| `block_resources` | No | Drop `image`/`font`/`media`/`stylesheet`/`xhr`/`fetch` |
|
|
108
108
|
| `headers` | No | Extra request headers for the target site |
|
|
109
|
+
| `user_agent` | No | Override the browser User-Agent |
|
|
109
110
|
| `cookies` | No | Cookies to install before navigation |
|
|
110
|
-
| `
|
|
111
|
-
| `callback_url` | No | Posted the final envelope when
|
|
111
|
+
| `async` | No | `true` submits without blocking; poll `/webextrator/tasks` for the result |
|
|
112
|
+
| `callback_url` | No | Posted the final envelope when running asynchronously |
|
|
112
113
|
| `bypass_cache` | No | Skip the Redis result cache for this request |
|
|
113
114
|
| `cache_ttl_seconds` | No | Override cache TTL; `0` disables caching |
|
|
114
115
|
|