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) | |