Skip to main content

๐ŸŽ™๏ธ Interactive Widget Demos

Progressive feature examples - from basic to fully-featured. Toggle between Live Demo and Code to see how each works.

Try hovering and clicking the widgets to see controls appear. Each example builds on the previous one.

1. Basic Modeโ€‹

Just a play button - perfect for simple content.

Welcome to Supernal TTS! This is the basic mode with just a play button.


2. With Voice Selectionโ€‹

Play button + voice dropdown (appears on hover).

Now we have voice options! Hover over the widget to reveal the voice selector. Click the chevron to choose from different voices.


3. With Speed Controlโ€‹

Play + voice + speed dropdown (discrete steps: 0.6x to 3.0x in 0.2 increments).

Adding speed control! Hover to see the voice and speed icons. The lightning bolt reveals speeds from 0.6x to 3.0x.


All controls + seekable progress bar (shows on hover or when playing).

This is the full-featured widget with voice selection, speed control, and progress bar. Hover to reveal all controls and the seekable timeline.


Voice Comparisonโ€‹

Try different OpenAI voices with the same content.

Nova: Energetic and enthusiastic

Onyx: Deep and authoritative

Shimmer: Warm and friendly

Fable: Balanced and expressive


React Integrationโ€‹

Using the widget in React applications.

import { useEffect } from 'react';
import 'supernal-tts-widget/widget.css';

export function TTSContent() {
useEffect(() => {
import('supernal-tts-widget/widget.js')
.then(({ SupernalTTS }) => {
SupernalTTS.init({
apiUrl: 'https://tts.supernal.ai'
});
});
}, []);

return (
<div className="supernal-tts-widget"
data-voice="fable"
data-voices="fable,nova,onyx"
data-enable-speed="true"
data-enable-progress="true">
<p>Your content here</p>
</div>
);
}

Custom Widget Generatorโ€‹

Configure all options and get copy-paste ready code.

Configuration

Select voices to show in the voice selector dropdown. At least one required.
The voice that will be selected by default

Live Preview

Loading preview...

Generated Code

<!-- Add to your <head> -->
<link rel="stylesheet" href="https://unpkg.com/supernal-tts-widget/widget.css">
<script src="https://unpkg.com/supernal-tts-widget/widget.js"></script>

<!-- Add to your content -->
<div class="supernal-tts-widget"
data-voices="fable,nova,onyx"
data-enable-speed="true"
data-enable-progress="true">
<p>Your content here</p>
</div>

<script>
SupernalTTS.init({
apiUrl: 'https://tts.supernal.ai'
});
</script>

Next Stepsโ€‹