Design & media

语音合成 Gemini 2.5 TTS

Generate Mandarin or English speech from text with selectable Gemini 2.5 TTS voices.

What it does

Turn text prompts into natural-sounding Mandarin or English speech with Gemini 2.5 TTS. Choose from 30 named voices with styles such as firm, cheerful, clear, soft, or mature, then run the hosted generation through the dLazy CLI. Results are returned as hosted output URLs, with optional dry-run and asynchronous modes.

When to use it

  • Mandarin narration from text
  • English voice-over generation
  • Comparing voice styles for a script
  • Asynchronous speech generation workflows

The skill document

语音合成 Gemini 2.5 TTS

English · 中文

Generate multilingual, highly natural audio using Gemini 2.5 text-to-speech.

Trigger Keywords

  • gemini tts
  • text to speech
  • generate speech

Authentication

All requests require a dLazy API key. The recommended way to authenticate is:

dlazy login

This runs a device-code flow (also works in remote shells) and automatically saves your API key to the local CLI config — no manual copy/paste required.

Alternative: Set the Key Manually

If you already have an API key, you can save it directly:

dlazy auth set YOUR_API_KEY

The CLI saves the key in your user config directory (~/.dlazy/config.json on macOS/Linux, %USERPROFILE%\.dlazy\config.json on Windows), with file permissions restricted to your OS user account. You can also supply the key per-invocation via the DLAZY_API_KEY environment variable.

Getting Your API Key Manually

  1. Sign in or create an account at dlazy.com
  2. Go to dlazy.com/dashboard/organization/api-key
  3. Copy the key shown in the API Key section

Each key is scoped to your dLazy organization and can be rotated or revoked at any time from the same dashboard.

About & Provenance

You can install on demand without persisting a global binary by running:

npx @dlazy/cli@1.2.3 

Or, if you prefer a global install, the skill's metadata.clawdbot.install field declares the exact pinned version (npm install -g @dlazy/cli@1.2.3). Review the GitHub source before installing.

How It Works

This skill is a thin client over the dLazy hosted API. When you invoke it:

  • Prompts and parameters you provide are sent to the dLazy API endpoint (api.dlazy.com) for inference.
  • Any local file paths you pass to image / video / audio fields are uploaded to dLazy's media storage (files.dlazy.com) so the model can read them — the same flow as any cloud-based generation API.
  • Generated output URLs returned by the API are hosted on files.dlazy.com.

This is the standard SaaS pattern; the skill itself does not access network or filesystem resources beyond what the dLazy CLI already handles. See dlazy.com for the full service terms.

Usage

CRITICAL INSTRUCTION FOR AGENT: Run the dlazy gemini-2.5-tts command to get results.

dlazy gemini-2.5-tts -h

Options:
  --prompt [prompt]                    Prompt
  --voice_language [voice_language]    Voice Language [default: cmn] (choices: "cmn", "en")
  --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)]
  --dry-run                            Print payload + cost estimate without calling API
  --no-wait                            Return generateId immediately for async tasks
  --timeout                   Max seconds to wait for async completion (default: "1800")
  -h, --help                           display help for command

Any flag also accepts pipe references — - (auto-pick from upstream stdin), @N (n-th output), @N.path (jsonpath into output), @* (all primary values), @stdin / @stdin:path (whole envelope). See dlazy --help for details.

Output Format

{
  "ok": true,
  "result": {
    "tool": "gemini-2.5-tts",
    "modelId": "gemini-2.5-tts",
    "outputs": [
      {
        "type": "image",
        "id": "o_xxxxxxxx",
        "url": "https://files.dlazy.com/result.png",
        "mimeType": "image/png"
      }
    ]
  }
}

Async tasks (when --no-wait is passed) return outputs: [] and a task: { generateId, status } field instead. Use dlazy status --wait to poll.

Command Examples

# basic call:
dlazy gemini-2.5-tts --prompt 'prompt text'

# complex call:
dlazy gemini-2.5-tts --prompt 'prompt text'

Error Handling

CodeError TypeExample Message
401Unauthorized (No API Key)ok: false, code: "unauthorized", message: "API key is missing or invalid"
501Missing required parametererror: required option '--prompt ' not specified
502Local file read errorError: Image file/Video file not found: C:\path\to\your\file
503API request failed (no balance)ok: false, code: "insufficient_balance"
503API request failed (server error)HTTP status code error (500 server crash)
504Asynchronous task execution failed=== Generation Failed === / {Specific error reason returned by backend, for example "Prompt violates safety policy"}

AGENT CRITICAL INSTRUCTION:

  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
  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 and save it using dlazy auth set and resume the task.

Tips

Visit https://dlazy.com for more information.

Questions people ask

Which languages and voices can I use?
The CLI supports Mandarin (`cmn`) and English (`en`). Both offer 30 named voices with documented qualities such as bright, firm, cheerful, smooth, clear, and mature; Kore is the default voice.
How do I authenticate and run a generation?
Authenticate with `dlazy login`, save an existing key with `dlazy auth set YOUR_API_KEY`, or provide `DLAZY_API_KEY` per invocation. Generate speech with `dlazy gemini-2.5-tts --prompt 'prompt text'`.
Can I estimate cost or run the request asynchronously?
Use `--dry-run` to print the payload and cost estimate without calling the API. Use `--no-wait` to receive a generation ID immediately, then poll it with `dlazy status --wait`.

Related skills

Generate narration, cloned voices, sound effects, and music from text prompts.

225 installs4 stars

Turn written replies into concise, normalized text that TTS engines can read naturally.

58 installs2 stars

Convert Chinese or English text into emotional speech with selectable voices, speeds, and MP3 or WAV output.

65 installs

Routes prompts to an appropriate CLI model for speech, dialogue, music, sound effects, or voice cloning.

by dlazy65 installs1 stars