Snippets use a placeholder — swap vv_live_YOUR_KEY_HERE for a real API key (Settings → API keys) before pasting into a host page.
Floating voicebot bubbleSNIPPET · HTML
Pins a mic-bubble to the corner; tapping opens a 340×480 voice panel — support, onboarding, lead-capture.
<script src="https://vaanilabs.in/embed/v1/vaanivoice.js" defer></script>
<script>
window.addEventListener('load', () => {
VaaniVoice.voicebot({
apiKey: 'vv_live_YOUR_KEY_HERE',
position: 'bottom-right', // or 'bottom-left'
});
});
</script>Meeting roomSNIPPET · HTML
Same meeting surface as Meet Agent, mountable in your own page.
<div id="vaani-meeting" style="height:600px"></div>
<script src="https://vaanilabs.in/embed/v1/vaanivoice.js" defer></script>
<script>
window.addEventListener('load', () => {
VaaniVoice.meeting({
apiKey: 'vv_live_YOUR_KEY_HERE',
container: '#vaani-meeting',
});
});
</script>Cache & versioning
Versioned path /embed/v1, ships immutable. Breaking changes bump to v2.
CSP
Host allows connect-src wss://vaanilabs.in + frame-src for meeting surfaces.
Permissions
Mic (+ camera for meetings) are user-gated — nothing fires until the visitor taps Start.