Output directory where files will be saved. Defaults to current directory.
Project name. Providing this flag triggers non-interactive mode.
Bot type:
web or telephony.Transport provider. Repeatable for multiple transports (e.g.
-t daily -t smallwebrtc). Valid values: daily, smallwebrtc, twilio, telnyx, plivo, exotel, daily_pstn, twilio_daily_sip.Pipeline mode:
cascade or realtime.Speech-to-Text service (cascade mode). e.g.
deepgram_stt, openai_stt.Language model service (cascade mode). e.g.
openai_llm, anthropic_llm.Text-to-Speech service (cascade mode). e.g.
cartesia_tts, elevenlabs_tts.Realtime service (realtime mode). e.g.
openai_realtime, gemini_live_realtime.Video avatar service (web bots only). e.g.
heygen_video, tavus_video, simli_video.Client framework (web bots only):
react, vanilla, or none.Client dev server (when using
--client-framework react): vite or nextjs.Daily PSTN mode (required when transport is
daily_pstn): dial-in or dial-out.Twilio + Daily SIP mode (required when transport is
twilio_daily_sip): dial-in or dial-out.Enable audio recording.
Enable transcription logging.
Enable smart turn-taking. Defaults to
true for cascade mode, false for realtime.Enable video input (web bots only).
Enable video output (web bots only).
Generate Pipecat Cloud deployment files (Dockerfile, pcc-deploy.toml).
Enable Krisp noise cancellation (requires cloud deployment).
Enable observability.
Path to a JSON config file. Triggers non-interactive mode. CLI flags override file values.
Print the resolved configuration as JSON without generating any files.
Print all available service options as JSON and exit. Useful for CI scripts and coding agents that need to discover valid values at runtime.
Interactive Setup
When run without--name or --config, the CLI guides you through selecting:
- Bot type and client framework - Phone, web (Next.js, Vite, Vanilla JS), or mobile
- Transport provider - Daily, Twilio, Telnyx, Plivo, Exotel
- Pipeline mode - Cascade or Realtime
- AI services - STT, LLM, and TTS providers
- Optional features - Additional capabilities for your bot
- Deployment target - Local development or Pipecat Cloud
Non-Interactive Mode
When--name or --config is provided, all configuration is taken from CLI flags or a JSON config file with no interactive prompts. This is useful for automation, scripting, and coding agents.
All required fields must be specified or the command exits with a list of all missing/invalid fields.
Examples
Interactive Wizard
Non-Interactive (Cascade)
Non-Interactive (Realtime)
Multiple Transports
With React Client
Telephony
Discover Available Options
Dry Run
From Config File
project-config.json: