技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
happyhorse-video【数据与研究】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 preservat…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use Happy Horse through AceDataCloud for text-to-video, first-frame animation, reference-guided generation, and video editing.
Setup: See authentication for token setup.
| Goal | action | Valid models | Required input |
|---|---|---|---|
| Generate from text | generate | happyhorse-1.0-t2v, happyhorse-1.1-t2v | prompt |
| Animate one image | image_to_video | happyhorse-1.0-i2v, happyhorse-1.1-i2v | image_url |
| Generate from references | reference_to_video | happyhorse-1.0-r2v, happyhorse-1.1-r2v | prompt, 1-9 image_urls |
| Edit a video | video_edit | happyhorse-1.0-video-edit | prompt, video_url |
The 1.1 model is the default where available. Video editing currently has only a 1.0 model.
Submit text-to-video asynchronously:
curl -X POST https://api.acedata.cloud/happyhorse/videos \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"action": "generate",
"model": "happyhorse-1.1-t2v",
"prompt": "A cinematic white horse crossing a snowy ridge at sunrise, wind moving its mane, slow camera push",
"resolution": "720P",
"ratio": "16:9",
"duration": 5,
"async": true
}'
The response contains a task_id. Poll it after about 15 seconds:
curl -X POST https://api.acedata.cloud/happyhorse/tasks \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": "<task_id>", "action": "retrieve"}'
Async: See async task polling. Continue until
response.data[].video_urlappears or a terminal error is returned.
Use generate when no visual input exists. Describe the subject, action, environment, camera,
lighting, and style.
POST /happyhorse/videos
{
"action": "generate",
"model": "happyhorse-1.1-t2v",
"prompt": "A white horse gallops across a moonlit beach, side tracking shot, silver reflections, cinematic realism",
"resolution": "1080P",
"ratio": "16:9",
"duration": 8,
"seed": 42
}
Use image_to_video to animate one image. prompt is optional but useful for motion and camera
direction. The output ratio follows the first-frame image, so omit ratio.
POST /happyhorse/videos
{
"action": "image_to_video",
"model": "happyhorse-1.1-i2v",
"image_url": "https://example.com/horse.jpg",
"prompt": "The horse slowly lifts its head as the mane moves in the breeze, gentle camera push",
"resolution": "1080P",
"duration": 5
}
Use reference_to_video with 1-9 reference images. Mention images as character1, character2,
and so on in list order when the prompt needs to distinguish them.
POST /happyhorse/videos
{
"action": "reference_to_video",
"model": "happyhorse-1.1-r2v",
"prompt": "character1 walks through a sunrise meadow wearing the leather and gold style from character2",
"image_urls": [
"https://example.com/subject.jpg",
"https://example.com/style.jpg"
],
"resolution": "720P",
"ratio": "16:9",
"duration": 5
}
Use video_edit with an existing video and editing instructions. Add at most 5 reference images
for wardrobe, subject, style, or local replacement guidance. Use audio_setting: "origin" to
preserve the source audio.
POST /happyhorse/videos
{
"action": "video_edit",
"model": "happyhorse-1.0-video-edit",
"prompt": "Apply the warm leather and gold style from the reference while preserving camera motion",
"video_url": "https://example.com/source.mp4",
"image_urls": ["https://example.com/style.jpg"],
"resolution": "720P",
"audio_setting": "origin"
}
Do not send duration or ratio for video editing. Output duration follows the source video.
| Parameter | Values | Notes |
|---|---|---|
action | generate, image_to_video, reference_to_video, video_edit | Defaults to generate |
model | See action table | The model family must match the action |
prompt | string | Required except for image_to_video |
image_url | URL | First frame for image_to_video |
image_urls | URL array | 1-9 for reference generation; 0-5 for editing |
video_url | URL | Required only for editing |
resolution | 720P, 1080P | Uppercase P is required; default 1080P |
ratio | 16:9, 9:16, 1:1, 4:3, 3:4 | Text/reference generation only |
duration | integer 3-15 | Generation only; default 5 seconds |
watermark | boolean | Default false |
audio_setting | auto, origin | Video editing only; origin preserves source audio |
seed | integer 0-2147483647 | Optional reproducibility seed |
callback_url | URL | Webhook for final result; returns immediately |
async | boolean | Set true to return a task ID for polling |
Retrieve one task:
POST /happyhorse/tasks
{"id": "<task_id>", "action": "retrieve"}
Retrieve several tasks:
POST /happyhorse/tasks
{"ids": ["<task_id_1>", "<task_id_2>"], "action": "retrieve_batch"}
A completed single-task response stores the original request in request and the final API result
in response. Read the media URL from response.data[].video_url.
action; for example, an *-i2v model is invalid for generate720P and 1080P, not lowercase 720p / 1080pimage_to_video requires image_url; its prompt is optional and its ratio follows the imagereference_to_video requires a prompt and 1-9 imagesvideo_edit requires both prompt and video URL, accepts at most 5 references, and ignores duration/ratioaudio_setting applies to video editing; use origin to preserve source audiotask_id is not a completed result; poll until a final video URL or terminal error appearsMCP:
pip install mcp-happyhorse| Hosted:https://happyhorse.mcp.acedata.cloud/mcp| See all MCP servers