{"id":"8202fbce-27da-44e6-af62-51bfa19acb82","entityType":"agent","slug":"clawhub-dlazyai-dlazy-blog-to-video","name":"博客转视频 Blog to Video","canonicalUrl":"https://www.xpersona.co/agent/clawhub-dlazyai-dlazy-blog-to-video","canonicalPath":"/agent/clawhub-dlazyai-dlazy-blog-to-video","generatedAt":"2026-10-10T09:07:48.322Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:42:50.708Z","emptyReason":null},"description":"blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.9K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s170j1ymymrxasgd00dsk7tckx84cf45:dlazy-blog-to-video","sourceUrl":"https://clawhub.ai/dlazyai/dlazy-blog-to-video","homepage":"https://clawhub.ai/dlazyai/skills/dlazy-blog-to-video","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/dlazyai/dlazy-blog-to-video","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/dlazyai/skills/dlazy-blog-to-video","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":65,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"博客转视频 Blog to Video 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-09T23:42:50.708Z","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-09T23:42:50.708Z","emptyReason":null},"stars":null,"forks":null,"downloads":1875,"packageName":null,"latestVersion":"1.0.25","tractionLabel":"1.9K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:42:50.671Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T23:42:50.708Z","lastCrawledAt":"2026-10-09T23:42:50.671Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T23:42:50.671Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.25","createdAt":"2026-10-08T01:01:57.892Z","changelog":"例行版本更新 2026-10-08","fileCount":4,"zipByteSize":7740},{"version":"1.0.24","createdAt":"2026-10-04T01:02:10.127Z","changelog":"例行版本更新 2026-10-04","fileCount":4,"zipByteSize":7768},{"version":"1.0.23","createdAt":"2026-10-02T04:47:11.373Z","changelog":"例行版本更新 2026-10-02","fileCount":4,"zipByteSize":7744},{"version":"1.0.22","createdAt":"2026-09-30T01:01:48.644Z","changelog":"例行版本更新 2026-09-30","fileCount":4,"zipByteSize":7732},{"version":"1.0.21","createdAt":"2026-09-28T02:01:52.198Z","changelog":"例行版本更新 2026-09-28","fileCount":4,"zipByteSize":7738},{"version":"1.0.20","createdAt":"2026-09-28T01:02:08.344Z","changelog":"例行版本更新 2026-09-28","fileCount":4,"zipByteSize":7713},{"version":"1.0.19","createdAt":"2026-09-24T01:29:51.120Z","changelog":"例行版本更新 2026-09-24","fileCount":4,"zipByteSize":7972},{"version":"1.0.18","createdAt":"2026-09-24T01:04:08.252Z","changelog":"例行版本更新 2026-09-24","fileCount":4,"zipByteSize":8026}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s170j1ymymrxasgd00dsk7tckx84cf45:dlazy-blog-to-video","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s170j1ymymrxasgd00dsk7tckx84cf45:dlazy-blog-to-video` 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-blog-to-video 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-blog-to-video/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-blog-to-video/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-blog-to-video/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-blog-to-video/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-blog-to-video/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-blog-to-video/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-10T09:07:48.318Z"}},"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-blog-to-video/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-blog-to-video/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-blog-to-video/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-blog-to-video/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-09T23:42:50.708Z","emptyReason":null},"readme":"Skill: 博客转视频 Blog to Video\n\nOwner: dlazyai\n\nSummary: blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.\n\nTags: latest:1.0.25\n\nVersion history:\n\nv1.0.25 | 2026-10-08T01:01:57.892Z | user\n\n例行版本更新 2026-10-08\n\nv1.0.24 | 2026-10-04T01:02:10.127Z | user\n\n例行版本更新 2026-10-04\n\nv1.0.23 | 2026-10-02T04:47:11.373Z | user\n\n例行版本更新 2026-10-02\n\nv1.0.22 | 2026-09-30T01:01:48.644Z | user\n\n例行版本更新 2026-09-30\n\nv1.0.21 | 2026-09-28T02:01:52.198Z | user\n\n例行版本更新 2026-09-28\n\nv1.0.20 | 2026-09-28T01:02:08.344Z | user\n\n例行版本更新 2026-09-28\n\nv1.0.19 | 2026-09-24T01:29:51.120Z | user\n\n例行版本更新 2026-09-24\n\nv1.0.18 | 2026-09-24T01:04:08.252Z | user\n\n例行版本更新 2026-09-24\n\nv1.0.17 | 2026-09-22T01:01:22.242Z | user\n\n例行版本更新 2026-09-22\n\nv1.0.16 | 2026-09-20T01:02:27.436Z | user\n\n例行版本更新 2026-09-20\n\nv1.0.15 | 2026-09-14T01:02:10.723Z | user\n\n例行版本更新 2026-09-14\n\nv1.0.14 | 2026-09-10T01:01:40.637Z | user\n\n例行版本更新 2026-09-10\n\nv1.0.13 | 2026-09-08T01:01:42.768Z | user\n\n例行版本更新 2026-09-08\n\nv1.0.12 | 2026-09-07T01:03:33.523Z | user\n\n例行版本更新 2026-09-07\n\nv1.0.11 | 2026-09-04T01:07:06.233Z | user\n\n例行版本更新 2026-09-04\n\nv1.0.10 | 2026-09-02T01:01:52.329Z | user\n\n例行版本更新 2026-09-02\n\nv1.0.9 | 2026-08-31T02:43:44.933Z | user\n\n源码仓库迁移至 github.com/dlazy-ai/cli\n\nv1.0.8 | 2026-08-24T09:13:24.786Z | user\n\nRestore Chinese display name\n\nv1.0.7 | 2026-08-17T08:56:55.317Z | user\n\nRestore Chinese display name\n\nv1.0.6 | 2026-08-10T05:38:38.311Z | user\n\nRestore Chinese display name\n\nv1.0.5 | 2026-08-10T03:53:05.485Z | user\n\nRestore Chinese display name\n\nv1.0.4 | 2026-07-21T02:04:26.389Z | auto\n\n- Updated CLI install and usage instructions to require @dlazy/cli version 1.2.3 (previously latest/1.2.2).\n- Adjusted all example install and invocation commands to use the pinned CLI version 1.2.3 for consistency.\n- No other functionality or usage changes in this release.\n\nv1.0.3 | 2026-07-21T01:45:08.101Z | auto\n\n- Updated CLI installation instructions and metadata to use the latest version of @dlazy/cli instead of a pinned version.\n- Removed the file skill-card.md.\n- No functional changes to skill logic or usage.\n\nv1.0.2 | 2026-07-17T09:44:47.569Z | auto\n\n- Updated version to 1.0.2.\n- Documentation changes in SKILL.md and SKILL-cn.md.\n- Removed unused skill-card.md file.\n\nv1.0.1 | 2026-07-17T08:34:55.205Z | auto\n\n- Updated CLI dependency from @dlazy/cli version 1.2.1 to 1.2.2 for improved compatibility.\n- Removed the skill-card.md documentation file.\n- No changes to functionality or interface.\n\nv1.0.0 | 2026-07-14T09:04:47.831Z | auto\n\nInitial release of dlazy-blog-to-video\n\n- Convert blog posts or articles (via text or link) into narrated videos with storyboard and voiceover.\n- Supports end-to-end project creation and management via dLazy CLI.\n- Requires dLazy API key; supports authentication and session management.\n- Includes error handling instructions for common issues (e.g., authorization, insufficient balance, file errors).\n- Provides comprehensive usage examples and tips for both new and existing projects.\n\nArchive index:\n\nArchive v1.0.25: 4 files, 7740 bytes\n\nFiles: skill-card.md (1881b), SKILL-cn.md (6934b), SKILL.md (7031b), _meta.json (139b)\n\nFile v1.0.25:SKILL.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.\"\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 this skill is called, run 'dlazy chat --skill file-to-video --prompt ...' for a new task, or 'dlazy chat --project <id> --prompt ...' to continue (discover ids via 'dlazy projects list'). Never pass both --skill and --project.\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nppt to video, word to video, excel to video, pdf to video, document to video — parse, outline, storyboard, voiceover, build, validate. Use when the user gives a document and wants an explainer, report broadcast, courseware, or training video.\n\n## Trigger Keywords\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## Authentication\n\nAll requests require a dLazy API key. The recommended way to authenticate is:\n\n```bash\ndlazy login\n```\n\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.\n\n### Alternative: Set the Key Manually\n\nIf you already have an API key, you can save it directly:\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\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.\n\n### Getting Your API Key Manually\n\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. Copy the key shown in the API Key section\n\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\n\n## About & Provenance\n\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **Maintainer**: dlazyai\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\n- **Homepage**: [dlazy.com](https://dlazy.com)\n\nYou can install on demand without persisting a global binary by running:\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\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.\n\n## How It Works\n\nThis skill is a thin client over the dLazy hosted sandbox agent. When you invoke it:\n\n- Your messages and options are sent to the dLazy API (`api.dlazy.com`), which streams the agent's reply back to your terminal.\n- Any local files you attach via `--files` are uploaded to dLazy's media storage (`files.dlazy.com`) first, then referenced by url.\n- Chat sessions are tracked per project so follow-up turns keep context; project ids come from `dlazy projects list`.\n\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.\n\n## Usage\n\nThis skill talks to the dlazy sandbox agent, **pinned to the `file-to-video` template** — a project-scoped assistant that runs the template end-to-end across multiple turns.\n\n### Discover Projects\n\n```bash\n# List existing projects in your organization\ndlazy projects list\n```\n\n### Start or Continue\n\n```bash\n# Start a new project with this template\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# Continue an existing project (skips --skill)\ndlazy chat --project <project_id> --prompt \"...\"\n\n# Attach local files (uploaded to storage first)\ndlazy chat --project <project_id> --prompt \"Use this reference\" --files ref.png\n\n# Session control\ndlazy chat --project <project_id> --clear      # drop the saved session, start fresh\ndlazy chat --project <project_id> --compact    # compact the current session's context\n```\n\nOn a TTY, `dlazy chat` stays interactive after the first turn — type follow-up messages, or `exit` to leave.\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n\n1. For a new task, run `dlazy chat --skill file-to-video --prompt \"...\"`.\n2. To continue earlier work, use `--project <id>` (find ids via `dlazy projects list`) — never pass both `--skill` and `--project`.\n3. Always pass `--prompt` for non-interactive (no-TTY) runs.\n4. Run `dlazy chat -h` to see every option.\n\n## Error Handling\n\n| Code | Error Type                         | Example Message                                                                                                          |\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\n| 502  | Local file read error              | `Error: file not found: C:\\path\\to\\your\\file`                                                          |\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend}` |\n\n> **AGENT CRITICAL INSTRUCTION**:\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)\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.\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.25:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-blog-to-video\",\n  \"version\": \"1.0.25\",\n  \"publishedAt\": 1791421317892\n}\n\nFile v1.0.25:skill-card.md\n\n## Description:\n\nTurns blog posts or articles into narrated videos with storyboards and voiceovers for social media or YouTube.\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\nContent creators and marketing teams use this skill to turn a blog post, article, or document into a narrated video with a storyboard and voiceover.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and options are sent to an external hosted service, and attached files may be uploaded there.\n\nMitigation: Obtain approval before sending confidential or regulated documents; review what is shared.\n\nRisk: Login may store a dLazy API key locally.\n\nMitigation: Protect the local key and rotate it if exposure is suspected.\n\nRisk: A global CLI installation persists on the system.\n\nMitigation: Use the documented npx option if a global installation is undesirable.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/dlazyai/skills/dlazy-blog-to-video)\n- [dLazy CLI (skill metadata link)](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):** [Text, Markdown, Shell commands, Guidance]\n\n**Output Format:** [Text or Markdown with CLI commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Guides creation of narrated video projects through the dLazy service.]\n\n## Skill Version(s):\n\n1.0.25 (source: ClawHub 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.0.25:SKILL-cn.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"博客转视频、博文转视频、文章转视频——把博客文章转成配音视频，含分镜、配音、合成。当用户给一篇博客（文字或链接）、想要社媒 / YouTube 视频版时使用。\"\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 chat --skill file-to-video --prompt ...'，继续已有项目用 'dlazy chat --project <id> --prompt ...'（用 'dlazy projects list' 查 id）；不要同时传 --skill 和 --project。\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nPPT 转视频、Word 转视频、Excel 转视频、PDF 转视频、文档转视频——解析、大纲、分镜、配音、合成、校验。当用户给一份文档、想要讲解视频 / 报告解读 / 课件 / 培训视频时使用。\n\n## 触发关键词\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## 身份验证 (Authentication)\n\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\n\n```bash\ndlazy login\n```\n\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\n\n### 备选：手动设置 API Key\n\n如果你已有 API key，也可以直接保存：\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\n\n### 手动获取 API Key\n\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. 复制 API Key 区域显示的密钥\n\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\n\n## 关于与来源 (Provenance)\n\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **维护者**: dlazyai\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\n- **官网**: [dlazy.com](https://dlazy.com)\n\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\n\n## 工作原理\n\n此技能是 dLazy 托管沙箱 agent 的轻量封装。调用时：\n\n- 你发送的消息与参数会发送到 dLazy API（`api.dlazy.com`），agent 的回复会流式返回到终端。\n- 通过 `--files` 附带的本地文件会先上传到 dLazy 媒体存储（`files.dlazy.com`），再以 url 形式引用。\n- 会话按项目跟踪，后续多轮对话因此能保持上下文；项目 id 来自 `dlazy projects list`。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n此技能与 dlazy 沙箱 agent 对话，**已固定到 `file-to-video` 模板** —— 一个以项目为单位、可端到端运行该模板的助手，支持多轮对话。\n\n### 发现项目\n\n```bash\n# 列出当前组织下已有的项目\ndlazy projects list\n```\n\n### 开始或继续\n\n```bash\n# 用该模板新建项目\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# 在已有项目里继续（指定后 --skill 失效）\ndlazy chat --project <project_id> --prompt \"...\"\n\n# 附带本地文件（会先上传到存储）\ndlazy chat --project <project_id> --prompt \"参考这张图\" --files ref.png\n\n# 会话控制\ndlazy chat --project <project_id> --clear      # 清除已保存会话，重新开始\ndlazy chat --project <project_id> --compact    # 压缩当前会话的上下文\n```\n\n在终端（TTY）下，`dlazy chat` 在首轮之后会进入交互模式 —— 直接输入后续消息，或输入 `exit` 退出。\n\n> **智能体关键指令**:\n>\n> 1. 新任务运行 `dlazy chat --skill file-to-video --prompt \"...\"`。\n> 2. 继续之前的工作用 `--project <id>`（通过 `dlazy projects list` 查 id）—— 不要同时传 `--skill` 和 `--project`。\n> 3. 非交互（无 TTY）运行时必须传 `--prompt`。\n> 4. 运行 `dlazy chat -h` 查看全部参数。\n\n## 错误处理\n\n| Code | 错误类型                         | 示例信息                                                                                                                 |\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\n| 502  | 本地文件读取失败                 | `Error: file not found: C:\\path\\to\\your\\file`                                                           |\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因}`                             |\n\n> **智能体关键指令**:\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"`（余额不足），您必须明确告知用户当前积分不足，并引导用户前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\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>` 保存，然后继续执行任务。\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nArchive v1.0.24: 4 files, 7768 bytes\n\nFiles: skill-card.md (1903b), SKILL-cn.md (6934b), SKILL.md (7031b), _meta.json (139b)\n\nFile v1.0.24:SKILL.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.\"\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 this skill is called, run 'dlazy chat --skill file-to-video --prompt ...' for a new task, or 'dlazy chat --project <id> --prompt ...' to continue (discover ids via 'dlazy projects list'). Never pass both --skill and --project.\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nppt to video, word to video, excel to video, pdf to video, document to video — parse, outline, storyboard, voiceover, build, validate. Use when the user gives a document and wants an explainer, report broadcast, courseware, or training video.\n\n## Trigger Keywords\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## Authentication\n\nAll requests require a dLazy API key. The recommended way to authenticate is:\n\n```bash\ndlazy login\n```\n\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.\n\n### Alternative: Set the Key Manually\n\nIf you already have an API key, you can save it directly:\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\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.\n\n### Getting Your API Key Manually\n\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. Copy the key shown in the API Key section\n\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\n\n## About & Provenance\n\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **Maintainer**: dlazyai\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\n- **Homepage**: [dlazy.com](https://dlazy.com)\n\nYou can install on demand without persisting a global binary by running:\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\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.\n\n## How It Works\n\nThis skill is a thin client over the dLazy hosted sandbox agent. When you invoke it:\n\n- Your messages and options are sent to the dLazy API (`api.dlazy.com`), which streams the agent's reply back to your terminal.\n- Any local files you attach via `--files` are uploaded to dLazy's media storage (`files.dlazy.com`) first, then referenced by url.\n- Chat sessions are tracked per project so follow-up turns keep context; project ids come from `dlazy projects list`.\n\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.\n\n## Usage\n\nThis skill talks to the dlazy sandbox agent, **pinned to the `file-to-video` template** — a project-scoped assistant that runs the template end-to-end across multiple turns.\n\n### Discover Projects\n\n```bash\n# List existing projects in your organization\ndlazy projects list\n```\n\n### Start or Continue\n\n```bash\n# Start a new project with this template\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# Continue an existing project (skips --skill)\ndlazy chat --project <project_id> --prompt \"...\"\n\n# Attach local files (uploaded to storage first)\ndlazy chat --project <project_id> --prompt \"Use this reference\" --files ref.png\n\n# Session control\ndlazy chat --project <project_id> --clear      # drop the saved session, start fresh\ndlazy chat --project <project_id> --compact    # compact the current session's context\n```\n\nOn a TTY, `dlazy chat` stays interactive after the first turn — type follow-up messages, or `exit` to leave.\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n\n1. For a new task, run `dlazy chat --skill file-to-video --prompt \"...\"`.\n2. To continue earlier work, use `--project <id>` (find ids via `dlazy projects list`) — never pass both `--skill` and `--project`.\n3. Always pass `--prompt` for non-interactive (no-TTY) runs.\n4. Run `dlazy chat -h` to see every option.\n\n## Error Handling\n\n| Code | Error Type                         | Example Message                                                                                                          |\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\n| 502  | Local file read error              | `Error: file not found: C:\\path\\to\\your\\file`                                                          |\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend}` |\n\n> **AGENT CRITICAL INSTRUCTION**:\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)\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.\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.24:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-blog-to-video\",\n  \"version\": \"1.0.24\",\n  \"publishedAt\": 1791075730127\n}\n\nFile v1.0.24:skill-card.md\n\n## Description:\n\nHelps turn blog posts or documents into narrated videos using dLazy's hosted file-to-video workflow.\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\nContent creators and teams use this skill to request narrated social or YouTube videos from blog posts, articles, or documents through dLazy.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Despite its blog-focused label, the skill invokes a broader file-to-video workflow that can upload local documents.\n\nMitigation: Review the requested task and attachments; do not submit sensitive business or personal documents without approval.\n\nRisk: Using the dLazy CLI sends prompts to dLazy and stores a revocable API key locally.\n\nMitigation: Confirm the service is approved before use, protect the local key, and rotate or revoke it when needed.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/dlazyai/skills/dlazy-blog-to-video)\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):** [Text, Markdown, Guidance]\n\n**Output Format:** [Text responses with project updates and video results]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Video generation occurs through the dLazy service; the agent can return project information and video links.]\n\n## Skill Version(s):\n\n1.0.24 (source: server-resolved 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.0.24:SKILL-cn.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"博客转视频、博文转视频、文章转视频——把博客文章转成配音视频，含分镜、配音、合成。当用户给一篇博客（文字或链接）、想要社媒 / YouTube 视频版时使用。\"\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 chat --skill file-to-video --prompt ...'，继续已有项目用 'dlazy chat --project <id> --prompt ...'（用 'dlazy projects list' 查 id）；不要同时传 --skill 和 --project。\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nPPT 转视频、Word 转视频、Excel 转视频、PDF 转视频、文档转视频——解析、大纲、分镜、配音、合成、校验。当用户给一份文档、想要讲解视频 / 报告解读 / 课件 / 培训视频时使用。\n\n## 触发关键词\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## 身份验证 (Authentication)\n\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\n\n```bash\ndlazy login\n```\n\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\n\n### 备选：手动设置 API Key\n\n如果你已有 API key，也可以直接保存：\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\n\n### 手动获取 API Key\n\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. 复制 API Key 区域显示的密钥\n\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\n\n## 关于与来源 (Provenance)\n\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **维护者**: dlazyai\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\n- **官网**: [dlazy.com](https://dlazy.com)\n\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\n\n## 工作原理\n\n此技能是 dLazy 托管沙箱 agent 的轻量封装。调用时：\n\n- 你发送的消息与参数会发送到 dLazy API（`api.dlazy.com`），agent 的回复会流式返回到终端。\n- 通过 `--files` 附带的本地文件会先上传到 dLazy 媒体存储（`files.dlazy.com`），再以 url 形式引用。\n- 会话按项目跟踪，后续多轮对话因此能保持上下文；项目 id 来自 `dlazy projects list`。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n此技能与 dlazy 沙箱 agent 对话，**已固定到 `file-to-video` 模板** —— 一个以项目为单位、可端到端运行该模板的助手，支持多轮对话。\n\n### 发现项目\n\n```bash\n# 列出当前组织下已有的项目\ndlazy projects list\n```\n\n### 开始或继续\n\n```bash\n# 用该模板新建项目\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# 在已有项目里继续（指定后 --skill 失效）\ndlazy chat --project <project_id> --prompt \"...\"\n\n# 附带本地文件（会先上传到存储）\ndlazy chat --project <project_id> --prompt \"参考这张图\" --files ref.png\n\n# 会话控制\ndlazy chat --project <project_id> --clear      # 清除已保存会话，重新开始\ndlazy chat --project <project_id> --compact    # 压缩当前会话的上下文\n```\n\n在终端（TTY）下，`dlazy chat` 在首轮之后会进入交互模式 —— 直接输入后续消息，或输入 `exit` 退出。\n\n> **智能体关键指令**:\n>\n> 1. 新任务运行 `dlazy chat --skill file-to-video --prompt \"...\"`。\n> 2. 继续之前的工作用 `--project <id>`（通过 `dlazy projects list` 查 id）—— 不要同时传 `--skill` 和 `--project`。\n> 3. 非交互（无 TTY）运行时必须传 `--prompt`。\n> 4. 运行 `dlazy chat -h` 查看全部参数。\n\n## 错误处理\n\n| Code | 错误类型                         | 示例信息                                                                                                                 |\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\n| 502  | 本地文件读取失败                 | `Error: file not found: C:\\path\\to\\your\\file`                                                           |\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因}`                             |\n\n> **智能体关键指令**:\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"`（余额不足），您必须明确告知用户当前积分不足，并引导用户前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\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>` 保存，然后继续执行任务。\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nArchive v1.0.23: 4 files, 7744 bytes\n\nFiles: skill-card.md (1930b), SKILL-cn.md (6934b), SKILL.md (7031b), _meta.json (139b)\n\nFile v1.0.23:SKILL.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.\"\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 this skill is called, run 'dlazy chat --skill file-to-video --prompt ...' for a new task, or 'dlazy chat --project <id> --prompt ...' to continue (discover ids via 'dlazy projects list'). Never pass both --skill and --project.\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nppt to video, word to video, excel to video, pdf to video, document to video — parse, outline, storyboard, voiceover, build, validate. Use when the user gives a document and wants an explainer, report broadcast, courseware, or training video.\n\n## Trigger Keywords\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## Authentication\n\nAll requests require a dLazy API key. The recommended way to authenticate is:\n\n```bash\ndlazy login\n```\n\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.\n\n### Alternative: Set the Key Manually\n\nIf you already have an API key, you can save it directly:\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\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.\n\n### Getting Your API Key Manually\n\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. Copy the key shown in the API Key section\n\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\n\n## About & Provenance\n\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **Maintainer**: dlazyai\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\n- **Homepage**: [dlazy.com](https://dlazy.com)\n\nYou can install on demand without persisting a global binary by running:\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\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.\n\n## How It Works\n\nThis skill is a thin client over the dLazy hosted sandbox agent. When you invoke it:\n\n- Your messages and options are sent to the dLazy API (`api.dlazy.com`), which streams the agent's reply back to your terminal.\n- Any local files you attach via `--files` are uploaded to dLazy's media storage (`files.dlazy.com`) first, then referenced by url.\n- Chat sessions are tracked per project so follow-up turns keep context; project ids come from `dlazy projects list`.\n\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.\n\n## Usage\n\nThis skill talks to the dlazy sandbox agent, **pinned to the `file-to-video` template** — a project-scoped assistant that runs the template end-to-end across multiple turns.\n\n### Discover Projects\n\n```bash\n# List existing projects in your organization\ndlazy projects list\n```\n\n### Start or Continue\n\n```bash\n# Start a new project with this template\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# Continue an existing project (skips --skill)\ndlazy chat --project <project_id> --prompt \"...\"\n\n# Attach local files (uploaded to storage first)\ndlazy chat --project <project_id> --prompt \"Use this reference\" --files ref.png\n\n# Session control\ndlazy chat --project <project_id> --clear      # drop the saved session, start fresh\ndlazy chat --project <project_id> --compact    # compact the current session's context\n```\n\nOn a TTY, `dlazy chat` stays interactive after the first turn — type follow-up messages, or `exit` to leave.\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n\n1. For a new task, run `dlazy chat --skill file-to-video --prompt \"...\"`.\n2. To continue earlier work, use `--project <id>` (find ids via `dlazy projects list`) — never pass both `--skill` and `--project`.\n3. Always pass `--prompt` for non-interactive (no-TTY) runs.\n4. Run `dlazy chat -h` to see every option.\n\n## Error Handling\n\n| Code | Error Type                         | Example Message                                                                                                          |\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\n| 502  | Local file read error              | `Error: file not found: C:\\path\\to\\your\\file`                                                          |\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend}` |\n\n> **AGENT CRITICAL INSTRUCTION**:\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)\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.\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.23:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-blog-to-video\",\n  \"version\": \"1.0.23\",\n  \"publishedAt\": 1790916431373\n}\n\nFile v1.0.23:skill-card.md\n\n## Description:\n\nHelps turn blog posts and other documents into narrated videos using dLazy's file-to-video 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 teams use this skill to request narrated videos from blog posts or other documents, with storyboards and voiceovers generated through dLazy.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Despite its blog-to-video name, the workflow handles general files and documents, which may be uploaded to dLazy.\n\nMitigation: Use it only when broader document-to-video processing is intended; review attachments and avoid sensitive files unless you trust the service.\n\nRisk: Prompts and attached files are sent to dLazy, and login can save an API key locally.\n\nMitigation: Use non-sensitive prompts and files; consider per-invocation API keys and on-demand CLI use if you prefer not to keep a saved key or global installation.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/dlazyai/skills/dlazy-blog-to-video)\n- [dLazy CLI repository (listed in skill metadata; not verified release 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, Guidance]\n\n**Output Format:** [Streaming conversational text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Video generation runs through the dLazy service.]\n\n## Skill Version(s):\n\n1.0.23 (source: ClawHub 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.0.23:SKILL-cn.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"博客转视频、博文转视频、文章转视频——把博客文章转成配音视频，含分镜、配音、合成。当用户给一篇博客（文字或链接）、想要社媒 / YouTube 视频版时使用。\"\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 chat --skill file-to-video --prompt ...'，继续已有项目用 'dlazy chat --project <id> --prompt ...'（用 'dlazy projects list' 查 id）；不要同时传 --skill 和 --project。\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nPPT 转视频、Word 转视频、Excel 转视频、PDF 转视频、文档转视频——解析、大纲、分镜、配音、合成、校验。当用户给一份文档、想要讲解视频 / 报告解读 / 课件 / 培训视频时使用。\n\n## 触发关键词\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## 身份验证 (Authentication)\n\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\n\n```bash\ndlazy login\n```\n\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\n\n### 备选：手动设置 API Key\n\n如果你已有 API key，也可以直接保存：\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\n\n### 手动获取 API Key\n\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. 复制 API Key 区域显示的密钥\n\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\n\n## 关于与来源 (Provenance)\n\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **维护者**: dlazyai\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\n- **官网**: [dlazy.com](https://dlazy.com)\n\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\n\n## 工作原理\n\n此技能是 dLazy 托管沙箱 agent 的轻量封装。调用时：\n\n- 你发送的消息与参数会发送到 dLazy API（`api.dlazy.com`），agent 的回复会流式返回到终端。\n- 通过 `--files` 附带的本地文件会先上传到 dLazy 媒体存储（`files.dlazy.com`），再以 url 形式引用。\n- 会话按项目跟踪，后续多轮对话因此能保持上下文；项目 id 来自 `dlazy projects list`。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n此技能与 dlazy 沙箱 agent 对话，**已固定到 `file-to-video` 模板** —— 一个以项目为单位、可端到端运行该模板的助手，支持多轮对话。\n\n### 发现项目\n\n```bash\n# 列出当前组织下已有的项目\ndlazy projects list\n```\n\n### 开始或继续\n\n```bash\n# 用该模板新建项目\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# 在已有项目里继续（指定后 --skill 失效）\ndlazy chat --project <project_id> --prompt \"...\"\n\n# 附带本地文件（会先上传到存储）\ndlazy chat --project <project_id> --prompt \"参考这张图\" --files ref.png\n\n# 会话控制\ndlazy chat --project <project_id> --clear      # 清除已保存会话，重新开始\ndlazy chat --project <project_id> --compact    # 压缩当前会话的上下文\n```\n\n在终端（TTY）下，`dlazy chat` 在首轮之后会进入交互模式 —— 直接输入后续消息，或输入 `exit` 退出。\n\n> **智能体关键指令**:\n>\n> 1. 新任务运行 `dlazy chat --skill file-to-video --prompt \"...\"`。\n> 2. 继续之前的工作用 `--project <id>`（通过 `dlazy projects list` 查 id）—— 不要同时传 `--skill` 和 `--project`。\n> 3. 非交互（无 TTY）运行时必须传 `--prompt`。\n> 4. 运行 `dlazy chat -h` 查看全部参数。\n\n## 错误处理\n\n| Code | 错误类型                         | 示例信息                                                                                                                 |\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\n| 502  | 本地文件读取失败                 | `Error: file not found: C:\\path\\to\\your\\file`                                                           |\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因}`                             |\n\n> **智能体关键指令**:\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"`（余额不足），您必须明确告知用户当前积分不足，并引导用户前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\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>` 保存，然后继续执行任务。\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nArchive v1.0.22: 4 files, 7732 bytes\n\nFiles: skill-card.md (1846b), SKILL-cn.md (6934b), SKILL.md (7031b), _meta.json (139b)\n\nFile v1.0.22:SKILL.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.\"\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 this skill is called, run 'dlazy chat --skill file-to-video --prompt ...' for a new task, or 'dlazy chat --project <id> --prompt ...' to continue (discover ids via 'dlazy projects list'). Never pass both --skill and --project.\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nppt to video, word to video, excel to video, pdf to video, document to video — parse, outline, storyboard, voiceover, build, validate. Use when the user gives a document and wants an explainer, report broadcast, courseware, or training video.\n\n## Trigger Keywords\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## Authentication\n\nAll requests require a dLazy API key. The recommended way to authenticate is:\n\n```bash\ndlazy login\n```\n\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.\n\n### Alternative: Set the Key Manually\n\nIf you already have an API key, you can save it directly:\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\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.\n\n### Getting Your API Key Manually\n\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. Copy the key shown in the API Key section\n\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\n\n## About & Provenance\n\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **Maintainer**: dlazyai\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\n- **Homepage**: [dlazy.com](https://dlazy.com)\n\nYou can install on demand without persisting a global binary by running:\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\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.\n\n## How It Works\n\nThis skill is a thin client over the dLazy hosted sandbox agent. When you invoke it:\n\n- Your messages and options are sent to the dLazy API (`api.dlazy.com`), which streams the agent's reply back to your terminal.\n- Any local files you attach via `--files` are uploaded to dLazy's media storage (`files.dlazy.com`) first, then referenced by url.\n- Chat sessions are tracked per project so follow-up turns keep context; project ids come from `dlazy projects list`.\n\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.\n\n## Usage\n\nThis skill talks to the dlazy sandbox agent, **pinned to the `file-to-video` template** — a project-scoped assistant that runs the template end-to-end across multiple turns.\n\n### Discover Projects\n\n```bash\n# List existing projects in your organization\ndlazy projects list\n```\n\n### Start or Continue\n\n```bash\n# Start a new project with this template\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# Continue an existing project (skips --skill)\ndlazy chat --project <project_id> --prompt \"...\"\n\n# Attach local files (uploaded to storage first)\ndlazy chat --project <project_id> --prompt \"Use this reference\" --files ref.png\n\n# Session control\ndlazy chat --project <project_id> --clear      # drop the saved session, start fresh\ndlazy chat --project <project_id> --compact    # compact the current session's context\n```\n\nOn a TTY, `dlazy chat` stays interactive after the first turn — type follow-up messages, or `exit` to leave.\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n\n1. For a new task, run `dlazy chat --skill file-to-video --prompt \"...\"`.\n2. To continue earlier work, use `--project <id>` (find ids via `dlazy projects list`) — never pass both `--skill` and `--project`.\n3. Always pass `--prompt` for non-interactive (no-TTY) runs.\n4. Run `dlazy chat -h` to see every option.\n\n## Error Handling\n\n| Code | Error Type                         | Example Message                                                                                                          |\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\n| 502  | Local file read error              | `Error: file not found: C:\\path\\to\\your\\file`                                                          |\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend}` |\n\n> **AGENT CRITICAL INSTRUCTION**:\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)\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.\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.22:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-blog-to-video\",\n  \"version\": \"1.0.22\",\n  \"publishedAt\": 1790730108644\n}\n\nFile v1.0.22:skill-card.md\n\n## Description:\n\nHelps turn blog posts or documents into narrated videos with storyboards and voiceovers through the dLazy hosted 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\nContent creators and teams use this skill to request narrated video adaptations of blog posts or documents for social media, explainers, or training.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and attached files may be sent to the third-party dLazy service.\n\nMitigation: Review content and obtain approval before sending sensitive material or attaching files.\n\nRisk: Login stores an API key locally.\n\nMitigation: Protect the local credential and rotate or revoke it if exposed.\n\nRisk: The blog-to-video label invokes a broader file-to-video workflow.\n\nMitigation: Review the requested task and resulting video for scope and accuracy.\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\n## Skill Output:\n\n**Output Type(s):** [Text, Guidance, Shell commands]\n\n**Output Format:** [Terminal text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Hosted video creation is requested through the dLazy file-to-video workflow; the CLI streams responses and tracks projects for follow-up.]\n\n## Skill Version(s):\n\n1.0.22 (source: server-resolved 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.0.22:SKILL-cn.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"博客转视频、博文转视频、文章转视频——把博客文章转成配音视频，含分镜、配音、合成。当用户给一篇博客（文字或链接）、想要社媒 / YouTube 视频版时使用。\"\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 chat --skill file-to-video --prompt ...'，继续已有项目用 'dlazy chat --project <id> --prompt ...'（用 'dlazy projects list' 查 id）；不要同时传 --skill 和 --project。\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nPPT 转视频、Word 转视频、Excel 转视频、PDF 转视频、文档转视频——解析、大纲、分镜、配音、合成、校验。当用户给一份文档、想要讲解视频 / 报告解读 / 课件 / 培训视频时使用。\n\n## 触发关键词\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## 身份验证 (Authentication)\n\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\n\n```bash\ndlazy login\n```\n\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\n\n### 备选：手动设置 API Key\n\n如果你已有 API key，也可以直接保存：\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\n\n### 手动获取 API Key\n\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. 复制 API Key 区域显示的密钥\n\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\n\n## 关于与来源 (Provenance)\n\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **维护者**: dlazyai\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\n- **官网**: [dlazy.com](https://dlazy.com)\n\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\n\n## 工作原理\n\n此技能是 dLazy 托管沙箱 agent 的轻量封装。调用时：\n\n- 你发送的消息与参数会发送到 dLazy API（`api.dlazy.com`），agent 的回复会流式返回到终端。\n- 通过 `--files` 附带的本地文件会先上传到 dLazy 媒体存储（`files.dlazy.com`），再以 url 形式引用。\n- 会话按项目跟踪，后续多轮对话因此能保持上下文；项目 id 来自 `dlazy projects list`。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n此技能与 dlazy 沙箱 agent 对话，**已固定到 `file-to-video` 模板** —— 一个以项目为单位、可端到端运行该模板的助手，支持多轮对话。\n\n### 发现项目\n\n```bash\n# 列出当前组织下已有的项目\ndlazy projects list\n```\n\n### 开始或继续\n\n```bash\n# 用该模板新建项目\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# 在已有项目里继续（指定后 --skill 失效）\ndlazy chat --project <project_id> --prompt \"...\"\n\n# 附带本地文件（会先上传到存储）\ndlazy chat --project <project_id> --prompt \"参考这张图\" --files ref.png\n\n# 会话控制\ndlazy chat --project <project_id> --clear      # 清除已保存会话，重新开始\ndlazy chat --project <project_id> --compact    # 压缩当前会话的上下文\n```\n\n在终端（TTY）下，`dlazy chat` 在首轮之后会进入交互模式 —— 直接输入后续消息，或输入 `exit` 退出。\n\n> **智能体关键指令**:\n>\n> 1. 新任务运行 `dlazy chat --skill file-to-video --prompt \"...\"`。\n> 2. 继续之前的工作用 `--project <id>`（通过 `dlazy projects list` 查 id）—— 不要同时传 `--skill` 和 `--project`。\n> 3. 非交互（无 TTY）运行时必须传 `--prompt`。\n> 4. 运行 `dlazy chat -h` 查看全部参数。\n\n## 错误处理\n\n| Code | 错误类型                         | 示例信息                                                                                                                 |\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\n| 502  | 本地文件读取失败                 | `Error: file not found: C:\\path\\to\\your\\file`                                                           |\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因}`                             |\n\n> **智能体关键指令**:\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"`（余额不足），您必须明确告知用户当前积分不足，并引导用户前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\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>` 保存，然后继续执行任务。\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nArchive v1.0.21: 4 files, 7738 bytes\n\nFiles: skill-card.md (1934b), SKILL-cn.md (6934b), SKILL.md (7031b), _meta.json (139b)\n\nFile v1.0.21:SKILL.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.\"\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 this skill is called, run 'dlazy chat --skill file-to-video --prompt ...' for a new task, or 'dlazy chat --project <id> --prompt ...' to continue (discover ids via 'dlazy projects list'). Never pass both --skill and --project.\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nppt to video, word to video, excel to video, pdf to video, document to video — parse, outline, storyboard, voiceover, build, validate. Use when the user gives a document and wants an explainer, report broadcast, courseware, or training video.\n\n## Trigger Keywords\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## Authentication\n\nAll requests require a dLazy API key. The recommended way to authenticate is:\n\n```bash\ndlazy login\n```\n\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.\n\n### Alternative: Set the Key Manually\n\nIf you already have an API key, you can save it directly:\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\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.\n\n### Getting Your API Key Manually\n\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. Copy the key shown in the API Key section\n\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\n\n## About & Provenance\n\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **Maintainer**: dlazyai\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\n- **Homepage**: [dlazy.com](https://dlazy.com)\n\nYou can install on demand without persisting a global binary by running:\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\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.\n\n## How It Works\n\nThis skill is a thin client over the dLazy hosted sandbox agent. When you invoke it:\n\n- Your messages and options are sent to the dLazy API (`api.dlazy.com`), which streams the agent's reply back to your terminal.\n- Any local files you attach via `--files` are uploaded to dLazy's media storage (`files.dlazy.com`) first, then referenced by url.\n- Chat sessions are tracked per project so follow-up turns keep context; project ids come from `dlazy projects list`.\n\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.\n\n## Usage\n\nThis skill talks to the dlazy sandbox agent, **pinned to the `file-to-video` template** — a project-scoped assistant that runs the template end-to-end across multiple turns.\n\n### Discover Projects\n\n```bash\n# List existing projects in your organization\ndlazy projects list\n```\n\n### Start or Continue\n\n```bash\n# Start a new project with this template\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# Continue an existing project (skips --skill)\ndlazy chat --project <project_id> --prompt \"...\"\n\n# Attach local files (uploaded to storage first)\ndlazy chat --project <project_id> --prompt \"Use this reference\" --files ref.png\n\n# Session control\ndlazy chat --project <project_id> --clear      # drop the saved session, start fresh\ndlazy chat --project <project_id> --compact    # compact the current session's context\n```\n\nOn a TTY, `dlazy chat` stays interactive after the first turn — type follow-up messages, or `exit` to leave.\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n\n1. For a new task, run `dlazy chat --skill file-to-video --prompt \"...\"`.\n2. To continue earlier work, use `--project <id>` (find ids via `dlazy projects list`) — never pass both `--skill` and `--project`.\n3. Always pass `--prompt` for non-interactive (no-TTY) runs.\n4. Run `dlazy chat -h` to see every option.\n\n## Error Handling\n\n| Code | Error Type                         | Example Message                                                                                                          |\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\n| 502  | Local file read error              | `Error: file not found: C:\\path\\to\\your\\file`                                                          |\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend}` |\n\n> **AGENT CRITICAL INSTRUCTION**:\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)\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.\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.21:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-blog-to-video\",\n  \"version\": \"1.0.21\",\n  \"publishedAt\": 1790560912198\n}\n\nFile v1.0.21:skill-card.md\n\n## Description:\n\nHelps turn blog posts or documents into narrated videos with storyboards and voiceover through dLazy's hosted file-to-video workflow.\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 teams can use this skill to request a narrated video from a blog post or document, including an outline, storyboard, and voiceover.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The blog-to-video title does not reflect the broader file-to-video workflow used by the skill.\n\nMitigation: Confirm that the hosted file-to-video workflow fits the intended content before use.\n\nRisk: Attached local files are uploaded to dLazy's hosted service.\n\nMitigation: Attach only files you are comfortable sharing with dLazy.\n\nRisk: Using the CLI requires an API key and installation of a third-party package.\n\nMitigation: Review the pinned CLI package and source before installation, and use a revocable API key.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/dlazyai/skills/dlazy-blog-to-video)\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\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Guidance]\n\n**Output Format:** [Streaming text and Markdown]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The hosted service handles video generation; attached files are uploaded to dLazy.]\n\n## Skill Version(s):\n\n1.0.21 (source: server-resolved 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.0.21:SKILL-cn.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"博客转视频、博文转视频、文章转视频——把博客文章转成配音视频，含分镜、配音、合成。当用户给一篇博客（文字或链接）、想要社媒 / YouTube 视频版时使用。\"\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 chat --skill file-to-video --prompt ...'，继续已有项目用 'dlazy chat --project <id> --prompt ...'（用 'dlazy projects list' 查 id）；不要同时传 --skill 和 --project。\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nPPT 转视频、Word 转视频、Excel 转视频、PDF 转视频、文档转视频——解析、大纲、分镜、配音、合成、校验。当用户给一份文档、想要讲解视频 / 报告解读 / 课件 / 培训视频时使用。\n\n## 触发关键词\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## 身份验证 (Authentication)\n\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\n\n```bash\ndlazy login\n```\n\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\n\n### 备选：手动设置 API Key\n\n如果你已有 API key，也可以直接保存：\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\n\n### 手动获取 API Key\n\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. 复制 API Key 区域显示的密钥\n\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\n\n## 关于与来源 (Provenance)\n\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **维护者**: dlazyai\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\n- **官网**: [dlazy.com](https://dlazy.com)\n\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\n\n## 工作原理\n\n此技能是 dLazy 托管沙箱 agent 的轻量封装。调用时：\n\n- 你发送的消息与参数会发送到 dLazy API（`api.dlazy.com`），agent 的回复会流式返回到终端。\n- 通过 `--files` 附带的本地文件会先上传到 dLazy 媒体存储（`files.dlazy.com`），再以 url 形式引用。\n- 会话按项目跟踪，后续多轮对话因此能保持上下文；项目 id 来自 `dlazy projects list`。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n此技能与 dlazy 沙箱 agent 对话，**已固定到 `file-to-video` 模板** —— 一个以项目为单位、可端到端运行该模板的助手，支持多轮对话。\n\n### 发现项目\n\n```bash\n# 列出当前组织下已有的项目\ndlazy projects list\n```\n\n### 开始或继续\n\n```bash\n# 用该模板新建项目\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# 在已有项目里继续（指定后 --skill 失效）\ndlazy chat --project <project_id> --prompt \"...\"\n\n# 附带本地文件（会先上传到存储）\ndlazy chat --project <project_id> --prompt \"参考这张图\" --files ref.png\n\n# 会话控制\ndlazy chat --project <project_id> --clear      # 清除已保存会话，重新开始\ndlazy chat --project <project_id> --compact    # 压缩当前会话的上下文\n```\n\n在终端（TTY）下，`dlazy chat` 在首轮之后会进入交互模式 —— 直接输入后续消息，或输入 `exit` 退出。\n\n> **智能体关键指令**:\n>\n> 1. 新任务运行 `dlazy chat --skill file-to-video --prompt \"...\"`。\n> 2. 继续之前的工作用 `--project <id>`（通过 `dlazy projects list` 查 id）—— 不要同时传 `--skill` 和 `--project`。\n> 3. 非交互（无 TTY）运行时必须传 `--prompt`。\n> 4. 运行 `dlazy chat -h` 查看全部参数。\n\n## 错误处理\n\n| Code | 错误类型                         | 示例信息                                                                                                                 |\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\n| 502  | 本地文件读取失败                 | `Error: file not found: C:\\path\\to\\your\\file`                                                           |\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因}`                             |\n\n> **智能体关键指令**:\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"`（余额不足），您必须明确告知用户当前积分不足，并引导用户前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\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>` 保存，然后继续执行任务。\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nArchive v1.0.20: 4 files, 7713 bytes\n\nFiles: skill-card.md (1795b), SKILL-cn.md (6934b), SKILL.md (7031b), _meta.json (139b)\n\nFile v1.0.20:SKILL.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.\"\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 this skill is called, run 'dlazy chat --skill file-to-video --prompt ...' for a new task, or 'dlazy chat --project <id> --prompt ...' to continue (discover ids via 'dlazy projects list'). Never pass both --skill and --project.\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nppt to video, word to video, excel to video, pdf to video, document to video — parse, outline, storyboard, voiceover, build, validate. Use when the user gives a document and wants an explainer, report broadcast, courseware, or training video.\n\n## Trigger Keywords\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## Authentication\n\nAll requests require a dLazy API key. The recommended way to authenticate is:\n\n```bash\ndlazy login\n```\n\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.\n\n### Alternative: Set the Key Manually\n\nIf you already have an API key, you can save it directly:\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\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.\n\n### Getting Your API Key Manually\n\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. Copy the key shown in the API Key section\n\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\n\n## About & Provenance\n\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **Maintainer**: dlazyai\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\n- **Homepage**: [dlazy.com](https://dlazy.com)\n\nYou can install on demand without persisting a global binary by running:\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\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.\n\n## How It Works\n\nThis skill is a thin client over the dLazy hosted sandbox agent. When you invoke it:\n\n- Your messages and options are sent to the dLazy API (`api.dlazy.com`), which streams the agent's reply back to your terminal.\n- Any local files you attach via `--files` are uploaded to dLazy's media storage (`files.dlazy.com`) first, then referenced by url.\n- Chat sessions are tracked per project so follow-up turns keep context; project ids come from `dlazy projects list`.\n\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.\n\n## Usage\n\nThis skill talks to the dlazy sandbox agent, **pinned to the `file-to-video` template** — a project-scoped assistant that runs the template end-to-end across multiple turns.\n\n### Discover Projects\n\n```bash\n# List existing projects in your organization\ndlazy projects list\n```\n\n### Start or Continue\n\n```bash\n# Start a new project with this template\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# Continue an existing project (skips --skill)\ndlazy chat --project <project_id> --prompt \"...\"\n\n# Attach local files (uploaded to storage first)\ndlazy chat --project <project_id> --prompt \"Use this reference\" --files ref.png\n\n# Session control\ndlazy chat --project <project_id> --clear      # drop the saved session, start fresh\ndlazy chat --project <project_id> --compact    # compact the current session's context\n```\n\nOn a TTY, `dlazy chat` stays interactive after the first turn — type follow-up messages, or `exit` to leave.\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n\n1. For a new task, run `dlazy chat --skill file-to-video --prompt \"...\"`.\n2. To continue earlier work, use `--project <id>` (find ids via `dlazy projects list`) — never pass both `--skill` and `--project`.\n3. Always pass `--prompt` for non-interactive (no-TTY) runs.\n4. Run `dlazy chat -h` to see every option.\n\n## Error Handling\n\n| Code | Error Type                         | Example Message                                                                                                          |\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\n| 502  | Local file read error              | `Error: file not found: C:\\path\\to\\your\\file`                                                          |\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend}` |\n\n> **AGENT CRITICAL INSTRUCTION**:\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)\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.\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.20:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-blog-to-video\",\n  \"version\": \"1.0.20\",\n  \"publishedAt\": 1790557328344\n}\n\nFile v1.0.20:skill-card.md\n\n## Description:\n\nHelps turn blog posts and other documents into narrated videos with storyboards and voiceovers through dLazy.\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 teams use this skill to turn blog posts or documents into narrated social, explainer, or training videos through dLazy.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and attached local files may be sent to dLazy's API and file storage.\n\nMitigation: Confirm the data-sharing arrangement before use; avoid confidential documents unless approved.\n\nRisk: A dLazy API key is stored locally or passed to the CLI.\n\nMitigation: Protect the key and rotate or revoke it if exposed.\n\nRisk: The blog-to-video name understates the broader file-to-video workflow.\n\nMitigation: Review the intended document inputs and approve any uploads before running.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/dlazyai/skills/dlazy-blog-to-video)\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\n## Skill Output:\n\n**Output Type(s):** [Text, Guidance]\n\n**Output Format:** [Streaming text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Project-scoped follow-up responses about video creation.]\n\n## Skill Version(s):\n\n1.0.20 (source: ClawHub 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.0.20:SKILL-cn.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"博客转视频、博文转视频、文章转视频——把博客文章转成配音视频，含分镜、配音、合成。当用户给一篇博客（文字或链接）、想要社媒 / YouTube 视频版时使用。\"\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 chat --skill file-to-video --prompt ...'，继续已有项目用 'dlazy chat --project <id> --prompt ...'（用 'dlazy projects list' 查 id）；不要同时传 --skill 和 --project。\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nPPT 转视频、Word 转视频、Excel 转视频、PDF 转视频、文档转视频——解析、大纲、分镜、配音、合成、校验。当用户给一份文档、想要讲解视频 / 报告解读 / 课件 / 培训视频时使用。\n\n## 触发关键词\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## 身份验证 (Authentication)\n\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\n\n```bash\ndlazy login\n```\n\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\n\n### 备选：手动设置 API Key\n\n如果你已有 API key，也可以直接保存：\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\n\n### 手动获取 API Key\n\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. 复制 API Key 区域显示的密钥\n\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\n\n## 关于与来源 (Provenance)\n\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **维护者**: dlazyai\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\n- **官网**: [dlazy.com](https://dlazy.com)\n\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\n\n## 工作原理\n\n此技能是 dLazy 托管沙箱 agent 的轻量封装。调用时：\n\n- 你发送的消息与参数会发送到 dLazy API（`api.dlazy.com`），agent 的回复会流式返回到终端。\n- 通过 `--files` 附带的本地文件会先上传到 dLazy 媒体存储（`files.dlazy.com`），再以 url 形式引用。\n- 会话按项目跟踪，后续多轮对话因此能保持上下文；项目 id 来自 `dlazy projects list`。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n此技能与 dlazy 沙箱 agent 对话，**已固定到 `file-to-video` 模板** —— 一个以项目为单位、可端到端运行该模板的助手，支持多轮对话。\n\n### 发现项目\n\n```bash\n# 列出当前组织下已有的项目\ndlazy projects list\n```\n\n### 开始或继续\n\n```bash\n# 用该模板新建项目\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# 在已有项目里继续（指定后 --skill 失效）\ndlazy chat --project <project_id> --prompt \"...\"\n\n# 附带本地文件（会先上传到存储）\ndlazy chat --project <project_id> --prompt \"参考这张图\" --files ref.png\n\n# 会话控制\ndlazy chat --project <project_id> --clear      # 清除已保存会话，重新开始\ndlazy chat --project <project_id> --compact    # 压缩当前会话的上下文\n```\n\n在终端（TTY）下，`dlazy chat` 在首轮之后会进入交互模式 —— 直接输入后续消息，或输入 `exit` 退出。\n\n> **智能体关键指令**:\n>\n> 1. 新任务运行 `dlazy chat --skill file-to-video --prompt \"...\"`。\n> 2. 继续之前的工作用 `--project <id>`（通过 `dlazy projects list` 查 id）—— 不要同时传 `--skill` 和 `--project`。\n> 3. 非交互（无 TTY）运行时必须传 `--prompt`。\n> 4. 运行 `dlazy chat -h` 查看全部参数。\n\n## 错误处理\n\n| Code | 错误类型                         | 示例信息                                                                                                                 |\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\n| 502  | 本地文件读取失败                 | `Error: file not found: C:\\path\\to\\your\\file`                                                           |\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因}`                             |\n\n> **智能体关键指令**:\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"`（余额不足），您必须明确告知用户当前积分不足，并引导用户前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\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>` 保存，然后继续执行任务。\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nArchive v1.0.19: 4 files, 7972 bytes\n\nFiles: skill-card.md (2415b), SKILL-cn.md (6934b), SKILL.md (7031b), _meta.json (139b)\n\nFile v1.0.19:SKILL.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.\"\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 this skill is called, run 'dlazy chat --skill file-to-video --prompt ...' for a new task, or 'dlazy chat --project <id> --prompt ...' to continue (discover ids via 'dlazy projects list'). Never pass both --skill and --project.\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nppt to video, word to video, excel to video, pdf to video, document to video — parse, outline, storyboard, voiceover, build, validate. Use when the user gives a document and wants an explainer, report broadcast, courseware, or training video.\n\n## Trigger Keywords\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## Authentication\n\nAll requests require a dLazy API key. The recommended way to authenticate is:\n\n```bash\ndlazy login\n```\n\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.\n\n### Alternative: Set the Key Manually\n\nIf you already have an API key, you can save it directly:\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\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.\n\n### Getting Your API Key Manually\n\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. Copy the key shown in the API Key section\n\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\n\n## About & Provenance\n\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **Maintainer**: dlazyai\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\n- **Homepage**: [dlazy.com](https://dlazy.com)\n\nYou can install on demand without persisting a global binary by running:\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\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.\n\n## How It Works\n\nThis skill is a thin client over the dLazy hosted sandbox agent. When you invoke it:\n\n- Your messages and options are sent to the dLazy API (`api.dlazy.com`), which streams the agent's reply back to your terminal.\n- Any local files you attach via `--files` are uploaded to dLazy's media storage (`files.dlazy.com`) first, then referenced by url.\n- Chat sessions are tracked per project so follow-up turns keep context; project ids come from `dlazy projects list`.\n\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.\n\n## Usage\n\nThis skill talks to the dlazy sandbox agent, **pinned to the `file-to-video` template** — a project-scoped assistant that runs the template end-to-end across multiple turns.\n\n### Discover Projects\n\n```bash\n# List existing projects in your organization\ndlazy projects list\n```\n\n### Start or Continue\n\n```bash\n# Start a new project with this template\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# Continue an existing project (skips --skill)\ndlazy chat --project <project_id> --prompt \"...\"\n\n# Attach local files (uploaded to storage first)\ndlazy chat --project <project_id> --prompt \"Use this reference\" --files ref.png\n\n# Session control\ndlazy chat --project <project_id> --clear      # drop the saved session, start fresh\ndlazy chat --project <project_id> --compact    # compact the current session's context\n```\n\nOn a TTY, `dlazy chat` stays interactive after the first turn — type follow-up messages, or `exit` to leave.\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n\n1. For a new task, run `dlazy chat --skill file-to-video --prompt \"...\"`.\n2. To continue earlier work, use `--project <id>` (find ids via `dlazy projects list`) — never pass both `--skill` and `--project`.\n3. Always pass `--prompt` for non-interactive (no-TTY) runs.\n4. Run `dlazy chat -h` to see every option.\n\n## Error Handling\n\n| Code | Error Type                         | Example Message                                                                                                          |\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\n| 502  | Local file read error              | `Error: file not found: C:\\path\\to\\your\\file`                                                          |\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend}` |\n\n> **AGENT CRITICAL INSTRUCTION**:\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)\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.\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.19:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-blog-to-video\",\n  \"version\": \"1.0.19\",\n  \"publishedAt\": 1790213391120\n}\n\nFile v1.0.19:skill-card.md\n\n## Description:\n\nConverts blog posts and other documents into narrated videos with storyboard, voiceover, and build steps through the dLazy file-to-video workflow.\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\nContent creators, marketers, educators, and developers use this skill to turn blog posts or documents into social, YouTube, explainer, courseware, report, or training videos.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and explicitly attached files can be sent to dLazy API and media storage.\n\nMitigation: Use only data approved for sharing with dLazy, and avoid confidential documents unless that sharing is allowed.\n\nRisk: The skill advertises blog-to-video but routes work through a broader file/document-to-video template.\n\nMitigation: Confirm the user's intended input type and disclosure expectations before processing non-blog files.\n\nRisk: Use requires a dLazy API key stored in local CLI configuration or passed through the environment.\n\nMitigation: Protect the key, prefer the documented login flow, and rotate or revoke the key if exposure is suspected.\n\nRisk: The workflow depends on installing or running the pinned @dlazy/cli package.\n\nMitigation: Review the pinned package and repository before use, and keep installation scoped to approved environments.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/dlazyai/skills/dlazy-blog-to-video)\n- [dLazy Homepage](https://dlazy.com)\n- [dLazy CLI Repository](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):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with inline shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May invoke the pinned dLazy CLI package and may reference generated video project state managed by the dLazy service.]\n\n## Skill Version(s):\n\n1.0.19 (source: server release metadata; artifact frontmatter says 1.0.4)\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.0.19:SKILL-cn.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"博客转视频、博文转视频、文章转视频——把博客文章转成配音视频，含分镜、配音、合成。当用户给一篇博客（文字或链接）、想要社媒 / YouTube 视频版时使用。\"\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 chat --skill file-to-video --prompt ...'，继续已有项目用 'dlazy chat --project <id> --prompt ...'（用 'dlazy projects list' 查 id）；不要同时传 --skill 和 --project。\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nPPT 转视频、Word 转视频、Excel 转视频、PDF 转视频、文档转视频——解析、大纲、分镜、配音、合成、校验。当用户给一份文档、想要讲解视频 / 报告解读 / 课件 / 培训视频时使用。\n\n## 触发关键词\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## 身份验证 (Authentication)\n\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\n\n```bash\ndlazy login\n```\n\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\n\n### 备选：手动设置 API Key\n\n如果你已有 API key，也可以直接保存：\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\n\n### 手动获取 API Key\n\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. 复制 API Key 区域显示的密钥\n\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\n\n## 关于与来源 (Provenance)\n\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **维护者**: dlazyai\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\n- **官网**: [dlazy.com](https://dlazy.com)\n\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\n\n## 工作原理\n\n此技能是 dLazy 托管沙箱 agent 的轻量封装。调用时：\n\n- 你发送的消息与参数会发送到 dLazy API（`api.dlazy.com`），agent 的回复会流式返回到终端。\n- 通过 `--files` 附带的本地文件会先上传到 dLazy 媒体存储（`files.dlazy.com`），再以 url 形式引用。\n- 会话按项目跟踪，后续多轮对话因此能保持上下文；项目 id 来自 `dlazy projects list`。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n此技能与 dlazy 沙箱 agent 对话，**已固定到 `file-to-video` 模板** —— 一个以项目为单位、可端到端运行该模板的助手，支持多轮对话。\n\n### 发现项目\n\n```bash\n# 列出当前组织下已有的项目\ndlazy projects list\n```\n\n### 开始或继续\n\n```bash\n# 用该模板新建项目\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# 在已有项目里继续（指定后 --skill 失效）\ndlazy chat --project <project_id> --prompt \"...\"\n\n# 附带本地文件（会先上传到存储）\ndlazy chat --project <project_id> --prompt \"参考这张图\" --files ref.png\n\n# 会话控制\ndlazy chat --project <project_id> --clear      # 清除已保存会话，重新开始\ndlazy chat --project <project_id> --compact    # 压缩当前会话的上下文\n```\n\n在终端（TTY）下，`dlazy chat` 在首轮之后会进入交互模式 —— 直接输入后续消息，或输入 `exit` 退出。\n\n> **智能体关键指令**:\n>\n> 1. 新任务运行 `dlazy chat --skill file-to-video --prompt \"...\"`。\n> 2. 继续之前的工作用 `--project <id>`（通过 `dlazy projects list` 查 id）—— 不要同时传 `--skill` 和 `--project`。\n> 3. 非交互（无 TTY）运行时必须传 `--prompt`。\n> 4. 运行 `dlazy chat -h` 查看全部参数。\n\n## 错误处理\n\n| Code | 错误类型                         | 示例信息                                                                                                                 |\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\n| 502  | 本地文件读取失败                 | `Error: file not found: C:\\path\\to\\your\\file`                                                           |\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因}`                             |\n\n> **智能体关键指令**:\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"`（余额不足），您必须明确告知用户当前积分不足，并引导用户前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\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>` 保存，然后继续执行任务。\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nArchive v1.0.18: 4 files, 8026 bytes\n\nFiles: skill-card.md (2573b), SKILL-cn.md (6934b), SKILL.md (7031b), _meta.json (139b)\n\nFile v1.0.18:SKILL.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.\"\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 this skill is called, run 'dlazy chat --skill file-to-video --prompt ...' for a new task, or 'dlazy chat --project <id> --prompt ...' to continue (discover ids via 'dlazy projects list'). Never pass both --skill and --project.\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nppt to video, word to video, excel to video, pdf to video, document to video — parse, outline, storyboard, voiceover, build, validate. Use when the user gives a document and wants an explainer, report broadcast, courseware, or training video.\n\n## Trigger Keywords\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## Authentication\n\nAll requests require a dLazy API key. The recommended way to authenticate is:\n\n```bash\ndlazy login\n```\n\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.\n\n### Alternative: Set the Key Manually\n\nIf you already have an API key, you can save it directly:\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\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.\n\n### Getting Your API Key Manually\n\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. Copy the key shown in the API Key section\n\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\n\n## About & Provenance\n\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **Maintainer**: dlazyai\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\n- **Homepage**: [dlazy.com](https://dlazy.com)\n\nYou can install on demand without persisting a global binary by running:\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\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.\n\n## How It Works\n\nThis skill is a thin client over the dLazy hosted sandbox agent. When you invoke it:\n\n- Your messages and options are sent to the dLazy API (`api.dlazy.com`), which streams the agent's reply back to your terminal.\n- Any local files you attach via `--files` are uploaded to dLazy's media storage (`files.dlazy.com`) first, then referenced by url.\n- Chat sessions are tracked per project so follow-up turns keep context; project ids come from `dlazy projects list`.\n\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.\n\n## Usage\n\nThis skill talks to the dlazy sandbox agent, **pinned to the `file-to-video` template** — a project-scoped assistant that runs the template end-to-end across multiple turns.\n\n### Discover Projects\n\n```bash\n# List existing projects in your organization\ndlazy projects list\n```\n\n### Start or Continue\n\n```bash\n# Start a new project with this template\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# Continue an existing project (skips --skill)\ndlazy chat --project <project_id> --prompt \"...\"\n\n# Attach local files (uploaded to storage first)\ndlazy chat --project <project_id> --prompt \"Use this reference\" --files ref.png\n\n# Session control\ndlazy chat --project <project_id> --clear      # drop the saved session, start fresh\ndlazy chat --project <project_id> --compact    # compact the current session's context\n```\n\nOn a TTY, `dlazy chat` stays interactive after the first turn — type follow-up messages, or `exit` to leave.\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n\n1. For a new task, run `dlazy chat --skill file-to-video --prompt \"...\"`.\n2. To continue earlier work, use `--project <id>` (find ids via `dlazy projects list`) — never pass both `--skill` and `--project`.\n3. Always pass `--prompt` for non-interactive (no-TTY) runs.\n4. Run `dlazy chat -h` to see every option.\n\n## Error Handling\n\n| Code | Error Type                         | Example Message                                                                                                          |\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\n| 502  | Local file read error              | `Error: file not found: C:\\path\\to\\your\\file`                                                          |\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend}` |\n\n> **AGENT CRITICAL INSTRUCTION**:\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)\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.\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.18:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-blog-to-video\",\n  \"version\": \"1.0.18\",\n  \"publishedAt\": 1790211848252\n}\n\nFile v1.0.18:skill-card.md\n\n## Description:\n\nUses the dLazy CLI to send prompts and optional files to a hosted file-to-video workflow that can produce narrated videos with storyboard and voiceover from blog or document inputs.\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 turn blog posts, article links, or document-like inputs into narrated video projects through dLazy's hosted workflow. It is useful for social, YouTube, explainer, courseware, report, and training video creation.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The blog-to-video name and summary are narrower than the broader file/document-to-video workflow the skill invokes.\n\nMitigation: Review and present the skill as a broader dLazy file/document-to-video integration before deployment.\n\nRisk: Prompts and explicitly attached files are sent to dLazy-hosted API and file storage endpoints.\n\nMitigation: Attach only files intended for dLazy processing and avoid sensitive content unless the user accepts that service transfer.\n\nRisk: The skill requires a dLazy API key stored in local CLI configuration or supplied through an environment variable.\n\nMitigation: Use dLazy's documented login or auth flow, restrict local config access, and rotate or revoke keys from the dLazy dashboard when needed.\n\nRisk: Execution depends on a pinned npm CLI package.\n\nMitigation: Install the pinned @dlazy/cli version only after reviewing the package and source links included in the references.\n\n## Reference(s):\n\n- [dLazy CLI source](https://github.com/dlazy-ai/cli)\n- [@dlazy/cli npm package](https://www.npmjs.com/package/@dlazy/cli)\n- [ClawHub skill page](https://clawhub.ai/dlazyai/skills/dlazy-blog-to-video)\n- [dLazy homepage](https://dlazy.com)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with inline bash commands and streamed CLI response text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires a dLazy API key and may upload explicitly attached local files to dLazy-hosted services.]\n\n## Skill Version(s):\n\n1.0.18 (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.0.18:SKILL-cn.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"博客转视频、博文转视频、文章转视频——把博客文章转成配音视频，含分镜、配音、合成。当用户给一篇博客（文字或链接）、想要社媒 / YouTube 视频版时使用。\"\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 chat --skill file-to-video --prompt ...'，继续已有项目用 'dlazy chat --project <id> --prompt ...'（用 'dlazy projects list' 查 id）；不要同时传 --skill 和 --project。\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nPPT 转视频、Word 转视频、Excel 转视频、PDF 转视频、文档转视频——解析、大纲、分镜、配音、合成、校验。当用户给一份文档、想要讲解视频 / 报告解读 / 课件 / 培训视频时使用。\n\n## 触发关键词\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## 身份验证 (Authentication)\n\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\n\n```bash\ndlazy login\n```\n\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\n\n### 备选：手动设置 API Key\n\n如果你已有 API key，也可以直接保存：\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\n\n### 手动获取 API Key\n\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. 复制 API Key 区域显示的密钥\n\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\n\n## 关于与来源 (Provenance)\n\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **维护者**: dlazyai\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\n- **官网**: [dlazy.com](https://dlazy.com)\n\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\n\n## 工作原理\n\n此技能是 dLazy 托管沙箱 agent 的轻量封装。调用时：\n\n- 你发送的消息与参数会发送到 dLazy API（`api.dlazy.com`），agent 的回复会流式返回到终端。\n- 通过 `--files` 附带的本地文件会先上传到 dLazy 媒体存储（`files.dlazy.com`），再以 url 形式引用。\n- 会话按项目跟踪，后续多轮对话因此能保持上下文；项目 id 来自 `dlazy projects list`。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n此技能与 dlazy 沙箱 agent 对话，**已固定到 `file-to-video` 模板** —— 一个以项目为单位、可端到端运行该模板的助手，支持多轮对话。\n\n### 发现项目\n\n```bash\n# 列出当前组织下已有的项目\ndlazy projects list\n```\n\n### 开始或继续\n\n```bash\n# 用该模板新建项目\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# 在已有项目里继续（指定后 --skill 失效）\ndlazy chat --project <project_id> --prompt \"...\"\n\n# 附带本地文件（会先上传到存储）\ndlazy chat --project <project_id> --prompt \"参考这张图\" --files ref.png\n\n# 会话控制\ndlazy chat --project <project_id> --clear      # 清除已保存会话，重新开始\ndlazy chat --project <project_id> --compact    # 压缩当前会话的上下文\n```\n\n在终端（TTY）下，`dlazy chat` 在首轮之后会进入交互模式 —— 直接输入后续消息，或输入 `exit` 退出。\n\n> **智能体关键指令**:\n>\n> 1. 新任务运行 `dlazy chat --skill file-to-video --prompt \"...\"`。\n> 2. 继续之前的工作用 `--project <id>`（通过 `dlazy projects list` 查 id）—— 不要同时传 `--skill` 和 `--project`。\n> 3. 非交互（无 TTY）运行时必须传 `--prompt`。\n> 4. 运行 `dlazy chat -h` 查看全部参数。\n\n## 错误处理\n\n| Code | 错误类型                         | 示例信息                                                                                                                 |\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\n| 502  | 本地文件读取失败                 | `Error: file not found: C:\\path\\to\\your\\file`                                                           |\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因}`                             |\n\n> **智能体关键指令**:\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"`（余额不足），您必须明确告知用户当前积分不足，并引导用户前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\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>` 保存，然后继续执行任务。\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nArchive v1.0.17: 4 files, 7954 bytes\n\nFiles: skill-card.md (2415b), SKILL-cn.md (6934b), SKILL.md (7031b), _meta.json (139b)\n\nFile v1.0.17:SKILL.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.\"\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 this skill is called, run 'dlazy chat --skill file-to-video --prompt ...' for a new task, or 'dlazy chat --project <id> --prompt ...' to continue (discover ids via 'dlazy projects list'). Never pass both --skill and --project.\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nppt to video, word to video, excel to video, pdf to video, document to video — parse, outline, storyboard, voiceover, build, validate. Use when the user gives a document and wants an explainer, report broadcast, courseware, or training video.\n\n## Trigger Keywords\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## Authentication\n\nAll requests require a dLazy API key. The recommended way to authenticate is:\n\n```bash\ndlazy login\n```\n\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.\n\n### Alternative: Set the Key Manually\n\nIf you already have an API key, you can save it directly:\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\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.\n\n### Getting Your API Key Manually\n\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. Copy the key shown in the API Key section\n\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\n\n## About & Provenance\n\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **Maintainer**: dlazyai\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\n- **Homepage**: [dlazy.com](https://dlazy.com)\n\nYou can install on demand without persisting a global binary by running:\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\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.\n\n## How It Works\n\nThis skill is a thin client over the dLazy hosted sandbox agent. When you invoke it:\n\n- Your messages and options are sent to the dLazy API (`api.dlazy.com`), which streams the agent's reply back to your terminal.\n- Any local files you attach via `--files` are uploaded to dLazy's media storage (`files.dlazy.com`) first, then referenced by url.\n- Chat sessions are tracked per project so follow-up turns keep context; project ids come from `dlazy projects list`.\n\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.\n\n## Usage\n\nThis skill talks to the dlazy sandbox agent, **pinned to the `file-to-video` template** — a project-scoped assistant that runs the template end-to-end across multiple turns.\n\n### Discover Projects\n\n```bash\n# List existing projects in your organization\ndlazy projects list\n```\n\n### Start or Continue\n\n```bash\n# Start a new project with this template\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# Continue an existing project (skips --skill)\ndlazy chat --project <project_id> --prompt \"...\"\n\n# Attach local files (uploaded to storage first)\ndlazy chat --project <project_id> --prompt \"Use this reference\" --files ref.png\n\n# Session control\ndlazy chat --project <project_id> --clear      # drop the saved session, start fresh\ndlazy chat --project <project_id> --compact    # compact the current session's context\n```\n\nOn a TTY, `dlazy chat` stays interactive after the first turn — type follow-up messages, or `exit` to leave.\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n\n1. For a new task, run `dlazy chat --skill file-to-video --prompt \"...\"`.\n2. To continue earlier work, use `--project <id>` (find ids via `dlazy projects list`) — never pass both `--skill` and `--project`.\n3. Always pass `--prompt` for non-interactive (no-TTY) runs.\n4. Run `dlazy chat -h` to see every option.\n\n## Error Handling\n\n| Code | Error Type                         | Example Message                                                                                                          |\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\n| 502  | Local file read error              | `Error: file not found: C:\\path\\to\\your\\file`                                                          |\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend}` |\n\n> **AGENT CRITICAL INSTRUCTION**:\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)\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.\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.17:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-blog-to-video\",\n  \"version\": \"1.0.17\",\n  \"publishedAt\": 1790038882242\n}\n\nFile v1.0.17:skill-card.md\n\n## Description:\n\nConverts blog posts or document-style inputs into narrated videos by routing prompts and optional files through the dLazy file-to-video CLI workflow.\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, content teams, and developers use this skill to turn blog posts, articles, or document-style source material into narrated video drafts with storyboard, voiceover, and build steps.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The release is advertised as blog-to-video while the artifact routes users to a broader file/document-to-video workflow.\n\nMitigation: Confirm the intended workflow with the user and review prompts or attached files before invoking the dLazy file-to-video CLI template.\n\nRisk: Using the skill can require a locally stored dLazy API key and can upload attached files to dLazy storage.\n\nMitigation: Use approved dLazy credentials, rotate or revoke keys when needed, and avoid uploading sensitive files unless that data flow is approved.\n\nRisk: The skill depends on the pinned @dlazy/cli package and external dLazy API and file-storage endpoints.\n\nMitigation: Review the pinned CLI package source before installation and run it only in environments where access to api.dlazy.com and files.dlazy.com is acceptable.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/dlazyai/skills/dlazy-blog-to-video)\n- [dLazy CLI source](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):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with inline shell commands and streamed CLI text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include dLazy project identifiers and operational guidance; attached local files can be uploaded by the dLazy CLI.]\n\n## Skill Version(s):\n\n1.0.17 (source: server release metadata; artifact frontmatter reports 1.0.4)\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.0.17:SKILL-cn.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"博客转视频、博文转视频、文章转视频——把博客文章转成配音视频，含分镜、配音、合成。当用户给一篇博客（文字或链接）、想要社媒 / YouTube 视频版时使用。\"\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 chat --skill file-to-video --prompt ...'，继续已有项目用 'dlazy chat --project <id> --prompt ...'（用 'dlazy projects list' 查 id）；不要同时传 --skill 和 --project。\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nPPT 转视频、Word 转视频、Excel 转视频、PDF 转视频、文档转视频——解析、大纲、分镜、配音、合成、校验。当用户给一份文档、想要讲解视频 / 报告解读 / 课件 / 培训视频时使用。\n\n## 触发关键词\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## 身份验证 (Authentication)\n\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\n\n```bash\ndlazy login\n```\n\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\n\n### 备选：手动设置 API Key\n\n如果你已有 API key，也可以直接保存：\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\n\n### 手动获取 API Key\n\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. 复制 API Key 区域显示的密钥\n\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\n\n## 关于与来源 (Provenance)\n\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **维护者**: dlazyai\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\n- **官网**: [dlazy.com](https://dlazy.com)\n\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\n\n## 工作原理\n\n此技能是 dLazy 托管沙箱 agent 的轻量封装。调用时：\n\n- 你发送的消息与参数会发送到 dLazy API（`api.dlazy.com`），agent 的回复会流式返回到终端。\n- 通过 `--files` 附带的本地文件会先上传到 dLazy 媒体存储（`files.dlazy.com`），再以 url 形式引用。\n- 会话按项目跟踪，后续多轮对话因此能保持上下文；项目 id 来自 `dlazy projects list`。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n此技能与 dlazy 沙箱 agent 对话，**已固定到 `file-to-video` 模板** —— 一个以项目为单位、可端到端运行该模板的助手，支持多轮对话。\n\n### 发现项目\n\n```bash\n# 列出当前组织下已有的项目\ndlazy projects list\n```\n\n### 开始或继续\n\n```bash\n# 用该模板新建项目\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# 在已有项目里继续（指定后 --skill 失效）\ndlazy chat --project <project_id> --prompt \"...\"\n\n# 附带本地文件（会先上传到存储）\ndlazy chat --project <project_id> --prompt \"参考这张图\" --files ref.png\n\n# 会话控制\ndlazy chat --project <project_id> --clear      # 清除已保存会话，重新开始\ndlazy chat --project <project_id> --compact    # 压缩当前会话的上下文\n```\n\n在终端（TTY）下，`dlazy chat` 在首轮之后会进入交互模式 —— 直接输入后续消息，或输入 `exit` 退出。\n\n> **智能体关键指令**:\n>\n> 1. 新任务运行 `dlazy chat --skill file-to-video --prompt \"...\"`。\n> 2. 继续之前的工作用 `--project <id>`（通过 `dlazy projects list` 查 id）—— 不要同时传 `--skill` 和 `--project`。\n> 3. 非交互（无 TTY）运行时必须传 `--prompt`。\n> 4. 运行 `dlazy chat -h` 查看全部参数。\n\n## 错误处理\n\n| Code | 错误类型                         | 示例信息                                                                                                                 |\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | 缺少必填参数                     | `error: required option '--prompt <prompt>' not specified`                                                               |\n| 502  | 本地文件读取失败                 | `Error: file not found: C:\\path\\to\\your\\file`                                                           |\n| 503  | API 请求失败（余额不足）         | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API 请求失败（服务端错误）       | `HTTP status code error (500 server crash)`                                                                              |\n| 504  | 异步任务执行失败                 | `=== Generation Failed ===` / `{后端返回的具体失败原因}`                             |\n\n> **智能体关键指令**:\n> 1. 如果执行结果返回 `code: \"insufficient_balance\"`（余额不足），您必须明确告知用户当前积分不足，并引导用户前往充值：[https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\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>` 保存，然后继续执行任务。\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nArchive v1.0.16: 4 files, 8015 bytes\n\nFiles: skill-card.md (2596b), SKILL-cn.md (6934b), SKILL.md (7031b), _meta.json (139b)\n\nFile v1.0.16:SKILL.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.\"\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 this skill is called, run 'dlazy chat --skill file-to-video --prompt ...' for a new task, or 'dlazy chat --project <id> --prompt ...' to continue (discover ids via 'dlazy projects list'). Never pass both --skill and --project.\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nppt to video, word to video, excel to video, pdf to video, document to video — parse, outline, storyboard, voiceover, build, validate. Use when the user gives a document and wants an explainer, report broadcast, courseware, or training video.\n\n## Trigger Keywords\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## Authentication\n\nAll requests require a dLazy API key. The recommended way to authenticate is:\n\n```bash\ndlazy login\n```\n\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.\n\n### Alternative: Set the Key Manually\n\nIf you already have an API key, you can save it directly:\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\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.\n\n### Getting Your API Key Manually\n\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. Copy the key shown in the API Key section\n\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\n\n## About & Provenance\n\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **Maintainer**: dlazyai\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\n- **Homepage**: [dlazy.com](https://dlazy.com)\n\nYou can install on demand without persisting a global binary by running:\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\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.\n\n## How It Works\n\nThis skill is a thin client over the dLazy hosted sandbox agent. When you invoke it:\n\n- Your messages and options are sent to the dLazy API (`api.dlazy.com`), which streams the agent's reply back to your terminal.\n- Any local files you attach via `--files` are uploaded to dLazy's media storage (`files.dlazy.com`) first, then referenced by url.\n- Chat sessions are tracked per project so follow-up turns keep context; project ids come from `dlazy projects list`.\n\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.\n\n## Usage\n\nThis skill talks to the dlazy sandbox agent, **pinned to the `file-to-video` template** — a project-scoped assistant that runs the template end-to-end across multiple turns.\n\n### Discover Projects\n\n```bash\n# List existing projects in your organization\ndlazy projects list\n```\n\n### Start or Continue\n\n```bash\n# Start a new project with this template\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# Continue an existing project (skips --skill)\ndlazy chat --project <project_id> --prompt \"...\"\n\n# Attach local files (uploaded to storage first)\ndlazy chat --project <project_id> --prompt \"Use this reference\" --files ref.png\n\n# Session control\ndlazy chat --project <project_id> --clear      # drop the saved session, start fresh\ndlazy chat --project <project_id> --compact    # compact the current session's context\n```\n\nOn a TTY, `dlazy chat` stays interactive after the first turn — type follow-up messages, or `exit` to leave.\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n\n1. For a new task, run `dlazy chat --skill file-to-video --prompt \"...\"`.\n2. To continue earlier work, use `--project <id>` (find ids via `dlazy projects list`) — never pass both `--skill` and `--project`.\n3. Always pass `--prompt` for non-interactive (no-TTY) runs.\n4. Run `dlazy chat -h` to see every option.\n\n## Error Handling\n\n| Code | Error Type                         | Example Message                                                                                                          |\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\n| 502  | Local file read error              | `Error: file not found: C:\\path\\to\\your\\file`                                                          |\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend}` |\n\n> **AGENT CRITICAL INSTRUCTION**:\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)\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.\n\n## Tips\n\nVisit https://dlazy.com for more information.\n\nFile v1.0.16:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-blog-to-video\",\n  \"version\": \"1.0.16\",\n  \"publishedAt\": 1789866147436\n}\n\nFile v1.0.16:skill-card.md\n\n## Description:\n\nConverts blog posts, articles, and broader document inputs into narrated video projects with storyboard, voiceover, and build support through the dLazy file-to-video 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\nExternal users, developers, and content teams use this skill to ask an agent to turn a blog post, article, PDF, presentation, or other document into a narrated explainer, social, YouTube, courseware, or training video.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and attached files may be sent to the external dLazy API and file storage service.\n\nMitigation: Use only with data approved for third-party SaaS processing, and avoid attaching confidential or regulated files unless dLazy's terms and controls meet the deployment requirements.\n\nRisk: The skill stores or uses a dLazy API key through local CLI configuration.\n\nMitigation: Protect the local config file, prefer per-environment secrets handling where available, and rotate or revoke the organization API key when access changes.\n\nRisk: The package name focuses on blog-to-video while the artifact and security evidence indicate broader document-to-video behavior.\n\nMitigation: Review tasks and attached files with the broader document-processing behavior in mind before invoking the skill.\n\nRisk: Execution depends on a third-party npm CLI package.\n\nMitigation: Use the pinned @dlazy/cli 1.2.3 version from the evidence and review the package/source before installation.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/dlazyai/skills/dlazy-blog-to-video)\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):** [Text, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with inline bash commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses the pinned @dlazy/cli 1.2.3 package and may send prompts and attached files to dLazy API and file storage endpoints.]\n\n## Skill Version(s):\n\n1.0.16 (source: server release metadata; artifact frontmatter reports 1.0.4)\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.0.16:SKILL-cn.md\n\n---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"博客转视频、博文转视频、文章转视频——把博客文章转成配音视频，含分镜、配音、合成。当用户给一篇博客（文字或链接）、想要社媒 / YouTube 视频版时使用。\"\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 chat --skill file-to-video --prompt ...'，继续已有项目用 'dlazy chat --project <id> --prompt ...'（用 'dlazy projects list' 查 id）；不要同时传 --skill 和 --project。\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nPPT 转视频、Word 转视频、Excel 转视频、PDF 转视频、文档转视频——解析、大纲、分镜、配音、合成、校验。当用户给一份文档、想要讲解视频 / 报告解读 / 课件 / 培训视频时使用。\n\n## 触发关键词\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## 身份验证 (Authentication)\n\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\n\n```bash\ndlazy login\n```\n\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\n\n### 备选：手动设置 API Key\n\n如果你已有 API key，也可以直接保存：\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\n\n### 手动获取 API Key\n\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. 复制 API Key 区域显示的密钥\n\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\n\n## 关于与来源 (Provenance)\n\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **维护者**: dlazyai\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\n- **官网**: [dlazy.com](https://dlazy.com)\n\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\n\n## 工作原理\n\n此技能是 dLazy 托管沙箱 agent 的轻量封装。调用时：\n\n- 你发送的消息与参数会发送到 dLazy API（`api.dlazy.com`），agent 的回复会流式返回到终端。\n- 通过 `--files` 附带的本地文件会先上传到 dLazy 媒体存储（`files.dlazy.com`），再以 url 形式引用。\n- 会话按项目跟踪，后续多轮对话因此能保持上下文；项目 id 来自 `dlazy projects list`。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n此技能与 dlazy 沙箱 agent 对话，**已固定到 `file-to-video` 模板** —— 一个以项目为单位、可端到端运行该模板的助手，支持多轮对话。\n\n### 发现项目\n\n```bash\n# 列出当前组织下已有的项目\ndlazy projects list\n```\n\n### 开始或继续\n\n```bash\n# 用该模板新建项目\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# 在已有项目里继续（指定后 --skill 失效）\ndlazy chat --project <project_id> --prompt \"...\"\n\n# 附带本地文件（会先上传到存储）\ndlazy chat --project <project_id> --prompt \"参考这张图\" --files ref.png\n\n# 会话控制\ndlazy chat --project <project_id> --clear      # 清除已保存会话，重新开始\ndlazy chat --project <project_id> --compact    # 压缩当前会话的上下文\n```\n\n在终端（TTY）下，`dlazy chat` 在首轮之后会进入交互模式 —— 直接输入后续消息，或输入 `exit` 退出。\n\n> **智能体关键指令**:\n>\n> 1. 新任务运行 `dlazy chat --skill file-to-video --prompt \"...\"`。\n> 2. 继续之前的工作用 `--project <id>`（通过 `dlazy projects list` 查 id）—— 不要同时传 `--skill` 和 `--project`。\n> 3. 非交互（无 TTY）运行时必须传 `--prompt`。\n> 4. 运行 `dlazy chat -h` 查看全部参数。\n\n## 错误处理\n\n| Code | 错误类型                         | 示例信息                                                                                                                 |\n| ---- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| 401  | 未授权 (API Key缺失或无效)       | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\n| 501  | 缺少必填参数","readmeExcerpt":"Skill: 博客转视频 Blog to Video Owner: dlazyai Summary: blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube. Tags: latest:1.0.25 Version history: v1.0.25 | 2026-10-08T01:01:57.892Z | user 例行版本更新 2026-10-08 v1.0.24 | 2026-10-04T01:02:10.127Z | ","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"dlazy login"},{"language":"bash","snippet":"dlazy auth set YOUR_API_KEY"},{"language":"bash","snippet":"npx @dlazy/cli@1.2.3 <command>"},{"language":"bash","snippet":"# List existing projects in your organization\ndlazy projects list"},{"language":"bash","snippet":"# Start a new project with this template\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# Continue an existing project (skips --skill)\ndlazy chat --project <project_id> --prompt \"...\"\n\n# Attach local files (uploaded to storage first)\ndlazy chat --project <project_id> --prompt \"Use this reference\" --files ref.png\n\n# Session control\ndlazy chat --project <project_id> --clear      # drop the saved session, start fresh\ndlazy chat --project <project_id> --compact    # compact the current session's context"},{"language":"bash","snippet":"dlazy login"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"blog to video, blog post to video, article to video — convert a blog post into a narrated video with storyboard, voiceover, and build. Use when the user gives a blog post (text or link) and wants a video version for social or YouTube.\"\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 this skill is called, run 'dlazy chat --skill file-to-video --prompt ...' for a new task, or 'dlazy chat --project <id> --prompt ...' to continue (discover ids via 'dlazy projects list'). Never pass both --skill and --project.\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nppt to video, word to video, excel to video, pdf to video, document to video — parse, outline, storyboard, voiceover, build, validate. Use when the user gives a document and wants an explainer, report broadcast, courseware, or training video.\n\n## Trigger Keywords\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## Authentication\n\nAll requests require a dLazy API key. The recommended way to authenticate is:\n\n```bash\ndlazy login\n```\n\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.\n\n### Alternative: Set the Key Manually\n\nIf you already have an API key, you can save it directly:\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\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.\n\n### Getting Your API Key Manually\n\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. Copy the key shown in the API Key section\n\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\n\n## About & Provenance\n\n- **CLI source code**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **Maintainer**: dlazyai\n- **npm package**: `@dlazy/cli` (pinned to `1.2.3` in this skill's install spec)\n- **Homepage**: [dlazy.com](https://dlazy.com)\n\nYou can install on demand without persisting a global binary by running:\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\nOr, if you prefer a global install, the skill's `metadata.clawdbot.install` field declares the exact pinned version (`npm install -g @dlazy/cli@"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-blog-to-video\",\n  \"version\": \"1.0.25\",\n  \"publishedAt\": 1791421317892\n}"},{"path":"skill-card.md","content":"## Description:\n\nTurns blog posts or articles into narrated videos with storyboards and voiceovers for social media or YouTube.\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\nContent creators and marketing teams use this skill to turn a blog post, article, or document into a narrated video with a storyboard and voiceover.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and options are sent to an external hosted service, and attached files may be uploaded there.\n\nMitigation: Obtain approval before sending confidential or regulated documents; review what is shared.\n\nRisk: Login may store a dLazy API key locally.\n\nMitigation: Protect the local key and rotate it if exposure is suspected.\n\nRisk: A global CLI installation persists on the system.\n\nMitigation: Use the documented npx option if a global installation is undesirable.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/dlazyai/skills/dlazy-blog-to-video)\n- [dLazy CLI (skill metadata link)](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):** [Text, Markdown, Shell commands, Guidance]\n\n**Output Format:** [Text or Markdown with CLI commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Guides creation of narrated video projects through the dLazy service.]\n\n## Skill Version(s):\n\n1.0.25 (source: ClawHub 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."},{"path":"SKILL-cn.md","content":"---\nname: dlazy-blog-to-video\nversion: 1.0.4\ndescription: \"博客转视频、博文转视频、文章转视频——把博客文章转成配音视频，含分镜、配音、合成。当用户给一篇博客（文字或链接）、想要社媒 / YouTube 视频版时使用。\"\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 chat --skill file-to-video --prompt ...'，继续已有项目用 'dlazy chat --project <id> --prompt ...'（用 'dlazy projects list' 查 id）；不要同时传 --skill 和 --project。\"}}\n---\n\n# 博客转视频 Blog to Video\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\nPPT 转视频、Word 转视频、Excel 转视频、PDF 转视频、文档转视频——解析、大纲、分镜、配音、合成、校验。当用户给一份文档、想要讲解视频 / 报告解读 / 课件 / 培训视频时使用。\n\n## 触发关键词\n\n- 文档转视频\n- PPT 转视频\n- PDF 讲解\n- document to video\n- explainer video\n- 课件视频\n- 报告解读\n\n## 身份验证 (Authentication)\n\n所有请求都需要 dLazy API key。**推荐使用** `dlazy login` 完成登录：\n\n```bash\ndlazy login\n```\n\n该命令使用设备码流程（远程终端也可用），登录成功后 **自动把 API key 写入本地 CLI 配置**，无需手动复制粘贴。\n\n### 备选：手动设置 API Key\n\n如果你已有 API key，也可以直接保存：\n\n```bash\ndlazy auth set YOUR_API_KEY\n```\n\nCLI 会把 key 保存在你的用户配置目录（macOS/Linux 上为 `~/.dlazy/config.json`，Windows 上为 `%USERPROFILE%\\.dlazy\\config.json`），文件权限仅限当前操作系统用户访问。你也可以用 `DLAZY_API_KEY` 环境变量按次传入。\n\n### 手动获取 API Key\n\n1. 登录或在 [dlazy.com](https://dlazy.com) 创建账号\n2. 访问 [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\n3. 复制 API Key 区域显示的密钥\n\n每个 key 都属于你自己的 dLazy 组织，可在同一控制面板**随时轮换或吊销**。\n\n## 关于与来源 (Provenance)\n\n- **CLI 源代码**: [github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli)\n- **维护者**: dlazyai\n- **npm 包名**: `@dlazy/cli`（本技能 install 字段固定到 `1.2.3` 版本）\n- **官网**: [dlazy.com](https://dlazy.com)\n\n如果你不希望在系统上长期保留一个全局 CLI，可以按需运行：\n\n```bash\nnpx @dlazy/cli@1.2.3 <command>\n```\n\n如选择全局安装，技能的 `metadata.clawdbot.install` 字段已固定到 `npm install -g @dlazy/cli@1.2.3`。安装前建议先到 GitHub 仓库审阅源码。\n\n## 工作原理\n\n此技能是 dLazy 托管沙箱 agent 的轻量封装。调用时：\n\n- 你发送的消息与参数会发送到 dLazy API（`api.dlazy.com`），agent 的回复会流式返回到终端。\n- 通过 `--files` 附带的本地文件会先上传到 dLazy 媒体存储（`files.dlazy.com`），再以 url 形式引用。\n- 会话按项目跟踪，后续多轮对话因此能保持上下文；项目 id 来自 `dlazy projects list`。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n此技能与 dlazy 沙箱 agent 对话，**已固定到 `file-to-video` 模板** —— 一个以项目为单位、可端到端运行该模板的助手，支持多轮对话。\n\n### 发现项目\n\n```bash\n# 列出当前组织下已有的项目\ndlazy projects list\n```\n\n### 开始或继续\n\n```bash\n# 用该模板新建项目\ndlazy chat --skill file-to-video --prompt \"...\"\n\n# 在已有项目里继续（指定后 --skill 失效）\ndlazy chat --project <project_id> --prompt \"...\"\n\n# 附带本地文件（会先上传到存储）\ndlazy chat --project <project_id> --prompt \"参考这张图\" --files ref.png\n\n# 会话控制\ndlazy chat --project <project_id> --clear      # 清除已保存会话，重新开始\ndlazy chat --project <project_id> --compact    # 压缩当前会话的上下文\n```\n\n在终端（TTY）下，`dlazy chat` 在首轮之后会进入交互模式 —— 直接输入后续消息，或输入 `exit` 退出。\n\n> **智能体关键指"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1298,"uniquenessScore":42,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T23:42:50.708Z","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-09T23:42:50.708Z","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-10T09:07:48.322Z","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"}]}}}