Skip to main content

Server-side Python SDK for Vox-hosted WebRTC sessions.

Project description

vox-rtc-server

Server-side Python SDK for Vox-hosted WebRTC sessions.

This package is for backend applications that need to:

  • create RTC sessions over HTTP
  • attach to /v1/socket
  • join /rtc/{session_id}
  • send session.update, response.*, and server-to-browser client.event
  • observe RTC control events

It is intentionally narrow. It is not the general STT/TTS/text SDK.

Install

pip install vox-rtc-server pondsocket-client

The SDK uses the PondSocket Python client for the control-plane socket. Authentication can be passed explicitly with api_key=... or through VOX_API_KEY.

Example

import asyncio
import os

from vox_rtc_server import (
    ClientEventEnvelope,
    SessionConfig,
    VoxRtcServerClient,
)


async def main() -> None:
    client = VoxRtcServerClient(
        http_base="https://vox.example.com",
        api_key=os.environ.get("VOX_API_KEY"),
    )

    bootstrap, session = await client.create_controlled_session()
    print("session:", bootstrap.session_id)

    session.on_transcript(lambda event: print("user said:", event.transcript))
    session.on_browser_event(lambda event: print("browser event:", event.event, event.payload))
    session.on_close(lambda event: print("browser disconnected:", event.reason))

    session.configure(
        SessionConfig(
            stt_model="parakeet-stt-onnx:tdt-0.6b-v3",
            tts_model="kokoro-tts-onnx:v1.0",
            voice="af_heart",
            turn_profile="browser_default",
            vad_backend="silero",
            turn_detector="livekit",
        )
    )

    session.send_text_response("Hello from Python.")
    session.send_client_event(
        ClientEventEnvelope(
            event="render.url",
            payload={"url": "https://example.com"},
        )
    )


asyncio.run(main())

send_client_event is server to browser. Browser-originated app events arrive through on_browser_event.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vox_rtc_server-0.1.6.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vox_rtc_server-0.1.6-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file vox_rtc_server-0.1.6.tar.gz.

File metadata

  • Download URL: vox_rtc_server-0.1.6.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for vox_rtc_server-0.1.6.tar.gz
Algorithm Hash digest
SHA256 35655a71aed2a7210ecb293f172b2215c6d0cad718b268f32f3aa48caa69cbab
MD5 6accff5635c9b4bf1379f09b2c406d9a
BLAKE2b-256 c41899e712c0de7d9f796a0cb74ac1200440cc47254614fcbf697e013876a900

See more details on using hashes here.

File details

Details for the file vox_rtc_server-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: vox_rtc_server-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for vox_rtc_server-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 06014e3207e0f867184f42c8e3279e43bac4c65d732d59190021cc634128428d
MD5 d02e0349973ceacebf7bc777ace63939
BLAKE2b-256 f00d04b35e0220ee98cb6049593bb0a4cbd0f5b079d6c81d66c2ce015b47993b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page