Overlay Effects
Overlay Media
Use effects to play media in connected overlay widgets.
- Engine v2
- Engine v1
Play GIF overlay
Plays a GIF in connected overlay widgets.
effects.gif("https://files.kicklet.app/the-file.gif", { duration: 5 });
API reference
effects.gif
effects.gif(url, options?)
Input
urlstringGIF URL or uploaded file URL.
optionsoptionalobjectPlayback options.
durationoptionalnumberPlayback duration in seconds.
Output
voidThe overlay effect is queued as a side effect.
Play sound overlay
Plays a sound in connected overlay widgets.
effects.sound("https://files.kicklet.app/the-file.mp3", { duration: 5, volume: 10 });
API reference
effects.sound
effects.sound(url, options?)
Input
urlstringAudio URL or uploaded file URL.
optionsoptionalobjectPlayback options.
durationoptionalnumberPlayback duration in seconds.
volumeoptionalnumberPlayback volume.
Output
voidThe overlay effect is queued as a side effect.
Play sound and GIF overlay
Plays a sound and GIF together in connected overlay widgets.
effects.soundGif(
"https://files.kicklet.app/the-sound.mp3",
"https://files.kicklet.app/the-gif.gif",
{
duration: 5,
volume: 10,
},
);
API reference
effects.soundGif
effects.soundGif(soundUrl, gifUrl, options?)
Input
soundUrlstringAudio URL or uploaded file URL.
gifUrlstringGIF URL or uploaded file URL.
optionsoptionalobjectPlayback options.
durationoptionalnumberPlayback duration in seconds.
volumeoptionalnumberPlayback volume.
Output
voidThe overlay effect is queued as a side effect.
Press CTRL + I in the Advanced Editor to open the asset picker for uploaded files.
{{kicklet.PlayGif "https://files.kicklet.app/the-file.gif" 5}}
{{kicklet.PlaySound "https://files.kicklet.app/the-file.mp3" 5 10}}
{{kicklet.PlaySoundGif "https://files.kicklet.app/the-sound.mp3" "https://files.kicklet.app/the-gif.gif" 5 10}}
Custom Overlay Events
Custom events send JSON-serializable data to overlay widgets.
- Engine v2
- Engine v1
Send custom overlay event
Sends a custom JSON-serializable event to connected overlay widgets.
events.custom("shop-effect", {
viewer: sender.username,
item: "confetti",
});
API reference
events.custom
events.custom(name, payload?)
Input
namestringCustom event name.
payloadoptionalobjectarraystringnumberbooleannullEvent payload available to overlay code.
Output
voidThe custom event is queued as a side effect.
{{kicklet.CustomEvent "shop-effect" (dict "viewer" sender.String "item" "confetti")}}
Text-to-Speech
Use TTS effects when a connected overlay should speak a message.
- Engine v2
- Engine v1
Play text to speech
Speaks text in connected overlay widgets with the selected voice.
effects.tts("en_US-amy-medium", "Hello, this is a test message.");
API reference
effects.tts
effects.tts(voiceId, text)
Input
voiceIdstringVoice ID such as en_US-amy-medium.
textstringText to speak.
Output
voidThe text-to-speech effect is queued as a side effect.
{{kicklet.TTS "en_US-amy-medium" "Hello, this is a test message."}}
Async overlay wrappers
Async wrapper for effects.gif(url, options?).
API reference
async.effects.gif
async.effects.gif(url, options?)
Input
urlstringGIF URL or uploaded file URL.
optionsoptionalobjectPlayback options.
durationoptionalnumberPlayback duration in seconds.
Output
voidThe overlay effect is queued as a side effect.
Async wrapper for effects.sound(url, options?).
API reference
async.effects.sound
async.effects.sound(url, options?)
Input
urlstringAudio URL or uploaded file URL.
optionsoptionalobjectPlayback options.
durationoptionalnumberPlayback duration in seconds.
volumeoptionalnumberPlayback volume.
Output
voidThe overlay effect is queued as a side effect.
Async wrapper for effects.soundGif(soundUrl, gifUrl, options?).
API reference
async.effects.soundGif
async.effects.soundGif(soundUrl, gifUrl, options?)
Input
soundUrlstringAudio URL or uploaded file URL.
gifUrlstringGIF URL or uploaded file URL.
optionsoptionalobjectPlayback options.
durationoptionalnumberPlayback duration in seconds.
volumeoptionalnumberPlayback volume.
Output
voidThe overlay effect is queued as a side effect.
Async wrapper for effects.tts(voiceId, text).
API reference
async.effects.tts
async.effects.tts(voiceId, text)
Input
voiceIdstringVoice ID such as en_US-amy-medium.
textstringText to speak.
Output
voidThe text-to-speech effect is queued as a side effect.
Async wrapper for events.custom(name, payload?).
API reference
async.events.custom
async.events.custom(name, payload?)
Input
namestringCustom event name.
payloadoptionalobjectarraystringnumberbooleannullEvent payload available to overlay code.
Output
voidThe custom event is queued as a side effect.
Available voice IDs:
| id | name | gender |
|---|---|---|
en_GB-alan-medium | Alan | M |
en_GB-alba-medium | Alba | F |
en_GB-aru-medium | Aru | M |
en_GB-cori-high | Cori | F |
en_GB-jenny_dioco-medium | Jenny_dioco | F |
en_GB-northern_english_male-medium | Northern_english_male | M |
en_GB-semaine-medium | Semaine | F |
en_GB-southern_english_female-low | Southern_english_female | F |
en_GB-vctk-medium | Vctk | F |
en_US-amy-medium | Amy | F |
en_US-arctic-medium | Arctic | M |
en_US-bryce-medium | Bryce | M |
en_US-danny-low | Danny | M |
en_US-hfc_female-medium | Hfc_female | F |
en_US-hfc_male-medium | Hfc_male | M |
en_US-joe-medium | Joe | M |
en_US-john-medium | John | M |
en_US-kathleen-low | Kathleen | F |
en_US-kristin-medium | Kristin | F |
en_US-kusal-medium | Kusal | M |
en_US-l2arctic-medium | L2arctic | M |
en_US-lessac-high | Lessac | F |
en_US-libritts-high | Libritts | F |
en_US-libritts_r-medium | Libritts_r | F |
en_US-ljspeech-high | Ljspeech | F |
en_US-norman-medium | Norman | M |
en_US-ryan-high | Ryan | M |