GUIDE

Kick TTS: text to speech for Kick channel rewards

Streamers on Kick want the same trick as on Twitch: a viewer types a message, and the stream hears it in a funny or dramatic voice. You can set it up with Streamer.bot, which connects to Kick, and the free SuperClonica engine, which voices the message offline on your PC in any voice you choose.

This guide uses a Kick channel reward as the trigger and the same small tested script as our Streamer.bot guide.

What you need

Streamer.bot on Windows connected to your Kick account, Python 3 and the free engine, installed with python -m pip install superclonica-cpu. For the voice, use a stock voice F1 to F5 or M1 to M5, which may be used on monetized streams, or a catalog voice bought once as a JSON file. Make a folder such as C:\stream.

The script

Save this as C:\stream\sb_tts.py. It takes the message from an environment variable, cuts it to 300 characters, skips empty messages and writes the audio file:

import os, shutil, subprocess, sys

text = os.environ.get('SC_TEXT', '').strip()[:300]
if not text:
    sys.exit(0)
cli = shutil.which('superclonica') or os.path.join(os.path.dirname(sys.executable), 'Scripts', 'superclonica')
subprocess.run([cli, '--text', text, '--voice', os.environ.get('SC_VOICE', 'F1'),
                '--lang', os.environ.get('SC_LANG', 'en'), '--output', os.environ.get('SC_OUT', 'tts.wav')], check=True)

The Kick action

On Kick, create a channel reward that asks the viewer for text. In Streamer.bot, add an action with the trigger Kick, Channel Reward, Reward Redemption for that reward; it gives the viewer text as %rawInput%. Add Core, System, Run a Program with Command python, Arguments C:\stream\sb_tts.py, Working Directory C:\stream, Wait for Exit 30 and the Environment Variables SC_TEXT = %rawInput%, SC_VOICE = C:\stream\voice.json, SC_LANG = en, SC_OUT = C:\stream\tts.wav. Then add Core, Sounds, Play Sound with C:\stream\tts.wav and keep "Finish playing before continuing" on, so redeems take turns.

Speed and alternatives

A five-second line took about eleven seconds on our test PC, mostly loading the model on each run, which is fine for redeems. For faster answers keep the engine loaded in a local server or use the SuperClonica speech API, free for 3 minutes of audio a day. The same action works for Twitch: only the trigger changes.

Keep chat in check

Set a price and a cooldown on the reward, keep the 300-character cut and moderate the reward like chat. Stock voices are fine for monetized streams; fan-made character voices are for parody and fan content, and no voice may make it sound as if a real person said something.