{"id":"a3214156-3f49-4613-9081-7355435789ca","entityType":"agent","slug":"clawhub-dlazyai-dlazy-viduq2-i2v","name":"图生视频 Vidu Q2","canonicalUrl":"https://www.xpersona.co/agent/clawhub-dlazyai-dlazy-viduq2-i2v","canonicalPath":"/agent/clawhub-dlazyai-dlazy-viduq2-i2v","generatedAt":"2026-10-10T02:27:32.266Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T05:19:10.136Z","emptyReason":null},"description":"Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 4.5K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s170j1ymymrxasgd00dsk7tckx84cf45:dlazy-viduq2-i2v","sourceUrl":"https://clawhub.ai/dlazyai/dlazy-viduq2-i2v","homepage":"https://clawhub.ai/dlazyai/skills/dlazy-viduq2-i2v","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/dlazyai/dlazy-viduq2-i2v","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/dlazyai/skills/dlazy-viduq2-i2v","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":73,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"图生视频 Vidu Q2 technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T05:19:10.136Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T05:19:10.136Z","emptyReason":null},"stars":null,"forks":null,"downloads":4488,"packageName":null,"latestVersion":"1.3.26","tractionLabel":"4.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T05:19:10.105Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T05:19:10.136Z","lastCrawledAt":"2026-10-09T05:19:10.105Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T05:19:10.105Z","lastVerifiedAt":null,"highlights":[{"version":"1.3.26","createdAt":"2026-10-08T01:36:56.426Z","changelog":"例行版本更新 2026-10-08","fileCount":4,"zipByteSize":8711},{"version":"1.3.25","createdAt":"2026-10-04T01:37:57.396Z","changelog":"例行版本更新 2026-10-04","fileCount":4,"zipByteSize":8692},{"version":"1.3.24","createdAt":"2026-10-02T05:12:17.990Z","changelog":"例行版本更新 2026-10-02","fileCount":4,"zipByteSize":8720},{"version":"1.3.23","createdAt":"2026-09-30T01:40:08.092Z","changelog":"例行版本更新 2026-09-30","fileCount":4,"zipByteSize":8835},{"version":"1.3.22","createdAt":"2026-09-28T02:32:02.793Z","changelog":"例行版本更新 2026-09-28","fileCount":4,"zipByteSize":8656},{"version":"1.3.21","createdAt":"2026-09-28T01:34:19.848Z","changelog":"例行版本更新 2026-09-28","fileCount":4,"zipByteSize":8764},{"version":"1.3.20","createdAt":"2026-09-24T06:53:51.624Z","changelog":"例行版本更新 2026-09-24","fileCount":4,"zipByteSize":8801},{"version":"1.3.19","createdAt":"2026-09-22T01:35:03.928Z","changelog":"例行版本更新 2026-09-22","fileCount":4,"zipByteSize":8836}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s170j1ymymrxasgd00dsk7tckx84cf45:dlazy-viduq2-i2v","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s170j1ymymrxasgd00dsk7tckx84cf45:dlazy-viduq2-i2v` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/dlazyai/dlazy-viduq2-i2v before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-viduq2-i2v/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-viduq2-i2v/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-viduq2-i2v/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-viduq2-i2v/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-viduq2-i2v/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-viduq2-i2v/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T02:27:32.263Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-viduq2-i2v/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-viduq2-i2v/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-viduq2-i2v/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-viduq2-i2v/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T05:19:10.136Z","emptyReason":null},"readme":"Skill: 图生视频 Vidu Q2\n\nOwner: dlazyai\n\nSummary: Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\n\nTags: latest:1.3.26\n\nVersion history:\n\nv1.3.26 | 2026-10-08T01:36:56.426Z | user\n\n例行版本更新 2026-10-08\n\nv1.3.25 | 2026-10-04T01:37:57.396Z | user\n\n例行版本更新 2026-10-04\n\nv1.3.24 | 2026-10-02T05:12:17.990Z | user\n\n例行版本更新 2026-10-02\n\nv1.3.23 | 2026-09-30T01:40:08.092Z | user\n\n例行版本更新 2026-09-30\n\nv1.3.22 | 2026-09-28T02:32:02.793Z | user\n\n例行版本更新 2026-09-28\n\nv1.3.21 | 2026-09-28T01:34:19.848Z | user\n\n例行版本更新 2026-09-28\n\nv1.3.20 | 2026-09-24T06:53:51.624Z | user\n\n例行版本更新 2026-09-24\n\nv1.3.19 | 2026-09-22T01:35:03.928Z | user\n\n例行版本更新 2026-09-22\n\nv1.3.18 | 2026-09-20T01:44:57.557Z | user\n\n例行版本更新 2026-09-20\n\nv1.3.17 | 2026-09-18T02:04:54.310Z | user\n\n例行版本更新 2026-09-18\n\nv1.3.16 | 2026-09-14T01:32:19.346Z | user\n\n例行版本更新 2026-09-14\n\nv1.3.15 | 2026-09-10T01:30:19.465Z | user\n\n例行版本更新 2026-09-10\n\nv1.3.14 | 2026-09-08T01:35:45.787Z | user\n\n例行版本更新 2026-09-08\n\nv1.3.13 | 2026-09-07T01:44:37.997Z | user\n\n例行版本更新 2026-09-07\n\nv1.3.12 | 2026-09-04T01:37:06.751Z | user\n\n例行版本更新 2026-09-04\n\nv1.3.11 | 2026-09-02T01:32:44.688Z | user\n\n例行版本更新 2026-09-02\n\nv1.3.10 | 2026-08-31T03:10:39.109Z | user\n\n源码仓库迁移至 github.com/dlazy-ai/cli\n\nv1.3.9 | 2026-08-24T09:48:59.398Z | user\n\nRestore Chinese display name\n\nv1.3.8 | 2026-08-17T09:25:26.941Z | user\n\nRestore Chinese display name\n\nv1.3.7 | 2026-08-10T06:05:00.522Z | user\n\nRestore Chinese display name\n\nv1.3.6 | 2026-08-10T04:22:25.242Z | user\n\nRestore Chinese display name\n\nv1.3.5 | 2026-07-21T02:48:15.509Z | auto\n\n- Updated CLI dependency from @dlazy/cli version 1.2.2 to 1.2.3.\n- Updated all usage and install instructions to reference the new CLI version.\n- Removed obsolete file: skill-card.md.\n\nv1.3.4 | 2026-07-17T10:58:04.890Z | auto\n\n- Updated CLI tool dependency from @dlazy/cli version 1.2.0 to 1.2.2.\n- Refreshed install commands and metadata to match new CLI version.\n- Removed outdated file: skill-card.md.\n- Minor copy and formatting improvements in documentation.\n\nv1.2.2 | 2026-07-17T09:08:06.389Z | auto\n\n- Removed the file skill-card.md.  \n- No other changes to skill logic or documentation.\n\nv1.3.3 | 2026-07-09T02:02:40.015Z | user\n\nset Chinese display name for CN search\n\nv1.3.2 | 2026-07-09T02:02:15.755Z | user\n\nset Chinese display name for CN search\n\nv1.3.1 | 2026-07-09T01:44:59.191Z | user\n\nset Chinese display name for CN search\n\nv1.3.0 | 2026-07-07T20:06:12.361Z | auto\n\ndlazy-viduq2-i2v v1.3.0\n\n- Updated documentation in SKILL.md and SKILL-cn.md.\n- Version number bumped from 1.2.1 to 1.3.0.\n- No changes to functionality or API; documentation only.\n\nv1.2.1 | 2026-07-07T18:55:17.258Z | auto\n\ndlazy-viduq2-i2v 1.2.1\n\n- Added a Chinese summary to the description for improved bilingual support.\n- Minor documentation updates in SKILL.md and SKILL-cn.md.\n- Removed outdated skill-card.md file.\n\nv1.2.0 | 2026-06-02T10:03:03.928Z | auto\n\ndlazy-viduq2-i2v v1.2.0\n\n- Updated CLI dependency to use @dlazy/cli version 1.2.0 for all install commands and references.\n- metadata.clawdbot.install and installAlternative fields now reference the new CLI version.\n- Output JSON schema corrected: modelId is now \"viduq2-i2v\".\n- Removed the skill-card.md file.\n- Minor clarifications and formatting improvements.\n\nv1.1.2 | 2026-06-02T01:40:15.082Z | user\n\nUpdate model skills (names/params refreshed); add search-audio/image/video\n\nv1.1.1 | 2026-05-06T14:12:12.301Z | auto\n\n- Added clarifying note to the --generation_mode option to explain choices (\"components=Components; frames=Frames\").\n- Bumped skill version to 1.1.1.\n- Minor documentation tweaks for clarity.\n\nv1.1.0 | 2026-05-01T07:55:22.725Z | auto\n\n- Added recommendation to use the new device-code authentication flow via dlazy login for easier API key setup.\n- Previous manual method (dlazy auth set) is now documented as an alternative.\n- No changes to CLI command options, output, or error handling.\n- General documentation improved for authentication steps.\n\nv1.0.9 | 2026-04-30T10:22:11.996Z | user\n\nSync to CLI 1.0.9 with cliWarning support\n\nv1.0.5 | 2026-04-29T02:35:37.576Z | user\n\nbump @dlazy/cli to 1.0.8\n\nv1.0.4 | 2026-04-27T08:03:41.874Z | user\n\nReduce false-positive scanner alerts: drop 'plaintext' wording from API key storage docs; remove persistsApiKey/network metadata flags in favour of neutral configLocation/apiEndpoints; rewrite Data & Privacy section as factual How-It-Works description without alarming warnings; emphasise that keys can be rotated/revoked at any time from the dLazy dashboard.\n\nv1.0.3 | 2026-04-27T07:42:25.223Z | user\n\nAdd provenance metadata (homepage/source/author/npm), document API key storage location (~/.dlazy/config.json) and DLAZY_API_KEY env var alternative, add Data & Privacy section, recommend 'npx @dlazy/cli@1.0.6' install alternative, normalise Chinese auth-error instruction wording.\n\nv1.0.2 | 2026-04-24T04:08:10.368Z | auto\n\n- Updated usage instructions for handling API keys: now asks users to provide their API key, which will be saved directly.\n- Clarified agent behavior regarding missing or insufficient credits and API keys.\n- Minor revision for improved wording and clearer guidance in error-handling and authentication sections.\n\nv1.0.1 | 2026-04-24T03:34:32.813Z | auto\n\n- Added an **Authentication** section with instructions for configuring and obtaining your dLazy API key.\n- Updated CLI install version to `@dlazy/cli@1.0.6`.\n- No changes to core functionality or output format.\n\nv1.0.0 | 2026-04-22T08:41:35.489Z | auto\n\nInitial release of dlazy-viduq2-i2v.\n\n- Converts static images into dynamic videos using the Vidu Q2 image-to-video model.\n- Provides a CLI with flexible options for prompt, images, audio, duration, aspect ratio, resolution, watermark, and more.\n- Includes detailed error handling and guides for resolving insufficient credits or missing API key issues.\n- Outputs video links upon success.\n\nArchive index:\n\nArchive v1.3.26: 4 files, 8711 bytes\n\nFiles: skill-card.md (1870b), SKILL-cn.md (8141b), SKILL.md (8219b), _meta.json (136b)\n\nFile v1.3.26:SKILL.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy viduq2-i2v -h for help.\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\nConvert static images into dynamic videos using Vidu Q2 image-to-video model.\r\n\r\n## Trigger Keywords\r\n\r\n- vidu q2\r\n- image to video\r\n- image to dynamic video\r\n\r\n## Authentication\r\n\r\nAll requests require a dLazy API key. The recommended way to authenticate is:\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\nThis 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.\r\n\r\n### Alternative: Set the Key Manually\r\n\r\nIf you already have an API key, you can save it directly:\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nThe 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.\r\n\r\n### Getting Your API Key Manually\r\n\r\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\r\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. Copy the key shown in the API Key section\r\n\r\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\r\n\r\n## About & Provenance\r\n\r\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **Maintainer**: dlazyai\r\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\r\n- **Homepage**: [dlazy.com](https://dlazy.com)\r\n\r\nYou can install on demand without persisting a global binary by running:\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\nOr, 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.\r\n\r\n## How It Works\r\n\r\nThis skill is a thin client over the dLazy hosted API. When you invoke it:\r\n\r\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\r\n- 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.\r\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\r\n\r\nThis 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](https://dlazy.com) for the full service terms.\r\n\r\n## Usage\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy viduq2-i2v` command to get results.\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    Prompt\r\n  --generation_mode [generation_mode]  Generation Mode（components=Components; frames=Frames） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 Images [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            First Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              Last Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             Subject IDs (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      Audio [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              Audio Type [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                Duration (s) [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          Aspect Ratio [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            Resolution [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## Output Format\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## Command Examples\r\n\r\n```bash\r\n# basic call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image '/path/to/image.png'\r\n\r\n# complex call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## Error Handling\r\n\r\n| Code | Error Type                         | Example Message                                                                                                          |\r\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\r\n| 502  | Local file read error              | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                          |\r\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\r\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend, for example \"Prompt violates safety policy\"}` |\r\n\r\n> **AGENT CRITICAL INSTRUCTION**: \r\n> 1. 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](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 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](https://dlazy.com/dashboard/organization/api-key) and save it using `dlazy auth set <key>` and resume the task.\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nFile v1.3.26:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-viduq2-i2v\",\n  \"version\": \"1.3.26\",\n  \"publishedAt\": 1791423416426\n}\n\nFile v1.3.26:skill-card.md\n\n## Description:\n\nHelps agents turn static images into short videos with Vidu Q2 through the dLazy CLI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and developers use this skill to guide image-to-video generation from reference images or first and last frames, with optional audio and output settings.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Installing the skill's external dLazy CLI adds a third-party dependency.\n\nMitigation: Review the pinned CLI package and its listed source before installing.\n\nRisk: Signing in stores an API key in the local CLI configuration.\n\nMitigation: Use a per-invocation environment variable instead when persistent key storage is unsuitable.\n\nRisk: Media files supplied for generation are uploaded to dLazy's cloud service.\n\nMitigation: Submit only media that is appropriate to share with that service.\n\n## Reference(s):\n\n- [dLazy CLI repository (listed in skill metadata)](https://github.com/dlazy-ai/cli)\n- [dLazy CLI npm package](https://www.npmjs.com/package/@dlazy/cli)\n- [dLazy website](https://dlazy.com)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Guidance]\n\n**Output Format:** [Markdown with inline shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The CLI returns JSON containing a generated asset URL or an asynchronous task ID.]\n\n## Skill Version(s):\n\n1.3.26 (source: server-resolved ClawHub release; supplied skill frontmatter says 1.3.5)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.26:SKILL-cn.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"当调用此技能时，可以使用 dlazy viduq2-i2v -h 查看帮助信息。\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\n使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\r\n\r\n## 触发关键词\r\n\r\n- vidu q2\r\n- 图生视频\r\n- 图片变视频\r\n\r\n## 身份验证 (Authentication)\r\n\r\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\r\n\r\n### 备选：手动设置 API Key\r\n\r\n如果你已有 API key，也可以直接保存：\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\r\n\r\n### 手动获取 API Key\r\n\r\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\r\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. 复制 API Key 区域显示的密钥\r\n\r\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\r\n\r\n## 关于与来源 (Provenance)\r\n\r\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **维护者**: dlazyai\r\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\r\n- **官网**: [dlazy.com](https://dlazy.com)\r\n\r\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\r\n\r\n## 工作原理\r\n\r\n此技能是 dLazy 托管 API 的轻量封装。调用时：\r\n\r\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\r\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\r\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\r\n\r\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\r\n\r\n## 使用方法\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\n执行 `dlazy viduq2-i2v` 命令获取结果。\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    提示词\r\n  --generation_mode [generation_mode]  生成模式（components=参考图; frames=首尾帧） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 参考图 [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            首帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              尾帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             主体 ID (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      音频 [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              音频类型 [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                时长（秒） [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          画幅比例 [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            分辨率 [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## 输出格式\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## 命令示例\r\n\r\n```bash\r\n# 基础调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image '/path/to/image.png'\r\n\r\n# 复杂调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## 错误处理\r\n\r\n| Code | 错误类型                         | 示例信息                                                                                                                 |\r\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\r\n| 502  | 本地文件读取失败                 | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                           |\r\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\r\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\r\n\r\n> **智能体关键指令**: \r\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（Insufficient balance），您必须明确告知用户当前积分不足，并引导用户点击以下链接前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 如果执行结果返回 `code: \"unauthorized\"` 或提示缺少 API Key，您必须明确告知用户前往 [https://dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key) 获取 API Key 并使用 `dlazy auth set <key>` 保存，然后继续执行任务。\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nArchive v1.3.25: 4 files, 8692 bytes\n\nFiles: skill-card.md (1868b), SKILL-cn.md (8141b), SKILL.md (8219b), _meta.json (136b)\n\nFile v1.3.25:SKILL.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy viduq2-i2v -h for help.\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\nConvert static images into dynamic videos using Vidu Q2 image-to-video model.\r\n\r\n## Trigger Keywords\r\n\r\n- vidu q2\r\n- image to video\r\n- image to dynamic video\r\n\r\n## Authentication\r\n\r\nAll requests require a dLazy API key. The recommended way to authenticate is:\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\nThis 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.\r\n\r\n### Alternative: Set the Key Manually\r\n\r\nIf you already have an API key, you can save it directly:\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nThe 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.\r\n\r\n### Getting Your API Key Manually\r\n\r\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\r\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. Copy the key shown in the API Key section\r\n\r\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\r\n\r\n## About & Provenance\r\n\r\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **Maintainer**: dlazyai\r\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\r\n- **Homepage**: [dlazy.com](https://dlazy.com)\r\n\r\nYou can install on demand without persisting a global binary by running:\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\nOr, 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.\r\n\r\n## How It Works\r\n\r\nThis skill is a thin client over the dLazy hosted API. When you invoke it:\r\n\r\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\r\n- 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.\r\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\r\n\r\nThis 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](https://dlazy.com) for the full service terms.\r\n\r\n## Usage\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy viduq2-i2v` command to get results.\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    Prompt\r\n  --generation_mode [generation_mode]  Generation Mode（components=Components; frames=Frames） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 Images [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            First Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              Last Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             Subject IDs (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      Audio [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              Audio Type [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                Duration (s) [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          Aspect Ratio [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            Resolution [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## Output Format\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## Command Examples\r\n\r\n```bash\r\n# basic call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image '/path/to/image.png'\r\n\r\n# complex call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## Error Handling\r\n\r\n| Code | Error Type                         | Example Message                                                                                                          |\r\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\r\n| 502  | Local file read error              | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                          |\r\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\r\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend, for example \"Prompt violates safety policy\"}` |\r\n\r\n> **AGENT CRITICAL INSTRUCTION**: \r\n> 1. 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](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 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](https://dlazy.com/dashboard/organization/api-key) and save it using `dlazy auth set <key>` and resume the task.\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nFile v1.3.25:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-viduq2-i2v\",\n  \"version\": \"1.3.25\",\n  \"publishedAt\": 1791077877396\n}\n\nFile v1.3.25:skill-card.md\n\n## Description:\n\nTurns still images into short videos with Vidu Q2 through the dLazy service.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and developers use this skill to turn reference images or first and last frames into short videos with optional audio.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and local media supplied to the CLI may be uploaded to dLazy-hosted services.\n\nMitigation: Use only media you are authorized to share; avoid sensitive or regulated content unless the service terms and handling meet your needs.\n\nRisk: Logging in may save an API key to local CLI configuration.\n\nMitigation: Protect local credentials, use a per-invocation environment variable when appropriate, and rotate or revoke keys if exposed.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/dlazyai/skills/dlazy-viduq2-i2v)\n- [dLazy CLI source (skill metadata)](https://github.com/dlazy-ai/cli)\n- [dLazy CLI npm package](https://www.npmjs.com/package/@dlazy/cli)\n- [dLazy service](https://dlazy.com)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Guidance]\n\n**Output Format:** [Text guidance and JSON CLI response]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [CLI results can include hosted media URLs or an asynchronous task ID; generated media can optionally be saved locally.]\n\n## Skill Version(s):\n\n1.3.25 (source: ClawHub release metadata; supplied skill frontmatter lists 1.3.5)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.25:SKILL-cn.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"当调用此技能时，可以使用 dlazy viduq2-i2v -h 查看帮助信息。\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\n使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\r\n\r\n## 触发关键词\r\n\r\n- vidu q2\r\n- 图生视频\r\n- 图片变视频\r\n\r\n## 身份验证 (Authentication)\r\n\r\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\r\n\r\n### 备选：手动设置 API Key\r\n\r\n如果你已有 API key，也可以直接保存：\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\r\n\r\n### 手动获取 API Key\r\n\r\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\r\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. 复制 API Key 区域显示的密钥\r\n\r\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\r\n\r\n## 关于与来源 (Provenance)\r\n\r\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **维护者**: dlazyai\r\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\r\n- **官网**: [dlazy.com](https://dlazy.com)\r\n\r\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\r\n\r\n## 工作原理\r\n\r\n此技能是 dLazy 托管 API 的轻量封装。调用时：\r\n\r\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\r\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\r\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\r\n\r\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\r\n\r\n## 使用方法\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\n执行 `dlazy viduq2-i2v` 命令获取结果。\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    提示词\r\n  --generation_mode [generation_mode]  生成模式（components=参考图; frames=首尾帧） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 参考图 [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            首帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              尾帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             主体 ID (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      音频 [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              音频类型 [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                时长（秒） [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          画幅比例 [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            分辨率 [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## 输出格式\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## 命令示例\r\n\r\n```bash\r\n# 基础调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image '/path/to/image.png'\r\n\r\n# 复杂调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## 错误处理\r\n\r\n| Code | 错误类型                         | 示例信息                                                                                                                 |\r\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\r\n| 502  | 本地文件读取失败                 | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                           |\r\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\r\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\r\n\r\n> **智能体关键指令**: \r\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（Insufficient balance），您必须明确告知用户当前积分不足，并引导用户点击以下链接前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 如果执行结果返回 `code: \"unauthorized\"` 或提示缺少 API Key，您必须明确告知用户前往 [https://dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key) 获取 API Key 并使用 `dlazy auth set <key>` 保存，然后继续执行任务。\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nArchive v1.3.24: 4 files, 8720 bytes\n\nFiles: skill-card.md (1942b), SKILL-cn.md (8141b), SKILL.md (8219b), _meta.json (136b)\n\nFile v1.3.24:SKILL.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy viduq2-i2v -h for help.\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\nConvert static images into dynamic videos using Vidu Q2 image-to-video model.\r\n\r\n## Trigger Keywords\r\n\r\n- vidu q2\r\n- image to video\r\n- image to dynamic video\r\n\r\n## Authentication\r\n\r\nAll requests require a dLazy API key. The recommended way to authenticate is:\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\nThis 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.\r\n\r\n### Alternative: Set the Key Manually\r\n\r\nIf you already have an API key, you can save it directly:\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nThe 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.\r\n\r\n### Getting Your API Key Manually\r\n\r\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\r\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. Copy the key shown in the API Key section\r\n\r\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\r\n\r\n## About & Provenance\r\n\r\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **Maintainer**: dlazyai\r\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\r\n- **Homepage**: [dlazy.com](https://dlazy.com)\r\n\r\nYou can install on demand without persisting a global binary by running:\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\nOr, 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.\r\n\r\n## How It Works\r\n\r\nThis skill is a thin client over the dLazy hosted API. When you invoke it:\r\n\r\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\r\n- 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.\r\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\r\n\r\nThis 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](https://dlazy.com) for the full service terms.\r\n\r\n## Usage\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy viduq2-i2v` command to get results.\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    Prompt\r\n  --generation_mode [generation_mode]  Generation Mode（components=Components; frames=Frames） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 Images [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            First Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              Last Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             Subject IDs (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      Audio [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              Audio Type [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                Duration (s) [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          Aspect Ratio [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            Resolution [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## Output Format\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## Command Examples\r\n\r\n```bash\r\n# basic call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image '/path/to/image.png'\r\n\r\n# complex call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## Error Handling\r\n\r\n| Code | Error Type                         | Example Message                                                                                                          |\r\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\r\n| 502  | Local file read error              | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                          |\r\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\r\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend, for example \"Prompt violates safety policy\"}` |\r\n\r\n> **AGENT CRITICAL INSTRUCTION**: \r\n> 1. 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](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 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](https://dlazy.com/dashboard/organization/api-key) and save it using `dlazy auth set <key>` and resume the task.\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nFile v1.3.24:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-viduq2-i2v\",\n  \"version\": \"1.3.24\",\n  \"publishedAt\": 1790917937990\n}\n\nFile v1.3.24:skill-card.md\n\n## Description:\n\nHelps agents turn still images into videos using Vidu Q2 through the dLazy CLI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and developers use this skill to guide an agent in generating short videos from supplied images and prompts with the dLazy-hosted Vidu Q2 service.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Selected images and prompts are sent to dLazy cloud services.\n\nMitigation: Avoid sensitive media or prompts unless you are comfortable sharing them with the service.\n\nRisk: The skill relies on an external npm CLI and a dLazy API key.\n\nMitigation: Review the pinned CLI package before installing and protect or rotate the API key as needed.\n\nRisk: Some usage examples disagree with the documented CLI flags.\n\nMitigation: Check the installed CLI's help before running commands.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/dlazyai/skills/dlazy-viduq2-i2v)\n- [dLazy CLI repository (listed in skill metadata; not verified as skill provenance)](https://github.com/dlazy-ai/cli)\n- [dLazy CLI npm package](https://www.npmjs.com/package/@dlazy/cli)\n- [dLazy service](https://dlazy.com)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Shell commands, Guidance]\n\n**Output Format:** [Markdown and CLI commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The external service may return a generated media URL; the CLI can save the asset locally.]\n\n## Skill Version(s):\n\n1.3.24 (source: ClawHub release; included skill frontmatter says 1.3.5)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.24:SKILL-cn.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"当调用此技能时，可以使用 dlazy viduq2-i2v -h 查看帮助信息。\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\n使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\r\n\r\n## 触发关键词\r\n\r\n- vidu q2\r\n- 图生视频\r\n- 图片变视频\r\n\r\n## 身份验证 (Authentication)\r\n\r\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\r\n\r\n### 备选：手动设置 API Key\r\n\r\n如果你已有 API key，也可以直接保存：\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\r\n\r\n### 手动获取 API Key\r\n\r\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\r\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. 复制 API Key 区域显示的密钥\r\n\r\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\r\n\r\n## 关于与来源 (Provenance)\r\n\r\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **维护者**: dlazyai\r\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\r\n- **官网**: [dlazy.com](https://dlazy.com)\r\n\r\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\r\n\r\n## 工作原理\r\n\r\n此技能是 dLazy 托管 API 的轻量封装。调用时：\r\n\r\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\r\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\r\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\r\n\r\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\r\n\r\n## 使用方法\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\n执行 `dlazy viduq2-i2v` 命令获取结果。\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    提示词\r\n  --generation_mode [generation_mode]  生成模式（components=参考图; frames=首尾帧） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 参考图 [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            首帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              尾帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             主体 ID (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      音频 [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              音频类型 [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                时长（秒） [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          画幅比例 [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            分辨率 [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## 输出格式\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## 命令示例\r\n\r\n```bash\r\n# 基础调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image '/path/to/image.png'\r\n\r\n# 复杂调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## 错误处理\r\n\r\n| Code | 错误类型                         | 示例信息                                                                                                                 |\r\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\r\n| 502  | 本地文件读取失败                 | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                           |\r\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\r\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\r\n\r\n> **智能体关键指令**: \r\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（Insufficient balance），您必须明确告知用户当前积分不足，并引导用户点击以下链接前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 如果执行结果返回 `code: \"unauthorized\"` 或提示缺少 API Key，您必须明确告知用户前往 [https://dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key) 获取 API Key 并使用 `dlazy auth set <key>` 保存，然后继续执行任务。\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nArchive v1.3.23: 4 files, 8835 bytes\n\nFiles: skill-card.md (2115b), SKILL-cn.md (8141b), SKILL.md (8219b), _meta.json (136b)\n\nFile v1.3.23:SKILL.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy viduq2-i2v -h for help.\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\nConvert static images into dynamic videos using Vidu Q2 image-to-video model.\r\n\r\n## Trigger Keywords\r\n\r\n- vidu q2\r\n- image to video\r\n- image to dynamic video\r\n\r\n## Authentication\r\n\r\nAll requests require a dLazy API key. The recommended way to authenticate is:\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\nThis 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.\r\n\r\n### Alternative: Set the Key Manually\r\n\r\nIf you already have an API key, you can save it directly:\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nThe 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.\r\n\r\n### Getting Your API Key Manually\r\n\r\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\r\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. Copy the key shown in the API Key section\r\n\r\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\r\n\r\n## About & Provenance\r\n\r\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **Maintainer**: dlazyai\r\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\r\n- **Homepage**: [dlazy.com](https://dlazy.com)\r\n\r\nYou can install on demand without persisting a global binary by running:\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\nOr, 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.\r\n\r\n## How It Works\r\n\r\nThis skill is a thin client over the dLazy hosted API. When you invoke it:\r\n\r\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\r\n- 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.\r\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\r\n\r\nThis 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](https://dlazy.com) for the full service terms.\r\n\r\n## Usage\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy viduq2-i2v` command to get results.\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    Prompt\r\n  --generation_mode [generation_mode]  Generation Mode（components=Components; frames=Frames） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 Images [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            First Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              Last Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             Subject IDs (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      Audio [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              Audio Type [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                Duration (s) [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          Aspect Ratio [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            Resolution [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## Output Format\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## Command Examples\r\n\r\n```bash\r\n# basic call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image '/path/to/image.png'\r\n\r\n# complex call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## Error Handling\r\n\r\n| Code | Error Type                         | Example Message                                                                                                          |\r\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\r\n| 502  | Local file read error              | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                          |\r\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\r\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend, for example \"Prompt violates safety policy\"}` |\r\n\r\n> **AGENT CRITICAL INSTRUCTION**: \r\n> 1. 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](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 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](https://dlazy.com/dashboard/organization/api-key) and save it using `dlazy auth set <key>` and resume the task.\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nFile v1.3.23:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-viduq2-i2v\",\n  \"version\": \"1.3.23\",\n  \"publishedAt\": 1790732408092\n}\n\nFile v1.3.23:skill-card.md\n\n## Description:\n\nHelps agents turn still images into short videos with Vidu Q2 through the dLazy service.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and developers use this skill to generate short videos from reference images or first and last frames, with optional prompts and audio settings.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and selected local media are sent to dLazy cloud services, and generated outputs are hosted there.\n\nMitigation: Confirm the service is trusted and obtain permission before submitting sensitive prompts or media.\n\nRisk: The dLazy CLI requires an API key and can save it in local configuration.\n\nMitigation: Use DLAZY_API_KEY per invocation if persistent key storage is undesirable; rotate or revoke exposed keys.\n\nRisk: Running the third-party CLI executes code outside the skill text.\n\nMitigation: Review the pinned dLazy CLI before installation; use its pinned npx invocation to avoid a persistent global install.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/dlazyai/skills/dlazy-viduq2-i2v)\n- [dLazy CLI repository (listed in skill metadata; skill import provenance unavailable)](https://github.com/dlazy-ai/cli)\n- [dLazy CLI package](https://www.npmjs.com/package/@dlazy/cli)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration instructions, Guidance]\n\n**Output Format:** [Markdown with shell commands and JSON response examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Results may contain hosted output URLs; asynchronous jobs require status polling.]\n\n## Skill Version(s):\n\n1.3.23 (source: server-resolved ClawHub release; bundled skill frontmatter says 1.3.5)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.23:SKILL-cn.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"当调用此技能时，可以使用 dlazy viduq2-i2v -h 查看帮助信息。\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\n使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\r\n\r\n## 触发关键词\r\n\r\n- vidu q2\r\n- 图生视频\r\n- 图片变视频\r\n\r\n## 身份验证 (Authentication)\r\n\r\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\r\n\r\n### 备选：手动设置 API Key\r\n\r\n如果你已有 API key，也可以直接保存：\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\r\n\r\n### 手动获取 API Key\r\n\r\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\r\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. 复制 API Key 区域显示的密钥\r\n\r\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\r\n\r\n## 关于与来源 (Provenance)\r\n\r\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **维护者**: dlazyai\r\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\r\n- **官网**: [dlazy.com](https://dlazy.com)\r\n\r\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\r\n\r\n## 工作原理\r\n\r\n此技能是 dLazy 托管 API 的轻量封装。调用时：\r\n\r\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\r\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\r\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\r\n\r\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\r\n\r\n## 使用方法\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\n执行 `dlazy viduq2-i2v` 命令获取结果。\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    提示词\r\n  --generation_mode [generation_mode]  生成模式（components=参考图; frames=首尾帧） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 参考图 [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            首帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              尾帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             主体 ID (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      音频 [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              音频类型 [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                时长（秒） [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          画幅比例 [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            分辨率 [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## 输出格式\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## 命令示例\r\n\r\n```bash\r\n# 基础调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image '/path/to/image.png'\r\n\r\n# 复杂调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## 错误处理\r\n\r\n| Code | 错误类型                         | 示例信息                                                                                                                 |\r\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\r\n| 502  | 本地文件读取失败                 | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                           |\r\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\r\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\r\n\r\n> **智能体关键指令**: \r\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（Insufficient balance），您必须明确告知用户当前积分不足，并引导用户点击以下链接前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 如果执行结果返回 `code: \"unauthorized\"` 或提示缺少 API Key，您必须明确告知用户前往 [https://dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key) 获取 API Key 并使用 `dlazy auth set <key>` 保存，然后继续执行任务。\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nArchive v1.3.22: 4 files, 8656 bytes\n\nFiles: skill-card.md (1841b), SKILL-cn.md (8141b), SKILL.md (8219b), _meta.json (136b)\n\nFile v1.3.22:SKILL.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy viduq2-i2v -h for help.\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\nConvert static images into dynamic videos using Vidu Q2 image-to-video model.\r\n\r\n## Trigger Keywords\r\n\r\n- vidu q2\r\n- image to video\r\n- image to dynamic video\r\n\r\n## Authentication\r\n\r\nAll requests require a dLazy API key. The recommended way to authenticate is:\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\nThis 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.\r\n\r\n### Alternative: Set the Key Manually\r\n\r\nIf you already have an API key, you can save it directly:\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nThe 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.\r\n\r\n### Getting Your API Key Manually\r\n\r\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\r\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. Copy the key shown in the API Key section\r\n\r\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\r\n\r\n## About & Provenance\r\n\r\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **Maintainer**: dlazyai\r\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\r\n- **Homepage**: [dlazy.com](https://dlazy.com)\r\n\r\nYou can install on demand without persisting a global binary by running:\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\nOr, 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.\r\n\r\n## How It Works\r\n\r\nThis skill is a thin client over the dLazy hosted API. When you invoke it:\r\n\r\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\r\n- 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.\r\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\r\n\r\nThis 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](https://dlazy.com) for the full service terms.\r\n\r\n## Usage\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy viduq2-i2v` command to get results.\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    Prompt\r\n  --generation_mode [generation_mode]  Generation Mode（components=Components; frames=Frames） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 Images [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            First Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              Last Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             Subject IDs (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      Audio [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              Audio Type [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                Duration (s) [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          Aspect Ratio [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            Resolution [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## Output Format\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## Command Examples\r\n\r\n```bash\r\n# basic call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image '/path/to/image.png'\r\n\r\n# complex call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## Error Handling\r\n\r\n| Code | Error Type                         | Example Message                                                                                                          |\r\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\r\n| 502  | Local file read error              | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                          |\r\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\r\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend, for example \"Prompt violates safety policy\"}` |\r\n\r\n> **AGENT CRITICAL INSTRUCTION**: \r\n> 1. 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](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 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](https://dlazy.com/dashboard/organization/api-key) and save it using `dlazy auth set <key>` and resume the task.\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nFile v1.3.22:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-viduq2-i2v\",\n  \"version\": \"1.3.22\",\n  \"publishedAt\": 1790562722793\n}\n\nFile v1.3.22:skill-card.md\n\n## Description:\n\nHelps an agent turn still images into short videos using Vidu Q2 through the dLazy CLI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and developers use this skill to guide image-to-video generation with Vidu Q2, providing images and a prompt through the dLazy CLI.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and provided media may be sent to dLazy's hosted service.\n\nMitigation: Review content before submission and avoid sending sensitive media or prompts without authorization.\n\nRisk: Generation may use account credits.\n\nMitigation: Check the cost estimate with the dry-run option before generating.\n\nRisk: The CLI may save an API key in local configuration.\n\nMitigation: Protect local configuration or provide the key per invocation instead.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/dlazyai/skills/dlazy-viduq2-i2v)\n- [dLazy CLI source and usage reference](https://github.com/dlazy-ai/cli)\n- [dLazy CLI npm package](https://www.npmjs.com/package/@dlazy/cli)\n- [dLazy service](https://dlazy.com)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Guidance]\n\n**Output Format:** [Markdown with shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The CLI may return JSON with generated media URLs or an asynchronous task ID; a save option downloads the result.]\n\n## Skill Version(s):\n\n1.3.22 (source: ClawHub release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.22:SKILL-cn.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"当调用此技能时，可以使用 dlazy viduq2-i2v -h 查看帮助信息。\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\n使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\r\n\r\n## 触发关键词\r\n\r\n- vidu q2\r\n- 图生视频\r\n- 图片变视频\r\n\r\n## 身份验证 (Authentication)\r\n\r\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\r\n\r\n### 备选：手动设置 API Key\r\n\r\n如果你已有 API key，也可以直接保存：\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\r\n\r\n### 手动获取 API Key\r\n\r\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\r\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. 复制 API Key 区域显示的密钥\r\n\r\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\r\n\r\n## 关于与来源 (Provenance)\r\n\r\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **维护者**: dlazyai\r\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\r\n- **官网**: [dlazy.com](https://dlazy.com)\r\n\r\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\r\n\r\n## 工作原理\r\n\r\n此技能是 dLazy 托管 API 的轻量封装。调用时：\r\n\r\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\r\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\r\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\r\n\r\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\r\n\r\n## 使用方法\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\n执行 `dlazy viduq2-i2v` 命令获取结果。\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    提示词\r\n  --generation_mode [generation_mode]  生成模式（components=参考图; frames=首尾帧） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 参考图 [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            首帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              尾帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             主体 ID (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      音频 [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              音频类型 [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                时长（秒） [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          画幅比例 [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            分辨率 [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## 输出格式\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## 命令示例\r\n\r\n```bash\r\n# 基础调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image '/path/to/image.png'\r\n\r\n# 复杂调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## 错误处理\r\n\r\n| Code | 错误类型                         | 示例信息                                                                                                                 |\r\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\r\n| 502  | 本地文件读取失败                 | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                           |\r\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\r\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\r\n\r\n> **智能体关键指令**: \r\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（Insufficient balance），您必须明确告知用户当前积分不足，并引导用户点击以下链接前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 如果执行结果返回 `code: \"unauthorized\"` 或提示缺少 API Key，您必须明确告知用户前往 [https://dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key) 获取 API Key 并使用 `dlazy auth set <key>` 保存，然后继续执行任务。\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nArchive v1.3.21: 4 files, 8764 bytes\n\nFiles: skill-card.md (2031b), SKILL-cn.md (8141b), SKILL.md (8219b), _meta.json (136b)\n\nFile v1.3.21:SKILL.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy viduq2-i2v -h for help.\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\nConvert static images into dynamic videos using Vidu Q2 image-to-video model.\r\n\r\n## Trigger Keywords\r\n\r\n- vidu q2\r\n- image to video\r\n- image to dynamic video\r\n\r\n## Authentication\r\n\r\nAll requests require a dLazy API key. The recommended way to authenticate is:\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\nThis 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.\r\n\r\n### Alternative: Set the Key Manually\r\n\r\nIf you already have an API key, you can save it directly:\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nThe 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.\r\n\r\n### Getting Your API Key Manually\r\n\r\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\r\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. Copy the key shown in the API Key section\r\n\r\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\r\n\r\n## About & Provenance\r\n\r\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **Maintainer**: dlazyai\r\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\r\n- **Homepage**: [dlazy.com](https://dlazy.com)\r\n\r\nYou can install on demand without persisting a global binary by running:\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\nOr, 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.\r\n\r\n## How It Works\r\n\r\nThis skill is a thin client over the dLazy hosted API. When you invoke it:\r\n\r\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\r\n- 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.\r\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\r\n\r\nThis 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](https://dlazy.com) for the full service terms.\r\n\r\n## Usage\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy viduq2-i2v` command to get results.\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    Prompt\r\n  --generation_mode [generation_mode]  Generation Mode（components=Components; frames=Frames） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 Images [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            First Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              Last Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             Subject IDs (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      Audio [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              Audio Type [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                Duration (s) [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          Aspect Ratio [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            Resolution [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## Output Format\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## Command Examples\r\n\r\n```bash\r\n# basic call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image '/path/to/image.png'\r\n\r\n# complex call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## Error Handling\r\n\r\n| Code | Error Type                         | Example Message                                                                                                          |\r\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\r\n| 502  | Local file read error              | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                          |\r\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\r\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend, for example \"Prompt violates safety policy\"}` |\r\n\r\n> **AGENT CRITICAL INSTRUCTION**: \r\n> 1. 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](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 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](https://dlazy.com/dashboard/organization/api-key) and save it using `dlazy auth set <key>` and resume the task.\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nFile v1.3.21:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-viduq2-i2v\",\n  \"version\": \"1.3.21\",\n  \"publishedAt\": 1790559259848\n}\n\nFile v1.3.21:skill-card.md\n\n## Description:\n\nHelps agents turn still images into short videos with Vidu Q2 through the dLazy service.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and developers use this skill to request short image-to-video clips from reference images or start and end frames, with optional audio and video settings.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The external CLI needs a dLazy API key and may save it locally.\n\nMitigation: Use a scoped key and consider supplying it per invocation rather than saving it; rotate or revoke keys as needed.\n\nRisk: Selected prompts and media are sent to dLazy's hosted service.\n\nMitigation: Share only content approved for upload to an external service and review the service terms.\n\nRisk: The documented output example shows an image even though the skill generates video.\n\nMitigation: Check the actual response format before relying on the example in downstream workflows.\n\n## Reference(s):\n\n- [dLazy CLI source listed in skill metadata](https://github.com/dlazy-ai/cli)\n- [dLazy CLI npm package](https://www.npmjs.com/package/@dlazy/cli)\n- [dLazy service](https://dlazy.com)\n- [ClawHub skill listing](https://clawhub.ai/dlazyai/skills/dlazy-viduq2-i2v)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Guidance]\n\n**Output Format:** [Text or Markdown with shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The external service can return a video URL or a saved video file; asynchronous requests return a task ID.]\n\n## Skill Version(s):\n\n1.3.21 (source: ClawHub release metadata; bundled skill frontmatter lists 1.3.5)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.21:SKILL-cn.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"当调用此技能时，可以使用 dlazy viduq2-i2v -h 查看帮助信息。\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\n使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\r\n\r\n## 触发关键词\r\n\r\n- vidu q2\r\n- 图生视频\r\n- 图片变视频\r\n\r\n## 身份验证 (Authentication)\r\n\r\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\r\n\r\n### 备选：手动设置 API Key\r\n\r\n如果你已有 API key，也可以直接保存：\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\r\n\r\n### 手动获取 API Key\r\n\r\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\r\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. 复制 API Key 区域显示的密钥\r\n\r\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\r\n\r\n## 关于与来源 (Provenance)\r\n\r\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **维护者**: dlazyai\r\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\r\n- **官网**: [dlazy.com](https://dlazy.com)\r\n\r\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\r\n\r\n## 工作原理\r\n\r\n此技能是 dLazy 托管 API 的轻量封装。调用时：\r\n\r\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\r\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\r\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\r\n\r\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\r\n\r\n## 使用方法\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\n执行 `dlazy viduq2-i2v` 命令获取结果。\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    提示词\r\n  --generation_mode [generation_mode]  生成模式（components=参考图; frames=首尾帧） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 参考图 [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            首帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              尾帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             主体 ID (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      音频 [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              音频类型 [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                时长（秒） [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          画幅比例 [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            分辨率 [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## 输出格式\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## 命令示例\r\n\r\n```bash\r\n# 基础调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image '/path/to/image.png'\r\n\r\n# 复杂调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## 错误处理\r\n\r\n| Code | 错误类型                         | 示例信息                                                                                                                 |\r\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\r\n| 502  | 本地文件读取失败                 | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                           |\r\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\r\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\r\n\r\n> **智能体关键指令**: \r\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（Insufficient balance），您必须明确告知用户当前积分不足，并引导用户点击以下链接前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 如果执行结果返回 `code: \"unauthorized\"` 或提示缺少 API Key，您必须明确告知用户前往 [https://dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key) 获取 API Key 并使用 `dlazy auth set <key>` 保存，然后继续执行任务。\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nArchive v1.3.20: 4 files, 8801 bytes\n\nFiles: skill-card.md (2122b), SKILL-cn.md (8141b), SKILL.md (8219b), _meta.json (136b)\n\nFile v1.3.20:SKILL.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy viduq2-i2v -h for help.\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\nConvert static images into dynamic videos using Vidu Q2 image-to-video model.\r\n\r\n## Trigger Keywords\r\n\r\n- vidu q2\r\n- image to video\r\n- image to dynamic video\r\n\r\n## Authentication\r\n\r\nAll requests require a dLazy API key. The recommended way to authenticate is:\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\nThis 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.\r\n\r\n### Alternative: Set the Key Manually\r\n\r\nIf you already have an API key, you can save it directly:\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nThe 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.\r\n\r\n### Getting Your API Key Manually\r\n\r\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\r\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. Copy the key shown in the API Key section\r\n\r\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\r\n\r\n## About & Provenance\r\n\r\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **Maintainer**: dlazyai\r\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\r\n- **Homepage**: [dlazy.com](https://dlazy.com)\r\n\r\nYou can install on demand without persisting a global binary by running:\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\nOr, 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.\r\n\r\n## How It Works\r\n\r\nThis skill is a thin client over the dLazy hosted API. When you invoke it:\r\n\r\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\r\n- 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.\r\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\r\n\r\nThis 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](https://dlazy.com) for the full service terms.\r\n\r\n## Usage\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy viduq2-i2v` command to get results.\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    Prompt\r\n  --generation_mode [generation_mode]  Generation Mode（components=Components; frames=Frames） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 Images [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            First Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              Last Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             Subject IDs (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      Audio [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              Audio Type [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                Duration (s) [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          Aspect Ratio [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            Resolution [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## Output Format\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## Command Examples\r\n\r\n```bash\r\n# basic call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image '/path/to/image.png'\r\n\r\n# complex call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## Error Handling\r\n\r\n| Code | Error Type                         | Example Message                                                                                                          |\r\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\r\n| 502  | Local file read error              | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                          |\r\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\r\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend, for example \"Prompt violates safety policy\"}` |\r\n\r\n> **AGENT CRITICAL INSTRUCTION**: \r\n> 1. 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](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 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](https://dlazy.com/dashboard/organization/api-key) and save it using `dlazy auth set <key>` and resume the task.\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nFile v1.3.20:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-viduq2-i2v\",\n  \"version\": \"1.3.20\",\n  \"publishedAt\": 1790232831624\n}\n\nFile v1.3.20:skill-card.md\n\n## Description:\n\nConvert static images into dynamic videos using the Vidu Q2 image-to-video model.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and creative operators use this skill to turn reference images or first/last frames into short Vidu Q2 videos through the dLazy hosted API.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and selected media files are sent to dLazy's hosted service for generation.\n\nMitigation: Use only media and prompts approved for that external service before invoking the skill.\n\nRisk: Authentication can store a dLazy API key in a local CLI configuration file.\n\nMitigation: Use the environment-variable option for per-invocation credentials when persistent local storage is not desired, and rotate or revoke keys from the dLazy dashboard when needed.\n\nRisk: The examples use an image flag that conflicts with the listed `--images` option.\n\nMitigation: Run `dlazy viduq2-i2v -h` before execution and use the flag shown by the installed CLI version.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/dlazyai/skills/dlazy-viduq2-i2v)\n- [dLazy CLI homepage](https://github.com/dlazy-ai/cli)\n- [dLazy CLI npm package](https://www.npmjs.com/package/@dlazy/cli)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration, JSON, Guidance]\n\n**Output Format:** [Markdown guidance with bash commands and JSON responses containing generated media URLs or asynchronous task IDs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires a dLazy API key and may upload selected local media files to dLazy-hosted endpoints for generation.]\n\n## Skill Version(s):\n\n1.3.20 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.20:SKILL-cn.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"当调用此技能时，可以使用 dlazy viduq2-i2v -h 查看帮助信息。\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\n使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\r\n\r\n## 触发关键词\r\n\r\n- vidu q2\r\n- 图生视频\r\n- 图片变视频\r\n\r\n## 身份验证 (Authentication)\r\n\r\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\r\n\r\n### 备选：手动设置 API Key\r\n\r\n如果你已有 API key，也可以直接保存：\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\r\n\r\n### 手动获取 API Key\r\n\r\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\r\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. 复制 API Key 区域显示的密钥\r\n\r\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\r\n\r\n## 关于与来源 (Provenance)\r\n\r\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **维护者**: dlazyai\r\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\r\n- **官网**: [dlazy.com](https://dlazy.com)\r\n\r\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\r\n\r\n## 工作原理\r\n\r\n此技能是 dLazy 托管 API 的轻量封装。调用时：\r\n\r\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\r\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\r\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\r\n\r\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\r\n\r\n## 使用方法\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\n执行 `dlazy viduq2-i2v` 命令获取结果。\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    提示词\r\n  --generation_mode [generation_mode]  生成模式（components=参考图; frames=首尾帧） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 参考图 [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            首帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              尾帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             主体 ID (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      音频 [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              音频类型 [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                时长（秒） [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          画幅比例 [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            分辨率 [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## 输出格式\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## 命令示例\r\n\r\n```bash\r\n# 基础调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image '/path/to/image.png'\r\n\r\n# 复杂调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## 错误处理\r\n\r\n| Code | 错误类型                         | 示例信息                                                                                                                 |\r\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\r\n| 502  | 本地文件读取失败                 | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                           |\r\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\r\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\r\n\r\n> **智能体关键指令**: \r\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（Insufficient balance），您必须明确告知用户当前积分不足，并引导用户点击以下链接前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 如果执行结果返回 `code: \"unauthorized\"` 或提示缺少 API Key，您必须明确告知用户前往 [https://dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key) 获取 API Key 并使用 `dlazy auth set <key>` 保存，然后继续执行任务。\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nArchive v1.3.19: 4 files, 8836 bytes\n\nFiles: skill-card.md (2202b), SKILL-cn.md (8141b), SKILL.md (8219b), _meta.json (136b)\n\nFile v1.3.19:SKILL.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy viduq2-i2v -h for help.\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\nConvert static images into dynamic videos using Vidu Q2 image-to-video model.\r\n\r\n## Trigger Keywords\r\n\r\n- vidu q2\r\n- image to video\r\n- image to dynamic video\r\n\r\n## Authentication\r\n\r\nAll requests require a dLazy API key. The recommended way to authenticate is:\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\nThis 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.\r\n\r\n### Alternative: Set the Key Manually\r\n\r\nIf you already have an API key, you can save it directly:\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nThe 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.\r\n\r\n### Getting Your API Key Manually\r\n\r\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\r\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. Copy the key shown in the API Key section\r\n\r\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\r\n\r\n## About & Provenance\r\n\r\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **Maintainer**: dlazyai\r\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\r\n- **Homepage**: [dlazy.com](https://dlazy.com)\r\n\r\nYou can install on demand without persisting a global binary by running:\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\nOr, 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.\r\n\r\n## How It Works\r\n\r\nThis skill is a thin client over the dLazy hosted API. When you invoke it:\r\n\r\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\r\n- 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.\r\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\r\n\r\nThis 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](https://dlazy.com) for the full service terms.\r\n\r\n## Usage\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy viduq2-i2v` command to get results.\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    Prompt\r\n  --generation_mode [generation_mode]  Generation Mode（components=Components; frames=Frames） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 Images [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            First Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              Last Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             Subject IDs (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      Audio [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              Audio Type [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                Duration (s) [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          Aspect Ratio [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            Resolution [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## Output Format\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## Command Examples\r\n\r\n```bash\r\n# basic call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image '/path/to/image.png'\r\n\r\n# complex call:\r\ndlazy viduq2-i2v --prompt 'prompt text' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## Error Handling\r\n\r\n| Code | Error Type                         | Example Message                                                                                                          |\r\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\r\n| 502  | Local file read error              | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                          |\r\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\r\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend, for example \"Prompt violates safety policy\"}` |\r\n\r\n> **AGENT CRITICAL INSTRUCTION**: \r\n> 1. 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](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 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](https://dlazy.com/dashboard/organization/api-key) and save it using `dlazy auth set <key>` and resume the task.\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nFile v1.3.19:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-viduq2-i2v\",\n  \"version\": \"1.3.19\",\n  \"publishedAt\": 1790040903928\n}\n\nFile v1.3.19:skill-card.md\n\n## Description:\n\nConvert static images into dynamic videos using the Vidu Q2 image-to-video model.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to invoke dLazy's hosted Vidu Q2 image-to-video service from an agent workflow, passing prompts and image inputs to generate dynamic video outputs.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and selected local media can be sent to dLazy's hosted API and media storage.\n\nMitigation: Avoid submitting sensitive media or confidential prompts unless the user accepts dLazy's service terms and cloud processing model.\n\nRisk: Login or auth setup can save a dLazy API key in a local CLI config file.\n\nMitigation: Use per-invocation environment variables when persistence is not desired, restrict access to the local config, and rotate or revoke keys from the dLazy dashboard when needed.\n\nRisk: Generated outputs are hosted on files.dlazy.com.\n\nMitigation: Review generated output URLs and retention expectations before using the skill with private or regulated content.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/dlazyai/skills/dlazy-viduq2-i2v)\n- [dLazy homepage](https://dlazy.com)\n- [dLazy CLI source](https://github.com/dlazy-ai/cli)\n- [dLazy CLI npm package](https://www.npmjs.com/package/@dlazy/cli)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration, JSON, Files, Guidance]\n\n**Output Format:** [Markdown guidance with CLI commands and JSON result objects]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May return generated media URLs, asynchronous task IDs, or downloaded output files when the --save option is used.]\n\n## Skill Version(s):\n\n1.3.19 (source: server release evidence; artifact frontmatter lists 1.3.5)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.19:SKILL-cn.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"当调用此技能时，可以使用 dlazy viduq2-i2v -h 查看帮助信息。\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\n使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\r\n\r\n## 触发关键词\r\n\r\n- vidu q2\r\n- 图生视频\r\n- 图片变视频\r\n\r\n## 身份验证 (Authentication)\r\n\r\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\r\n\r\n### 备选：手动设置 API Key\r\n\r\n如果你已有 API key，也可以直接保存：\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\r\n\r\n### 手动获取 API Key\r\n\r\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\r\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. 复制 API Key 区域显示的密钥\r\n\r\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\r\n\r\n## 关于与来源 (Provenance)\r\n\r\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **维护者**: dlazyai\r\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\r\n- **官网**: [dlazy.com](https://dlazy.com)\r\n\r\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\r\n\r\n## 工作原理\r\n\r\n此技能是 dLazy 托管 API 的轻量封装。调用时：\r\n\r\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\r\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\r\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\r\n\r\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\r\n\r\n## 使用方法\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\n执行 `dlazy viduq2-i2v` 命令获取结果。\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    提示词\r\n  --generation_mode [generation_mode]  生成模式（components=参考图; frames=首尾帧） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 参考图 [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            首帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              尾帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             主体 ID (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      音频 [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              音频类型 [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                时长（秒） [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          画幅比例 [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            分辨率 [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> 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). See `dlazy --help` for details.\r\n\r\n## 输出格式\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"viduq2-i2v\",\r\n    \"modelId\": \"vidu-i2v-viduq2\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"image\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"url\": \"https://files.dlazy.com/result.png\",\r\n        \"mimeType\": \"image/png\"\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## 命令示例\r\n\r\n```bash\r\n# 基础调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image '/path/to/image.png'\r\n\r\n# 复杂调用：\r\ndlazy viduq2-i2v --prompt '提示词内容' --image 'https://files.dlazy.com/image.png'\r\n```\r\n\r\n## 错误处理\r\n\r\n| Code | 错误类型                         | 示例信息                                                                                                                 |\r\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\r\n| 502  | 本地文件读取失败                 | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                           |\r\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\r\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\r\n\r\n> **智能体关键指令**: \r\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（Insufficient balance），您必须明确告知用户当前积分不足，并引导用户点击以下链接前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. 如果执行结果返回 `code: \"unauthorized\"` 或提示缺少 API Key，您必须明确告知用户前往 [https://dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key) 获取 API Key 并使用 `dlazy auth set <key>` 保存，然后继续执行任务。\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.\n\nArchive v1.3.18: 4 files, 8761 bytes\n\nFiles: skill-card.md (2070b), SKILL-cn.md (8141b), SKILL.md (8219b), _meta.json (136b)\n\nFile v1.3.18:SKILL.md\n\n---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy viduq2-i2v -h for help.\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\nConvert static images into dynamic videos using Vidu Q2 image-to-video model.\r\n\r\n## Trigger Keywords\r\n\r\n- vidu q2\r\n- image to video\r\n- image to dynamic video\r\n\r\n## Authentication\r\n\r\nAll requests require a dLazy API key. The recommended way to authenticate is:\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\nThis 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.\r\n\r\n### Alternative: Set the Key Manually\r\n\r\nIf you already have an API key, you can save it directly:\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nThe 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.\r\n\r\n### Getting Your API Key Manually\r\n\r\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\r\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. Copy the key shown in the API Key section\r\n\r\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\r\n\r\n## About & Provenance\r\n\r\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **Maintainer**: dlazyai\r\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\r\n- **Homepage**: [dlazy.com](https://dlazy.com)\r\n\r\nYou can install on demand without persisting a global binary by running:\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\nOr, 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.\r\n\r\n## How It Works\r\n\r\nThis skill is a thin client over the dLazy hosted API. When you invoke it:\r\n\r\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\r\n- 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.\r\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\r\n\r\nThis 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](https://dlazy.com) for the full service terms.\r\n\r\n## Usage\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nRun the `dlazy viduq2-i2v` command to get results.\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    Prompt\r\n  --generation_mode [generation_mode]  Generation Mode（components=Components; frames=Frames） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 Images [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            First Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              Last Frame [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             Subject IDs (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      Audio [default: false] (choices: \"true\", \"false\")\r\n  --audioType [audioType]              Audio Type [default: all] (choices: \"all\", \"speech_only\") [only when !(generation_mode=\"frames\")]\r\n  --duration [duration]                Duration (s) [default: 5] (choices: \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\")\r\n  --aspectRatio [aspectRatio]          Aspect Ratio [default: 9:16] (choices: \"16:9\", \"9:16\", \"1:1\", \"3:4\", \"4:3\", \"21:9\", \"2:3\", \"3:2\")\r\n  --resolution [resolution]            Resolution [default: 720p] (choices: \"540p\", \"720p\", \"1080p\")\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  --save <path>                        Download the result asset to this local path (mkdir + retry handled for you)\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> Any flag also accepts pipe refe\n\nArchive v1.3.17: 4 files, 8688 bytes\n\nFiles: skill-card.md (1844b), SKILL-cn.md (8141b), SKILL.md (8219b), _meta.json (136b)","readmeExcerpt":"Skill: 图生视频 Vidu Q2 Owner: dlazyai Summary: Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。 Tags: latest:1.3.26 Version history: v1.3.26 | 2026-10-08T01:36:56.426Z | user 例行版本更新 2026-10-08 v1.3.25 | 2026-10-04T01:37:57.396Z | user 例行版本更新 2026-10-04 v1.3.24 | 2026-10-02T05:12:17.990Z | user 例行版本更新 2026-10-02 v1.3.23 | 2026-09-30T01:40:08.092Z | user 例","codeSnippets":[],"executableExamples":[],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"Convert static images into dynamic videos using Vidu Q2 image-to-video model. 使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy viduq2-i2v -h for help.\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\nConvert static images into dynamic videos using Vidu Q2 image-to-video model.\r\n\r\n## Trigger Keywords\r\n\r\n- vidu q2\r\n- image to video\r\n- image to dynamic video\r\n\r\n## Authentication\r\n\r\nAll requests require a dLazy API key. The recommended way to authenticate is:\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\nThis 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.\r\n\r\n### Alternative: Set the Key Manually\r\n\r\nIf you already have an API key, you can save it directly:\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nThe 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.\r\n\r\n### Getting Your API Key Manually\r\n\r\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\r\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. Copy the key shown in the API Key section\r\n\r\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\r\n\r\n## About & Provenance\r\n\r\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **Maintainer**: dlazyai\r\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\r\n- **Homepage**: [dlazy.com](https://dlazy.com)\r\n\r\nYou can install on demand without persisting a global binary by running:\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\nOr, 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.\r\n\r\n## How It Works\r\n\r\nThis skill is a thin client over the dLazy hosted API. When you invoke it:\r\n\r\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\r\n- 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 "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-viduq2-i2v\",\n  \"version\": \"1.3.26\",\n  \"publishedAt\": 1791423416426\n}"},{"path":"skill-card.md","content":"## Description:\n\nHelps agents turn static images into short videos with Vidu Q2 through the dLazy CLI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and developers use this skill to guide image-to-video generation from reference images or first and last frames, with optional audio and output settings.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Installing the skill's external dLazy CLI adds a third-party dependency.\n\nMitigation: Review the pinned CLI package and its listed source before installing.\n\nRisk: Signing in stores an API key in the local CLI configuration.\n\nMitigation: Use a per-invocation environment variable instead when persistent key storage is unsuitable.\n\nRisk: Media files supplied for generation are uploaded to dLazy's cloud service.\n\nMitigation: Submit only media that is appropriate to share with that service.\n\n## Reference(s):\n\n- [dLazy CLI repository (listed in skill metadata)](https://github.com/dlazy-ai/cli)\n- [dLazy CLI npm package](https://www.npmjs.com/package/@dlazy/cli)\n- [dLazy website](https://dlazy.com)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Guidance]\n\n**Output Format:** [Markdown with inline shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The CLI returns JSON containing a generated asset URL or an asynchronous task ID.]\n\n## Skill Version(s):\n\n1.3.26 (source: server-resolved ClawHub release; supplied skill frontmatter says 1.3.5)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"SKILL-cn.md","content":"---\r\nname: dlazy-viduq2-i2v\r\nversion: 1.3.5\r\ndescription: \"使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\"\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"当调用此技能时，可以使用 dlazy viduq2-i2v -h 查看帮助信息。\"}}\r\n---\r\n\r\n# 图生视频 Vidu Q2\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\n使用 Vidu Q2 图生视频模型，将静态图片通过智能运镜转化为动态视频。\r\n\r\n## 触发关键词\r\n\r\n- vidu q2\r\n- 图生视频\r\n- 图片变视频\r\n\r\n## 身份验证 (Authentication)\r\n\r\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\r\n\r\n### 备选：手动设置 API Key\r\n\r\n如果你已有 API key，也可以直接保存：\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\r\n\r\n### 手动获取 API Key\r\n\r\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\r\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. 复制 API Key 区域显示的密钥\r\n\r\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\r\n\r\n## 关于与来源 (Provenance)\r\n\r\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\r\n- **维护者**: dlazyai\r\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\r\n- **官网**: [dlazy.com](https://dlazy.com)\r\n\r\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\r\n\r\n```bash\r\nnpx @dlazy/cli@1.2.3 <command>\r\n```\r\n\r\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\r\n\r\n## 工作原理\r\n\r\n此技能是 dLazy 托管 API 的轻量封装。调用时：\r\n\r\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\r\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\r\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\r\n\r\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\r\n\r\n## 使用方法\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\n执行 `dlazy viduq2-i2v` 命令获取结果。\r\n\r\n```bash\r\ndlazy viduq2-i2v -h\r\n\r\nOptions:\r\n  --prompt [prompt]                    提示词\r\n  --generation_mode [generation_mode]  生成模式（components=参考图; frames=首尾帧） [default: components] (choices: \"components\", \"frames\")\r\n  --images [images...]                 参考图 [image: url or local path] (max 10) [only when !(generation_mode=\"frames\")]\r\n  --firstFrame [firstFrame]            首帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --lastFrame [lastFrame]              尾帧图 [image: url or local path] [only when generation_mode=\"frames\"]\r\n  --subjects [subjects...]             主体 ID (max 7) [only when !(generation_mode=\"frames\")]\r\n  --audio [audio]                      音频 [default: false] (choices: \"true\", \"false\")\r\n  --audioType [au"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1316,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T05:19:10.136Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T05:19:10.136Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T02:27:32.266Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}