Overview
Omi streams raw audio bytes from your device to any webhook endpoint you configure. Use this to build custom audio processing, live transcription, or recording workflows.Any Backend
Stream to your own server, cloud function, or local dev environment
Configurable Interval
Choose how often you receive audio chunks (e.g. every 5, 10, or 30 seconds)
Raw Audio
Receive raw PCM bytes — add a WAV header to save as audio files
Setup
Create a Webhook Endpoint
Build an endpoint that accepts POST requests with raw audio bytes.Omi sends requests in this format:
Sample Rates by Device
Sample Rates by Device
Configure in the Omi App
- Open the Omi app
- Go to Settings → Developer Mode
- Scroll to Realtime audio bytes
- Enter your webhook URL
- Set the interval (e.g.
10for every 10 seconds)
Verify
Audio bytes should start arriving at your endpoint. The data is raw PCM — to save as a playable audio file, prepend a WAV header to the accumulated bytes.
Example: Save to Google Cloud Storage
A complete example that saves audio chunks as WAV files in GCS.Set Up GCS
Follow the Cloud Audio Storage guide to create a bucket and get credentials.
Deploy the Example
- Fork github.com/mdmohsin7/omi-audio-streaming
- Clone and deploy to any cloud provider (GCP, AWS, DigitalOcean) or run locally with ngrok
- Set these environment variables:
The repo includes a Dockerfile for easy deployment.
Connect
Set the endpoint in the Omi app under Realtime audio bytes to:Audio files will appear in your GCS bucket at the configured interval.
Related
Cloud Audio Storage
Set up GCS bucket and credentials
Build Apps
Create Omi apps with audio capabilities