@telzino/voiceis the core browser client. It works with any framework. It wraps LiveKit, so you never importlivekit-clientyourself.@telzino/reactadds a provider and headless hooks on top of it. It includes no UI.
1. Create a publishable key
A publishable key (pk_live_...) is safe to ship in a web page, because it only works from origins you list.
- In the Telzino dashboard, open the API Keys page and find Publishable keys.
- Create a key. Give it a name, such as
Marketing site, and list its Allowed origins. Includehttp://localhost:5173(or your dev server) while developing. - Copy the key now. It is shown once.
Creating a publishable key requires a partner account user with the
create:api_keys permission (a Telzino Admin). Reseller admins can view and revoke keys issued for their reseller, but cannot create them. If you do not see the create form, ask a Telzino Admin.2. Install
3. Start a call
start() asks for microphone permission, so call it from a user gesture such as a button click.
Try the example app
The repository includes a complete demo,examples/web-basic, built with Vite, React and TypeScript. Copy .env.example to .env.local and set:
VITE_TELZINO_PUBLISHABLE_KEY: your publishable keyVITE_TELZINO_AGENT_ID: the agent to callVITE_TELZINO_API_BASE_URL: defaults tohttps://beta.telzino.io
http://localhost:5173. The port is fixed so it matches the allowed origin. Click Start call and allow the microphone.
Troubleshooting
- A network error right away: the page origin is not in the key’s allowed origins. The browser blocks the request. Add the exact origin, including the port.
permission_denied: microphone access was denied. Allow it in the browser’s site settings and start again.- No sound: the browser blocked audio playback. Show an “Enable audio” button and call
resumeAudio()from its click handler. See Core API.
Next steps
Authentication
Publishable and secret keys, origins and limits
Core API
TelzinoVoice and VoiceCall reference
React
Provider and hooks
Events and errors
Every event and error code
