Skip to main content
Community-maintained integration. This service is built and maintained by Floe Labs. Pipecat does not test or officially support it. Please report issues and request changes on the source repository. Learn more about community integrations.

Overview

FloeSTTService provides streaming speech-to-text through Floe — a unified billing ledger for voice AI where one key powers the LLM, STT, and TTS legs of an agent, metered per call and bounded by pre-call spend caps. Unlike the LLM and TTS legs, streaming STT is keyless-only — it runs on Floe’s managed Deepgram key, so there is no per-request BYOK (provider_key) on this leg. Metering and spend caps still apply. Unlike the LLM and TTS legs (which are OpenAI-compatible base-URL swaps), Floe streaming STT is a dedicated plugin: it opens a WebSocket to Floe, streams raw PCM audio up, and receives JSON transcript messages back. It extends Pipecat’s WebsocketSTTService (the same base used by the Deepgram and Gladia services), so connect/receive/reconnect scaffolding, audio buffering, and metrics are inherited. Non-final results are emitted as InterimTranscriptionFrame and final results as TranscriptionFrame.

Source Repository

Source code, examples, and issues for the Floe integration

PyPI Package

The pipecat-floe package on PyPI

Floe

Documentation and supported models for Floe

API Keys

Create and manage your Floe agent keys

Installation

This is a community-maintained package distributed separately from pipecat-ai:

Prerequisites

Floe Account Setup

Before using the Floe STT service, you need:
  1. Floe Account: Sign up at the Floe dashboard
  2. API Key: Create an agent key from your dashboard. New keys come with welcome credit that covers the first calls.

Required Environment Variables

  • FLOE_API_KEY: Your Floe agent key for authentication

Configuration

str
default:"None"
Floe agent key. Falls back to the FLOE_API_KEY environment variable if not provided. Raises ValueError if neither is set.
str
default:"deepgram/nova-3"
Fully qualified provider/model STT identifier (for example "deepgram/nova-3").
str
default:"linear16"
Audio encoding of the PCM frames streamed to Floe. One of "linear16", "mulaw", "alaw". Pipecat transports deliver linear16 PCM by default.
int
default:"16000"
Audio sample rate in Hz (8000–48000).
str
default:"en"
BCP-47 language hint.
str
Floe streaming-STT WebSocket URL.
Additional keyword arguments passed through to the underlying WebsocketSTTService.

Usage

See the source repository for a complete runnable example wiring a WebSocket transport → STT → LLM → TTS.

Compatibility

Built and verified against Pipecat v1.7.0+. Check the source repository for the latest tested version and changelog.