@acedatacloud/skills 2026.807.0 → 2026.808.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/package.json +1 -1
- package/skills/minimax-video/SKILL.md +11 -5
- package/skills/youtube/SKILL.md +26 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acedatacloud/skills",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.808.0",
|
|
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",
|
|
@@ -19,21 +19,23 @@ Generate 4–15 second videos through `POST https://api.acedata.cloud/minimax/vi
|
|
|
19
19
|
| Parameter | Values | Default |
|
|
20
20
|
| --- | --- | --- |
|
|
21
21
|
| `model` | `minimax-h3` | `minimax-h3` |
|
|
22
|
-
| `prompt` | non-empty string |
|
|
22
|
+
| `prompt` | non-empty string, max 7000 chars | required |
|
|
23
23
|
| `image_urls` | 1–9 public HTTP(S) URLs | omitted |
|
|
24
24
|
| `audio_urls` | 1–3 public HTTP(S) URLs | omitted |
|
|
25
|
+
| `resolution` | `768P`, `2K` | `2K` |
|
|
25
26
|
| `ratio` | `16:9`, `9:16` | `16:9` |
|
|
27
|
+
| `aigc_watermark` | boolean | false |
|
|
26
28
|
| `duration` | integer 4–15 | 4 |
|
|
27
29
|
| `async` | boolean | false |
|
|
28
30
|
| `callback_url` | public HTTP(S) webhook | omitted |
|
|
29
31
|
|
|
30
|
-
|
|
32
|
+
`prompt` is required in every mode. Audio also requires at least one image. Mode inference is deterministic:
|
|
31
33
|
|
|
32
34
|
1. `audio_urls` present → audio-guided video
|
|
33
35
|
2. otherwise `image_urls` present → image-to-video
|
|
34
36
|
3. otherwise → text-to-video
|
|
35
37
|
|
|
36
|
-
Public
|
|
38
|
+
Public pricing is **$0.057143/s for 768P** and **$0.091429/s for 2K** on the largest package. Failed tasks are not charged.
|
|
37
39
|
|
|
38
40
|
## Text to video
|
|
39
41
|
|
|
@@ -44,8 +46,9 @@ curl -X POST https://api.acedata.cloud/minimax/videos \
|
|
|
44
46
|
-d '{
|
|
45
47
|
"model": "minimax-h3",
|
|
46
48
|
"prompt": "A red fox running through a snowy forest at dawn, low tracking shot",
|
|
49
|
+
"resolution": "768P",
|
|
47
50
|
"ratio": "16:9",
|
|
48
|
-
"duration":
|
|
51
|
+
"duration": 4,
|
|
49
52
|
"async": true
|
|
50
53
|
}'
|
|
51
54
|
```
|
|
@@ -60,6 +63,7 @@ curl -X POST https://api.acedata.cloud/minimax/videos \
|
|
|
60
63
|
"https://cdn.acedata.cloud/b1c82e4937.png",
|
|
61
64
|
"https://cdn.acedata.cloud/eb75d88a3f.png"
|
|
62
65
|
],
|
|
66
|
+
"resolution": "768P",
|
|
63
67
|
"ratio": "9:16",
|
|
64
68
|
"duration": 8,
|
|
65
69
|
"async": true
|
|
@@ -74,6 +78,7 @@ curl -X POST https://api.acedata.cloud/minimax/videos \
|
|
|
74
78
|
"prompt": "A dancer moves naturally to the rhythm",
|
|
75
79
|
"image_urls": ["https://cdn.acedata.cloud/b1c82e4937.png"],
|
|
76
80
|
"audio_urls": ["https://cdn.acedata.cloud/6f7d62b18b.wav"],
|
|
81
|
+
"resolution": "768P",
|
|
77
82
|
"ratio": "9:16",
|
|
78
83
|
"duration": 8,
|
|
79
84
|
"async": true
|
|
@@ -95,6 +100,7 @@ Continue polling about every five seconds until `response.success` is true or an
|
|
|
95
100
|
|
|
96
101
|
- Do not send `action` to `/minimax/videos`; the API infers the mode from media inputs.
|
|
97
102
|
- `duration` must be an integer, not a decimal.
|
|
98
|
-
- Audio mode
|
|
103
|
+
- Audio mode requires both `prompt` and at least one `image_urls` entry.
|
|
104
|
+
- Single-image mode uses the image as the first frame; multiple images are references.
|
|
99
105
|
- Use public URLs that the generation service can download.
|
|
100
106
|
- Returned videos are served from AceDataCloud CDN.
|
package/skills/youtube/SKILL.md
CHANGED
|
@@ -10,7 +10,7 @@ when_to_use: |
|
|
|
10
10
|
install time to publish videos — confirm before uploading and
|
|
11
11
|
re-prompt to re-install if the upload scope is missing.
|
|
12
12
|
connections: [google/youtube]
|
|
13
|
-
allowed_tools: [Bash]
|
|
13
|
+
allowed_tools: [Bash, publish_artifact]
|
|
14
14
|
license: Apache-2.0
|
|
15
15
|
metadata:
|
|
16
16
|
author: acedatacloud
|
|
@@ -146,18 +146,28 @@ FILE="${FILE:-/path/to/video.mp4}"
|
|
|
146
146
|
TITLE="My title"
|
|
147
147
|
DESC="My description"
|
|
148
148
|
# privacyStatus: public | unlisted | private
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
# 1. Init resumable session
|
|
155
|
-
|
|
149
|
+
META=$(jq -n --arg title "$TITLE" --arg description "$DESC" '{
|
|
150
|
+
snippet: {title: $title, description: $description, categoryId: "22"},
|
|
151
|
+
status: {privacyStatus: "unlisted", selfDeclaredMadeForKids: false}
|
|
152
|
+
}')
|
|
153
|
+
|
|
154
|
+
# 1. Init the resumable session. Keep headers, body and status so a missing
|
|
155
|
+
# Location reports the real API error instead of turning into an empty PUT URL.
|
|
156
|
+
INIT_HEADERS=$(mktemp)
|
|
157
|
+
INIT_BODY=$(mktemp)
|
|
158
|
+
INIT_HTTP=$(curl -sS -D "$INIT_HEADERS" -o "$INIT_BODY" -w '%{http_code}' \
|
|
156
159
|
-H "Authorization: Bearer $GOOGLE_YOUTUBE_TOKEN" \
|
|
157
160
|
-H "Content-Type: application/json; charset=UTF-8" \
|
|
158
161
|
-H "X-Upload-Content-Type: video/*" \
|
|
159
162
|
-X POST "https://www.googleapis.com/upload/youtube/v3/videos?uploadType=resumable&part=snippet,status" \
|
|
160
|
-
-d "$META"
|
|
163
|
+
-d "$META")
|
|
164
|
+
UPLOAD_URL=$(tr -d '\r' < "$INIT_HEADERS" | awk 'tolower($1) == "location:" {print $2; exit}')
|
|
165
|
+
if [ -z "$UPLOAD_URL" ]; then
|
|
166
|
+
echo "upload init failed: HTTP $INIT_HTTP: $(jq -r '.error.message // .' "$INIT_BODY" 2>/dev/null || cat "$INIT_BODY")"
|
|
167
|
+
rm -f "$INIT_HEADERS" "$INIT_BODY"
|
|
168
|
+
exit 1
|
|
169
|
+
fi
|
|
170
|
+
rm -f "$INIT_HEADERS" "$INIT_BODY"
|
|
161
171
|
|
|
162
172
|
# 2. Upload the bytes -> returns the created video resource (has .id).
|
|
163
173
|
RESULT=$(curl -sS -H "Authorization: Bearer $GOOGLE_YOUTUBE_TOKEN" \
|
|
@@ -173,6 +183,13 @@ Delete a downloaded temp file only **after** you've confirmed an id came back
|
|
|
173
183
|
dropped connection the download is still good and re-uploading beats re-fetching
|
|
174
184
|
a few hundred MB.
|
|
175
185
|
|
|
186
|
+
After a confirmed upload returns a real `.id`, call `publish_artifact` exactly
|
|
187
|
+
once so the result appears in **My Outputs**. Use `kind="video"`,
|
|
188
|
+
`channel="youtube"`, `status="delivered"`, the real title, and the canonical
|
|
189
|
+
`https://www.youtube.com/watch?v=<id>` URL. Include the actual privacy in the
|
|
190
|
+
summary. If the upload fails or no `.id` is returned, do not record a delivered
|
|
191
|
+
artifact and never fabricate a URL.
|
|
192
|
+
|
|
176
193
|
`categoryId` `22` = "People & Blogs" (a safe default). To set a custom
|
|
177
194
|
thumbnail (needs the file to be processed first), call
|
|
178
195
|
`POST /upload/youtube/v3/thumbnails/set?videoId=VIDEO_ID` with the image.
|