@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.0",
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 (most endpoints) | Source face image URL |
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
- - The current OpenAPI spec documents voice browsing via `GET /fish/model`; it does **not** document a voice-cloning write endpoint.
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`, `4096x4096` |
53
+ | 1:1 | `1024x1024`, `2048x2048`, `2880x2880` (4K) |
54
54
 
55
- (Omit `size` or use `"auto"` to let the model pick. Invalid sizes 400.)
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
- - Both endpoints are synchronous; no `/tasks` polling.
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: 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.
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), `"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 |
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:** `pip install mcp-sora` | Hosted: `https://sora.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
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 2 Fast, Veo 3, and Veo 3.1 models including fast and ingredient variants.
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": "veo2-fast",
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 (default: `veo2-fast`) |
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** — `veo2-fast` does NOT support 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
- | `mode` | No | `sync` (default) or `async` (returns job id) |
111
- | `callback_url` | No | Posted the final envelope when `mode=async` |
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