L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

happyhorse-video

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 preservation, se…

Independent GitHub snapshot · Automated classification · Original documentation governs

Aacedatacloud / skillsApache-2.0

Documentation de la Skill

GitHub

name: happyhorse-video 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. license: Apache-2.0 metadata: author: acedatacloud version: "1.0" compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-happyhorse for tool-use.

Happy Horse Video Generation and Editing

Use Happy Horse through AceDataCloud for text-to-video, first-frame animation, reference-guided generation, and video editing.

Setup: See authentication for token setup.

Choose an Action

GoalactionValid modelsRequired input
Generate from textgeneratehappyhorse-1.0-t2v, happyhorse-1.1-t2vprompt
Animate one imageimage_to_videohappyhorse-1.0-i2v, happyhorse-1.1-i2vimage_url
Generate from referencesreference_to_videohappyhorse-1.0-r2v, happyhorse-1.1-r2vprompt, 1-9 image_urls
Edit a videovideo_edithappyhorse-1.0-video-editprompt, video_url

The 1.1 model is the default where available. Video editing currently has only a 1.0 model.

Quick Start

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_url appears or a terminal error is returned.

Workflows

Text-to-Video

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
}

First-Frame Image-to-Video

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
}

Reference-to-Video

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
}

Video Editing

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.

Parameters

ParameterValuesNotes
actiongenerate, image_to_video, reference_to_video, video_editDefaults to generate
modelSee action tableThe model family must match the action
promptstringRequired except for image_to_video
image_urlURLFirst frame for image_to_video
image_urlsURL array1-9 for reference generation; 0-5 for editing
video_urlURLRequired only for editing
resolution720P, 1080PUppercase P is required; default 1080P
ratio16:9, 9:16, 1:1, 4:3, 3:4Text/reference generation only
durationinteger 3-15Generation only; default 5 seconds
watermarkbooleanDefault false
audio_settingauto, originVideo editing only; origin preserves source audio
seedinteger 0-2147483647Optional reproducibility seed
callback_urlURLWebhook for final result; returns immediately
asyncbooleanSet true to return a task ID for polling

Task Queries

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.

Gotchas

  • Match the model family to action; for example, an *-i2v model is invalid for generate
  • Resolution values are 720P and 1080P, not lowercase 720p / 1080p
  • Generated duration must be an integer from 3 through 15 seconds
  • image_to_video requires image_url; its prompt is optional and its ratio follows the image
  • reference_to_video requires a prompt and 1-9 images
  • video_edit requires both prompt and video URL, accepts at most 5 references, and ignores duration/ratio
  • audio_setting applies to video editing; use origin to preserve source audio
  • A task_id is not a completed result; poll until a final video URL or terminal error appears
  • Failed tasks are not billed; video edits use the upstream-reported input plus output duration for billing

MCP: pip install mcp-happyhorse | Hosted: https://happyhorse.mcp.acedata.cloud/mcp | See all MCP servers

Skills enregistrées