WildcatTTS Bot Documentation

WildcatTTS is currently invite-only. Request access.

Commands

All TTS commands start with !tts.
For example: !tts status
Select any command row below to show usage details.
Broadcasters and viewers can also change settings in the WildcatTTS Web Dashboard.
Viewers can set personal TTS preferences in the web dashboard with !myvoice in chat.

Text-To-Speech Commands

Text-To-Speech Commands
Command Description

Direct TTS

General

Engine & Mode Control (Moderator Only)

Channel Points → TTS (Web Dashboard Only)

Queue Management (Moderator Only)

User & Event Preferences

Channel-Wide Default Configuration (Moderator Only)

Emote Description Management (Moderator Only)

Pronunciation & Filtering (Moderator Only)

Voices

The bot provides 472 voices across 45 languages from the MiniMax speech-2.8-turbo model. If the primary provider is unavailable, the bot falls back to speech-02-turbo. Use the voice_id in commands such as !tts voice <voice_id>.

Popular Voice IDs

Popular voices from the MiniMax speech-2.8-turbo model. To select a voice, use !tts voice <voice_id> in chat.

Complete Voice List (from Wavespeed AI minimax/speech-02-turbo Schema — fallback provider)

This list contains all 472 available voices organized by language prefix.

Select to expand complete voice list (472 voices across 45 languages)

English (93 voices)

  • Wise_Woman
  • Friendly_Person
  • Inspirational_girl
  • Deep_Voice_Man
  • Calm_Woman
  • Casual_Guy
  • Lively_Girl
  • Patient_Man
  • Young_Knight
  • Determined_Man
  • Lovely_Girl
  • Decent_Boy
  • Imposing_Manner
  • Elegant_Man
  • Abbess
  • Sweet_Girl_2
  • Exuberant_Girl
  • English_expressive_narrator
  • English_radiant_girl
  • English_magnetic_voiced_man
  • English_compelling_lady1
  • English_Aussie_Bloke
  • English_captivating_female1
  • English_Upbeat_Woman
  • English_Trustworth_Man
  • English_CalmWoman
  • English_UpsetGirl
  • English_Gentle-voiced_man
  • English_Whispering_girl_v3
  • English_Diligent_Man
  • English_Graceful_Lady
  • English_Husky_MetalHead
  • English_ReservedYoungMan
  • English_PlayfulGirl
  • English_ManWithDeepVoice
  • English_GentleTeacher
  • English_MaturePartner
  • English_FriendlyPerson
  • English_MatureBoss
  • English_Debator
  • English_Abbess
  • English_LovelyGirl
  • English_Steadymentor
  • English_Deep-VoicedGentleman
  • English_DeterminedMan
  • English_Wiselady
  • English_CaptivatingStoryteller
  • English_AttractiveGirl
  • English_DecentYoungMan
  • English_SentimentalLady
  • English_ImposingManner
  • English_SadTeen
  • English_ThoughtfulMan
  • English_PassionateWarrior
  • English_DecentBoy
  • English_WiseScholar
  • English_Soft-spokenGirl
  • English_SereneWoman
  • English_ConfidentWoman
  • English_PatientMan
  • English_Comedian
  • English_GorgeousLady
  • English_BossyLeader
  • English_LovelyLady
  • English_Strong-WilledBoy
  • English_Deep-tonedMan
  • English_StressedLady
  • English_AssertiveQueen
  • English_AnimeCharacter
  • English_Jovialman
  • English_WhimsicalGirl
  • English_CharmingQueen
  • English_Kind-heartedGirl
  • English_FriendlyNeighbor
  • English_Sweet_Female_4
  • English_Magnetic_Male_2
  • English_Lively_Male_11
  • English_Friendly_Female_3
  • English_Steady_Female_1
  • English_Lively_Male_10
  • English_Magnetic_Male_12
  • English_Steady_Female_5
  • English_Insightful_Speaker
  • English_patient_man_v1
  • English_Persuasive_Man
  • English_Explanatory_Man
  • English_intellect_female_1
  • English_energetic_male_1
  • English_witty_female_1
  • English_Lucky_Robot
  • English_Cute_Girl
  • English_Sharp_Commentator
  • English_Honest_Man

Portuguese (81 voices)

  • Portuguese_AnxiousMan
  • Portuguese_Matureresearcher
  • Portuguese_Optimisticyouth
  • Portuguese_CuteElf
  • Portuguese_EnergeticGirl
  • Portuguese_FunnyGuy
  • Portuguese_Nuttylady
  • Portuguese_Deep-tonedMan
  • Portuguese_SentimentalLady
  • Portuguese_BossyLeader
  • Portuguese_Wiselady
  • Portuguese_Strong-WilledBoy
  • Portuguese_Deep-VoicedGentleman
  • Portuguese_UpsetGirl
  • Portuguese_PassionateWarrior
  • Portuguese_AnimeCharacter
  • Portuguese_ConfidentWoman
  • Portuguese_AngryMan
  • Portuguese_CaptivatingStoryteller
  • Portuguese_Godfather
  • Portuguese_ReservedYoungMan
  • Portuguese_SmartYoungGirl
  • Portuguese_Kind-heartedGirl
  • Portuguese_Pompouslady
  • Portuguese_Grinch
  • Portuguese_Debator
  • Portuguese_SweetGirl
  • Portuguese_AttractiveGirl
  • Portuguese_ThoughtfulMan
  • Portuguese_PlayfulGirl
  • Portuguese_GorgeousLady
  • Portuguese_LovelyLady
  • Portuguese_SereneWoman
  • Portuguese_SadTeen
  • Portuguese_MaturePartner
  • Portuguese_Comedian
  • Portuguese_NaughtySchoolgirl
  • Portuguese_Narrator
  • Portuguese_ToughBoss
  • Portuguese_Fussyhostess
  • Portuguese_Dramatist
  • Portuguese_Steadymentor
  • Portuguese_Jovialman
  • Portuguese_CharmingQueen
  • Portuguese_SantaClaus
  • Portuguese_Rudolph
  • Portuguese_Arnold
  • Portuguese_CharmingSanta
  • Portuguese_Ghost
  • Portuguese_HumorousElder
  • Portuguese_CalmLeader
  • Portuguese_GentleTeacher
  • Portuguese_EnergeticBoy
  • Portuguese_ReliableMan
  • Portuguese_SereneElder
  • Portuguese_GrimReaper
  • Portuguese_AssertiveQueen
  • Portuguese_WhimsicalGirl
  • Portuguese_StressedLady
  • Portuguese_FriendlyNeighbor
  • Portuguese_CaringGirlfriend
  • Portuguese_PowerfulSoldier
  • Portuguese_FascinatingBoy
  • Portuguese_RomanticHusband
  • Portuguese_StrictBoss
  • Portuguese_InspiringLady
  • Portuguese_PlayfulSpirit
  • Portuguese_ElegantGirl
  • Portuguese_CompellingGirl
  • Portuguese_PowerfulVeteran
  • Portuguese_SensibleManager
  • Portuguese_ThoughtfulLady
  • Portuguese_TheatricalActor
  • Portuguese_FragileBoy
  • Portuguese_ChattyGirl
  • Portuguese_Conscientiousinstructor
  • Portuguese_RationalMan
  • Portuguese_WiseScholar
  • Portuguese_FrankLady
  • Portuguese_DeterminedManager
  • Portuguese_CharmingLady

Spanish (58 voices)

  • Spanish_FriendlyNeighbor
  • Spanish_FragileBoy
  • Spanish_UpsetGirl
  • Spanish_Soft-spokenGirl
  • Spanish_CharmingQueen
  • Spanish_Nuttylady
  • Spanish_ElegantGirl
  • Spanish_FascinatingBoy
  • Spanish_FunnyGuy
  • Spanish_PlayfulSpirit
  • Spanish_TheatricalActor
  • Spanish_SereneWoman
  • Spanish_MaturePartner
  • Spanish_CaptivatingStoryteller
  • Spanish_Narrator
  • Spanish_WiseScholar
  • Spanish_Kind-heartedGirl
  • Spanish_DeterminedManager
  • Spanish_BossyLeader
  • Spanish_ReservedYoungMan
  • Spanish_ConfidentWoman
  • Spanish_ThoughtfulMan
  • Spanish_Strong-WilledBoy
  • Spanish_SophisticatedLady
  • Spanish_RationalMan
  • Spanish_AnimeCharacter
  • Spanish_Deep-tonedMan
  • Spanish_Fussyhostess
  • Spanish_SincereTeen
  • Spanish_FrankLady
  • Spanish_Comedian
  • Spanish_Debator
  • Spanish_ToughBoss
  • Spanish_Wiselady
  • Spanish_Steadymentor
  • Spanish_Jovialman
  • Spanish_SantaClaus
  • Spanish_Rudolph
  • Spanish_Intonategirl
  • Spanish_Arnold
  • Spanish_Ghost
  • Spanish_HumorousElder
  • Spanish_EnergeticBoy
  • Spanish_WhimsicalGirl
  • Spanish_StrictBoss
  • Spanish_ReliableMan
  • Spanish_SereneElder
  • Spanish_AngryMan
  • Spanish_AssertiveQueen
  • Spanish_CaringGirlfriend
  • Spanish_PowerfulSoldier
  • Spanish_PassionateWarrior
  • Spanish_ChattyGirl
  • Spanish_RomanticHusband
  • Spanish_CompellingGirl
  • Spanish_PowerfulVeteran
  • Spanish_SensibleManager
  • Spanish_ThoughtfulLady

Korean (51 voices)

  • Korean_PowerfulGirl
  • Korean_BossyMan
  • Korean_SweetGirl
  • Korean_CheerfulBoyfriend
  • Korean_EnchantingSister
  • Korean_ShyGirl
  • Korean_ReliableSister
  • Korean_StrictBoss
  • Korean_SassyGirl
  • Korean_ChildhoodFriendGirl
  • Korean_PlayboyCharmer
  • Korean_ElegantPrincess
  • Korean_BraveFemaleWarrior
  • Korean_BraveYouth
  • Korean_CalmLady
  • Korean_EnthusiasticTeen
  • Korean_SoothingLady
  • Korean_IntellectualSenior
  • Korean_LonelyWarrior
  • Korean_MatureLady
  • Korean_InnocentBoy
  • Korean_CharmingSister
  • Korean_AthleticStudent
  • Korean_BraveAdventurer
  • Korean_CalmGentleman
  • Korean_WiseElf
  • Korean_CheerfulCoolJunior
  • Korean_DecisiveQueen
  • Korean_ColdYoungMan
  • Korean_MysteriousGirl
  • Korean_QuirkyGirl
  • Korean_ConsiderateSenior
  • Korean_CheerfulLittleSister
  • Korean_DominantMan
  • Korean_AirheadedGirl
  • Korean_ReliableYouth
  • Korean_FriendlyBigSister
  • Korean_GentleBoss
  • Korean_ColdGirl
  • Korean_HaughtyLady
  • Korean_CharmingElderSister
  • Korean_IntellectualMan
  • Korean_CaringWoman
  • Korean_WiseTeacher
  • Korean_ConfidentBoss
  • Korean_AthleticGirl
  • Korean_PossessiveMan
  • Korean_GentleWoman
  • Korean_CockyGuy
  • Korean_ThoughtfulWoman
  • Korean_OptimisticYouth

Chinese (Mandarin) (32 voices)

  • Chinese (Mandarin)_Reliable_Executive
  • Chinese (Mandarin)_News_Anchor
  • Chinese (Mandarin)_Unrestrained_Young_Man
  • Chinese (Mandarin)_Mature_Woman
  • Chinese (Mandarin)_Kind-hearted_Antie
  • Chinese (Mandarin)_HK_Flight_Attendant
  • Chinese (Mandarin)_Humorous_Elder
  • Chinese (Mandarin)_Gentleman
  • Chinese (Mandarin)_Warm_Bestie
  • Chinese (Mandarin)_Stubborn_Friend
  • Chinese (Mandarin)_Sweet_Lady
  • Chinese (Mandarin)_Southern_Young_Man
  • Chinese (Mandarin)_Wise_Women
  • Chinese (Mandarin)_Gentle_Youth
  • Chinese (Mandarin)_Warm_Girl
  • Chinese (Mandarin)_Male_Announcer
  • Chinese (Mandarin)_Kind-hearted_Elder
  • Chinese (Mandarin)_Cute_Spirit
  • Chinese (Mandarin)_Radio_Host
  • Chinese (Mandarin)_Lyrical_Voice
  • Chinese (Mandarin)_Straightforward_Boy
  • Chinese (Mandarin)_Sincere_Adult
  • Chinese (Mandarin)_Gentle_Senior
  • Chinese (Mandarin)_Crisp_Girl
  • Chinese (Mandarin)_Pure-hearted_Boy
  • Chinese (Mandarin)_Soft_Girl
  • Chinese (Mandarin)_IntellectualGirl
  • Chinese (Mandarin)_Warm_HeartedGirl
  • Chinese (Mandarin)_Laid_BackGirl
  • Chinese (Mandarin)_ExplorativeGirl
  • Chinese (Mandarin)_Warm-HeartedAunt
  • Chinese (Mandarin)_BashfulGirl

Japanese (16 voices)

  • Japanese_Whisper_Belle
  • Japanese_IntellectualSenior
  • Japanese_DecisivePrincess
  • Japanese_LoyalKnight
  • Japanese_DominantMan
  • Japanese_SeriousCommander
  • Japanese_ColdQueen
  • Japanese_DependableWoman
  • Japanese_GentleButler
  • Japanese_KindLady
  • Japanese_CalmLady
  • Japanese_OptimisticYouth
  • Japanese_GenerousIzakayaOwner
  • Japanese_SportyStudent
  • Japanese_InnocentBoy
  • Japanese_GracefulMaiden

Cantonese (9 voices)

  • Cantonese_ProfessionalHost(F)
  • Cantonese_GentleLady
  • Cantonese_ProfessionalHost(M)
  • Cantonese_PlayfulMan
  • Cantonese_CuteGirl
  • Cantonese_KindWoman
  • Cantonese_Narrator
  • Cantonese_WiselProfessor
  • Cantonese_IndifferentStaff

Indonesian (9 voices)

  • Indonesian_SweetGirl
  • Indonesian_ReservedYoungMan
  • Indonesian_CharmingGirl
  • Indonesian_CalmWoman
  • Indonesian_ConfidentWoman
  • Indonesian_CaringMan
  • Indonesian_BossyLeader
  • Indonesian_DeterminedBoy
  • Indonesian_GentleGirl

Russian (8 voices)

  • Russian_HandsomeChildhoodFriend
  • Russian_BrightHeroine
  • Russian_AmbitiousWoman
  • Russian_ReliableMan
  • Russian_CrazyQueen
  • Russian_PessimisticGirl
  • Russian_AttractiveGuy
  • Russian_Bad-temperedBoy

French (8 voices)

  • French_Male_Speech_New
  • French_Female_News Anchor
  • French_CasualMan
  • French_MovieLeadFemale
  • French_FemaleAnchor
  • French_MaleNarrator
  • French_Female Journalist
  • French_Female_Speech_New

Italian (7 voices)

  • Italian_BraveHeroine
  • Italian_Narrator
  • Italian_WanderingSorcerer
  • Italian_DiligentLeader
  • Italian_ReliableMan
  • Italian_AthleticStudent
  • Italian_ArrogantPrincess

Thai (6 voices)

  • Thai_Optimistic_girl
  • Thai_male_1_sample8
  • Thai_Tender_Woman
  • Thai_male_2_sample2
  • Thai_female_1_sample1
  • Thai_female_2_sample2

Polish (4 voices)

  • Polish_male_1_sample4
  • Polish_male_2_sample3
  • Polish_female_1_sample1
  • Polish_female_2_sample3

Romanian (4 voices)

  • Romanian_male_1_sample2
  • Romanian_male_2_sample1
  • Romanian_female_1_sample4
  • Romanian_female_2_sample1

Vietnamese (4 voices)

  • Vietnamese_Serene_Man
  • Vietnamese_female_4_v1
  • Vietnamese_male_1_v2
  • Vietnamese_kindhearted_girl

German (3 voices)

  • German_FriendlyMan
  • German_SweetLady
  • German_PlayfulMan

Greek (3 voices)

  • Greek_female_1_sample1
  • greek_male_1a_v1
  • Greek_female_2_sample3

Czech (3 voices)

  • czech_male_1_v1
  • czech_female_5_v7
  • czech_female_2_v2

Finnish (3 voices)

  • finnish_male_3_v1
  • finnish_female_4_v1
  • finnish_male_1_v2

Hindi (3 voices)

  • hindi_male_1_v2
  • hindi_female_2_v1
  • hindi_female_1_v2

Malay (3 voices)

  • Malay_male_1_v1
  • Malay_female_1_v1
  • Malay_female_2_v1

English (British Child) (2 voices)

  • BritishChild_male_1_v1
  • BritishChild_female_1_v1

English (Conversational) (3 voices)

  • conversational_female_1_v1
  • conversational_female_2_v1
  • socialmedia_female_1_v1

English (Whisper) (2 voices)

  • whisper_man
  • whisper_woman_1

Afrikaans (2 voices)

  • Afrikaans_male_1_v1
  • Afrikaans_female_1_v1

Arabic (2 voices)

  • Arabic_CalmWoman
  • Arabic_FriendlyGuy

Bulgarian (2 voices)

  • Bulgarian_male_2_v1
  • Bulgarian_female_1_v1

Catalan (2 voices)

  • Catalan_male_1_v1
  • Catalan_female_1_v1

Croatian (2 voices)

  • Croatian_male_1_v1
  • Croatian_female_1_v1

Danish (2 voices)

  • Danish_male_1_v1
  • Danish_female_1_v1

Dutch (2 voices)

  • Dutch_kindhearted_girl
  • Dutch_bossy_leader

Filipino (2 voices)

  • Filipino_male_1_v1
  • Filipino_female_1_v1

Hebrew (2 voices)

  • Hebrew_male_1_v1
  • Hebrew_female_1_v1

Hungarian (2 voices)

  • Hungarian_male_1_v1
  • Hungarian_female_1_v1

Norwegian (2 voices)

  • Norwegian_male_1_v1
  • Norwegian_female_1_v1

Nynorsk (2 voices)

  • Nynorsk_male_1_v1
  • Nynorsk_female_1_v1

Persian (2 voices)

  • Persian_male_1_v1
  • Persian_female_1_v1

Slovak (2 voices)

  • Slovak_male_1_v1
  • Slovak_female_1_v1

Slovenian (2 voices)

  • Slovenian_male_1_v1
  • Slovenian_female_1_v2

Swedish (2 voices)

  • Swedish_male_1_v1
  • Swedish_female_1_v1

Tamil (2 voices)

  • Tamil_male_1_v1
  • Tamil_female_1_v1

Turkish (2 voices)

  • Turkish_CalmWoman
  • Turkish_Trustworthyman

Ukrainian (2 voices)

  • Ukrainian_CalmWoman
  • Ukrainian_WiseScholar

Special Characters (7 voices)

  • angry_pirate_1
  • massive_kind_troll
  • movie_trailer_deep
  • peace_and_ease
  • Arrogant_Miss
  • Robot_Armor
  • hunyin_6

Special Effects (12 voices)

  • moss_audio_6dc281eb-713c-11f0-a447-9613c873494c
  • moss_audio_c12a59b9-7115-11f0-a447-9613c873494c
  • moss_audio_076697ad-7144-11f0-a447-9613c873494c
  • moss_audio_737a299c-734a-11f0-918f-4e0486034804
  • moss_audio_19dbb103-7350-11f0-ad20-f2bc95e89150
  • moss_audio_7c7e7ae2-7356-11f0-9540-7ef9b4b62566
  • moss_audio_570551b1-735c-11f0-b236-0adeeecad052
  • moss_audio_ad5baf92-735f-11f0-8263-fe5a2fe98ec8
  • moss_audio_cedfd4d2-736d-11f0-99be-fe40dd2a5fe8
  • moss_audio_a0d611da-737c-11f0-ad20-f2bc95e89150
  • moss_audio_4f4172f4-737b-11f0-9540-7ef9b4b62566
  • moss_audio_62ca20b0-7380-11f0-99be-fe40dd2a5fe8

Note: The bot uses MiniMax speech-2.8-turbo with automatic fallback to speech-02-turbo. The list includes 472 voices categorized by language prefix. The command !tts voices links to this section.

Language Boost

The language_boost feature improves pronunciation for specific languages and dialects. This setting helps in multilingual chats and non-English streams.

Set a personal language preference with !tts language <language_name>. Moderators can set a channel default with !tts defaultlanguage <language_name>.

Available Language Boost Options

The following values are accepted:

The auto setting uses automatic language detection. For English chats, set English. Selecting a specific language improves pronunciation for that language.

Announcements and Chat Replies

The channel language also selects the language of the text that the bot writes. This text includes stream event announcements, emote descriptions, and chat replies to commands.

For example, a viewer subscribes to a Spanish channel. The bot then makes the announcement in Spanish.

A personal language from !tts language changes the voice for your own messages only. A personal language does not change the announcements, because the whole channel hears them. The auto setting names no language, so a channel on auto gets announcements in English.

Automatic Detection

WildcatTTS reads the language that your channel declares on Twitch. The bot then sets the channel default for you.

The bot changes this setting only for a channel that has no language of its own. Your own choice always stays. Twitch has some languages that the voice engine does not support. For these languages, the channel stays on auto.

Emote Descriptions

WildcatTTS uses Google Gemini AI to describe Twitch emotes in chat messages. Instead of reading the emote code (for example, "LUL"), TTS speaks a description such as "a person laughing." The bot caches descriptions permanently to prevent repeated AI requests.

How It Works

  1. When an emote appears for the first time, AI analyzes the emote image and creates a short description.
  2. The bot caches the description permanently after first generation.
  3. Later uses of the emote use the cached description instantly without new AI processing.

The AI writes each description in the language of the channel. The bot keeps a separate description for each language.

Managing Descriptions

Moderators can use !tts emote to view, regenerate, or set emote descriptions. See the Emote Description Management table for details.

Pronunciation Dictionary

Chat uses many short forms that TTS speaks one letter at a time. The pronunciation dictionary changes them into full words. For example, TTS speaks ngl as "not gonna lie" and glhf as "good luck have fun". WildcatTTS includes a built-in list of about 70 common short forms. You can also add your own entries.

How It Works

Your Own Entries

Moderators can add entries with the !tts pronounce command or in the Web Dashboard. Custom entries are useful for channel names, game terms, and difficult words.

How To Stop It

The dictionary is active for all channels by default. To turn it off, disable Expand Chat Acronyms in the Web Dashboard. TTS then speaks short forms letter by letter.

TTS already speaks lol as "el oh el". This is standard behavior and requires no dictionary entry.

Profanity Filter

The profanity filter replaces rude words with milder words before TTS speaks them. For example, TTS speaks "what the fuck" as "what the freak". The filter is off until a moderator starts it.

How To Start It

Use !tts profanity block in chat, or set the "Profanity Filter" control to on in the Web Dashboard. Use !tts profanity allow to stop the filter again, and !tts profanity status to see the state, the language, and the number of words in the list. The older on and off words still work.

What It Does

Languages

The filter has word lists for all 40 languages that Language Boost supports. The filter uses the list for your channel language. If a viewer selects a different language for their own messages, the filter uses both lists. The filter always includes the English list, because the pronunciation dictionary is in English.

If your Language Boost is "Automatic", the filter uses the English list. The bot cannot identify the language of each message.

The English list is the largest. The lists for other languages are smaller. Slurs are in the English list only.

The profanity filter is not the same as the Banned Words list. Banned Words removes the full message. The profanity filter speaks the message, but with milder words.

Banned Words

The Banned Words feature stops WildcatTTS from speaking unwanted messages. If a chat message contains a banned word or phrase, TTS skips the message completely. The bot does not generate audio for skipped messages.

How It Works

Stream Events and Redemptions

The bot handles events and chat messages differently when a message contains a banned word:

How To Manage Banned Words

You can configure banned words in the Web Dashboard. Changes take effect immediately.

  1. Sign in to the Web Dashboard at tts.wildcat.chat with your Twitch account.
  2. Scroll to the Banned Words / Phrases card in the Ignored Users section.
  3. Type a word or phrase into the input field.
  4. Click Add, or press Enter on your keyboard.
  5. If you want to remove an entry, click Remove next to the word in the list.
Banned Words skips the full message. The Profanity Filter speaks the message with milder words. If a message contains words on both lists, TTS skips the message.

YouTube Live Chat Integration

WildcatTTS can read YouTube Live chat messages aloud into your OBS audio feed. If you stream to Twitch and YouTube at the same time, the bot reads messages from both chats into one audio source.

How It Works

How To Enable YouTube TTS

You can configure YouTube TTS in the Web Dashboard. Changes take effect immediately.

  1. Sign in to the Web Dashboard at tts.wildcat.chat with your Twitch account.
  2. Scroll to the YouTube Integration card.
  3. Turn on the YouTube TTS Enabled switch.
  4. Enter your YouTube handle (for example, @yourchannel).
  5. If your stream is already live, OBS begins speaking your YouTube chat messages immediately.

Speech-Friendly URL Reading

Chat messages often contain long web links with parameters and tracking codes. WildcatTTS simplifies links so they sound natural when spoken.

How It Works

Read Full URLs Option

If you want TTS to speak entire URLs as typed, turn on the Read Full URLs switch in the Web Dashboard. When this switch is on, TTS speaks the full link without shortening.

Chat Commands from Other Bots

Many channels run a second bot, for example Nightbot or StreamElements. Viewers control it with commands that start with "!", such as !lurk, !so or !sr. In All Messages mode, WildcatTTS reads these commands aloud as chat.

Read Chat Commands Option

To skip these messages, switch off Read Chat Commands in the Web Dashboard, or type !tts readcommands off in chat. TTS then ignores every chat message that starts with "!".

Stream Events & Privacy Controls

WildcatTTS gives you granular control over stream event announcements and viewer privacy in the Web Dashboard.

Cheer Announcements & Cheermote Filtering

When a viewer cheers bits, TTS automatically strips cheermote names like Cheer100 or Party1 from the message. TTS only reads the viewer's custom message.

Both switches are in the Cheers card of the Web Dashboard. Announce Cheers turns the "User cheered bits" alert on or off. Read Cheer Messages turns reading the attached message on or off. Cheer messages are read in every TTS mode and are not limited by TTS Permission, because the viewer paid for them.

Reward Announcements & Queued Redeems

When a viewer redeems a channel point reward, TTS speaks an alert with the reward title and the viewer message.

Use the Announce Reward Redeems switch in the Web Dashboard to turn redemption alerts on or off.

To keep one reward silent, for example a soundboard that plays its own sound, use Rewards to Announce in the Web Dashboard. Select Choose rewards and switch off the reward. The bot announces all other rewards. Moderators can use the !tts redeems mute command in chat.

By default, the bot announces a queued reward immediately when a viewer redeems it. Switch off Announce Queued Redeems Immediately to announce a queued reward only after you accept it in Twitch.

Follower Privacy & Anonymization

To protect viewer privacy, turn on the Anonymize New Followers switch in the Web Dashboard. When active, TTS announces "Someone new just followed!" instead of speaking the viewer's username.

Watch Streaks & Pronoun Resolution

When a viewer hits a watch streak milestone, the bot announces the streak count. If the viewer attached a message, the bot checks pronouns.alejo.io to speak their pronouns (for example, "They said: ...").

Web Dashboard

The WildcatTTS Web Dashboard lets broadcasters configure all TTS settings. Sign in with your Twitch account to access the dashboard.

Available Dashboard Settings

Voice Calibration

Some voices are naturally louder or quieter than other voices. Voice Calibration lets you set volume multipliers for individual voices to balance audio levels.

OBS Browser Source Setup

Step 1: Add Browser Source in OBS

  1. In OBS, click the "+" icon under Sources
  2. Select "Browser"
  3. Name the source (for example, "WildcatTTS")
  4. Configure the source:
    • URL: Paste your unique TTS URL from the dashboard
    • Width/Height: Set 300x100 (size does not affect audio)
    • ✓ Control audio via OBS (must be checked)
    • Uncheck "Shutdown source when not visible" so audio plays consistently

Step 2: Enable Audio Monitoring

  1. Locate the audio mixer in OBS (bottom panel)
  2. Click the gear (⚙️) next to "WildcatTTS" → "Advanced Audio Properties"
  3. Set "Audio Monitoring" to:
    • Monitor and Output - You and your stream hear the audio
    • Monitor Only - Only you hear the audio (for testing)

Important: Make sure that the source is unmuted in your audio mixer and the volume is set appropriately.

Troubleshooting