Spaces:
Running
Running
title: README | |
emoji: π | |
colorFrom: pink | |
colorTo: green | |
sdk: static | |
pinned: false | |
<div style='text-align: center; margin-bottom: 1rem; display: flex; justify-content: center; align-items: center;'> | |
<h1 style='color: white; margin: 0; font-size: 40px'>FastRTC</h1> | |
<img src="https://huggingface.co./datasets/freddyaboulton/bucket/resolve/main/fastrtc_logo.png" | |
onerror="this.onerror=null; this.src='https://huggingface.co./datasets/freddyaboulton/bucket/resolve/main/fastrtc_logo.png';" | |
alt="FastRTC Logo" | |
style="height: 100px; margin-right: 10px;"> | |
</div> | |
<div style="display: flex; flex-direction: row; justify-content: center"> | |
<img style="display: block; padding-right: 5px; height: 20px;" alt="Static Badge" src="https://img.shields.io/pypi/v/fastrtc"> | |
<a href="https://github.com/freddyaboulton/fastrtc" target="_blank"><img alt="Static Badge" src="https://img.shields.io/badge/github-white?logo=github&logoColor=black"></a> | |
</div> | |
<h3 style='text-align: center'> | |
The Real-Time Communication Library for Python. | |
</h3> | |
Turn any python function into a real-time audio and video stream over WebRTC or WebSockets. | |
## Installation | |
```bash | |
pip install fastrtc | |
``` | |
to use built-in pause detection (see [ReplyOnPause](https://fastrtc.org/)), and text to speech (see [Text To Speech](https://fastrtc.org/userguide/audio/#text-to-speech)), install the `vad` and `tts` extras: | |
```bash | |
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](https://huggingface.co./spaces/fastrtc/talk-to-claude) demo for an example on how to serve a custom JS frontend. | |
## Docs | |
[https://fastrtc.org](https://fastrtc.org) | |