@acedatacloud/skills 2026.713.3 → 2026.713.4

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 CHANGED
@@ -22,6 +22,7 @@ Skills are located in the `skills/` directory (also mirrored to `.agents/skills/
22
22
  - **veo-video** — Generate videos with Google Veo (native audio)
23
23
  - **kling-video** — Generate videos with Kuaishou Kling (motion control)
24
24
  - **hailuo-video** — Generate videos with Hailuo / MiniMax
25
+ - **happyhorse-video** — Generate and edit videos with Happy Horse
25
26
  - **seedance-video** — Generate dance/motion videos with ByteDance Seedance
26
27
  - **wan-video** — Generate videos with Alibaba Wan
27
28
  - **maestro-video** — Produce complete videos from a brief with scripting, media, voiceover, editing, captions, and multilingual variants
package/README.md CHANGED
@@ -39,6 +39,7 @@ Compatible with **30+ AI coding agents** via the [agentskills.io](https://agents
39
39
  | [veo-video](skills/veo-video/) | Generate videos with Google Veo (native audio) |
40
40
  | [kling-video](skills/kling-video/) | Generate videos with Kuaishou Kling (motion control) |
41
41
  | [hailuo-video](skills/hailuo-video/) | Generate videos with Hailuo / MiniMax |
42
+ | [happyhorse-video](skills/happyhorse-video/) | Generate and edit videos with Happy Horse |
42
43
  | [seedance-video](skills/seedance-video/) | Generate dance/motion videos with ByteDance Seedance |
43
44
  | [maestro-video](skills/maestro-video/) | Produce complete videos from a brief with script, media, voiceover, captions, and editing |
44
45
 
@@ -211,6 +212,7 @@ Skills provide **knowledge** (when to use, parameters, gotchas). MCP servers pro
211
212
  | veo-video | [mcp-veo](https://pypi.org/project/mcp-veo/) | `pip install mcp-veo` | `https://veo.mcp.acedata.cloud/mcp` |
212
213
  | seedream-image | [mcp-seedream](https://pypi.org/project/mcp-seedream/) | `pip install mcp-seedream` | `https://seedream.mcp.acedata.cloud/mcp` |
213
214
  | seedance-video | [mcp-seedance](https://pypi.org/project/mcp-seedance/) | `pip install mcp-seedance` | `https://seedance.mcp.acedata.cloud/mcp` |
215
+ | happyhorse-video | [mcp-happyhorse](https://pypi.org/project/mcp-happyhorse/) | `pip install mcp-happyhorse` | `https://happyhorse.mcp.acedata.cloud/mcp` |
214
216
  | maestro-video | [mcp-maestro](https://pypi.org/project/mcp-maestro/) | `pip install mcp-maestro` | `https://maestro.mcp.acedata.cloud/mcp` |
215
217
  | nano-banana-image | [mcp-nano-banana](https://pypi.org/project/mcp-nano-banana/) | `pip install mcp-nano-banana` | `https://nano-banana.mcp.acedata.cloud/mcp` |
216
218
  | short-url | [mcp-shorturl](https://pypi.org/project/mcp-shorturl/) | `pip install mcp-shorturl` | `https://short-url.mcp.acedata.cloud/mcp` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acedatacloud/skills",
3
- "version": "2026.713.3",
3
+ "version": "2026.713.4",
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",
@@ -16,6 +16,7 @@
16
16
  "luma",
17
17
  "sora",
18
18
  "veo",
19
+ "happyhorse",
19
20
  "ai-music",
20
21
  "ai-image",
21
22
  "ai-video",
@@ -15,6 +15,7 @@ Each AceDataCloud service has a corresponding MCP server that provides tool-use
15
15
  | veo-video | `pip install mcp-veo` | `https://veo.mcp.acedata.cloud/mcp` |
16
16
  | seedream-image | `pip install mcp-seedream` | `https://seedream.mcp.acedata.cloud/mcp` |
17
17
  | seedance-video | `pip install mcp-seedance` | `https://seedance.mcp.acedata.cloud/mcp` |
18
+ | happyhorse-video | `pip install mcp-happyhorse` | `https://happyhorse.mcp.acedata.cloud/mcp` |
18
19
  | maestro-video | `pip install mcp-maestro` | `https://maestro.mcp.acedata.cloud/mcp` |
19
20
  | nano-banana-image | `pip install mcp-nano-banana` | `https://nano-banana.mcp.acedata.cloud/mcp` |
20
21
  | short-url | `pip install mcp-shorturl` | `https://short-url.mcp.acedata.cloud/mcp` |
@@ -0,0 +1,190 @@
1
+ ---
2
+ name: happyhorse-video
3
+ description: Generate and edit AI videos with Happy Horse via AceDataCloud API. Use when creating videos from text prompts, animating a first-frame image, generating scenes from up to 9 subject or style reference images, or editing an existing video with optional references. Supports 720P/1080P output, 3-15 second generation, aspect-ratio control, audio preservation, seeds, callbacks, and asynchronous task polling.
4
+ license: Apache-2.0
5
+ metadata:
6
+ author: acedatacloud
7
+ version: "1.0"
8
+ compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-happyhorse for tool-use.
9
+ ---
10
+
11
+ # Happy Horse Video Generation and Editing
12
+
13
+ Use Happy Horse through AceDataCloud for text-to-video, first-frame animation, reference-guided
14
+ generation, and video editing.
15
+
16
+ > **Setup:** See [authentication](../_shared/authentication.md) for token setup.
17
+
18
+ ## Choose an Action
19
+
20
+ | Goal | `action` | Valid models | Required input |
21
+ |---|---|---|---|
22
+ | Generate from text | `generate` | `happyhorse-1.0-t2v`, `happyhorse-1.1-t2v` | `prompt` |
23
+ | Animate one image | `image_to_video` | `happyhorse-1.0-i2v`, `happyhorse-1.1-i2v` | `image_url` |
24
+ | Generate from references | `reference_to_video` | `happyhorse-1.0-r2v`, `happyhorse-1.1-r2v` | `prompt`, 1-9 `image_urls` |
25
+ | Edit a video | `video_edit` | `happyhorse-1.0-video-edit` | `prompt`, `video_url` |
26
+
27
+ The 1.1 model is the default where available. Video editing currently has only a 1.0 model.
28
+
29
+ ## Quick Start
30
+
31
+ Submit text-to-video asynchronously:
32
+
33
+ ```bash
34
+ curl -X POST https://api.acedata.cloud/happyhorse/videos \
35
+ -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
36
+ -H "Content-Type: application/json" \
37
+ -d '{
38
+ "action": "generate",
39
+ "model": "happyhorse-1.1-t2v",
40
+ "prompt": "A cinematic white horse crossing a snowy ridge at sunrise, wind moving its mane, slow camera push",
41
+ "resolution": "720P",
42
+ "ratio": "16:9",
43
+ "duration": 5,
44
+ "async": true
45
+ }'
46
+ ```
47
+
48
+ The response contains a `task_id`. Poll it after about 15 seconds:
49
+
50
+ ```bash
51
+ curl -X POST https://api.acedata.cloud/happyhorse/tasks \
52
+ -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
53
+ -H "Content-Type: application/json" \
54
+ -d '{"id": "<task_id>", "action": "retrieve"}'
55
+ ```
56
+
57
+ > **Async:** See [async task polling](../_shared/async-tasks.md). Continue until
58
+ > `response.data[].video_url` appears or a terminal error is returned.
59
+
60
+ ## Workflows
61
+
62
+ ### Text-to-Video
63
+
64
+ Use `generate` when no visual input exists. Describe the subject, action, environment, camera,
65
+ lighting, and style.
66
+
67
+ ```json
68
+ POST /happyhorse/videos
69
+ {
70
+ "action": "generate",
71
+ "model": "happyhorse-1.1-t2v",
72
+ "prompt": "A white horse gallops across a moonlit beach, side tracking shot, silver reflections, cinematic realism",
73
+ "resolution": "1080P",
74
+ "ratio": "16:9",
75
+ "duration": 8,
76
+ "seed": 42
77
+ }
78
+ ```
79
+
80
+ ### First-Frame Image-to-Video
81
+
82
+ Use `image_to_video` to animate one image. `prompt` is optional but useful for motion and camera
83
+ direction. The output ratio follows the first-frame image, so omit `ratio`.
84
+
85
+ ```json
86
+ POST /happyhorse/videos
87
+ {
88
+ "action": "image_to_video",
89
+ "model": "happyhorse-1.1-i2v",
90
+ "image_url": "https://example.com/horse.jpg",
91
+ "prompt": "The horse slowly lifts its head as the mane moves in the breeze, gentle camera push",
92
+ "resolution": "1080P",
93
+ "duration": 5
94
+ }
95
+ ```
96
+
97
+ ### Reference-to-Video
98
+
99
+ Use `reference_to_video` with 1-9 reference images. Mention images as `character1`, `character2`,
100
+ and so on in list order when the prompt needs to distinguish them.
101
+
102
+ ```json
103
+ POST /happyhorse/videos
104
+ {
105
+ "action": "reference_to_video",
106
+ "model": "happyhorse-1.1-r2v",
107
+ "prompt": "character1 walks through a sunrise meadow wearing the leather and gold style from character2",
108
+ "image_urls": [
109
+ "https://example.com/subject.jpg",
110
+ "https://example.com/style.jpg"
111
+ ],
112
+ "resolution": "720P",
113
+ "ratio": "16:9",
114
+ "duration": 5
115
+ }
116
+ ```
117
+
118
+ ### Video Editing
119
+
120
+ Use `video_edit` with an existing video and editing instructions. Add at most 5 reference images
121
+ for wardrobe, subject, style, or local replacement guidance. Use `audio_setting: "origin"` to
122
+ preserve the source audio.
123
+
124
+ ```json
125
+ POST /happyhorse/videos
126
+ {
127
+ "action": "video_edit",
128
+ "model": "happyhorse-1.0-video-edit",
129
+ "prompt": "Apply the warm leather and gold style from the reference while preserving camera motion",
130
+ "video_url": "https://example.com/source.mp4",
131
+ "image_urls": ["https://example.com/style.jpg"],
132
+ "resolution": "720P",
133
+ "audio_setting": "origin"
134
+ }
135
+ ```
136
+
137
+ Do not send `duration` or `ratio` for video editing. Output duration follows the source video.
138
+
139
+ ## Parameters
140
+
141
+ | Parameter | Values | Notes |
142
+ |---|---|---|
143
+ | `action` | `generate`, `image_to_video`, `reference_to_video`, `video_edit` | Defaults to `generate` |
144
+ | `model` | See action table | The model family must match the action |
145
+ | `prompt` | string | Required except for `image_to_video` |
146
+ | `image_url` | URL | First frame for `image_to_video` |
147
+ | `image_urls` | URL array | 1-9 for reference generation; 0-5 for editing |
148
+ | `video_url` | URL | Required only for editing |
149
+ | `resolution` | `720P`, `1080P` | Uppercase `P` is required; default `1080P` |
150
+ | `ratio` | `16:9`, `9:16`, `1:1`, `4:3`, `3:4` | Text/reference generation only |
151
+ | `duration` | integer 3-15 | Generation only; default 5 seconds |
152
+ | `watermark` | boolean | Default `false` |
153
+ | `audio_setting` | `auto`, `origin` | Video editing only; `origin` preserves source audio |
154
+ | `seed` | integer 0-2147483647 | Optional reproducibility seed |
155
+ | `callback_url` | URL | Webhook for final result; returns immediately |
156
+ | `async` | boolean | Set `true` to return a task ID for polling |
157
+
158
+ ## Task Queries
159
+
160
+ Retrieve one task:
161
+
162
+ ```json
163
+ POST /happyhorse/tasks
164
+ {"id": "<task_id>", "action": "retrieve"}
165
+ ```
166
+
167
+ Retrieve several tasks:
168
+
169
+ ```json
170
+ POST /happyhorse/tasks
171
+ {"ids": ["<task_id_1>", "<task_id_2>"], "action": "retrieve_batch"}
172
+ ```
173
+
174
+ A completed single-task response stores the original request in `request` and the final API result
175
+ in `response`. Read the media URL from `response.data[].video_url`.
176
+
177
+ ## Gotchas
178
+
179
+ - Match the model family to `action`; for example, an `*-i2v` model is invalid for `generate`
180
+ - Resolution values are `720P` and `1080P`, not lowercase `720p` / `1080p`
181
+ - Generated duration must be an integer from 3 through 15 seconds
182
+ - `image_to_video` requires `image_url`; its prompt is optional and its ratio follows the image
183
+ - `reference_to_video` requires a prompt and 1-9 images
184
+ - `video_edit` requires both prompt and video URL, accepts at most 5 references, and ignores duration/ratio
185
+ - `audio_setting` applies to video editing; use `origin` to preserve source audio
186
+ - A `task_id` is not a completed result; poll until a final video URL or terminal error appears
187
+ - Failed tasks are not billed; video edits use the upstream-reported input plus output duration for billing
188
+
189
+ > **MCP:** `pip install mcp-happyhorse` | Hosted:
190
+ > `https://happyhorse.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)