Generate Vidu Q2 images from prompts and references at configurable aspect ratios and resolutions.
Design & media
图生视频 Vidu Q2
Turn up to 10 images or selected first and last frames into a Vidu Q2 video with configurable output settings.
What it does
Generate dynamic videos from static images through the Vidu Q2 image-to-video model using the `dlazy viduq2-i2v` command. Choose component or frame mode, provide a prompt and local paths or URLs, then set duration, aspect ratio, resolution, and optional audio. The hosted API returns output URLs, or a generation ID for asynchronous requests.
When to use it
- Animating product or character images
- Creating clips between first and last frames
- Generating vertical, square, or widescreen videos
- Running asynchronous image-to-video jobs
The skill document
图生视频 Vidu Q2
English · 中文
Convert static images into dynamic videos using Vidu Q2 image-to-video model.
Trigger Keywords
- vidu q2
- image to video
- image to dynamic video
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:
Run the dlazy viduq2-i2v command to get results.
dlazy viduq2-i2v -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 10) [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"]
--subjects [subjects...] Subjects (max 7) [only when !(generation_mode="frames")]
--audio [audio] Audio [default: false] (choices: "true", "false")
--audioType [audioType] Audio Type [default: all] (choices: "all", "speech_only") [only when !(generation_mode="frames")]
--duration [duration] Duration (s) [default: 5] (choices: "2", "3", "4", "5", "6", "7", "8", "9", "10")
--aspectRatio [aspectRatio] Aspect Ratio [default: 9:16] (choices: "16:9", "9:16", "1:1", "3:4", "4:3", "21:9", "2:3", "3:2")
--resolution [resolution] Resolution [default: 720p] (choices: "540p", "720p", "1080p")
--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": "viduq2-i2v",
"modelId": "viduq2-i2v",
"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.
Command Examples
# basic call:
dlazy viduq2-i2v --prompt 'prompt text' --image '/path/to/image.png'
# complex call:
dlazy viduq2-i2v --prompt 'prompt text' --image 'https://files.dlazy.com/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 image inputs and generation modes are supported?
- Component mode accepts up to 10 images and up to 7 subjects. Frame mode instead accepts a first frame and a last frame; inputs may be local file paths or URLs.
- Which video settings can I control?
- You can select a 2–10 second duration, 540p, 720p, or 1080p resolution, and one of eight listed aspect ratios. Optional audio can be enabled, with `all` or `speech_only` available outside frame mode.
- How are authentication, uploads, and asynchronous jobs handled?
- Requests require a dLazy API key saved through `dlazy login`, `dlazy auth set`, or supplied with `DLAZY_API_KEY`. Local media is uploaded to `files.dlazy.com`; `--no-wait` returns a generation ID that can be polled with `dlazy status --wait`.
Related skills
Turn a single first-frame image and prompt into a 5- or 10-second Jimeng-generated video.
Generate 3–15 second Kling V3 videos from text or images with configurable format, mode, and sound.
Clone a reference voice and generate audio that reads new text from the command line.
Generate Wan 2.7 videos from text, reference media, or specified first and last frames.
Generate or extend Veo 3.1 videos from prompts and media with configurable format, resolution, and duration.