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.5.tar.gz (25.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.5-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vox_rtc_server-0.1.5.tar.gz
  • Upload date:
  • Size: 25.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.5.tar.gz
Algorithm Hash digest
SHA256 166d3da8d8129a555fc8e9177911353774ed6b6541e0f483549af3ee1fb79de4
MD5 6105f79b085f34c5f6ce3b337163cfef
BLAKE2b-256 46fc85f26c843d3b3f5786097d4d109b8a4c397792f6e9893ddb9e26cac53a37

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vox_rtc_server-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 8.4 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ab02a27e976122fe35921cd59833bc453bd63a58c6ce750a1c6e5e8fd6abf591
MD5 17ec306905595a07ae22d71d08032333
BLAKE2b-256 58391c3d3c7a50c0a51948f1c9359a186ae77d5b9cf6d32b900989761d4085e9

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