> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pipecat.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# TransportParams

> Base configuration parameters shared by all transport implementations

## Overview

`TransportParams` is the base configuration class for all Pipecat transports. It controls audio input/output settings, video settings, and voice activity detection. Every transport's params class (`DailyParams`, `LiveKitParams`, `WebsocketServerParams`, etc.) inherits from `TransportParams`.

You typically pass these via the transport's `params` argument:

```python theme={null}
from pipecat.transports.daily import DailyTransport, DailyParams

transport = DailyTransport(
    room_url,
    token,
    "Bot",
    params=DailyParams(
        audio_in_enabled=True,
        audio_out_enabled=True,
        audio_out_sample_rate=24000,
        video_out_enabled=True,
        video_out_width=1280,
        video_out_height=720,
    ),
)
```

## Audio Output

<ParamField path="audio_out_enabled" type="bool" default="False">
  Enable audio output streaming.
</ParamField>

<ParamField path="audio_out_sample_rate" type="int" default="None">
  Output audio sample rate in Hz. When `None`, uses the default rate from the
  TTS service.
</ParamField>

<ParamField path="audio_out_channels" type="int" default="1">
  Number of output audio channels.
</ParamField>

<ParamField path="audio_out_bitrate" type="int" default="96000">
  Output audio bitrate in bits per second.
</ParamField>

<ParamField path="audio_out_10ms_chunks" type="int" default="4">
  Number of 10ms chunks to buffer before sending output audio. Higher values
  increase latency but reduce overhead.
</ParamField>

<ParamField path="audio_out_mixer" type="BaseAudioMixer | Mapping[str, BaseAudioMixer]" default="None">
  Audio mixer instance for combining audio streams, or a mapping of destination
  names to mixer instances.
</ParamField>

<ParamField path="audio_out_destinations" type="List[str]" default="[]">
  List of audio output destination identifiers for routing audio to specific
  participants or endpoints.
</ParamField>

<ParamField path="audio_out_end_silence_secs" type="int" default="2">
  Seconds of silence to send after an `EndFrame`. Set to `0` to disable.
</ParamField>

<ParamField path="audio_out_auto_silence" type="bool" default="True">
  Insert silence frames when the audio output queue is empty. When `False`, the
  transport waits for audio data instead of inserting silence, which is useful
  for scenarios that require uninterrupted audio playback without artificial
  gaps.
</ParamField>

## Audio Input

<ParamField path="audio_in_enabled" type="bool" default="False">
  Enable audio input streaming.
</ParamField>

<ParamField path="audio_in_sample_rate" type="int" default="None">
  Input audio sample rate in Hz. When `None`, uses the transport's native rate.
</ParamField>

<ParamField path="audio_in_channels" type="int" default="1">
  Number of input audio channels.
</ParamField>

<ParamField path="audio_in_filter" type="BaseAudioFilter" default="None">
  Audio filter to apply to incoming audio (e.g., noise suppression).
</ParamField>

<ParamField path="audio_in_stream_on_start" type="bool" default="True">
  Start audio input streaming immediately when the transport starts. Set to
  `False` to manually control when audio input begins.
</ParamField>

<ParamField path="audio_in_passthrough" type="bool" default="True">
  Pass input audio frames downstream through the pipeline. When `False`, audio
  is consumed by VAD but not forwarded.
</ParamField>

## Video Output

<ParamField path="video_out_enabled" type="bool" default="False">
  Enable video output streaming.
</ParamField>

<ParamField path="video_out_is_live" type="bool" default="False">
  Enable real-time video output. When `True`, frames are sent as they arrive
  rather than buffered.
</ParamField>

<ParamField path="video_out_width" type="int" default="1024">
  Video output width in pixels.
</ParamField>

<ParamField path="video_out_height" type="int" default="768">
  Video output height in pixels.
</ParamField>

<ParamField path="video_out_bitrate" type="int | None" default="None" deprecated>
  **\[DEPRECATED]** Video output bitrate in bits per second. Use
  provider-specific settings instead (e.g.,
  `DailyParams.camera_out_send_settings` for Daily).
</ParamField>

<ParamField path="video_out_framerate" type="int" default="30">
  Video output frame rate in frames per second.
</ParamField>

<ParamField path="video_out_color_format" type="str" default="RGB">
  Video output color format string.
</ParamField>

<ParamField path="video_out_codec" type="str" default="None">
  Preferred video codec for output (e.g., `VP8`, `H264`, `H265`).
</ParamField>

<ParamField path="video_out_destinations" type="List[str]" default="[]">
  List of video output destination identifiers.
</ParamField>

## Video Input

<ParamField path="video_in_enabled" type="bool" default="False">
  Enable video input streaming.
</ParamField>

## Transport Subclasses

Each transport extends `TransportParams` with provider-specific fields:

| Transport                                                                               | Params Class             | Additional Fields                                                                          |
| --------------------------------------------------------------------------------------- | ------------------------ | ------------------------------------------------------------------------------------------ |
| [DailyTransport](/api-reference/server/services/transport/daily)                        | `DailyParams`            | `api_key`, `api_url`, `dialin_settings`, `transcription_enabled`, `transcription_settings` |
| [LiveKitTransport](/api-reference/server/services/transport/livekit)                    | `LiveKitParams`          | (no additional fields)                                                                     |
| [SmallWebRTCTransport](/api-reference/server/services/transport/small-webrtc)           | `TransportParams`        | Uses base class directly                                                                   |
| [WebsocketServerTransport](/api-reference/server/services/transport/websocket-server)   | `WebsocketServerParams`  | `add_wav_header`, `serializer`, `session_timeout`                                          |
| [FastAPIWebsocketTransport](/api-reference/server/services/transport/fastapi-websocket) | `FastAPIWebsocketParams` | `serializer`, `session_timeout`                                                            |
