NarrationStudio (NS)

Read your Twitch, YouTube & TikTok live chat out loud — with smart censoring.

Made by Reliable_Gaming_

Hotkey: Ctrl+Shift+K 🧪 Beta
Note on message timing: There may be a slight delay in messages appearing — this is normal. YouTube and TikTok APIs enforce minimum polling intervals set by their platforms, so chat messages may arrive a few seconds after being sent in the live stream.

Twitch disconnected

How to get a Twitch Client ID
1. Go to https://dev.twitch.tv/console/appsRegister Your Application.
2. OAuth Redirect URL: paste
3. Category: Chat Bot. Copy the Client ID and paste it above.

YouTube disconnected

🧪 Beta
How to get a YouTube API key
1. Go to https://console.cloud.google.com/ and sign in.
2. Create a project → APIs & Services → Library → search YouTube Data API v3Enable.
3. Go to APIs & Services → Credentials → Create Credentials → API Key.
4. Copy the key and paste it above.
⚠ Restrict your key to the YouTube Data API v3 in the credentials settings.

TikTok disconnected

TikTok LIVE chat access requires the TikTok for Developers Live API (invite-only). Enter your OAuth token below if you have API access approved.
How to get TikTok Live API access
1. Go to https://developers.tiktok.com and sign in.
2. Create a new app and apply for Live Subscription product access (requires TikTok approval).
3. Once approved, generate an OAuth token with live.room.subscribe scope.
4. Enter your room ID from your LIVE stream URL and paste the token above.
⚠ TikTok's public Live Chat API is currently in limited beta. For most streamers, a third-party overlay tool (Restream, Streamlabs) that supports TikTok may be easier.

Text-to-speech

Filter pipeline

Every message — Twitch, YouTube, TikTok, or test — runs through this chain in order. Each filter can drop the message (TTS skipped) or bleep matched words.


Keep this list private while configuring on stream.

Custom Chat Commands

Define ! commands that viewers can type. When detected the configured response is spoken instead. Use {user} to insert the viewer's name.

Test Chat Message

Simulate a chat message to test filters, commands, and TTS — without going live. Press Enter in the message field to send quickly.

🎵 Background Music

Play background music while you stream. Paste a YouTube URL or upload an MP3/MP4 file. Music loops automatically.

0.30
No track loaded

🎵 Custom UI Sounds

Upload your own audio clips to replace the built-in sounds for each event. Supports MP3, OGG, WAV. Click Test to preview. Leave empty to use the default synthetic sound.

0.50

🎨 Theme & Appearance

Customize colors, backgrounds, borders, buttons, and switches. Everything persists locally.

Quick presets
Background image
Default background
0.70
Panel box image / color
0.88
Search highlight color
Flash & ring color The color shown when you search for a section
Panel border colors
Button & switch accent colors
Button accent Default .btn border & hover tint
Switch track color Toggle ON state color

Live chat feed

0messages0queued
KILL SWITCH ARMED — TTS muted. Press Ctrl+Shift+K or click Kill switch again to disarm.
0 queued max 25
Idle — waiting for chat messages…
No messages yet. Connect a platform above, or use the Test Chat panel to try things out.

Patch/Update Logs

V.4.1.1 (Current)

The Accountability & Control Update: clearer ToS, cleaner layout, and privacy-focused controls.

  • Added a required Terms of Service acknowledgement before the site controls can be used.
  • Added NarrationStudio's own Terms of Service beside the Twitch, YouTube, and TikTok policy cards.
  • Removed the temporary Live Now and Total Visits counter from the top area.
  • Tightened the UI spacing and rebalanced the right column so panels feel more organized while still staying readable.
  • Added minimize controls to panels and a hide/unhide toggle for the custom blocked words and phrases list.
  • Custom blocked words now stay hidden by default and remain hidden until the Terms of Service acknowledgement is checked.
  • Added a sensitive-content warning before revealing a non-empty custom blocked words list.
  • Switches now play the same click feedback as buttons, and each custom UI sound can be toggled on or off individually or all at once.
  • Added a site-wide BETA badge in the top-right controls to set expectations for upcoming updates.

V.3.1.2

The Transparency Update: Added an Update Log and enhanced community presence.

  • Added the Update Log panel so users can track improvements without needing to check the source code.
  • Integrated a Live Viewer Count system to show how many creators are currently using the studio, making the app feel like a shared community.
  • Implemented a Theme Engine providing "OLED Dark," "Twitch Purple," and "High Contrast" modes to better suit different streaming environments.
  • Why this was added: As the site evolves quickly, transparency helps users understand new features. Features like the viewer count and themes move the site from a "simple tool" to a "professional suite" that users can personalize.

V.3.1.0

The "Global" Milestone: Integrated Cloudflare Functions and KV Storage.

  • Added the Global Announcement System allowing real-time, worldwide message broadcasting via a secure admin code.
  • Optimized backend logic to fetch global news on every page load, ensuring all users stay updated instantly.
  • Refined the UI with "Bricolage Grotesque" and "Geist Mono" typography for a modern, high-end studio aesthetic.
  • Why this was added: This update moved the site from a static file to a "smart" application with a memory. It allows me to communicate directly with every user at once to announce new features or maintenance.

V.3.0.0

The Studio Overhaul: A complete visual and functional reconstruction.

  • Redesigned the entire interface to the current "Dark Studio" layout to reduce eye strain for creators during long night streams.
  • Expanded platform support to include YouTube and TikTok alongside the original Twitch integration.
  • Introduced the Test Chat panel, giving streamers a way to safely test their TTS and custom commands before going live.
  • Implemented Local Storage memory, allowing the site to remember your specific settings, voices, and commands across sessions.
  • Why this was added: Most TTS tools feel like basic websites from 2010. This overhaul aimed to make NarrationStudio feel like professional broadcast software that belongs on a creator's second monitor.

V.2.0.0

The Logic Update: Improving interactivity and security.

  • Created the Custom Command System, enabling streamers to set up personalized TTS responses like `!lurk`, `!socials`, or `!hello`.
  • Switched to Twitch OAuth for more secure, official channel connections that protect user privacy.
  • Added TTS Voice Controls, giving users the power to customize the pitch, speed, and volume of the narration to match their stream's personality.
  • Why this was added: Users wanted more than just a chat reader; they wanted a tool that added personality to their stream. Security was also prioritized to move away from less secure login methods.

V.1.0.0

The Initial Release: The birth of NarrationStudio.

  • Launched the first version with basic Twitch Chat-to-Speech functionality.
  • Created the core audio engine to handle incoming chat messages in real-time.
  • Established the simple "One-Click Connect" interface.
  • Why this was added: The project started as a simple, lightweight alternative to bloated TTS bots, focusing on speed and ease of use for new streamers.

The Vision Behind NarrationStudio

NarrationStudio was born from the realization that most text-to-speech tools for creators are either visually outdated or unnecessarily complex to set up. I built this platform to bridge the gap between high-end studio aesthetics and effortless functionality, creating a centralized hub where Twitch, YouTube, and TikTok creators can manage their community's voice without the "technical friction" of traditional bots. By leveraging modern backend technology and a professional "dark studio" design, NarrationStudio provides a reliable, secure, and streamlined experience that feels like a natural extension of a creator's broadcast setup rather than just another browser tab.
Owner Splash Text