Bailian Media Generation
modelstudioai/cli
Chinese-language entry point into Alibaba Cloud Bailian's image, video and speech generation and understanding, routed through separate image, video, speech and vision commands.
A skill your agent uses when generating videos from a single first-frame image with DashScope HappyHorse 1.0 image-to-video model (happyhorse-1.0-i2v).
$ npx skills add cinience/alicloud-skills --skill aliyun-happyhorse-i2v -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cinience/alicloud-skills aliyun-happyhorse-i2v --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/cinience/alicloud-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ai/video/aliyun-happyhorse-i2v .claude/skills/aliyun-happyhorse-i2v && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "aliyun-happyhorse-i2v" agent skill from https://github.com/cinience/alicloud-skills/tree/main/skills/ai/video/aliyun-happyhorse-i2v into .claude/skills/aliyun-happyhorse-i2v/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aliyun-happyhorse-i2v", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/cinience/alicloud-skills/tree/main/skills/ai/video/aliyun-happyhorse-i2vType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add cinience/alicloud-skills --skill aliyun-happyhorse-i2v -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cinience/alicloud-skills aliyun-happyhorse-i2v --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cinience/alicloud-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ai/video/aliyun-happyhorse-i2v .agents/skills/aliyun-happyhorse-i2v && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "aliyun-happyhorse-i2v" agent skill from https://github.com/cinience/alicloud-skills/tree/main/skills/ai/video/aliyun-happyhorse-i2v into .agents/skills/aliyun-happyhorse-i2v/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aliyun-happyhorse-i2v", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add cinience/alicloud-skills --skill aliyun-happyhorse-i2v -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cinience/alicloud-skills aliyun-happyhorse-i2v --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cinience/alicloud-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ai/video/aliyun-happyhorse-i2v .cursor/skills/aliyun-happyhorse-i2v && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "aliyun-happyhorse-i2v" agent skill from https://github.com/cinience/alicloud-skills/tree/main/skills/ai/video/aliyun-happyhorse-i2v into .cursor/skills/aliyun-happyhorse-i2v/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aliyun-happyhorse-i2v", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/cinience/alicloud-skills.git --path skills/ai/video/aliyun-happyhorse-i2v--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add cinience/alicloud-skills --skill aliyun-happyhorse-i2v -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cinience/alicloud-skills aliyun-happyhorse-i2v --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cinience/alicloud-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ai/video/aliyun-happyhorse-i2v .gemini/skills/aliyun-happyhorse-i2v && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "aliyun-happyhorse-i2v" agent skill from https://github.com/cinience/alicloud-skills/tree/main/skills/ai/video/aliyun-happyhorse-i2v into .gemini/skills/aliyun-happyhorse-i2v/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aliyun-happyhorse-i2v", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install cinience/alicloud-skills aliyun-happyhorse-i2vInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add cinience/alicloud-skills --skill aliyun-happyhorse-i2v -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/cinience/alicloud-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ai/video/aliyun-happyhorse-i2v .github/skills/aliyun-happyhorse-i2v && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "aliyun-happyhorse-i2v" agent skill from https://github.com/cinience/alicloud-skills/tree/main/skills/ai/video/aliyun-happyhorse-i2v into .github/skills/aliyun-happyhorse-i2v/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aliyun-happyhorse-i2v", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add cinience/alicloud-skills --skill aliyun-happyhorse-i2v -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install cinience/alicloud-skills aliyun-happyhorse-i2v --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cinience/alicloud-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ai/video/aliyun-happyhorse-i2v .opencode/skills/aliyun-happyhorse-i2v && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "aliyun-happyhorse-i2v" agent skill from https://github.com/cinience/alicloud-skills/tree/main/skills/ai/video/aliyun-happyhorse-i2v into .opencode/skills/aliyun-happyhorse-i2v/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aliyun-happyhorse-i2v", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
aliyun-happyhorse-i2vA skill your agent uses when generating videos from a single first-frame image with DashScope HappyHorse 1.0 image-to-video model (happyhorse-1.0-i2v).
Aliyun Happyhorse I2v is an agent skill from cinience/alicloud-skills. 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.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/api_reference.md`, `references/sources.md` and `scripts/i2v_happyhorse.py`).
It sits in Media & Creative, covering AI video generation. It works with Alibaba Cloud. The repository describes itself as: alibaba cloud skills,qwen ,wan and all skills. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1818263. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonpython3From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
dashscope.aliyuncs.comcdn.translate.alibaba.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
DASHSCOPE_API_KEYAPI_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Aliyun Happyhorse I2v loads about 1.8k tokens when it runs, and up to ~3k if it reads all its reference files. Until then it costs about 74 tokens; SKILL.md has 506 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from cinience/alicloud-skills at commit 1818263, republished under its MIT licence (© cinience). 506 words, ~1,831 tokens.
.claude/skills/aliyun-happyhorse-i2v/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.mkdir -p output/aliyun-happyhorse-i2v
python -m py_compile skills/ai/video/aliyun-happyhorse-i2v/scripts/i2v_happyhorse.py && echo "py_compile_ok" > output/aliyun-happyhorse-i2v/validate.txtPass criteria: command exits 0 and output/aliyun-happyhorse-i2v/validate.txt is generated.
output/aliyun-happyhorse-i2v/.python3 -m venv .venv
. .venv/bin/activate
python -m pip install requestsDASHSCOPE_API_KEY in your environment, or add dashscope_api_key to ~/.alibabacloud/credentials.happyhorse-1.0-i2v — first-frame image-to-video; output aspect ratio follows the input image automatically| 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) |
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesisRequired headers:
Authorization: Bearer $DASHSCOPE_API_KEYContent-Type: application/jsonX-DashScope-Async: enableSingapore 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.
model (string, required) — fixed happyhorse-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) — 720P or 1080P (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.
First-frame image (type=first_frame):
output.task_id (string) — valid 24 hoursoutput.task_status (string) — PENDING | RUNNING | SUCCEEDED | FAILED | CANCELED | UNKNOWNrequest_id (string)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 1import os
import time
import requests
API_KEY = os.getenv("DASHSCOPE_API_KEY")
BASE_URL = "https://dashscope.aliyuncs.com/api/v1"
def create_i2v_task(req: dict) -> str:
"""Create an image-to-video task and return task_id."""
payload = {
"model": "happyhorse-1.0-i2v",
"input": {
"prompt": req.get("prompt", ""),
"media": [{"type": "first_frame", "url": req["first_frame_url"]}],
},
"parameters": {
"resolution": req.get("resolution", "1080P"),
"duration": req.get("duration", 5),
"watermark": req.get("watermark", True),
},
}
if req.get("seed") is not None:
payload["parameters"]["seed"] = req["seed"]
resp = requests.post(
f"{BASE_URL}/services/aigc/video-generation/video-synthesis",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
"X-DashScope-Async": "enable",
},
json=payload,
)
resp.raise_for_status()
return resp.json()["output"]["task_id"]
def poll_task(task_id: str, interval: int = 15) -> dict:
while True:
resp = requests.get(
f"{BASE_URL}/tasks/{task_id}",
headers={"Authorization": f"Bearer {API_KEY}"},
)
resp.raise_for_status()
data = resp.json()
if data["output"]["task_status"] in ("SUCCEEDED", "FAILED", "CANCELED"):
return data
time.sleep(interval)# Minimal — first-frame only
task_id = create_i2v_task({
"first_frame_url": "https://cdn.translate.alibaba.com/r/wanx-demo-1.png",
"prompt": "一只猫在草地上奔跑",
"duration": 5,
})
# 720P with custom seed for reproducibility
task_id = create_i2v_task({
"first_frame_url": "https://example.com/portrait.jpg",
"prompt": "Slow head turn, soft window light",
"resolution": "720P",
"duration": 8,
"seed": 42,
})| 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/aliyun-happyhorse-i2v/videos/OUTPUT_DIR.happyhorse-1.0-i2v.ratio — output aspect ratio follows the first-frame image automatically.last_frame / reference_image / video — only first_frame is supported.aliyun-happyhorse-t2v), reference-image fusion (aliyun-happyhorse-r2v), or video editing (aliyun-happyhorse-videoedit)./tasks/{task_id} every ~15s.output.video_url before the 24-hour expiration.references/api_reference.md for full HTTP API details.references/sources.md for source links.© cinience, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts, references) in skills/ai/video/aliyun-happyhorse-i2v of cinience/alicloud-skills.
Open the folder on GitHubat commit 1818263
Aliyun Happyhorse I2v next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Aliyun Happyhorse I2v this skillcinience/alicloud-skills | 397 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Bailian Media Generationmodelstudioai/cli | 542 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Video Generationbytedance/deer-flow | 84k | 3 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Video Cover Imageitwanger/toBeBetterJavaer | 18k | — | ~3.3k | Automated safety check: Pass | None | |
| Seedancesongguoxs/seedance-prompt-skill | 2.9k | 1 repos | ~2.5k | Automated safety check: Pass | None | |
| HyperFrames Video Entry Pointheygen-com/hyperframes | 60k | 3 repos | ~5.2k | Automated safety check: Pass | Apache-2.0 |
modelstudioai/cli
Chinese-language entry point into Alibaba Cloud Bailian's image, video and speech generation and understanding, routed through separate image, video, speech and vision commands.
bytedance/deer-flow
Generates short videos from a structured JSON prompt, optionally guided by a reference image used as the first or last frame.
itwanger/toBeBetterJavaer
Generate matched 3:4, 16:9, and 4:3 short-video cover images from toBeBetterJavaer video scripts or AI/Java technical topics.
songguoxs/seedance-prompt-skill
This skill should be used when the user asks to "generate video prompts", "create Seedance prompts", "write video descriptions", mentions "Seedance", "seedance", "即梦", "即梦平台", "视频提示词", "视频生成"…
heygen-com/hyperframes
Entry point for making, editing and rendering videos from HTML compositions with HyperFrames, routing each request to the right workflow.
cclank/lanshu-create-ai-presenter-video
Turn a topic or finished script into a complete, publish-ready explainer video — led by an AI presenter from an authorized adult presenter image, or performed in one of nine visual explainer styles…
cinience/alicloud-skills
A skill your agent uses when creating, migrating, or optimizing skills for this alicloud-skills repository.
cinience/alicloud-skills
Bootstrap, create, connect to, operate, secure, scale, upgrade, troubleshoot, inspect, and tear down Alibaba Cloud Container Compute Service (ACS) Agent Sandbox environments.
cinience/alicloud-skills
Create, inspect, connect to, inventory, and delete Alibaba Cloud Container Compute Service (ACS) clusters through the official CS OpenAPI.
cinience/alicloud-skills
A skill your agent uses when managing Alibaba Cloud AnalyticDB for MySQL (ADB) via OpenAPI/SDK, including the user needs AnalyticDB resource lifecycle and configuration operations, status checks, or…
cinience/alicloud-skills
A skill your agent uses when managing Alibaba Cloud AIContent (AiContent) via OpenAPI/SDK, including the user needs AI content generation or content workflow operations in Alibaba Cloud, including…
cinience/alicloud-skills
A skill your agent uses when managing Alibaba Cloud Quan Miao (AiMiaoBi) via OpenAPI/SDK, including the user asks for Alibaba Cloud MiaoBi content operations, including listing resources…
Works with
Categories
A skill your agent uses when generating videos from a single first-frame image with DashScope HappyHorse 1.0 image-to-video model (happyhorse-1.0-i2v). Aliyun Happyhorse I2v is an agent skill from cinience/alicloud-skills.0-i2v).
Aliyun Happyhorse I2v fits situations like: generating videos from a single first-frame image with DashScope HappyHorse 1.0 image-to-video model (happyhorse-1.0-i2v); implementing first-frame video generation with optional text guidance via the video-synthesis async API on Alibaba Cloud Model Studio.
Run `npx skills add cinience/alicloud-skills --skill aliyun-happyhorse-i2v -a claude-code`. Or copy the skill folder (skills/ai/video/aliyun-happyhorse-i2v in cinience/alicloud-skills) into .claude/skills/aliyun-happyhorse-i2v in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cinience/alicloud-skills --skill aliyun-happyhorse-i2v -a codex`. Or copy the skill folder (skills/ai/video/aliyun-happyhorse-i2v in cinience/alicloud-skills) into .agents/skills/aliyun-happyhorse-i2v in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cinience/alicloud-skills --skill aliyun-happyhorse-i2v -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/aliyun-happyhorse-i2v, .gemini/skills/aliyun-happyhorse-i2v, .github/skills/aliyun-happyhorse-i2v and .opencode/skills/aliyun-happyhorse-i2v in your project.
Going by SKILL.md and its folder, Aliyun Happyhorse I2v needs Python for the scripts in its folder, the command-line tools its instructions call (python and python3) and credentials named DASHSCOPE_API_KEY and API_KEY. Our summary lists: Python 3; A credential in DASHSCOPE_API_KEY; A credential in API_KEY.
SKILL.md names 2 domains. In commands or code: dashscope.aliyuncs.com and cdn.translate.alibaba.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Aliyun Happyhorse I2v is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Aliyun Happyhorse I2v: Bailian Media Generation (modelstudioai/cli, 542 stars), Video Generation (bytedance/deer-flow, 84k stars), Video Cover Image (itwanger/toBeBetterJavaer, 18k stars) and Seedance (songguoxs/seedance-prompt-skill, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
cinience (a GitHub user) maintains it in cinience/alicloud-skills, which has 397 GitHub stars. The repository holds 96 skills in this directory. The repository was last updated on August 11, 2026.
Source: cinience/alicloud-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.