calesthio/generative-media-skills/alibaba-wan-video

Claude Code and agent skill by calesthio/generative-media-skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Plan, implement, and review Alibaba Wan video generation using Alibaba Cloud Model Studio/DashScope hosted APIs or official Wan 2.1/2.2 open-weight checkpoints. Use for Wan text-to-video, image-to-video, first/last-frame or continuation, reference-to-video, video editing, speech-driven video, character animation, regional deployment, billing, licensing, and production safety.

Install

npx vskill@latest install calesthio/generative-media-skills/alibaba-wan-video

SKILL.md

Alibaba Wan video

Use this skill to choose and operate the correct Wan surface. Treat hosted model IDs and downloadable checkpoints as different products even when their version numbers look related.

Route first

  1. Ask for the task, inputs, output duration/resolution/aspect ratio, audio requirement, deployment region/data boundary, budget, latency, GPU capacity, and whether managed inference is acceptable.
  2. Choose one route:
  • Hosted Model Studio for current Wan 2.7 quality, 2–15 second clips, generated/custom audio, 1080P, managed scaling, reference-to-video, continuation, or hosted editing.
  • Official open weights for offline processing, weight access, reproducible checkpoint pinning, adaptation, or self-hosting. The current official public family is Wan 2.2 (plus Wan 2.1 legacy), not hosted Wan 2.7.
  1. Never silently substitute a hosted alias, an older API protocol, a community quantization, or a third-party gateway.
  2. Before any billable request or large checkpoint download, show the exact model/revision, region, inputs, output settings, estimated charge or storage, and obtain explicit approval. A dry run must make no network mutation.

Facts and prices below were verified 2026-07-10. Recheck the linked first-party pages at execution time; availability, aliases, snapshots, limits, and prices are volatile.

Keep the product families separate

SurfaceCurrent production choicesWhat it providesBoundary
Hosted Wan 2.7wan2.7-t2v-2026-06-12, wan2.7-i2v-2026-04-25, wan2.7-r2v-2026-06-12, wan2.7-videoedit; moving aliases also existT2V; first/last-frame I2V; continuation; entity/voice reference; editing; 720P/1080P; generated or supplied audioClosed managed service under Model Studio terms. No official Wan 2.7 checkpoint is implied by the API name. Pin dated snapshots when stability matters.
Hosted Wan 2.6wan2.6-t2v, wan2.6-i2v, wan2.6-i2v-flash, wan2.6-r2v, wan2.6-r2v-flash; -us T2V/I2V variants in VirginiaBroader region choice, legacy API schema, audio-capable generation; flash can be cheaperUses the legacy size protocol. Do not send Wan 2.7 resolution/ratio bodies to it.
Hosted legacyWan 2.5 preview; Wan 2.2/2.1 T2V, I2V, keyframe/VACE, speech/animate variantsCompatibility and specialized workflowsCapabilities, fixed durations, resolution tiers, naming (wanx2.1-* in Beijing), and pricing differ. Consult the exact legacy reference. A hosted wan2.2-* ID is not proof that it serves the public checkpoint bit-for-bit.
Open Wan 2.2T2V-A14B, I2V-A14B, TI2V-5B, S2V-14B, Animate-14BOffline T2V/I2V, speech-driven video, character animation/replacement; Apache-2.0 checkpoints and codeNo hosted SLA, automatic safety service, or managed scaling. A14B official examples require at least 80 GB VRAM; TI2V-5B is documented for at least 24 GB.
Open Wan 2.1T2V-14B/1.3B, I2V-14B, FLF2V-14B, VACE-14B/1.3BOlder, well-documented T2V/I2V, first-last-frame, and editing/control workflowsApache-2.0, but older architecture. Official T2V-1.3B guidance favors 480P and reports 8.19 GB VRAM.

Wan 2.2 A14B is a two-expert MoE: roughly 27B total parameters with about 14B active per denoising step. TI2V-5B uses a high-compression VAE and officially supports 1280x704/704x1280 output at 24 fps. These facts do not make 5B and A14B interchangeable quality tiers.

Hosted Model Studio

Region and endpoint contract

Region, API key, model availability, service deployment scope, and endpoint must match. Keys are not cross-region credentials.

Access regionProduction baseService scope relevant to WanNotes
Singaporehttps://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.comInternational: inference nodes globally except the Chinese mainlandRecommended workspace-dedicated domain. The shared https://dashscope-intl.aliyuncs.com remains functional for existing integrations. Wan 2.7 is documented here.
China (Beijing)https://{WorkspaceId}.cn-beijing.maas.aliyuncs.comChinese mainland: inference restricted to ChinaRecommended workspace-dedicated domain. The shared https://dashscope.aliyuncs.com remains functional. Wan 2.7 is documented here.
Germany (Frankfurt)https://{WorkspaceId}.eu-central-1.maas.aliyuncs.comGlobal for the currently listed Wan 2.6 modelsFrankfurt supports Global and EU workspace scopes in general, but current Wan pricing lists T2V/I2V/R2V 2.6 only as Global. Do not assume those models are offered in an EU-scoped workspace; verify the console. Wan 2.7 is not currently listed.
US (Virginia)https://dashscope-us.aliyuncs.comGlobal, or US with -us model IDsCurrent pricing lists Wan 2.6 global and wan2.6-t2v-us/wan2.6-i2v-us; workspace-dedicated domains are not yet supported.

Workspace-dedicated domains isolate traffic to the workspace and are the documented production recommendation. Do not infer data residency merely from the access URL: the service deployment scope determines inference location, while the access region determines storage location. Record both.

Wan 2.7 request shapes

All current Wan 2.7 video modes use asynchronous HTTP:

  • Create: POST {base}/api/v1/services/aigc/video-generation/video-synthesis
  • Required headers: Authorization: Bearer ..., Content-Type: application/json, X-DashScope-Async: enable
  • Poll: GET {base}/api/v1/tasks/{task_id}
  • States: PENDING, RUNNING, SUCCEEDED, FAILED, CANCELED, UNKNOWN
  • Poll about every 15 seconds with bounded backoff. Save the first task_id; do not POST again merely because generation is slow.
  • Task queries and signed video_url values expire after 24 hours. Download promptly. Successful output is MP4/H.264.

Prefer HTTP when one worker must support every 2.7 mode. The current SDK matrix is uneven: DashScope Python/Java T2V wrappers support Wan 2.6 and earlier only (minimum documented versions 1.25.8/2.22.6), while the 2.7 I2V and R2V wrappers require Python 1.25.16 or Java 2.22.14. SDK "synchronous" calls merely wrap and block on the asynchronous service; they do not change job duration, billing, or result expiry. Recheck versions before pinning dependencies.

Core T2V body:

json
{
"model": "wan2.7-t2v-2026-06-12",
"input": {
"prompt": "Generate a single-shot video. Wide shot of a red paper kite rising above a quiet salt flat at dawn; slow dolly forward, soft wind and natural ambience.",
"negative_prompt": "text overlays, logos, warped kite, abrupt cuts"
},
"parameters": {
"resolution": "720P",
"ratio": "16:9",
"duration": 5,
"prompt_extend": false,
"watermark": true,
"seed": 104729
}
}

Wan 2.7 T2V accepts Chinese or English prompts up to 5,000 characters and negative prompts up to 500; longer text is truncated, so validate locally. duration is an integer 2–15 (default 5); resolution is 720P or 1080P (default 1080P); ratios are 16:9, 9:16, 1:1, 4:3, or 3:4. Prompt extension defaults true, watermark defaults false, and a fixed seed improves—but does not guarantee—reproducibility. Control single versus multi-shot in natural-language prompt structure; the old shot_type has no effect on 2.7.

Change only input/model for other 2.7 modes:

jsonc
// First and last frame I2V. Use only first_frame for first-frame generation.
{
"model": "wan2.7-i2v-2026-04-25",
"input": {"prompt": "The lantern drifts downstream as dusk deepens.", "media": [
{"type": "first_frame", "url": "https://assets.example/first.webp"},
{"type": "last_frame", "url": "https://assets.example/last.webp"}
]},
"parameters": {"resolution": "720P", "duration": 6, "prompt_extend": false, "watermark": true}
}
jsonc
// Continuation. first_clip may be combined with last_frame when supported by the exact model docs.
{
"model": "wan2.7-i2v-2026-04-25",
"input": {"prompt": "Continue the same camera move and weather.", "media": [
{"type": "first_clip", "url": "https://assets.example/source.mp4"}
]},
"parameters": {"resolution": "720P", "duration": 10, "prompt_extend": false, "watermark": true}
}
jsonc
// Reference-to-video. Refer to assets by their one-based Image/Video order in the prompt.
{
"model": "wan2.7-r2v-2026-06-12",
"input": {"prompt": "Video 1 enters and gives Image 1 the compass.", "media": [
{"type": "reference_video", "url": "https://assets.example/person.mp4", "reference_voice": "https://assets.example/voice.wav"},
{"type": "reference_image", "url": "https://assets.example/robot.webp"}
]},
"parameters": {"resolution": "720P", "ratio": "16:9", "duration": 8, "prompt_extend": false, "watermark": true}
}

For I2V, an input image may be JPEG/JPG/PNG without alpha, BMP, or WEBP, up to 20 MB, 240–8,000 pixels per side, and aspect ratio 1:8–8:1. A continuation first_clip must be MP4/MOV, 2–10 seconds, up to 100 MB, 240–4,096 pixels per side, and aspect ratio 1:8–8:1. In continuation, duration means the final total video length, not the number of new seconds; output ratio follows the clip and the full output duration is billed.

For R2V, duration is 2–10 seconds when a reference video is present and 2–15 without one. It accepts at most one first frame plus 1–5 combined reference images/videos; a character reference must contain only one character. Reference images have the same 20 MB limits above. Reference videos are MP4/MOV, 1–30 seconds, up to 100 MB, and 240–4,096 pixels per side; reference_voice is WAV/MP3, 1–10 seconds, up to 15 MB. A supplied first frame overrides ratio. For video editing, use wan2.7-videoedit, one {"type":"video"} plus up to four reference_image assets; its billing includes both input and output video duration. Always re-open the exact API page for volatile constraints before upload.

Billable, dry-run-first T2V client

This complete example pins the Singapore snapshot, prints a redacted free plan by default, binds the exact request/workspace/output policy plus fresh pricing evidence to approval, creates at most one task, persists a crash-resumable sanitized ledger, downloads through an exact-host and public-IP policy without forwarding the API key, and validates before atomic no-overwrite publication. It deliberately does not accept arbitrary base URLs or output URLs.

python
#!/usr/bin/env python3
import argparse, hashlib, http.client, ipaddress, json, os, random, socket, ssl
import pathlib, subprocess, sys, tempfile, threading, time, uuid
from datetime import datetime, timezone
from decimal import Decimal, InvalidOperation
from urllib.parse import urlsplit
import requests
MODEL = "wan2.7-t2v-2026-06-12"
PRICE_USD_PER_SECOND = {"720P": Decimal("0.10"), "1080P": Decimal("0.15")}
REGION_SUFFIX = {"sg": "ap-southeast-1.maas.aliyuncs.com"}
TERMINAL = {"SUCCEEDED", "FAILED", "CANCELED", "UNKNOWN"}
MAX_JSON = 1024 * 1024
MAX_VIDEO = 1024 * 1024 * 1024
MAX_TOOL = 1024 * 1024
EXPECTED = {
("720P", "16:9"): (1280, 720), ("720P", "9:16"): (720, 1280),
("720P", "1:1"): (960, 960), ("720P", "4:3"): (1104, 832),
("720P", "3:4"): (832, 1104), ("1080P", "16:9"): (1920, 1080),
("1080P", "9:16"): (1080, 1920), ("1080P", "1:1"): (1440, 1440),
("1080P", "4:3"): (1648, 1248), ("1080P", "3:4"): (1248, 1648)}
class APIError(RuntimeError):
def __init__(self, message, status=None, retry_after=None, body_sha256=None):
super().__init__(message); self.status = status; self.retry_after = retry_after; self.body_sha256 = body_sha256
def canonical(value):
return json.dumps(value, ensure_ascii=False, sort_keys=True, separators=(",", ":")).encode()
def fsync_directory(path):
if os.name == "nt": return
fd = os.open(path, os.O_RDONLY)
try: os.fsync(fd)
finally: os.close(fd)

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
223
Repository forks
47
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/calesthio/generative-media-skills/alibaba-wan-video/badge)](https://verified-skill.com/skills/calesthio/generative-media-skills/alibaba-wan-video)

Something wrong with this skill or its page? Tell us.