Nodes/PromptModels Studio/Gemini Text to Speech (PMS)
ComfyUI Node

Gemini Text to Speech (PMS)

Five named voices, one REST call

By cdanielp·Created 9 months ago·Updated 2 months ago· 28
Gemini Text to Speech (PMS)
    • audio
    textHola, soy Gemini. Encantado de hablar contigo.
    voice_nameAoede
    language_codees-419
    api_key

    Google's Gemini TTS voices, exposed as a single ComfyUI node: paste text, get an AUDIO tensor. If you're building narrated content inside ComfyUI - explainer videos, character dialogue, a voiceover for a generated slideshow - this is the Gemini-side alternative to the pack's Grok TTS node. Same shape, different provider, and the trade-off between them is basically which API you already pay for.

    It's a plain REST call to Google's TTS endpoint, no SDKs, no local model, and the returned audio is decoded into a standard ComfyUI {waveform, sample_rate} AUDIO tensor. That means it wires directly into video pipelines - concatenate it with frames, mix it, save it alongside your output. One nice detail: if the API call fails, the node returns a short silence tensor instead of raising, so your downstream graph keeps running instead of dying mid-render.

    The inputs that matter

    • text - what gets spoken. Multiline, so a whole paragraph or script line fits.
    • voice_name - five options: Aoede, Charon, Fenrir, Kore, Puck. These are Google's named Gemini TTS voices, and they differ more than you'd expect in delivery and timbre - worth auditioning all five on the same line before you commit.
    • language_code - a BCP-47 code, default es-419. The default is Latin American Spanish, which tells you where this pack's author lives; switch to en-US, fr-FR, etc. as needed.
    • api_key - leave empty; resolved from .env as GEMINI_API_KEY.

    Output: a single audio AUDIO tensor.

    Installing it

    ComfyUI Manager → search "COMFYUI_PROMPTMODELS" → install → restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/cdanielp/COMFYUI_PROMPTMODELS
    

    Add to the pack's .env:

    GEMINI_API_KEY=AI...
    

    Restart. Requires ComfyUI >= 0.26.0; dependencies are requests and Pillow only.

    The traps

    The key-in-the-field warning applies here like everywhere in this pack: put GEMINI_API_KEY in .env, leave the node's api_key blank, or the key ends up in your workflow JSON and in saved PNG metadata.

    And set your expectations on range: five fixed voices, no custom voice cloning, no speech tags like the Grok TTS node offers. If you need an expressive voice with [laugh] and [whisper] direction, that's the Grok node's territory. This one is clean, reliable, multi-language narration - pick it when you need a specific language code (it's genuinely strong at Spanish and other non-English output) or when Gemini credits are what you're spending anyway.

    CategoryPromptModels/Google

    Inputs (4)

    NameTypeDefaultDescription
    textSTRINGHola, soy Gemini. Encantado de hablar contigo.
    voice_nameoptSTRINGAoedeNombre de voz: Aoede, Charon, Fenrir, Kore, Puck.
    language_codeoptSTRINGes-419Código BCP-47. ej: es-419, en-US, fr-FR.
    api_keyoptSTRING

    Outputs (1)

    NameTypeDescription
    audioAUDIO