aliyun-emoji
$
npx mdskill add cinience/alicloud-skills/aliyun-emojiGenerates emoji-style videos from portrait images using Alibaba Cloud Model Studio
- Solves task of creating fixed-style meme or emoji motion clips from single face images
- Depends on Alibaba Cloud APIs emoji-detect-v1 and emoji-v1 for detection and generation
- Uses detected face bounding boxes and template IDs to guide video generation
- Saves output videos and metadata in output/aliyun-emoji directory for user access
SKILL.md
.github/skills/aliyun-emojiView on GitHub ↗
--- name: aliyun-emoji description: Use when generating template-driven emoji videos with Alibaba Cloud Model Studio Emoji (`emoji-v1`) from a detected portrait image. Use when producing fixed-style meme or emoji motion clips from a single face image and a selected template ID. version: 1.0.0 --- Category: provider # Model Studio Emoji ## Validation ```bash mkdir -p output/aliyun-emoji python -m py_compile skills/ai/video/aliyun-emoji/scripts/prepare_emoji_request.py && echo "py_compile_ok" > output/aliyun-emoji/validate.txt ``` Pass criteria: command exits 0 and `output/aliyun-emoji/validate.txt` is generated. ## Output And Evidence - Save normalized request payloads, detected face boxes, selected template ID, and task polling snapshots under `output/aliyun-emoji/`. - Record the exact portrait URL and whether detection passed. Use Emoji when the user wants a fixed-template facial animation clip rather than open-ended video generation. ## Critical model names Use these exact model strings: - `emoji-detect-v1` - `emoji-v1` Selection guidance: - Run `emoji-detect-v1` first to obtain `face_bbox` and `ext_bbox_face`. - Use `emoji-v1` only after detection succeeds. ## Prerequisites - China mainland (Beijing) only. - Set `DASHSCOPE_API_KEY` in your environment, or add `dashscope_api_key` to `~/.alibabacloud/credentials`. - Input image must be a public HTTP/HTTPS URL. ## Normalized interface (video.emoji) ### Detect Request - `model` (string, optional): default `emoji-detect-v1` - `image_url` (string, required) ### Generate Request - `model` (string, optional): default `emoji-v1` - `image_url` (string, required) - `face_bbox` (array<int>, required) - `ext_bbox_face` (array<int>, required) - `template_id` (string, required) ### Response - `task_id` (string) - `task_status` (string) - `video_url` (string, when finished) ## Quick start ```bash python skills/ai/video/aliyun-emoji/scripts/prepare_emoji_request.py \ --image-url "https://example.com/portrait.png" \ --face-bbox 302,286,610,593 \ --ext-bbox-face 71,9,840,778 \ --template-id emoji_001 ``` ## Operational guidance - Use a single-person, front-facing portrait with no face occlusion. - Template IDs come from the official template list or console experience; do not invent them in production calls. - Emoji output is a person video clip, not a sticker pack or text overlay asset. ## Output location - Default output: `output/aliyun-emoji/request.json` - Override base dir with `OUTPUT_DIR`. ## References - `references/sources.md`