Skip to main content

Overview

FloeLLMService provides an OpenAI-compatible interface for running LLMs 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 OpenAILLMService, so streaming responses, function calling, usage/TTFB metrics, and OpenTelemetry tracing all work unchanged. BYOK-first. Pass provider_key= with your own vendor key (e.g. your OpenAI key) and Floe routes the call on your key, billing only its service fee while still metering the call and enforcing your spend caps. Omit it to go keyless and let Floe manage the provider keys.

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 LLM 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/gpt-4o-mini"
Fully qualified provider/model identifier (for example "openai/gpt-4o-mini" or "anthropic/claude-sonnet-4-6"). A bare model name is rejected by Floe.
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 on every request, so a per-task budget can bound one conversation.
str
default:"None"
BYOK. Your upstream vendor key (for example your OpenAI key), sent as the X-Floe-Provider-Key header. Floe routes the call on your key and bills only its service fee, while still metering the call and enforcing your spend caps. Omit for the keyless path (Floe-managed provider keys).
Additional keyword arguments passed through to the underlying OpenAILLMService.

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.