@acedatacloud/skills 2026.716.3 → 2026.716.5

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.716.3",
3
+ "version": "2026.716.5",
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",
@@ -29,14 +29,14 @@ curl -X POST https://api.acedata.cloud/kling/videos \
29
29
  | Model | Quality | Best For |
30
30
  |-------|---------|----------|
31
31
  | `kling-v3` | Latest | Best quality, flexible 3–15s duration, optional audio generation |
32
- | `kling-v3-omni` | Latest | Omni model with audio support, flexible 3–15s duration |
32
+ | `kling-v3-omni` | Latest | V3 Omni model with audio plus image/video references, flexible 3–15s duration |
33
33
  | `kling-v2-6` | High | High-quality output with optional audio (pro mode) |
34
34
  | `kling-v2-5-turbo` | High + Fast | Best speed/quality trade-off |
35
35
  | `kling-v2-master` | High | High-quality output |
36
36
  | `kling-v2-1-master` | High | Improved v2 |
37
37
  | `kling-v1-6` | Improved | Better quality than v1 |
38
38
  | `kling-v1` | Standard | Basic generation, lowest cost |
39
- | `kling-video-o1` | Premium | Highest quality (thinking model) |
39
+ | `kling-o1` | Premium | Independent O1 model with image/video references, 5s only |
40
40
 
41
41
  ## Quality Modes
42
42
 
@@ -78,7 +78,31 @@ POST /kling/videos
78
78
  }
79
79
  ```
80
80
 
81
- ### 3. Extend Video
81
+ ### 3. Omni References
82
+
83
+ Use `kling-o1` or `kling-v3-omni` with reference images and/or one reference video. Cite each item in the prompt using its one-based token.
84
+
85
+ ```json
86
+ POST /kling/videos
87
+ {
88
+ "action": "text2video",
89
+ "prompt": "turn <<<video_1>>> into hand-painted animation while preserving its motion",
90
+ "model": "kling-o1",
91
+ "mode": "std",
92
+ "duration": 5,
93
+ "video_list": [
94
+ {
95
+ "video_url": "https://example.com/source.mp4",
96
+ "refer_type": "base",
97
+ "keep_original_sound": "no"
98
+ }
99
+ ]
100
+ }
101
+ ```
102
+
103
+ Use `refer_type: "feature"` to reference style, motion, or a neighboring shot. Use `refer_type: "base"` to edit the supplied video. A base video cannot be combined with first/end frames.
104
+
105
+ ### 4. Extend Video
82
106
 
83
107
  Continue an existing video with additional seconds.
84
108
 
@@ -92,7 +116,7 @@ POST /kling/videos
92
116
  }
93
117
  ```
94
118
 
95
- ### 4. Motion Control
119
+ ### 5. Motion Control
96
120
 
97
121
  Apply precise camera/motion control from an image + reference video.
98
122
 
@@ -104,7 +128,7 @@ POST /kling/motion
104
128
  }
105
129
  ```
106
130
 
107
- ### 5. Lip Sync
131
+ ### 6. Lip Sync
108
132
 
109
133
  Create a lip-synced video from a source video plus either an audio track or input text.
110
134
 
@@ -117,7 +141,7 @@ POST /kling/lip-sync
117
141
  }
118
142
  ```
119
143
 
120
- ### 6. Talking Photo
144
+ ### 7. Talking Photo
121
145
 
122
146
  Animate a still portrait from an image plus an audio track.
123
147
 
@@ -138,15 +162,19 @@ POST /kling/talking-photo
138
162
  |-----------|--------|-------------|
139
163
  | `action` | `"text2video"`, `"image2video"`, `"extend"` | Generation mode |
140
164
  | `model` | See models table | Model to use |
165
+ | `prompt` | string | Required generation or continuation instructions |
141
166
  | `mode` | `"std"`, `"pro"`, `"4k"` | Quality mode (`4k` only for `kling-v3` / `kling-v3-omni`, incompatible with `camera_control`) |
142
- | `duration` | `5`, `10` (v3/v3-omni: `3`–`15`) | Duration in seconds |
167
+ | `duration` | O1: `5`; v3/v3-omni: `3`–`15`; others: `5`, `10` | Duration in seconds |
168
+ | `start_image_url` | URL | Required first frame for `action=image2video` |
169
+ | `end_image_url` | URL | Optional end frame for `image2video`; requires `start_image_url` |
170
+ | `video_id` | string | Existing Kling video ID required by `action=extend` |
143
171
  | `generate_audio` | `true`, `false` | Generate audio with video (v3, v3-omni, v2-6 pro only) |
144
172
  | `aspect_ratio` | `"16:9"`, `"9:16"`, `"1:1"` | Video aspect ratio |
145
173
  | `cfg_scale` | 0–1 | Prompt relevance strength |
146
174
  | `negative_prompt` | string | What to avoid in the video |
147
175
  | `camera_control` | object | Camera movement parameters |
148
- | `element_list` | array | Reference subjects from the element library (each item has `element_id`). Combined with `video_list`, total reference images + subjects 7 (or 4 if a reference video is included) |
149
- | `video_list` | array | Reference video(s) via `video_url` (MP4/MOV, 3–10s, ≤200MB, max 1 video). Each item has `video_url`, `refer_type` (`"feature"` or `"base"`), and optional `keep_original_sound` |
176
+ | `image_list` | array | Omni reference images for `kling-o1` / `kling-v3-omni`; each item has `image_url` and optional `type` (`first_frame` / `end_frame`). Up to 7 images without a reference video, or 4 with one, including first/end frames |
177
+ | `video_list` | array | One MP4/MOV Omni reference video for `kling-o1` / `kling-v3-omni` (3–10s, 720–2160px, 24–60fps, ≤200MB); item has `video_url`, `refer_type` (`feature` / `base`), and `keep_original_sound` (`yes` / `no`) |
150
178
  | `callback_url` | string | Async callback URL |
151
179
  | `mode` (`/kling/lip-sync`) | `"audio2video"`, `"text2video"` | Lip-sync mode |
152
180
  | `video_url` (`/kling/lip-sync`) | URL | Source video URL for lip-sync |
@@ -166,10 +194,14 @@ POST /kling/talking-photo
166
194
 
167
195
  ## Gotchas
168
196
 
169
- - `duration` supports `5` or `10` seconds for most models; `kling-v3` and `kling-v3-omni` support flexible `3`–`15` seconds
197
+ - `kling-o1` supports `duration=5` only; `kling-v3` and `kling-v3-omni` support flexible `3`–`15` seconds; most other models support `5` or `10`
170
198
  - `mode=4k` is only available for `kling-v3` and `kling-v3-omni` and is incompatible with `camera_control`
171
199
  - `generate_audio` enables synchronized audio generation (supported by `kling-v3`, `kling-v3-omni`, and `kling-v2-6` in pro mode)
172
200
  - `end_image_url` is only for `image2video` action — it defines the last frame
201
+ - Omni references are supported only by `kling-o1` and `kling-v3-omni`; cite them as `<<<image_N>>>` / `<<<video_1>>>`
202
+ - Omni reference requests do not support `negative_prompt`, `cfg_scale`, `camera_control`, or `mode=4k`
203
+ - With `video_list`, `generate_audio` must be `false`; a base video cannot be combined with first/end frames
204
+ - `element_list` is intentionally unavailable because upstream Element IDs are not tenant-scoped; use `image_list` for subject references
173
205
  - Motion control (`/kling/motion`) is a separate endpoint from video generation
174
206
  - Lip-sync is a separate endpoint (`/kling/lip-sync`) and requires `mode`; use `audio_url` for `audio2video` or `text` + voice fields for `text2video`
175
207
  - Talking-photo is a separate endpoint (`/kling/talking-photo`) and requires both `image_url` and `audio_url`
@@ -55,16 +55,28 @@ Operate Xiaohongshu through the generic `browser.*` tools in the user's attached
55
55
 
56
56
  ## Browse, search, detail, and profile
57
57
 
58
+ ### Reconstruct note cards from the semantic tree
59
+
60
+ On `https://www.xiaohongshu.com`, note cards commonly appear as repeated local sequences rather than one complete node. Reconstruct only recommendations, search results, and profile note grids with this deterministic scan:
61
+
62
+ 1. A card starts only at a **named** link whose same-origin path is exactly `/explore/<note-id>`, with one non-empty alphanumeric ID segment. An empty-name link never starts a card, regardless of its element type. When empty and named links share the same href, keep only the named link as the title and canonical URL.
63
+ 2. The card candidate range begins after that named title link and ends immediately before the next named valid note link. Within that bounded range, assign an author only when there is exactly one named same-origin `/user/profile/<user-id>` link with one non-empty alphanumeric ID segment. With zero or multiple candidates, report the author as unavailable or ambiguous rather than choosing one.
64
+ 3. A `section` node inside that same bounded range may concatenate title, author, and engagement text. Never replace the named title or author with aggregate text. Use an engagement number as a named metric only when its visible label or control identifies that metric; otherwise report it only as an unlabeled visible engagement value, never as likes/comments/favorites.
65
+ 4. Legal/footer links, category tabs, blank buttons, reserved paths such as settings, and repeated hrefs are not note results. If valid named note links are present, do not claim the list is missing merely because parent containers are noisy.
66
+ 5. Do not apply this heuristic to `creator.xiaohongshu.com` or an unfamiliar page type. If the canonical patterns are absent or change, read once after the expected page transition, then report the structure as unsupported instead of inventing cards or identifiers.
67
+
68
+ Apply this reconstruction before reporting that a supported `www.xiaohongshu.com` result list has no card data.
69
+
58
70
  ### Recommendations
59
71
 
60
- Read the attached home/recommendation page. Scroll in bounded steps with `browser.scroll`, reading after each step. Return the requested notes with title, author, visible engagement, and canonical note URL when available. Do not scrape indefinitely.
72
+ Read the attached home/recommendation page. Scroll in bounded steps with `browser.scroll`, reading after each step. Return the requested notes with title, author or an explicit unavailable/ambiguous author state, visible engagement, and canonical note URL when available. Do not scrape indefinitely.
61
73
 
62
74
  ### Search and filters
63
75
 
64
76
  1. Extract the keyword and optional filters: sort, note type, publish time, search scope, and location.
65
77
  2. Open the search UI, fill the visible search control with `browser.form_input`, submit with a fresh button ref or `browser.key`, and read the result page.
66
78
  3. Apply only requested filters using fresh refs, one control at a time. Read after each transition.
67
- 4. Return title, author, visible engagement, note URL, and any visible identifiers needed for a subsequent detail or interaction. Never invent IDs or tokens.
79
+ 4. Return title, author or an explicit unavailable/ambiguous author state, visible engagement, note URL, and any visible identifiers needed for a subsequent detail or interaction. Never invent IDs or tokens.
68
80
 
69
81
  ### Note details and comments
70
82
 
@@ -108,6 +108,15 @@ def test_browser_skill_matches_complete_local_runtime() -> None:
108
108
  assert "visibility" in text
109
109
  assert "products" in text
110
110
  assert "search and filters" in text
111
+ assert "/explore/<note-id>" in text
112
+ assert "/user/profile/<user-id>" in text
113
+ assert "empty-name link never starts a card" in text
114
+ assert "exactly one named same-origin" in text
115
+ assert "author as unavailable or ambiguous" in text
116
+ assert "explicit unavailable/ambiguous author state" in text
117
+ assert "unlabeled visible engagement value" in text
118
+ assert "do not apply this heuristic to `creator.xiaohongshu.com`" in text
119
+ assert "do not claim the list is missing" in text
111
120
  assert "note details and comments" in text
112
121
  assert "user profile" in text
113
122
  assert "like and favorite" in text