Qwencloud Video Generation
Generate videos using Wan models. Supports text-to-video, image-to-video, first+last frame, reference-based role-play, and video editing (VACE). TRIGGER when: user wants to create, generate, or edit video content, mentions video generation/animation/video clips/Wan models, or explicitly invokes this skill by name (e.g. use qwencloud-video-generation). DO NOT TRIGGER when: user wants to generate images (use qwencloud-image-generation), understand/analyze existing videos (use qwencloud-vision), text-only tasks.
- Skill ID
- qwencloud/qwencloud-ai/qwencloud-video-generation
- Publisher
- qwencloud
- Repository
- qwencloud-ai
- Installs
- 0
- Files
- 19
- Requires
- Requires Python 3.9+; curl is PAYG-only. Cursor: auto-loaded. Claude Code: read this skill's SKILL.md before first use.
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
qwencloud/qwencloud-ai/qwencloud-video-generationInstalls these files- SKILL.md
- cdn/config/qwencloud-token-plan-config.json
- cdn/config/qwencloud-video-generation-config.json
- cdn/references/qwencloud-model-pricing.md
- cdn/references/qwencloud-token-plan-models.md
- cdn/references/qwencloud-video-generation-models.md
- references/api-guide.md
- references/examples.md
- references/execution-guide.md
- references/merge-media.md
- references/polling-guide.md
- references/prompt-guide.md
- references/request-fields.md
- references/sources.md
- references/workflows.md
- scripts/gossamer.py
- scripts/qwencloud_lib.py
- scripts/video.py
- scripts/video_lib.py
What this skill tells the agent
Qwen Video Generation
Generate videos using Wan models. All tasks are asynchronous — submit, then poll until completion. This skill is part of qwencloud/qwencloud-ai.
⚠️ Critical Parameter Differences: - kf2v (First+Last Frame): Duration is fixed at 5 seconds — other values will fail. Output is silent only. - Resolution parameters vary by model family, not mode alone: Fetch the current model catalog before choosingsize,resolution, orratio.
Skill directory
Use this skill's internal files to execute and learn. Load reference files on demand when the default path fails or you need details.
| Location | Purpose |
|---|---|
scripts/video.py | Default execution — mode auto-detect, submit, poll, download |
references/execution-guide.md | Fallback: curl for all 5 modes, code generation |
references/request-fields.md | Field tables and audio handling by mode |
references/workflows.md | Duration extensions, multi-shot, VACE pipelines |
references/polling-guide.md | Polling patterns and timing |
references/merge-media.md | Concat, trim, audio overlay — ffmpeg/moviepy recipes |
references/prompt-guide.md | Per-mode prompt formulas, sound description, multi-shot structure |
references/examples.md | Full script examples per mode |
references/sources.md | Official documentation URLs |
Security
NEVER output any API key or credential in plaintext. Always use variable references ($QWENCLOUD_API_KEY in shell, os.environ["QWENCLOUD_API_KEY"] in Python). The scripts accept QWENCLOUD_API_KEY, then QWEN_API_KEY, then DASHSCOPE_API_KEY. Any check or detection of credentials must be non-plaintext: report only status (e.g. "set" / "not set", "valid" / "invalid"), never the value. Never display contents of .env or config files that may contain secrets.
When the API key is not configured, NEVER ask the user to provide it directly. Instead, help create a .env file with a placeholder (QWENCLOUD_API_KEY=sk-your-key-here) and instruct the user to replace it with their actual key from the QwenCloud Console. Only write the actual key value if the user explicitly requests it.
Key Compatibility
Scripts support both standard QwenCloud API keys (sk-...) and Token Plan keys (sk-sp-...). Token Plan keys are automatically routed to the Token Plan endpoint for supported video models — see Token Plan Support below.
Token Plan: do not use curl; always use the bundled Python script.
Coding Plan keys (also sk-sp- prefix but purchased via Coding Plan subscription) cannot be used — video generation models are not available on Coding Plan. Video generation incurs per-second charges on standard keys. The script detects key type at startup and routes accordingly. If qwencloud-ops-auth is installed, see its references/codingplan.md for full details.
Detect the API key type without exposing the key:
python3 -c "
import sys; sys.path.insert(0, 'scripts')
from qwencloud_lib import detect_api_key_type
print(detect_api_key_type('scripts/qwencloud_lib.py'))
"| Output | Meaning |
|---|---|
token-plan | Token Plan key detected (sk-sp- prefix) |
payg | Standard PAYG key detected |
not-set | No API key found in environment |
For Token Plan, fetch and read the current Token Plan model catalog, then use an exact listed model. If CDN access fails, use the local fallback.
Mode Selection Guide
| User Want | Mode | Key Field |
|---|---|---|
| Generate video from text description only | t2v | prompt only |
| Animate a single image | i2v | img_url or reference_image |
| wan2.7 unified i2v: first frame, first+last frame, video continuation, audio sync | i2v | media (array), first_frame_url, first_clip_url, driving_audio_url |
| Transition between two images (⚠️ 5s fixed, silent only) | kf2v | first_frame_url + last_frame_url |
| Role-play: make characters act a new script | r2v | reference_urls or media; read the CDN model catalog for model-specific limits |
| Video editing: multi-image ref, repainting, local edit, extend, outpaint | vace | function; read the CDN model catalog for the current default |
| Video editing via media protocol | videoedit | --model + media or video_url; read the CDN model catalog for supported models |
| Transfer a person's actions/expressions from a reference video to a character image | animate | --model + image_url + video_url + mode; read the CDN model catalog for supported models |
Model Selection
🚫 CRITICAL — Never override user-specified parameters. If the user explicitly specifies a model (in prompt or request JSON), you MUST use exactly that model. Do NOT: - Replace it with a "better suited" or newer model (e.g., swapping the user'swan2.6-t2vforwan3.0-videobecause the task "looks like an all-in-one job") - Replace or restructure their input fields (e.g. converting a user-specifiedimg_url/mediaarrangement) unless required by the chosen model's documented format — and if a conversion is required, keep the user's media order and content intact - Add parameters the user did not ask for (prompt_extend,shot_type, style hints) — noteshot_type: "multi"REQUIRESprompt_extend: true, but only when the user actually requested multi-shot - "Optimize" any explicit user choice (duration,size,resolution,prompt) Selection guidance below applies only when the user has NOT specified a model.
- User specified a model → MANDATORY: use that exact model — do not substitute, do not "optimize", do not add unrequested parameters.
- Consult the qwencloud-model-selector skill when model choice depends on capability, scenario, or pricing.
Models
Before selecting, recommending, or defaulting a model, fetch and read the current QwenCloud video-generation model catalog. It contains the model list, basic model information, mode recommendations, compatibility notes, and defaults. If CDN access fails, use the local fallback.
⚠️ Important: The model catalog is a point-in-time snapshot and may be outdated. Model availability changes frequently. Always check the [official model list](https://www.qwencloud.com/models) for the authoritative, up-to-date catalog before making model decisions.
Model details: For more information about a specific model, direct the user tohttps://www.qwencloud.com/models/<model-name>. Replace<model-name>with the exact model ID; never modify or guess it.
Dynamic model queries: If the qwencloud-model-selector skill or QwenCloud CLI (qwencloud models info <model>) is available, use it for real-time model data. CLI requires authentication — see the qwencloud-usage skill for login flow.Execution
⚠️ Multiple artifacts: When generating multiple files in a single session, you MUST append a numeric suffix to each filename (e.g.out_1.mp4,out_2.mp4) to prevent overwrites.
Prerequisites
- API Key: Check
QWENCLOUD_API_KEY,QWEN_API_KEY, thenDASHSCOPE_API_KEYusing a non-plaintext check only (e.g. in shell:[ -n "$QWENCLOUD_API_KEY" ]; report only "set" or "not set", never the key value). If not set: run the qwencloud-ops-auth** skill if available; otherwise guide the user to obtain a key from QwenCloud Console and set it via.envfile (
More from qwencloud
Use this skill in a project
Open any RiverX project, search the Skills panel for qwencloud/qwencloud-ai/qwencloud-video-generation, and install it in one click.
