Audio-Reactive Avatars
How to make avatar images pulse or react to audio when the camera is disabled
This guide explains how to make your avatar image pulse or change based on audio levels when the camera is disabled in VDO.Ninja.
Use &meterstyle=5 combined with &bgimage on your viewer/OBS browser source URL:
https://vdo.ninja/?view=STREAMID&meterstyle=5&bgimage=./media/avatar1.png
This makes the background image pulse larger when the guest speaks.
When using &meterstyle=5, the system automatically animates your avatar based on audio levels:
The transitions use smooth CSS animations (0.5 second ease) creating a nice pulsing effect.
Where to Add the Parameters
The guest pushing audio doesn't need any special parameters — they just need to have their camera off and be pushing audio.
OBS Browser Source (viewing a specific stream):
Viewing from a room:
Multiple Avatar States
For even more control, use different images for different audio levels with &bgimage2 and &bgimage3:
Loud/Screaming (high audio)
When you use &bgimage2 or &bgimage3, the system automatically enables the switching behavior — no need to add &meterstyle separately.
VDO.Ninja includes sample avatar images in the /media/ folder (avatar1.png, avatar2.png, avatar3.png) that you can use for testing.
Meterstyle Reference
Vertical VU-style bar meter (director default)
Green border around video when talking
Small green dot in top-right corner (guest default)
No visible meter, sets data-loudness for custom CSS
Background image pulses/grows when speaking
Why other combinations don't work
&style=2 shows an animated audio waveform, not image pulsing
&style=3 enables audio meters, but you need &meterstyle=5 specifically for image pulsing
&meterstyle=1,2,3 show bars, borders, or dots — not image pulsing
If your image URL contains special characters, you may need to URL-encode it.
Original URL:
Encoded URL:
You can encode URLs at: https://www.urlencoder.org/
&meterstyle&bgimage&styleAdd &meterstyle=5&bgimage=YOUR_IMAGE_URL to your OBS browser source / viewer URL
The guest only needs to push audio (camera can be off)
For multiple avatar states, use &bgimage, &bgimage2, and &bgimage3 together