Skip to main content
The Pipecat React SDK provides several components for handling audio, video, and visualization in your application.

PipecatClientProvider

The root component for providing Pipecat client context to your application. It also includes built-in conversation state management, so any descendant component can use the usePipecatConversation hook to access messages without adding a separate provider.
Props
client
PipecatClient
required
A singleton instance of PipecatClient

PipecatClientAudio

Creates a new <audio> element that mounts the bot’s audio track.
Props No props required

PipecatClientVideo

Creates a new <video> element that renders either the bot or local participant’s video track.
Props
participant
('local' | 'bot')
required
Defines which participant’s video track is rendered
fit
('contain' | 'cover')
Defines whether the video should be fully contained or cover the box. Default: ‘contain’
mirror
boolean
Forces the video to be mirrored, if set
onResize(dimensions: object)
function
Triggered whenever the video’s rendered width or height changes

PipecatClientCamToggle

A headless component to read and set the local participant’s camera state.
Props
onCamEnabledChanged(enabled: boolean)
function
Triggered whenever the local participant’s camera state changes
disabled
boolean
If true, the component will not allow toggling the camera state. Default: false
children
function
A render prop that provides state and handlers to the children

PipecatClientMicToggle

A headless component to read and set the local participant’s microphone state.
Props
onMicEnabledChanged(enabled: boolean)
function
Triggered whenever the local participant’s microphone state changes
disabled
boolean
If true, the component will not allow toggling the microphone state. Default: false
children
function
A render prop that provides state and handlers to the children

VoiceVisualizer

Renders a visual representation of audio input levels on a <canvas> element.
Props
participantType
string
required
The participant type to visualize audio for
backgroundColor
string
The background color of the canvas. Default: ‘transparent’
barColor
string
The color of the audio level bars. Default: ‘black’
barCount
number
The number of bars to display. Default: 5
barGap
number
The gap between bars in pixels. Default: 12
barWidth
number
The width of each bar in pixels. Default: 30
barMaxHeight
number
The maximum height at full volume of each bar in pixels. Default: 120