metadata
title: README
emoji: π
colorFrom: pink
colorTo: green
sdk: static
pinned: false
FastRTC

The Real-Time Communication Library for Python.
Turn any python function into a real-time audio and video stream over WebRTC or WebSockets.
Installation
pip install fastrtc
to use built-in pause detection (see ReplyOnPause), and text to speech (see Text To Speech), install the vad
and tts
extras:
pip install fastrtc[vad, tts]
Key Features
- π£οΈ Automatic Voice Detection and Turn Taking built-in, only worry about the logic for responding to the user.
- π» Automatic UI - Use the
.ui.launch()
method to launch the webRTC-enabled built-in Gradio UI. - π Automatic WebRTC Support - Use the
.mount(app)
method to mount the stream on a FastAPI app and get a webRTC endpoint for your own frontend! - β‘οΈ Websocket Support - Use the
.mount(app)
method to mount the stream on a FastAPI app and get a websocket endpoint for your own frontend! - π Automatic Telephone Support - Use the
fastphone()
method of the stream to launch the application and get a free temporary phone number! - π€ Completely customizable backend - A
Stream
can easily be mounted on a FastAPI app so you can easily extend it to fit your production application. See the Talk To Claude demo for an example on how to serve a custom JS frontend.