{"id":"9794dc15-1ece-4f2b-abcd-28271e1a59c1","entityType":"agent","slug":"clawhub-dlazyai-dlazy-gemini-2-5-tts","name":"语音合成 Gemini 2.5 TTS","canonicalUrl":"https://www.xpersona.co/agent/clawhub-dlazyai-dlazy-gemini-2-5-tts","canonicalPath":"/agent/clawhub-dlazyai-dlazy-gemini-2-5-tts","generatedAt":"2026-10-10T02:27:26.447Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T06:07:23.657Z","emptyReason":null},"description":"Generate multilingual, highly natural audio using Gemini 2.5 text-to-speech. 使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 4.1K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s170j1ymymrxasgd00dsk7tckx84cf45:dlazy-gemini-2-5-tts","sourceUrl":"https://clawhub.ai/dlazyai/dlazy-gemini-2-5-tts","homepage":"https://clawhub.ai/dlazyai/skills/dlazy-gemini-2-5-tts","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/dlazyai/dlazy-gemini-2-5-tts","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/dlazyai/skills/dlazy-gemini-2-5-tts","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":72,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"语音合成 Gemini 2.5 TTS 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-09T06:07:23.657Z","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-09T06:07:23.657Z","emptyReason":null},"stars":null,"forks":null,"downloads":4052,"packageName":null,"latestVersion":"1.3.25","tractionLabel":"4.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T06:07:23.657Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T06:07:23.657Z","lastCrawledAt":"2026-10-09T06:07:23.657Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T06:07:23.657Z","lastVerifiedAt":null,"highlights":[{"version":"1.3.25","createdAt":"2026-10-08T01:09:33.688Z","changelog":"例行版本更新 2026-10-08","fileCount":4,"zipByteSize":9446},{"version":"1.3.24","createdAt":"2026-10-04T01:09:30.219Z","changelog":"例行版本更新 2026-10-04","fileCount":4,"zipByteSize":9458},{"version":"1.3.23","createdAt":"2026-10-02T04:52:42.271Z","changelog":"例行版本更新 2026-10-02","fileCount":4,"zipByteSize":9440},{"version":"1.3.22","createdAt":"2026-09-30T01:08:15.631Z","changelog":"例行版本更新 2026-09-30","fileCount":4,"zipByteSize":9471},{"version":"1.3.21","createdAt":"2026-09-28T02:07:46.747Z","changelog":"例行版本更新 2026-09-28","fileCount":4,"zipByteSize":9536},{"version":"1.3.20","createdAt":"2026-09-28T01:09:27.745Z","changelog":"例行版本更新 2026-09-28","fileCount":4,"zipByteSize":9442},{"version":"1.3.19","createdAt":"2026-09-24T01:42:15.413Z","changelog":"例行版本更新 2026-09-24","fileCount":4,"zipByteSize":9582},{"version":"1.3.18","createdAt":"2026-09-24T01:18:17.739Z","changelog":"例行版本更新 2026-09-24","fileCount":4,"zipByteSize":9554}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s170j1ymymrxasgd00dsk7tckx84cf45:dlazy-gemini-2-5-tts","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s170j1ymymrxasgd00dsk7tckx84cf45:dlazy-gemini-2-5-tts` 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-gemini-2-5-tts 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-gemini-2-5-tts/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-gemini-2-5-tts/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-gemini-2-5-tts/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-gemini-2-5-tts/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-gemini-2-5-tts/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-gemini-2-5-tts/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T02:27:26.445Z"}},"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-gemini-2-5-tts/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-gemini-2-5-tts/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-gemini-2-5-tts/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-dlazy-gemini-2-5-tts/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-09T06:07:23.657Z","emptyReason":null},"readme":"Skill: 语音合成 Gemini 2.5 TTS\n\nOwner: dlazyai\n\nSummary: Generate multilingual, highly natural audio using Gemini 2.5 text-to-speech. 使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\n\nTags: latest:1.3.25\n\nVersion history:\n\nv1.3.25 | 2026-10-08T01:09:33.688Z | user\n\n例行版本更新 2026-10-08\n\nv1.3.24 | 2026-10-04T01:09:30.219Z | user\n\n例行版本更新 2026-10-04\n\nv1.3.23 | 2026-10-02T04:52:42.271Z | user\n\n例行版本更新 2026-10-02\n\nv1.3.22 | 2026-09-30T01:08:15.631Z | user\n\n例行版本更新 2026-09-30\n\nv1.3.21 | 2026-09-28T02:07:46.747Z | user\n\n例行版本更新 2026-09-28\n\nv1.3.20 | 2026-09-28T01:09:27.745Z | user\n\n例行版本更新 2026-09-28\n\nv1.3.19 | 2026-09-24T01:42:15.413Z | user\n\n例行版本更新 2026-09-24\n\nv1.3.18 | 2026-09-24T01:18:17.739Z | user\n\n例行版本更新 2026-09-24\n\nv1.3.17 | 2026-09-22T01:07:56.709Z | user\n\n例行版本更新 2026-09-22\n\nv1.3.16 | 2026-09-20T01:10:57.099Z | user\n\n例行版本更新 2026-09-20\n\nv1.3.15 | 2026-09-18T01:32:23.318Z | user\n\n例行版本更新 2026-09-18\n\nv1.3.14 | 2026-09-14T01:08:00.466Z | user\n\n例行版本更新 2026-09-14\n\nv1.3.13 | 2026-09-10T01:07:36.107Z | user\n\n例行版本更新 2026-09-10\n\nv1.3.12 | 2026-09-08T01:08:03.507Z | user\n\n例行版本更新 2026-09-08\n\nv1.3.11 | 2026-09-07T01:10:48.113Z | user\n\n例行版本更新 2026-09-07\n\nv1.3.10 | 2026-09-04T01:13:26.300Z | user\n\n例行版本更新 2026-09-04\n\nv1.3.9 | 2026-09-02T01:08:03.922Z | user\n\n例行版本更新 2026-09-02\n\nv1.3.8 | 2026-08-31T02:49:07.882Z | user\n\n源码仓库迁移至 github.com/dlazy-ai/cli\n\nv1.3.7 | 2026-08-24T09:19:27.467Z | user\n\nRestore Chinese display name\n\nv1.3.6 | 2026-08-17T09:01:41.021Z | user\n\nRestore Chinese display name\n\nv1.3.5 | 2026-08-10T05:43:35.422Z | user\n\nRestore Chinese display name\n\nv1.3.4 | 2026-08-10T03:58:07.110Z | user\n\nRestore Chinese display name\n\nv1.3.3 | 2026-07-21T02:12:17.683Z | auto\n\ndlazy-gemini-2-5-tts v1.3.3\n\n- Upgraded CLI dependency to @dlazy/cli@1.2.3 in install instructions and metadata.\n- Updated documentation in SKILL.md and SKILL-cn.md to reference the new CLI version.\n- Removed the obsolete skill-card.md file.\n\nv1.3.2 | 2026-07-17T10:00:36.459Z | auto\n\n- Updated CLI install instructions and metadata to use @dlazy/cli version 1.2.2 (was 1.2.0).\n- npm global and npx install commands now reference the latest supported CLI version.\n- Skill version updated from 1.2.1 to 1.2.2.\n- Removed the file skill-card.md.\n- Documentation in SKILL.md and SKILL-cn.md revised to match version and install changes.\n\nv1.2.2 | 2026-07-17T08:40:17.141Z | auto\n\n- Removed the skill-card.md file from the repository.\n- No changes to functionality or user experience.\n\nv1.3.1 | 2026-07-09T01:43:52.186Z | user\n\nset Chinese display name for CN search\n\nv1.3.0 | 2026-07-07T19:40:14.401Z | auto\n\ndlazy-gemini-2-5-tts v1.3.0 changelog\n\n- Version bump from 1.2.1 to 1.3.0.\n- Documentation updated (SKILL.md, SKILL-cn.md); no changes to functionality or CLI usage.\n\nv1.2.1 | 2026-07-07T18:29:58.240Z | auto\n\ndlazy-gemini-2-5-tts v1.2.1\n\n- Added Chinese to the skill description for improved bilingual support.\n- Documentation files SKILL.md and SKILL-cn.md updated.\n- Removed redundant file: skill-card.md.\n\nv1.2.0 | 2026-06-02T09:52:34.909Z | auto\n\n- Updated CLI dependency to @dlazy/cli@1.2.0 (was 1.0.9).\n- Adjusted install and usage instructions to use the new pinned CLI version.\n- Updated the output format example to reflect changes in modelId.\n- Removed redundant file: skill-card.md.\n\nv1.1.2 | 2026-06-02T01:37:36.810Z | user\n\nUpdate model skills (names/params refreshed); add search-audio/image/video\n\nv1.1.1 | 2026-05-06T14:03:45.170Z | auto\n\ndlazy-gemini-2-5-tts v1.1.1\n\n- Updated SKILL.md and SKILL-cn.md documentation.\n- Bumped version number from 1.1.0 to 1.1.1.\n\nv1.1.0 | 2026-05-01T07:47:48.074Z | auto\n\nVersion 1.1.0\n\n- Added recommended authentication via device-code flow (`dlazy login`) for easier setup.\n- Updated authentication instructions to prioritize device-code flow and clarified manual key configuration as an alternative.\n- No changes to CLI usage or functionality; documentation improvements only.\n\nv1.0.9 | 2026-04-30T10:18:23.718Z | user\n\nSync to CLI 1.0.9 with cliWarning support\n\nv1.0.6 | 2026-04-29T02:34:14.996Z | user\n\nbump @dlazy/cli to 1.0.8\n\nv1.0.5 | 2026-04-27T08:02:26.110Z | user\n\nReduce false-positive scanner alerts: drop 'plaintext' wording from API key storage docs; remove persistsApiKey/network metadata flags in favour of neutral configLocation/apiEndpoints; rewrite Data & Privacy section as factual How-It-Works description without alarming warnings; emphasise that keys can be rotated/revoked at any time from the dLazy dashboard.\n\nv1.0.4 | 2026-04-27T07:41:07.089Z | user\n\nAdd provenance metadata (homepage/source/author/npm), document API key storage location (~/.dlazy/config.json) and DLAZY_API_KEY env var alternative, add Data & Privacy section, recommend 'npx @dlazy/cli@1.0.6' install alternative, normalise Chinese auth-error instruction wording.\n\nv1.0.3 | 2026-04-24T04:01:16.074Z | auto\n\n- Minor update to skill version 1.0.3.\n- Clarified agent instructions for handling missing or invalid API keys: the user should be told to provide the key and the agent should save it, instead of asking the user to send it and then save it.\n- No changes to core functionality or command options.\n\nv1.0.2 | 2026-04-24T03:26:25.498Z | auto\n\n- Updated CLI dependency to @dlazy/cli version 1.0.6 (was 1.0.5).\n- No feature or behavior changes; documentation updated to reflect CLI version change.\n\nv1.0.1 | 2026-04-24T03:20:49.426Z | auto\n\n- Added an explicit Authentication section with instructions to set and obtain the dLazy API key.\n- Clarified that all requests require API key configuration via CLI.\n- No changes to usage, options, output, or error handling.\n\nv1.0.0 | 2026-04-21T03:06:52.225Z | auto\n\nInitial release of dlazy-gemini-2.5-tts.\n\n- Generate multilingual, highly natural audio from text using Gemini 2.5 TTS.\n- Supports command-line options for language, voice, and prompt customization.\n- Handles errors such as missing API key, insufficient balance, and server failures with user guidance.\n- Provides example commands and detailed usage instructions.\n- Clear instructions for resolving authorization and credit issues.\n\nArchive index:\n\nArchive v1.3.25: 4 files, 9446 bytes\n\nFiles: skill-card.md (1838b), SKILL-cn.md (10501b), SKILL.md (10572b), _meta.json (140b)\n\nFile v1.3.25:SKILL.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"Generate multilingual, highly natural audio using Gemini 2.5 text-to-speech. 使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy gemini-2.5-tts -h for help.\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\nGenerate multilingual, highly natural audio using Gemini 2.5 text-to-speech.\n\n## Trigger Keywords\n\n- gemini tts\n- text to speech\n- generate speech\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 API. When you invoke it:\n\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\n- Any local file paths you pass to image / video / audio fields are uploaded to dLazy's media storage (`files.dlazy.com`) so the model can read them — the same flow as any cloud-based generation API.\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\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\n**CRITICAL INSTRUCTION FOR AGENT**:\nRun the `dlazy gemini-2.5-tts` command to get results.\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    Prompt\n  --voice_language [voice_language]    Voice Language [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              Voice Name Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## Output Format\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## Command Examples\n\n```bash\n# basic call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n\n# complex call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n```\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: Image file/Video 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, for example \"Prompt violates safety policy\"}` |\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.3.25:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-gemini-2-5-tts\",\n  \"version\": \"1.3.25\",\n  \"publishedAt\": 1791421773688\n}\n\nFile v1.3.25:skill-card.md\n\n## Description:\n\nHelps agents generate natural-sounding Mandarin or English speech from text using Gemini 2.5 TTS 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\nDevelopers and other ClawHub users can guide an agent to generate speech from text, choosing a language and voice for their audio content.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts are processed by dLazy's cloud API.\n\nMitigation: Avoid submitting sensitive text unless the cloud-processing arrangement is acceptable.\n\nRisk: The dLazy CLI can store an API key locally.\n\nMitigation: Prefer a per-invocation DLAZY_API_KEY when appropriate; revoke or rotate stored keys when no longer needed.\n\nRisk: The skill relies on a third-party CLI package.\n\nMitigation: Review the package and its source before installing in sensitive environments.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/dlazyai/skills/dlazy-gemini-2-5-tts)\n- [dLazy CLI package](https://www.npmjs.com/package/@dlazy/cli)\n- [dLazy CLI repository (listed in skill metadata)](https://github.com/dlazy-ai/cli)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Guidance]\n\n**Output Format:** [Text or Markdown with shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The CLI returns JSON containing a generated media URL or an asynchronous task ID.]\n\n## Skill Version(s):\n\n1.3.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.3.25:SKILL-cn.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\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 gemini-2.5-tts -h 查看帮助信息。\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\n使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\n\n## 触发关键词\n\n- gemini tts\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 托管 API 的轻量封装。调用时：\n\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n执行 `dlazy gemini-2.5-tts` 命令获取结果。\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    提示词\n  --voice_language [voice_language]    语音语言 [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              音色名称 Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## 输出格式\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## 命令示例\n\n```bash\n# 基础调用：\ndlazy gemini-2.5-tts --prompt '提示词内容'\n\n# 复杂调用：\ndlazy gemini-2.5-tts --prompt '提示词内容'\n```\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: Image file/Video 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 ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\n\n> **智能体关键指令**: \n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（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.3.24: 4 files, 9458 bytes\n\nFiles: skill-card.md (1876b), SKILL-cn.md (10501b), SKILL.md (10572b), _meta.json (140b)\n\nFile v1.3.24:SKILL.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"Generate multilingual, highly natural audio using Gemini 2.5 text-to-speech. 使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy gemini-2.5-tts -h for help.\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\nGenerate multilingual, highly natural audio using Gemini 2.5 text-to-speech.\n\n## Trigger Keywords\n\n- gemini tts\n- text to speech\n- generate speech\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 API. When you invoke it:\n\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\n- Any local file paths you pass to image / video / audio fields are uploaded to dLazy's media storage (`files.dlazy.com`) so the model can read them — the same flow as any cloud-based generation API.\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\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\n**CRITICAL INSTRUCTION FOR AGENT**:\nRun the `dlazy gemini-2.5-tts` command to get results.\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    Prompt\n  --voice_language [voice_language]    Voice Language [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              Voice Name Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## Output Format\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## Command Examples\n\n```bash\n# basic call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n\n# complex call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n```\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: Image file/Video 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, for example \"Prompt violates safety policy\"}` |\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.3.24:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-gemini-2-5-tts\",\n  \"version\": \"1.3.24\",\n  \"publishedAt\": 1791076170219\n}\n\nFile v1.3.24:skill-card.md\n\n## Description:\n\nHelps agents generate multilingual speech from text with Gemini 2.5 TTS through the dLazy CLI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCreators and developers use this skill to turn text prompts into multilingual speech with selectable voices via dLazy's hosted service.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Installing or running the external dLazy CLI exposes the environment to third-party software.\n\nMitigation: Confirm the package is trusted before installation; use the pinned on-demand npx option instead of a global install when appropriate.\n\nRisk: Prompts and supplied media may be sent to dLazy's cloud service.\n\nMitigation: Send only content approved for external processing, and rotate or revoke the dLazy API key when no longer needed.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/dlazyai/skills/dlazy-gemini-2-5-tts)\n- [dLazy CLI project (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):** [Shell commands, Guidance]\n\n**Output Format:** [Text and shell commands; CLI results are JSON with hosted output URLs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires a dLazy API key; asynchronous requests may return a task ID pending completion.]\n\n## Skill Version(s):\n\n1.3.24 (source: ClawHub release metadata; bundled skill frontmatter lists 1.3.3)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.24:SKILL-cn.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\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 gemini-2.5-tts -h 查看帮助信息。\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\n使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\n\n## 触发关键词\n\n- gemini tts\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 托管 API 的轻量封装。调用时：\n\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n执行 `dlazy gemini-2.5-tts` 命令获取结果。\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    提示词\n  --voice_language [voice_language]    语音语言 [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              音色名称 Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## 输出格式\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## 命令示例\n\n```bash\n# 基础调用：\ndlazy gemini-2.5-tts --prompt '提示词内容'\n\n# 复杂调用：\ndlazy gemini-2.5-tts --prompt '提示词内容'\n```\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: Image file/Video 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 ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\n\n> **智能体关键指令**: \n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（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.3.23: 4 files, 9440 bytes\n\nFiles: skill-card.md (1881b), SKILL-cn.md (10501b), SKILL.md (10572b), _meta.json (140b)\n\nFile v1.3.23:SKILL.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"Generate multilingual, highly natural audio using Gemini 2.5 text-to-speech. 使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy gemini-2.5-tts -h for help.\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\nGenerate multilingual, highly natural audio using Gemini 2.5 text-to-speech.\n\n## Trigger Keywords\n\n- gemini tts\n- text to speech\n- generate speech\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 API. When you invoke it:\n\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\n- Any local file paths you pass to image / video / audio fields are uploaded to dLazy's media storage (`files.dlazy.com`) so the model can read them — the same flow as any cloud-based generation API.\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\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\n**CRITICAL INSTRUCTION FOR AGENT**:\nRun the `dlazy gemini-2.5-tts` command to get results.\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    Prompt\n  --voice_language [voice_language]    Voice Language [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              Voice Name Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## Output Format\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## Command Examples\n\n```bash\n# basic call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n\n# complex call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n```\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: Image file/Video 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, for example \"Prompt violates safety policy\"}` |\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.3.23:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-gemini-2-5-tts\",\n  \"version\": \"1.3.23\",\n  \"publishedAt\": 1790916762271\n}\n\nFile v1.3.23:skill-card.md\n\n## Description:\n\nHelps agents generate multilingual speech from text using Gemini 2.5 TTS through the dLazy CLI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and other ClawHub users can direct an agent to turn text prompts into Chinese or English speech with a chosen voice using the dLazy service.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts are sent to dLazy's hosted API, and generated files are hosted by dLazy.\n\nMitigation: Avoid submitting sensitive content without confirming the service's data-handling terms.\n\nRisk: Login saves an API key locally, and installing the CLI globally persists the package on the system.\n\nMitigation: Protect the local key and review the CLI package before installing; use the documented npx option if a global install is unwanted.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/dlazyai/skills/dlazy-gemini-2-5-tts)\n- [dLazy CLI source linked 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):** [Guidance, Shell commands]\n\n**Output Format:** [Text with CLI commands and links to generated audio]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Generated audio is hosted by dLazy; asynchronous requests can return a task ID before audio is ready.]\n\n## Skill Version(s):\n\n1.3.23 (source: server-resolved ClawHub release; artifact frontmatter lists 1.3.3)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.23:SKILL-cn.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\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 gemini-2.5-tts -h 查看帮助信息。\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\n使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\n\n## 触发关键词\n\n- gemini tts\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 托管 API 的轻量封装。调用时：\n\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n执行 `dlazy gemini-2.5-tts` 命令获取结果。\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    提示词\n  --voice_language [voice_language]    语音语言 [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              音色名称 Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## 输出格式\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## 命令示例\n\n```bash\n# 基础调用：\ndlazy gemini-2.5-tts --prompt '提示词内容'\n\n# 复杂调用：\ndlazy gemini-2.5-tts --prompt '提示词内容'\n```\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: Image file/Video 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 ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\n\n> **智能体关键指令**: \n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（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.3.22: 4 files, 9471 bytes\n\nFiles: skill-card.md (1945b), SKILL-cn.md (10501b), SKILL.md (10572b), _meta.json (140b)\n\nFile v1.3.22:SKILL.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"Generate multilingual, highly natural audio using Gemini 2.5 text-to-speech. 使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy gemini-2.5-tts -h for help.\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\nGenerate multilingual, highly natural audio using Gemini 2.5 text-to-speech.\n\n## Trigger Keywords\n\n- gemini tts\n- text to speech\n- generate speech\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 API. When you invoke it:\n\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\n- Any local file paths you pass to image / video / audio fields are uploaded to dLazy's media storage (`files.dlazy.com`) so the model can read them — the same flow as any cloud-based generation API.\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\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\n**CRITICAL INSTRUCTION FOR AGENT**:\nRun the `dlazy gemini-2.5-tts` command to get results.\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    Prompt\n  --voice_language [voice_language]    Voice Language [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              Voice Name Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## Output Format\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## Command Examples\n\n```bash\n# basic call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n\n# complex call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n```\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: Image file/Video 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, for example \"Prompt violates safety policy\"}` |\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.3.22:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-gemini-2-5-tts\",\n  \"version\": \"1.3.22\",\n  \"publishedAt\": 1790730495631\n}\n\nFile v1.3.22:skill-card.md\n\n## Description:\n\nGenerates natural-sounding speech from Chinese or English text using Gemini 2.5 TTS 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 developers use this skill to turn Chinese or English text into spoken audio through the dLazy CLI and hosted service.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and supplied media may be sent to dLazy's hosted service.\n\nMitigation: Avoid submitting sensitive content without reviewing the service and CLI first.\n\nRisk: Installing an external npm CLI executes third-party software.\n\nMitigation: Review the CLI package before installation; use the documented version-pinned npx command to avoid a global install.\n\nRisk: A stored dLazy API key could be exposed if the user's credentials are mishandled.\n\nMitigation: Protect the CLI configuration and manage the key as a credential; rotate or revoke it if exposed.\n\n## Reference(s):\n\n- [dLazy CLI repository (linked 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):** [Shell commands, Configuration instructions, Audio links]\n\n**Output Format:** [Markdown guidance with shell commands and links to generated audio]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires a dLazy API key and access to the dLazy hosted service.]\n\n## Skill Version(s):\n\n1.3.22 (source: ClawHub release metadata; bundled SKILL.md says 1.3.3)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.22:SKILL-cn.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\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 gemini-2.5-tts -h 查看帮助信息。\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\n使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\n\n## 触发关键词\n\n- gemini tts\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 托管 API 的轻量封装。调用时：\n\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n执行 `dlazy gemini-2.5-tts` 命令获取结果。\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    提示词\n  --voice_language [voice_language]    语音语言 [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              音色名称 Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## 输出格式\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## 命令示例\n\n```bash\n# 基础调用：\ndlazy gemini-2.5-tts --prompt '提示词内容'\n\n# 复杂调用：\ndlazy gemini-2.5-tts --prompt '提示词内容'\n```\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: Image file/Video 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 ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\n\n> **智能体关键指令**: \n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（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.3.21: 4 files, 9536 bytes\n\nFiles: skill-card.md (2140b), SKILL-cn.md (10501b), SKILL.md (10572b), _meta.json (140b)\n\nFile v1.3.21:SKILL.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"Generate multilingual, highly natural audio using Gemini 2.5 text-to-speech. 使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy gemini-2.5-tts -h for help.\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\nGenerate multilingual, highly natural audio using Gemini 2.5 text-to-speech.\n\n## Trigger Keywords\n\n- gemini tts\n- text to speech\n- generate speech\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 API. When you invoke it:\n\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\n- Any local file paths you pass to image / video / audio fields are uploaded to dLazy's media storage (`files.dlazy.com`) so the model can read them — the same flow as any cloud-based generation API.\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\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\n**CRITICAL INSTRUCTION FOR AGENT**:\nRun the `dlazy gemini-2.5-tts` command to get results.\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    Prompt\n  --voice_language [voice_language]    Voice Language [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              Voice Name Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## Output Format\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## Command Examples\n\n```bash\n# basic call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n\n# complex call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n```\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: Image file/Video 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, for example \"Prompt violates safety policy\"}` |\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.3.21:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-gemini-2-5-tts\",\n  \"version\": \"1.3.21\",\n  \"publishedAt\": 1790561266747\n}\n\nFile v1.3.21:skill-card.md\n\n## Description:\n\nHelps agents generate multilingual speech from text using Gemini 2.5 TTS through dLazy's 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\nDevelopers and other users can guide an agent to turn text into speech with selectable language and voice through the dLazy CLI.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and generated outputs pass through dLazy's hosted service.\n\nMitigation: Confirm that sending input to dLazy and hosting results there is acceptable before use.\n\nRisk: Signing in stores an API key in the local CLI configuration.\n\nMitigation: Protect the user configuration and rotate or revoke the key if compromised.\n\nRisk: The sample output describes an image instead of speech and may not match actual results.\n\nMitigation: Verify the actual output format rather than relying on the sample.\n\nRisk: Global CLI installation persists on the user's system.\n\nMitigation: Prefer the documented pinned npx invocation when a persistent installation is unnecessary.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/dlazyai/skills/dlazy-gemini-2-5-tts)\n- [dLazy CLI source (listed in skill metadata; import provenance unavailable)](https://github.com/dlazy-ai/cli)\n- [dLazy CLI npm package](https://www.npmjs.com/package/@dlazy/cli)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Guidance]\n\n**Output Format:** [Markdown with inline shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The invoked service returns hosted result URLs; the documented sample response depicts an image rather than speech and may be outdated.]\n\n## Skill Version(s):\n\n1.3.21 (source: ClawHub release metadata; skill frontmatter says 1.3.3)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.21:SKILL-cn.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\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 gemini-2.5-tts -h 查看帮助信息。\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\n使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\n\n## 触发关键词\n\n- gemini tts\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 托管 API 的轻量封装。调用时：\n\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n执行 `dlazy gemini-2.5-tts` 命令获取结果。\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    提示词\n  --voice_language [voice_language]    语音语言 [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              音色名称 Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## 输出格式\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## 命令示例\n\n```bash\n# 基础调用：\ndlazy gemini-2.5-tts --prompt '提示词内容'\n\n# 复杂调用：\ndlazy gemini-2.5-tts --prompt '提示词内容'\n```\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: Image file/Video 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 ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\n\n> **智能体关键指令**: \n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（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.3.20: 4 files, 9442 bytes\n\nFiles: skill-card.md (1913b), SKILL-cn.md (10501b), SKILL.md (10572b), _meta.json (140b)\n\nFile v1.3.20:SKILL.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"Generate multilingual, highly natural audio using Gemini 2.5 text-to-speech. 使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy gemini-2.5-tts -h for help.\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\nGenerate multilingual, highly natural audio using Gemini 2.5 text-to-speech.\n\n## Trigger Keywords\n\n- gemini tts\n- text to speech\n- generate speech\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 API. When you invoke it:\n\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\n- Any local file paths you pass to image / video / audio fields are uploaded to dLazy's media storage (`files.dlazy.com`) so the model can read them — the same flow as any cloud-based generation API.\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\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\n**CRITICAL INSTRUCTION FOR AGENT**:\nRun the `dlazy gemini-2.5-tts` command to get results.\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    Prompt\n  --voice_language [voice_language]    Voice Language [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              Voice Name Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## Output Format\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## Command Examples\n\n```bash\n# basic call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n\n# complex call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n```\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: Image file/Video 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, for example \"Prompt violates safety policy\"}` |\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.3.20:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-gemini-2-5-tts\",\n  \"version\": \"1.3.20\",\n  \"publishedAt\": 1790557767745\n}\n\nFile v1.3.20:skill-card.md\n\n## Description:\n\nGuides agents in generating multilingual speech with Gemini 2.5 text-to-speech through the dLazy service.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dlazyai](https://clawhub.ai/user/dlazyai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and other users can guide an agent to create spoken audio from text, selecting a language and voice through the dLazy CLI.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts are sent to the third-party dLazy service.\n\nMitigation: Confirm that the content can be shared with dLazy before submitting it.\n\nRisk: The CLI requires a dLazy API key and may save it locally.\n\nMitigation: Protect the key and use the documented account controls to rotate or revoke it if needed.\n\nRisk: The documented output example shows an image rather than audio.\n\nMitigation: Check the returned media type and link before presenting it as generated speech.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/dlazyai/skills/dlazy-gemini-2-5-tts)\n- [dLazy CLI project (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, Shell commands, Guidance]\n\n**Output Format:** [Markdown with CLI commands and links to generated audio]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Generated media is returned via dLazy-hosted links; asynchronous jobs may require a status check.]\n\n## Skill Version(s):\n\n1.3.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.3.20:SKILL-cn.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\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 gemini-2.5-tts -h 查看帮助信息。\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\n使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\n\n## 触发关键词\n\n- gemini tts\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 托管 API 的轻量封装。调用时：\n\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n执行 `dlazy gemini-2.5-tts` 命令获取结果。\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    提示词\n  --voice_language [voice_language]    语音语言 [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              音色名称 Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## 输出格式\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## 命令示例\n\n```bash\n# 基础调用：\ndlazy gemini-2.5-tts --prompt '提示词内容'\n\n# 复杂调用：\ndlazy gemini-2.5-tts --prompt '提示词内容'\n```\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: Image file/Video 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 ===` / `{后端返回的具体失败原因，比如 \"Prompt violates safety policy\"}`                             |\n\n> **智能体关键指令**: \n> 1. 如果执行结果返回 `code: \"insufficient_balance\"` 且提示余额不足（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.3.19: 4 files, 9582 bytes\n\nFiles: skill-card.md (2068b), SKILL-cn.md (10501b), SKILL.md (10572b), _meta.json (140b)\n\nFile v1.3.19:SKILL.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"Generate multilingual, highly natural audio using Gemini 2.5 text-to-speech. 使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy gemini-2.5-tts -h for help.\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\nGenerate multilingual, highly natural audio using Gemini 2.5 text-to-speech.\n\n## Trigger Keywords\n\n- gemini tts\n- text to speech\n- generate speech\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 API. When you invoke it:\n\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\n- Any local file paths you pass to image / video / audio fields are uploaded to dLazy's media storage (`files.dlazy.com`) so the model can read them — the same flow as any cloud-based generation API.\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\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\n**CRITICAL INSTRUCTION FOR AGENT**:\nRun the `dlazy gemini-2.5-tts` command to get results.\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    Prompt\n  --voice_language [voice_language]    Voice Language [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              Voice Name Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_language=cmn: Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); voice_language=en: Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High)]\n  --dry-run                            Print payload + cost estimate without calling API\n  --no-wait                            Return generateId immediately for async tasks\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\n  -h, --help                           display help for command\n```\n\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\n\n## Output Format\n\n```json\n{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}\n```\n\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\n\n## Command Examples\n\n```bash\n# basic call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n\n# complex call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n```\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: Image file/Video 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, for example \"Prompt violates safety policy\"}` |\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.3.19:_meta.json\n\n{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-gemini-2-5-tts\",\n  \"version\": \"1.3.19\",\n  \"publishedAt\": 1790214135413\n}\n\nFile v1.3.19:skill-card.md\n\n## Description:\n\n使用 Gemini 2.5 文本转语音生成多语言、高自然度音频。\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 generate multilingual text-to-speech audio through the dLazy CLI and hosted Gemini 2.5 TTS service.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends prompts and selected local media inputs to dLazy's hosted service.\n\nMitigation: Avoid passing private prompts or local files unless uploading them to dLazy is intended.\n\nRisk: The dLazy API key may be stored in the local CLI config.\n\nMitigation: Use OS account protections, prefer per-invocation environment variables where appropriate, and rotate or revoke keys from the dLazy dashboard when needed.\n\nRisk: The skill depends on an external pinned npm CLI package.\n\nMitigation: Review the publisher's CLI source or npm package before installation when supply-chain trust matters.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/dlazyai/skills/dlazy-gemini-2-5-tts)\n- [dLazy CLI source](https://github.com/dlazy-ai/cli)\n- [dLazy CLI npm package](https://www.npmjs.com/package/@dlazy/cli)\n- [dLazy service homepage](https://dlazy.com)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, JSON, Guidance]\n\n**Output Format:** [CLI commands and JSON responses containing generated audio output URLs or async task status.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires a dLazy API key; generated output URLs are hosted by dLazy, and async requests can return a generateId for later polling.]\n\n## Skill Version(s):\n\n1.3.19 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.19:SKILL-cn.md\n\n---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\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 gemini-2.5-tts -h 查看帮助信息。\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\n使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\n\n## 触发关键词\n\n- gemini tts\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## 关于与来源 (Prov\n\nArchive v1.3.18: 4 files, 9554 bytes\n\nFiles: skill-card.md (2104b), SKILL-cn.md (10501b), SKILL.md (10572b), _meta.json (140b)\n\nArchive v1.3.17: 4 files, 9569 bytes\n\nFiles: skill-card.md (2247b), SKILL-cn.md (10501b), SKILL.md (10572b), _meta.json (140b)\n\nArchive v1.3.16: 4 files, 9495 bytes\n\nFiles: skill-card.md (1991b), SKILL-cn.md (10501b), SKILL.md (10572b), _meta.json (140b)","readmeExcerpt":"Skill: 语音合成 Gemini 2.5 TTS Owner: dlazyai Summary: Generate multilingual, highly natural audio using Gemini 2.5 text-to-speech. 使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。 Tags: latest:1.3.25 Version history: v1.3.25 | 2026-10-08T01:09:33.688Z | user 例行版本更新 2026-10-08 v1.3.24 | 2026-10-04T01:09:30.219Z | user 例行版本更新 2026-10-04 v1.3.23 | 2026-10-02T04:52:42.271Z | user 例行版本更新 2026-10-02 v1.3.22 | 2026-09-30T01:08:15.631Z ","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":"dlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    Prompt\n  --voice_language [voice_language]    Voice Language [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              Voice Name Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacrux (Gacrux - 成熟), Pulcherrima (Pulcherrima - 转折), Achird (Achird - 友好), Zubenelgenubi (Zubenelgenubi - 随意), Vindemiatrix (Vindemiatrix - 温和), Sadachbia (Sadachbia - 活泼), Sadaltager (Sadaltager - 知识渊博), Sulafat (Sulafat - 偏高); when voice_language=\"en\": Zephyr (Zephyr - Bright), Puck (Puck - Cheerful), Charon (Charon - Informative), Kore (Kore - Firm), Fenrir (Fenrir - Excitable), Leda (Leda - Youthful), Orus (Orus - Just), Aoede (Aoede - Breezy), Callirrhoe (Callirrhoe - Relaxed), Autonoe (Autonoe - Bright), Enceladus (Enceladus - Breath), Iapetus (Iapetus - Clear), Umbriel (Umbriel - Light), Algieba (Algieba - Smooth), Despina (Despina - Smooth), Erinome (Erinome - Clear), Algenib (Algenib - Gravelly), Rasalgethi (Rasalgethi - Informative), Laomedeia (Laomedeia - Cheerful), Achernar (Achernar - Soft), Alnilam (Alnilam - Firm), Schedar (Schedar - Even), Gacrux (Gacrux - Mature), Pulcherrima (Pulcherrima - Turning), Achird (Achird - Friendly), Zubenelgenubi (Zubenelgenubi - Casual), Vindemiatrix (Vindemiatrix - Gentle), Sadachbia (Sadachbia - Lively), Sadaltager (Sadaltager - Scholarly), Sulafat (Sulafat - High) [default: Kore] [options depend on --voice_language; voice_la"},{"language":"json","snippet":"{\n  \"ok\": true,\n  \"result\": {\n    \"tool\": \"gemini-2.5-tts\",\n    \"modelId\": \"gemini-2.5-tts\",\n    \"outputs\": [\n      {\n        \"type\": \"image\",\n        \"id\": \"o_xxxxxxxx\",\n        \"url\": \"https://files.dlazy.com/result.png\",\n        \"mimeType\": \"image/png\"\n      }\n    ]\n  }\n}"},{"language":"bash","snippet":"# basic call:\ndlazy gemini-2.5-tts --prompt 'prompt text'\n\n# complex call:\ndlazy gemini-2.5-tts --prompt 'prompt text'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: dlazy-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"Generate multilingual, highly natural audio using Gemini 2.5 text-to-speech. 使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.2.3\",\"installAlternative\":\"npx @dlazy/cli@1.2.3\",\"homepage\":\"https://github.com/dlazy-ai/cli\",\"source\":\"https://github.com/dlazy-ai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy gemini-2.5-tts -h for help.\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\nGenerate multilingual, highly natural audio using Gemini 2.5 text-to-speech.\n\n## Trigger Keywords\n\n- gemini tts\n- text to speech\n- generate speech\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 API. When you invoke it:\n\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\n- Any local file paths you pass to image / video / audio fields are uploaded to dLazy's media storage (`files.dlazy.com`) so the model can read them — the same flow as any cloud-based generation API.\n- Generated output URLs retu"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7c5wgeajfcfvdfb5ceemvdb984cjpd\",\n  \"slug\": \"dlazy-gemini-2-5-tts\",\n  \"version\": \"1.3.25\",\n  \"publishedAt\": 1791421773688\n}"},{"path":"skill-card.md","content":"## Description:\n\nHelps agents generate natural-sounding Mandarin or English speech from text using Gemini 2.5 TTS 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\nDevelopers and other ClawHub users can guide an agent to generate speech from text, choosing a language and voice for their audio content.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts are processed by dLazy's cloud API.\n\nMitigation: Avoid submitting sensitive text unless the cloud-processing arrangement is acceptable.\n\nRisk: The dLazy CLI can store an API key locally.\n\nMitigation: Prefer a per-invocation DLAZY_API_KEY when appropriate; revoke or rotate stored keys when no longer needed.\n\nRisk: The skill relies on a third-party CLI package.\n\nMitigation: Review the package and its source before installing in sensitive environments.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/dlazyai/skills/dlazy-gemini-2-5-tts)\n- [dLazy CLI package](https://www.npmjs.com/package/@dlazy/cli)\n- [dLazy CLI repository (listed in skill metadata)](https://github.com/dlazy-ai/cli)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Guidance]\n\n**Output Format:** [Text or Markdown with shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The CLI returns JSON containing a generated media URL or an asynchronous task ID.]\n\n## Skill Version(s):\n\n1.3.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-gemini-2.5-tts\nversion: 1.3.3\ndescription: \"使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\"\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 gemini-2.5-tts -h 查看帮助信息。\"}}\n---\n\n# 语音合成 Gemini 2.5 TTS\n\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\n\n\n\n使用 Gemini 2.5 强大的文本转语音能力，生成多语言、高自然度的音频。\n\n## 触发关键词\n\n- gemini tts\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 托管 API 的轻量封装。调用时：\n\n- 你提供的提示词与参数会发送到 dLazy API（`api.dlazy.com`）进行推理。\n- 传入图像 / 视频 / 音频字段的本地文件路径会被 CLI 上传到 dLazy 媒体存储（`files.dlazy.com`），以便模型读取 —— 与任何云端生成 API 的流程一致。\n- API 返回的生成结果 URL 由 `files.dlazy.com` 托管。\n\n这是标准的 SaaS 调用模式；技能本身不会越权访问网络或文件系统，所有动作都由 dLazy CLI 完成。完整服务条款请参见 [dlazy.com](https://dlazy.com)。\n\n## 使用方法\n\n**CRITICAL INSTRUCTION FOR AGENT**:\n执行 `dlazy gemini-2.5-tts` 命令获取结果。\n\n```bash\ndlazy gemini-2.5-tts -h\n\nOptions:\n  --prompt [prompt]                    提示词\n  --voice_language [voice_language]    语音语言 [default: cmn] (choices: \"cmn\", \"en\")\n  --voiceName [voiceName]              音色名称 Options depend on \"voice_language\". when voice_language=\"cmn\": Zephyr (Zephyr - 明亮), Puck (Puck - 欢快), Charon (Charon - 信息丰富), Kore (Kore - 坚定), Fenrir (Fenrir - 兴奋), Leda (Leda - 青春), Orus (Orus - 公正), Aoede (Aoede - 清爽), Callirrhoe (Callirrhoe - 轻松), Autonoe (Autonoe - 明亮), Enceladus (Enceladus - 气声), Iapetus (Iapetus - 清晰), Umbriel (Umbriel - 轻松愉快), Algieba (Algieba - 平滑), Despina (Despina - 平滑), Erinome (Erinome - 清晰), Algenib (Algenib - 沙哑), Rasalgethi (Rasalgethi - 信息丰富), Laomedeia (Laomedeia - 欢快), Achernar (Achernar - 柔和), Alnilam (Alnilam - 坚定), Schedar (Schedar - 均匀), Gacr"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1292,"uniquenessScore":44,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T06:07:23.657Z","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-09T06:07:23.657Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T02:27:26.447Z","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"}]}}}