Agent skill

Aliyun Happyhorse R2v

by cinience in cinience/alicloud-skills

A skill your agent uses when generating videos that fuse 1-9 reference images with DashScope HappyHorse 1.0 reference-to-video model (happyhorse-1.0-r2v).

MITAuto-check passedMedia & Creative

Install Aliyun Happyhorse R2v

skills CLI
$ npx skills add cinience/alicloud-skills --skill aliyun-happyhorse-r2v -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install cinience/alicloud-skills aliyun-happyhorse-r2v --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-r2v .claude/skills/aliyun-happyhorse-r2v && rm -rf skills-src

Use ~/.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/

Facts

Skill name
aliyun-happyhorse-r2v
GitHub stars
397
Token cost
~2.1k tokens
SKILL.md length
583 words
Files
4 (incl. scripts, references)
Skills in repo
96
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when generating videos that fuse 1-9 reference images with DashScope HappyHorse 1.0 reference-to-video model (happyhorse-1.0-r2v).

  • Works in 4 steps: Collect 1-9 high-quality reference… → Write a prompt that uses character1..N… → Create async task and poll… → …
  • Generating videos that fuse 1-9 reference images with DashScope HappyHorse 1.0 reference-to-video model (happyhorse-1.0-r2v)
  • SKILL.md covers Validation, Output And Evidence, Prerequisites and Critical model names, plus 10 more sections
  • Runs Python scripts from its folder; calls python and python3; reaches dashscope.aliyuncs.com; needs DASHSCOPE_API_KEY and API_KEY

What it does

Aliyun Happyhorse R2v is an agent skill from cinience/alicloud-skills. Use when generating videos that fuse 1-9 reference images with DashScope HappyHorse 1.0 reference-to-video model (happyhorse-1.0-r2v). Use when implementing multi-subject reference-to-video synthesis where prompts cite the input images as character1..N via the video-synthesis async API.

Its SKILL.md is about 2.1k 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/r2v_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.

When your agent uses it

  • Generating videos that fuse 1-9 reference images with DashScope HappyHorse 1.0 reference-to-video model (happyhorse-1.0-r2v)
  • Tasks that involve AI video generation

Example prompts

  • “/aliyun-happyhorse-r2v”

Requirements

  • Python 3
  • A credential in DASHSCOPE_API_KEY
  • A credential in API_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Collect 1-9 high-quality reference images and decide character order.
  2. Write a prompt that uses character1..N to bind subjects to references.
  3. Create async task and poll /tasks/{task_id} every ~15s.
  4. Download output.video_url before the 24-hour expiration.

What it can do on your machine

Read from SKILL.md and the folder at commit 1818263. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • dashscope.aliyuncs.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • DASHSCOPE_API_KEY
    • API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Aliyun Happyhorse R2v loads about 2.1k tokens when it runs, and up to ~3.4k if it reads all its reference files. Until then it costs about 77 tokens; SKILL.md has 583 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~77
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.4k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from cinience/alicloud-skills at commit 1818263, republished under its MIT licence (© cinience). 583 words, ~2,081 tokens.

Download SKILL.mdSave it as .claude/skills/aliyun-happyhorse-r2v/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
aliyun-happyhorse-r2v
description
Use when generating videos that fuse 1-9 reference images with DashScope HappyHorse 1.0 reference-to-video model (happyhorse-1.0-r2v). Use when implementing multi-subject reference-to-video synthesis where prompts cite the input images as character1..N via the video-synthesis async API.

HappyHorse 1.0 Reference-to-Video

Validation

bash
mkdir -p output/aliyun-happyhorse-r2v
python -m py_compile skills/ai/video/aliyun-happyhorse-r2v/scripts/r2v_happyhorse.py && echo "py_compile_ok" > output/aliyun-happyhorse-r2v/validate.txt

Pass criteria: command exits 0 and output/aliyun-happyhorse-r2v/validate.txt is generated.

Output And Evidence

  • Save task IDs, polling responses, and final video URLs to output/aliyun-happyhorse-r2v/.
  • Keep at least one end-to-end run log for troubleshooting.

Prerequisites

  • Install dependencies (recommended in a venv):
bash
python3 -m venv .venv
. .venv/bin/activate
python -m pip install requests
  • Set DASHSCOPE_API_KEY in your environment, or add dashscope_api_key to ~/.alibabacloud/credentials.

Critical model names

  • happyhorse-1.0-r2v — reference-to-video; 1-9 reference images fused into a single video, with character1..N references in the prompt

Capabilities

CapabilityDescriptionRequired media
Reference-to-videoGenerate a video by fusing multiple subject/object reference images, guided by a prompt that references them as character1, character2, ... in input order1-9 reference_image entries

API endpoint (async only)

POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

Required headers:

  • Authorization: Bearer $DASHSCOPE_API_KEY
  • Content-Type: application/json
  • X-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) — fixed happyhorse-1.0-r2v
  • input.prompt (string, required) — up to 5000 non-CJK / 2500 CJK characters; reference subjects via character1, character2, ... matching media array order
  • input.media (array, required) — 1 to 9 elements, each:
    • type: reference_image
    • url: public HTTP/HTTPS URL of a reference image
  • parameters.resolution (string, optional) — 720P or 1080P (default: 1080P)
  • parameters.ratio (string, optional) — 16:9 (default), 9:16, 1:1, 4:3, 3:4
  • 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]
Media input limits

Reference image (type=reference_image):

  • Formats: JPEG, JPG, PNG, WEBP
  • Resolution: short side ≥ 400 pixels (720P or higher recommended)
  • Max size: 10 MB per image
  • Avoid blurry, over-compressed, or very small images
Character indexing rule

The first reference_image in the media array maps to character1, the second to character2, and so on up to character9. Reorder the array if you want a specific reference to bind to a specific characterN.

Response (task creation)
  • output.task_id (string) — valid 24 hours
  • output.task_status (string) — PENDING | RUNNING | SUCCEEDED | FAILED | CANCELED | UNKNOWN
  • request_id (string)
Response (task result, on SUCCEEDED)
  • output.video_url (string) — generated MP4 (H.264) URL, valid 24 hours
  • output.orig_prompt (string)
  • output.submit_time / output.scheduled_time / output.end_time (string)
  • usage.duration (integer) — billable duration in seconds
  • usage.output_video_duration (integer)
  • usage.input_video_duration (integer) — fixed 0 for r2v
  • usage.SR (integer) — output resolution tier
  • usage.ratio (string)
  • usage.video_count (integer) — fixed 1
Show full SKILL.md (231 more words)Show less

Quick start (Python + HTTP)

python
import os
import time
import requests

API_KEY = os.getenv("DASHSCOPE_API_KEY")
BASE_URL = "https://dashscope.aliyuncs.com/api/v1"


def create_r2v_task(req: dict) -> str:
    """Create a reference-to-video task and return task_id."""
    refs = req["reference_images"]
    if not 1 <= len(refs) <= 9:
        raise ValueError("Need 1-9 reference images")
    payload = {
        "model": "happyhorse-1.0-r2v",
        "input": {
            "prompt": req["prompt"],
            "media": [{"type": "reference_image", "url": u} for u in refs],
        },
        "parameters": {
            "resolution": req.get("resolution", "1080P"),
            "ratio": req.get("ratio", "16:9"),
            "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)

Usage examples

python
# Single subject — character1 references the only image
task_id = create_r2v_task({
    "reference_images": ["https://example.com/girl.jpg"],
    "prompt": "character1 walks slowly through a sunlit forest, cinematic shot.",
    "duration": 5,
})

# Multi-subject — character1=girl, character2=fan, character3=earring
task_id = create_r2v_task({
    "reference_images": [
        "https://example.com/girl.jpg",
        "https://example.com/folding-fan.jpg",
        "https://example.com/earring.jpg",
    ],
    "prompt": (
        "身着红色旗袍的女性 character1,轻抬玉手展开折扇 character2 时"
        "流苏耳坠 character3 随头部转动轻盈摆动。"
    ),
    "resolution": "720P",
    "ratio": "16:9",
    "duration": 5,
})

Error handling

ErrorLikely causeAction
401 / InvalidApiKeyMissing or invalid DASHSCOPE_API_KEYCheck env var or credentials file
400 InvalidParameterBad resolution/ratio, >9 references, image too small or wrong formatValidate parameters and images
current user api does not support synchronous callsMissing X-DashScope-Async: enable headerAdd the required header
task_status: UNKNOWNtask_id older than 24 hoursRe-create the task
429RPS or quota exceededRetry with backoff; query RPS default 20

Output location

  • Default output: output/aliyun-happyhorse-r2v/videos/
  • Override base dir with OUTPUT_DIR.

Anti-patterns

  • Do not use any model ID other than happyhorse-1.0-r2v.
  • Do not call this API synchronously — async header is required.
  • Do not pass first_frame, last_frame, driving_audio, or video — only reference_image entries are accepted.
  • Do not exceed 9 reference images, and do not omit the array entirely.
  • Do not forget characterN tokens in the prompt — without them the model has no link from prompt to image.
  • Video URLs expire after 24 hours; download and persist immediately.
  • Do not use this skill for pure text-to-video (aliyun-happyhorse-t2v), single-image first-frame (aliyun-happyhorse-i2v), or video editing (aliyun-happyhorse-videoedit).

Workflow

  1. Collect 1-9 high-quality reference images and decide character order.
  2. Write a prompt that uses character1..N to bind subjects to references.
  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.md for full HTTP API details.
  • See 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

Files

SKILL.md and 3 other files (scripts, references) in skills/ai/video/aliyun-happyhorse-r2v of cinience/alicloud-skills.

  • SKILL.md
  • references/api_reference.md
  • references/sources.md
  • scripts/r2v_happyhorse.py

Open the folder on GitHubat commit 1818263

Compare with similar skills

Aliyun Happyhorse R2v 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.

Aliyun Happyhorse R2v compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Aliyun Happyhorse R2v this skillcinience/alicloud-skills397—~2.1kAutomated safety check: PassMIT
Bailian Media Generationmodelstudioai/cli542—~2kAutomated safety check: PassApache-2.0
Video Generationbytedance/deer-flow84k3 repos~1.4kAutomated safety check: PassMIT
Video Cover Imageitwanger/toBeBetterJavaer18k—~3.3kAutomated safety check: PassNone
Seedancesongguoxs/seedance-prompt-skill2.9k1 repos~2.5kAutomated safety check: PassNone
HyperFrames Video Entry Pointheygen-com/hyperframes60k3 repos~5.2kAutomated safety check: PassApache-2.0

Similar skills

  • 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.

    542 GitHub stars~2k tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • Video Generation

    bytedance/deer-flow

    Generates short videos from a structured JSON prompt, optionally guided by a reference image used as the first or last frame.

    84k GitHub starsUsed in 3 repos~1.4k tokens
    Media & CreativeAuto-check passed
  • Video Cover Image

    itwanger/toBeBetterJavaer

    Generate matched 3:4, 16:9, and 4:3 short-video cover images from toBeBetterJavaer video scripts or AI/Java technical topics.

    18k GitHub stars~3.3k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Seedance

    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", "即梦", "即梦平台", "视频提示词", "视频生成"…

    2.9k GitHub starsUsed in 1 repo~2.5k tokens
    Media & CreativeAuto-check passed
  • HyperFrames Video Entry Point

    heygen-com/hyperframes

    Entry point for making, editing and rendering videos from HTML compositions with HyperFrames, routing each request to the right workflow.

    60k GitHub starsUsed in 3 repos~5.2k tokens
    Media & CreativeAuto-check passed
  • Lanshu Create AI Presenter Video

    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…

    2.6k GitHub stars~3.6k tokensUpdated today
    Media & CreativeAuto-check passed

More from cinience/alicloud-skills

All 96 skills in this repo
  • Aliyun Skill Creator

    cinience/alicloud-skills

    A skill your agent uses when creating, migrating, or optimizing skills for this alicloud-skills repository.

    397 GitHub stars~2.8k tokensUpdated 2 mo ago
    Auto-check passed
  • Alicloud Acs Agent Sandbox

    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.

    397 GitHub stars~2.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Alicloud Acs Cluster

    cinience/alicloud-skills

    Create, inspect, connect to, inventory, and delete Alibaba Cloud Container Compute Service (ACS) clusters through the official CS OpenAPI.

    397 GitHub stars~1.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Aliyun Adb Mysql

    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…

    397 GitHub stars~708 tokensUpdated 2 mo ago
    Auto-check passed
  • Aliyun Aicontent Generate

    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…

    397 GitHub stars~734 tokensUpdated 2 mo ago
    Auto-check passed
  • Aliyun Aimiaobi Generate

    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…

    397 GitHub stars~724 tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Aliyun Happyhorse R2v

What does Aliyun Happyhorse R2v do?

A skill your agent uses when generating videos that fuse 1-9 reference images with DashScope HappyHorse 1.0 reference-to-video model (happyhorse-1.0-r2v). Aliyun Happyhorse R2v is an agent skill from cinience/alicloud-skills.0-r2v).

When should I use Aliyun Happyhorse R2v?

Aliyun Happyhorse R2v fits situations like: generating videos that fuse 1-9 reference images with DashScope HappyHorse 1.0 reference-to-video model (happyhorse-1.0-r2v); tasks that involve AI video generation.

How do I install Aliyun Happyhorse R2v in Claude Code?

Run `npx skills add cinience/alicloud-skills --skill aliyun-happyhorse-r2v -a claude-code`. Or copy the skill folder (skills/ai/video/aliyun-happyhorse-r2v in cinience/alicloud-skills) into .claude/skills/aliyun-happyhorse-r2v in your project. Claude Code loads it when a task matches its description.

How do I install Aliyun Happyhorse R2v in Codex?

Run `npx skills add cinience/alicloud-skills --skill aliyun-happyhorse-r2v -a codex`. Or copy the skill folder (skills/ai/video/aliyun-happyhorse-r2v in cinience/alicloud-skills) into .agents/skills/aliyun-happyhorse-r2v in your project. Codex loads it when a task matches its description.

Can I use Aliyun Happyhorse R2v in Cursor, Gemini CLI or GitHub Copilot?

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-r2v -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-r2v, .gemini/skills/aliyun-happyhorse-r2v, .github/skills/aliyun-happyhorse-r2v and .opencode/skills/aliyun-happyhorse-r2v in your project.

What does Aliyun Happyhorse R2v need to run?

Going by SKILL.md and its folder, Aliyun Happyhorse R2v 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.

Does Aliyun Happyhorse R2v access the network?

SKILL.md names 1 domain. In commands or code: dashscope.aliyuncs.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Aliyun Happyhorse R2v safe to install?

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.

What licence does Aliyun Happyhorse R2v use?

Aliyun Happyhorse R2v is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Aliyun Happyhorse R2v use?

About 2.1k tokens (SKILL.md is roughly 8.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.3k tokens, read only when the agent opens those files.

What are the alternatives to Aliyun Happyhorse R2v?

Skills that share tags, products or a category with Aliyun Happyhorse R2v: 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.

Who maintains Aliyun Happyhorse R2v?

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.