Skip to content
SDKs for web and mobile apps

Add a voice AI agent to your app

Voxera handles WebRTC transport, streaming speech-to-text, your language model and text-to-speech as one pipeline. Build your conversation experience with SDKs for web and mobile.

No credit card. 60 free voice minutes on the Free plan.

One protocol:WebReactReact NativeiOSAndroidFlutter

How it works

A staged pipeline you can actually see inside

Four stages, each provider-neutral. Use the bundled OpenAI defaults, or point any stage at your own HTTP API.

  1. WebRTC microphone audio

    The caller connects over WebRTC through mediasoup. Voxera runs the SFU, the ICE negotiation and the TURN relay, so audio works from a browser, a phone or a locked-down corporate network.

  2. Streaming transcription

    Audio streams to a transcription API as the caller speaks. Partial transcripts arrive continuously rather than after the caller stops, which is what makes the response feel immediate.

  3. Text-only model call

    The transcript goes to a text model in streaming mode, with your system prompt, tools and session metadata. There is no direct audio-to-model path — every stage is inspectable, loggable and swappable.

  4. Text-to-speech, injected live

    Generated speech is converted to 48 kHz PCM frames and injected back into the WebRTC stream as the model is still producing text.

Barge-in

Barge-in is the ability to interrupt a voice agent mid-sentence and have it stop speaking. When the caller starts talking, Voxera halts playback and discards the partial response, so the agent never talks over the person it is meant to be listening to.

Platform

Everything around the model, already built

Manage audio transport, keys, quotas, transcripts and billing alongside your voice agents.

One protocol, six SDKs

Web, React, React Native, iOS, Android and Flutter share a single wire protocol. Configure an agent once and it behaves identically everywhere.

Tool calling

Give an agent HTTP tools and it can look up an order or book a slot mid-conversation.

Keys built for clients

Secret keys stay on your server and mint short-lived session tokens. Publishable keys are safe to ship inside an app bundle.

Usage you can trust

Sessions hold a lease and settle billable seconds in one transaction on disconnect, so a dropped call is never billed twice or lost.

Full transcripts

Every turn is persisted with timing, so you can audit, evaluate and replay conversations rather than guess at them.

Bring your own providers

Point transcription, model or speech at your own HTTP endpoint. Available on Growth and Scale.

SDKs

Six SDKs, one wire protocol

Configure the agent once. Every SDK speaks the same protocol, so behaviour does not drift between your web app and your phone app.

Choose a platform

Quickstart

Build a voice agent in five steps

No infrastructure to provision and no media servers to run. The longest part is deciding what the agent should say.

  1. 1.Create your account

    Sign up with an email and password. You get a workspace, and the Free plan's 60 voice minutes, without a card.

  2. 2.Create an agent

    Give it a name, write what it should do in plain language, and pick a voice. Saving publishes version one — there is no separate deploy step.

  3. 3.Add toolsoptional

    Define function schemas so the agent can look up an order or book a slot mid-conversation. Skip this and it can still talk.

  4. 4.Issue an app key

    Publishable keys ship inside a browser or app bundle and are locked to your origins. Secret keys stay on your server. The plaintext is shown once.

  5. 5.Connect from your app

    Install the SDK for your platform, pass the key and the agent id, and call connect. The prompt, voice and tools all come from the agent you published.

voice.ts
import { VoxeraClient } from "@voxera/sdk-web";

const client = new VoxeraClient({
  appKey: "vx_pk_live_...",          // publishable key, safe in a bundle
  serverUrl: "https://rtc.voxera-voice.com",
  agentId: "your-agent-id",          // the agent you published in step 2
});

await client.connect();
client.startConversation();

That is the whole client. Everything the agent knows — its prompt, its voice, its tools — lives on the published version, so changing behaviour does not mean shipping a new build.

FAQ

Common questions

What is Voxera?
Voxera is a realtime voice AI platform for developers. It handles WebRTC audio transport, streaming speech-to-text, language model inference and text-to-speech as one pipeline, and exposes it through SDKs for Web, React, React Native, iOS, Android and Flutter.
How is a voice minute counted?
Voxera meters the wall-clock duration of each connected session, in seconds, and records it against your monthly allowance when the session ends. Time spent connecting or waiting is not billed.
Can I bring my own speech and language providers?
Yes, on the Growth and Scale plans. Both allow custom providers, so you can supply your own speech-to-text, language model or text-to-speech credentials rather than using the bundled defaults.
What happens when I run out of voice minutes?
New sessions are refused once the monthly allowance is used up, and in-progress calls are allowed to finish. Allowances reset at the start of each billing period, and you can upgrade at any time.
Does Voxera support interrupting the agent mid-sentence?
Yes. Barge-in is built into the pipeline: when the caller starts speaking, playback stops and the partial response is discarded, so the agent does not talk over the caller.
Which platforms have SDKs?
Web (TypeScript), React (TypeScript), React Native (TypeScript), iOS (Swift), Android (Kotlin) and Flutter (Dart). They share one wire protocol, so an agent configured once behaves the same everywhere. Web, React and React Native are on npm and iOS is on Swift Package Manager today; Android and Flutter are still in public release.

Hear it before you build on it

The demo is the real pipeline, not a recording. Talk to it, interrupt it, and decide from there.