cinience/alicloud-skills/aliyun-happyhorse-i2v
- community
Checking that the SKILL.md file is still in the repository.
Use when generating videos from a single first-frame image with DashScope HappyHorse 1.0 image-to-video model (happyhorse-1.0-i2v). Use when implementing first-frame video generation with optional text guidance via the video-synthesis async API on Alibaba Cloud Model Studio.
Install
npx vskill@latest install cinience/alicloud-skills/aliyun-happyhorse-i2vSKILL.md
HappyHorse 1.0 Image-to-Video (First Frame)
Validation
Pass criteria: command exits 0 and output/aliyun-happyhorse-i2v/validate.txt is generated.
Output And Evidence
- Save task IDs, polling responses, and final video URLs to
output/aliyun-happyhorse-i2v/. - Keep at least one end-to-end run log for troubleshooting.
Prerequisites
- Install dependencies (recommended in a venv):
- Set
DASHSCOPE_API_KEYin your environment, or adddashscope_api_keyto~/.alibabacloud/credentials.
Critical model names
happyhorse-1.0-i2v— first-frame image-to-video; output aspect ratio follows the input image automatically
Capabilities
| Capability | Description | Required media | |
|---|---|---|---|
| First-frame video | Generate a video from one first-frame image, optionally guided by a text prompt | first_frame (exactly 1) |
API endpoint (async only)
Required headers:
Authorization: Bearer $DASHSCOPE_API_KEYContent-Type: application/jsonX-DashScope-Async: enable
Singapore endpoint: replace dashscope.aliyuncs.com with dashscope-intl.aliyuncs.com.
Polling endpoint: GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id} — recommended interval 15s.
Normalized interface
Request
model(string, required) — fixedhappyhorse-1.0-i2vinput.prompt(string, optional) — up to 5000 non-CJK / 2500 CJK charactersinput.media(array, required) — exactly one element with:type:first_frameurl: public HTTP/HTTPS URL of the first-frame imageparameters.resolution(string, optional) —720Por1080P(default:1080P)parameters.duration(integer, optional) — video length in seconds, range [3, 15] (default: 5)parameters.watermark(boolean, optional) — bottom-right "Happy Horse" watermark (default:true)parameters.seed(integer, optional) — range [0, 2147483647]
The output video aspect ratio follows the input first-frame image; `ratio` is not supported for i2v.
Media input limits
First-frame image (type=first_frame):
- Formats: JPEG, JPG, PNG, WEBP
- Resolution: width and height ≥ 300 pixels
- Aspect ratio: 1:2.5 ~ 2.5:1
- Max size: 10 MB
Response (task creation)
output.task_id(string) — valid 24 hoursoutput.task_status(string) —PENDING|RUNNING|SUCCEEDED|FAILED|CANCELED|UNKNOWNrequest_id(string)
Response (task result, on SUCCEEDED)
output.video_url(string) — generated MP4 (H.264, 24fps) URL, valid 24 hoursoutput.orig_prompt(string)output.submit_time/output.scheduled_time/output.end_time(string)usage.duration(integer) — billable duration in secondsusage.output_video_duration(integer)usage.input_video_duration(integer) — fixed 0 for i2vusage.SR(integer) — output resolution tierusage.video_count(integer) — fixed 1
Quick start (Python + HTTP)
Usage examples
Error handling
| Error | Likely cause | Action | |
|---|---|---|---|
401 / InvalidApiKey | Missing or invalid DASHSCOPE_API_KEY | Check env var or credentials file | |
400 InvalidParameter | Wrong resolution, duration out of [3,15], image too small or wrong format | Validate parameters and image | |
current user api does not support synchronous calls | Missing X-DashScope-Async: enable header | Add the required header | |
task_status: UNKNOWN | task_id older than 24 hours | Re-create the task | |
| 429 | RPS or quota exceeded | Retry with backoff; query RPS default 20 |
Output location
- Default output:
output/aliyun-happyhorse-i2v/videos/ - Override base dir with
OUTPUT_DIR.
Anti-patterns
- Do not use any model ID other than
happyhorse-1.0-i2v. - Do not call this API synchronously — async header is required.
- Do not pass
ratio— output aspect ratio follows the first-frame image automatically. - Do not pass more than 1 first-frame, or any
last_frame/reference_image/video— onlyfirst_frameis supported. - Video URLs expire after 24 hours; download and persist immediately.
- Do not use this skill for pure text-to-video (use
aliyun-happyhorse-t2v), reference-image fusion (aliyun-happyhorse-r2v), or video editing (aliyun-happyhorse-videoedit).
Workflow
1) Confirm intent: single first-frame image with optional text prompt. 2) Validate the image meets format / size / resolution / aspect-ratio limits. 3) Create async task and poll /tasks/{task_id} every ~15s. 4) Download output.video_url before the 24-hour expiration.
References
- See
references/api_reference.mdfor full HTTP API details. - See
references/sources.mdfor source links.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/ai/video/aliyun-happyhorse-i2v/SKILL.md
Popularity
- Repository stars
- 394
- Repository forks
- 34
- 7-day trend score
- 30
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 1 Jul 2026, 3 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/cinience/alicloud-skills/aliyun-happyhorse-i2v)