Skip to main content

Overview

FloeTTSService provides an OpenAI-compatible interface for text-to-speech 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. It extends Pipecat’s OpenAITTSService, so streamed audio, metrics, and tracing work unchanged.

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 TTS 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:"openai/tts-1"
Fully qualified provider/model identifier (for example "openai/tts-1"). A bare model name is rejected by Floe.
str
default:"alloy"
Voice identifier to synthesize with.
str
default:"https://credit-api.floelabs.xyz/v1"
Floe OpenAI-compatible base URL.
str
default:"None"
Optional Floe task ID sent as the X-Floe-Task-Id header, so a per-task budget can bound one conversation. Attached via a custom httpx client; if you pass your own http_client, add the header to it yourself.
Additional keyword arguments passed through to the underlying OpenAITTSService.

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.