Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions cli/init.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,10 @@ pipecat init [OPTIONS]
Print the resolved configuration as JSON without generating any files.
</ParamField>

<ParamField path="--list-options" type="boolean" default="false">
Print all available service options as JSON and exit. Useful for CI scripts and coding agents that need to discover valid values at runtime.
</ParamField>

## Interactive Setup

When run without `--name` or `--config`, the CLI guides you through selecting:
Expand Down Expand Up @@ -171,6 +175,37 @@ pipecat init --name call-bot --bot-type telephony --transport twilio \
--mode cascade --stt deepgram_stt --llm openai_llm --tts cartesia_tts
```

### Discover Available Options

```shell
# List all valid service values as JSON
pipecat init --list-options
```

Output:

```json
{
"bot_type": ["web", "telephony"],
"transports": {
"web": ["daily", "smallwebrtc"],
"telephony": ["twilio", "twilio_daily_sip_dialin", "twilio_daily_sip_dialout", ...]
},
"stt": ["deepgram_stt", "openai_stt", ...],
"llm": ["openai_llm", "anthropic_llm", ...],
"tts": ["cartesia_tts", "elevenlabs_tts", ...],
"realtime": ["openai_realtime", "gemini_live_realtime", ...],
"video": ["heygen_video", "tavus_video", "simli_video"]
}
```

This is useful for scripting — for example, to pick a random TTS provider:

```shell
options=$(pipecat init --list-options)
tts=$(echo "$options" | jq -r '.tts[0]')
```

### Dry Run

```shell
Expand Down