Nodes/ComfyUI-Pollinations/Premium Text-to-Speech 🔑 (Pollinations)
ComfyUI Node

Premium Text-to-Speech 🔑 (Pollinations)

The Only Pollinations TTS That Actually Works

By 1038lab·Created about a year ago·Updated about a year ago· 48
Premium Text-to-Speech 🔑 (Pollinations)
    • audio
    • filename
    api_token
    text
    modelopenai-audio
    voicenova
    seed0
    privatetrue

    Premium Text-to-Speech 🔑 is the only way to get spoken words out of this pack, and that's a decision the author made for you. The original free TTS node was so hobbled by the Pollinations API - the free tier could only speak about ten predefined words: "hi," "hello," "yes," "cat," that level of ambition - that v1.3.0 deleted it entirely. Text-to-speech is now premium-only, which is less of a cash grab and more of a "this is the version that actually functions" move. If you want audio, you need a token.

    How it works

    Like the other premium nodes, this is a GET request with an Authorization: Bearer header - here against text.pollinations.ai/{text}, passing your model, voice, seed, and private flag. The response is an audio file, saved as an MP3 into ComfyUI's temp directory, loaded through torchaudio, and handed out as a proper AUDIO signal plus the filename it landed in.

    Two models, both token-gated:

    • openai-audio - GPT-4o mini audio. The default, and the one you'll almost always want.
    • hypnosis-tracy - the alternative voice model, for variety.

    TTS needs "seed tier" access or higher from auth.pollinations.ai. The free nodes let you skip all of that; this one won't move without it.

    Inputs that matter

    • api_token - checked before anything else.
    • text - what you want spoken. Unlike the deleted free node, any text you like. That's the entire point.
    • model - openai-audio default, hypnosis-tracy when you want a different flavor.
    • voice - thirteen choices, default nova. The full roster: alloy, echo, fable, onyx, nova, shimmer, coral, verse, ballad, ash, sage, amuch, dan. Think of it as your tone knob.
    • seed - reproducibility, since the API supports it.
    • private (default on) - keeps the generation off the public feed.

    Outputs: audio (an AUDIO signal) and filename (the saved MP3's name, which lands in ComfyUI's temp directory).

    The beginner trap: hearing it

    Generating audio and hearing it are two different problems. The audio output needs to go somewhere, and ComfyUI's core is thin on playback. The pack solves this for you: wire audio into the bundled Play Audio 🔊 node with autoplay on, and it plays on the machine running ComfyUI. On Windows that just works; on Linux/macOS you may need pip install simpleaudio first (see that node's article - it's a real gotcha, not a rumor).

    Install & common issues

    Installs with the whole pack via ComfyUI Manager, or clone + pip install -r requirements.txt (requests and pydub are the only deps; torchaudio comes bundled with ComfyUI). Then get your seed-tier token and paste it in.

    • "API token required" - blank token field.
    • 401 - invalid token, per the node's own error handling.
    • 402 - insufficient tier. TTS specifically needs seed tier or higher; the node says so in so many words.
    • Silent output - check you've wired audio into Play Audio, not just that you generated it. Generating into the void is easy to do once.

    Also worth knowing: the voice list is frozen into the pack, while the API's actual voices drift over time. If a voice starts erroring, that's probably why. It's the price of a thin wrapper - but for free-in-spirit TTS inside a node graph, this is the version that finally works.

    Category🧪AILab/🌸Pollinations/💎Premium

    Inputs (6)

    NameTypeDefaultDescription
    api_tokenSTRING
    textSTRING
    modelCOMBOopenai-audio2 options: openai-audio, hypnosis-tracy
    voiceCOMBOnova13 options: alloy, echo, fable, onyx, nova, shimmer, +7
    seedoptINT00–18446744073709550000
    privateoptBOOLEANtrueKeep the generation private

    Outputs (2)

    NameTypeDescription
    audioAUDIO
    filenameSTRING