Choosing a Channel
Pick the right way to connect — by what you want to do, from a video avatar to a text-only chat
Connecting your Omniagent involves two separate choices:
- Channel — the transport, or how you connect: WebRTC, WebSocket, VoIP, SIP, or Kiosk.
- Modality — what the conversation is: audio (voice), text, or video.
They're independent axes. The quickest way to decide is to start from what you want to do.
Pick by what you want to do
A table mapping goals to channel and modality
Audio and video in the browser
WebRTC via the Web SDK for a real-time avatar
Voice in your own app or backend
WebSocket audio for headless or custom clients
Text-only chat (no voice)
WebSocket with modality text for typed chat
Phone calls
VoIP webhook or your own SIP trunk
In-person conversations
Kiosk on a Napster Station for walk-up use
Next steps
Channel guides and per-session configuration
Pick by what you want to do
| I want to… | Use | Modality |
|---|---|---|
| Embed a talking video avatar in a web page | WebRTC (Web SDK) | audio + video |
| Add voice to my own app, backend, or headless client | WebSocket with modality: "audio" | audio |
| Offer a text-only chat (typed, no voice) | WebSocket with modality: "text" | text |
| Put my agent on a phone number through a VoIP provider (Twilio, Telnyx, Vonage) | VoIP | voice |
| Answer phone calls over my own SIP trunk | SIP | voice |
| Run an in-person, walk-up device | Kiosk (Napster Station) | voice + experience screen |
It's the same Omniagent across all of them. Deploy to one channel or several at once — the voice, personality, knowledge, and memory stay consistent everywhere.
Audio and video in the browser
If you want users to see and talk to a real-time avatar on a web page, use WebRTC through the Web SDK. It ships a ready-made avatar widget with controls and handles the audio + video streaming and session lifecycle for you.
Voice in your own app or backend
If you want voice but don't need a rendered avatar — a server-side integration, a headless client, or your own custom UI — use a WebSocket connection with modality: "audio" (the default). It streams audio in both directions in a lightweight protocol you drive yourself.
Text-only chat (no voice)
If you want a typed, text-only conversation — a chatbot with no audio or avatar — use a WebSocket connection with modality: "text". The user's messages go in and the agent's text replies come back over the same connection; there's no audio streaming.
Text is a modality, not a separate channel — it runs over WebSocket. See WebSockets — Text sessions for the setup and message shapes.
Phone calls
To put your agent on a phone number, choose based on your telephony setup:
- VoIP — you bring a VoIP provider account (Twilio, Telnyx, Vonage) and a phone number; Napster gives you a webhook URL to register as the number's incoming-call handler, and your agent answers. Simpler than SIP — no trunk credentials or SIP registration — but the provider and number are still yours.
- SIP — bring your own SIP trunk when you already run your own telephony.
Napster does not provide phone numbers; both options connect your agent to telephony you already have. Both are voice-only.
In-person conversations
For a walk-up experience in a lobby, retail floor, showroom, or event, deploy to a Kiosk — a Napster Station that pairs the agent's avatar with a large experience screen it drives as it talks.
Next steps
Once you've picked a channel, its guide walks you through the full setup. For per-session settings like memory, user context, and tags, see Session Configuration.