Generate Wan text-to-video and image-to-video through a normalized DashScope Python interface.
Design & media
视频生成 通义万相 Wan 2.7
Generate Wan 2.7 videos from text, reference media, or specified first and last frames.
What it does
Run Tongyi Wanxiang Wan 2.7 through the `dlazy wan2.7` CLI for text-to-video, reference-to-video, or first/last-frame generation. Configure 720P or 1080P output, durations from 2 to 15 seconds, optional audio, and prompt rewriting. Inputs are sent to the hosted API, local media is uploaded, and generated results are returned as hosted URLs.
When to use it
- Text-to-video generation
- First- and last-frame animation
- Image or video reference generation
- Audio-guided video generation
The skill document
视频生成 通义万相 Wan 2.7
English · 中文
Tongyi Wanxiang 2.7 video model. Covers text-to-video, first/last-frame-to-video, and reference-to-video.
Trigger Keywords
- wan 2.7
- video generation
Authentication
All requests require a dLazy API key. The recommended way to authenticate is:
dlazy login
This runs a device-code flow (also works in remote shells) and automatically saves your API key to the local CLI config — no manual copy/paste required.
Alternative: Set the Key Manually
If you already have an API key, you can save it directly:
dlazy auth set YOUR_API_KEY
The CLI saves the key in your user config directory (~/.dlazy/config.json on macOS/Linux, %USERPROFILE%\.dlazy\config.json on Windows), with file permissions restricted to your OS user account. You can also supply the key per-invocation via the DLAZY_API_KEY environment variable.
Getting Your API Key Manually
- Sign in or create an account at dlazy.com
- Go to dlazy.com/dashboard/organization/api-key
- Copy the key shown in the API Key section
Each key is scoped to your dLazy organization and can be rotated or revoked at any time from the same dashboard.
About & Provenance
- CLI source code: github.com/dlazyai/cli
- Maintainer: dlazyai
- npm package:
@dlazy/cli(pinned to1.2.3in this skill's install spec) - Homepage: dlazy.com
You can install on demand without persisting a global binary by running:
npx @dlazy/cli@1.2.3
Or, if you prefer a global install, the skill's metadata.clawdbot.install field declares the exact pinned version (npm install -g @dlazy/cli@1.2.3). Review the GitHub source before installing.
How It Works
This skill is a thin client over the dLazy hosted API. When you invoke it:
- Prompts and parameters you provide are sent to the dLazy API endpoint (
api.dlazy.com) for inference. - Any local file paths you pass to image / video / audio fields are uploaded to dLazy's media storage (
files.dlazy.com) so the model can read them — the same flow as any cloud-based generation API. - Generated output URLs returned by the API are hosted on
files.dlazy.com.
This is the standard SaaS pattern; the skill itself does not access network or filesystem resources beyond what the dLazy CLI already handles. See dlazy.com for the full service terms.
Usage
CRITICAL INSTRUCTION FOR AGENT:
Execute dlazy wan2.7 to get the result.
dlazy wan2.7 -h
Options:
--prompt [prompt] Prompt
--generation_mode [generation_mode] Generation Mode(components=Components; frames=Frames) [default: components] (choices: "components", "frames")
--images [images...] Images [image: url or local path] (max 5) [only when !(generation_mode="frames")]
--videos [videos...] Videos [video: url or local path] (max 5) [only when !(generation_mode="frames")]
--firstFrame [firstFrame] First Frame [image: url or local path] [only when generation_mode="frames"]
--lastFrame [lastFrame] Last Frame [image: url or local path] [only when generation_mode="frames"]
--audio [audio] Audio [audio: url or local path]
--resolution [resolution] Resolution [default: 720P] (choices: "720P", "1080P")
--duration [duration] Duration (s) [default: 5] (choices: "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15")
--prompt_extend [prompt_extend] Prompt Rewrite [default: true] (choices: "true", "false")
--dry-run Print payload + cost estimate without calling API
--no-wait Return generateId immediately for async tasks
--timeout Max seconds to wait for async completion (default: "1800")
-h, --help display help for command
Any flag also accepts pipe references —
-(auto-pick from upstream stdin),@N(n-th output),@N.path(jsonpath into output),@*(all primary values),@stdin/@stdin:path(whole envelope). Seedlazy --helpfor details.
Output Format
{
"ok": true,
"result": {
"tool": "wan2.7",
"modelId": "wan2.7",
"outputs": [
{
"type": "image",
"id": "o_xxxxxxxx",
"url": "https://files.dlazy.com/result.png",
"mimeType": "image/png"
}
]
}
}
Async tasks (when
--no-waitis passed) returnoutputs: []and atask: { generateId, status }field instead. Usedlazy status --waitto poll.
Examples
dlazy wan2.7 --prompt 'prompt content'
dlazy wan2.7 --prompt 'prompt content' --images '/path/to/image.png'
Error Handling
| Code | Error Type | Example Message |
|---|---|---|
| 401 | Unauthorized (No API Key) | ok: false, code: "unauthorized", message: "API key is missing or invalid" |
| 501 | Missing required parameter | error: required option '--prompt ' not specified |
| 502 | Local file read error | Error: Image file/Video file not found: C:\path\to\your\file |
| 503 | API request failed (no balance) | ok: false, code: "insufficient_balance" |
| 503 | API request failed (server error) | HTTP status code error (500 server crash) |
| 504 | Asynchronous task execution failed | === Generation Failed === / {Specific error reason returned by backend, for example "Prompt violates safety policy"} |
AGENT CRITICAL INSTRUCTION:
- If the execution result returns
code: "insufficient_balance", you MUST explicitly inform the user that their credits are insufficient and guide them to recharge: https://dlazy.com/dashboard/organization/settings?tab=credits- If the execution result returns
code: "unauthorized"or indicates missing API key, you MUST inform the user to get their API key from https://dlazy.com/dashboard/organization/api-key and save it usingdlazy auth setand resume the task.
Tips
Visit https://dlazy.com for more information.
Questions people ask
- Which generation modes are available?
- Use `components` mode with up to five images and five videos as references, or `frames` mode with a first frame and optional last frame. A text prompt is required.
- What output settings can I control?
- Choose 720P or 1080P resolution and a duration from 2 to 15 seconds. Prompt rewriting is enabled by default and can be turned off; an audio URL or local file can also be supplied.
- How are authentication, local files, and asynchronous jobs handled?
- Requests require a dLazy API key, saved through `dlazy login`, `dlazy auth set`, or supplied via `DLAZY_API_KEY`. Local media is uploaded to the hosted service; `--no-wait` returns a generation ID that can be polled with `dlazy status --wait`.
Related skills
Generate 4–15 second videos from prompts, media references, or first and last frames.
Generate Vidu Q2 images from prompts and references at configurable aspect ratios and resolutions.
Turn a single first-frame image and prompt into a 5- or 10-second Jimeng-generated video.
Turn first and last frame images into a 5- or 10-second Jimeng transition video.
Generate 4–12 second videos from prompts, media references, or first and last frames.