Skip to main content
Create a new Pipecat project with guided setup for bot type, transport, AI services, and deployment options. Supports both an interactive wizard and a fully non-interactive mode for automation. Usage:
Options:
string
Output directory where files will be saved. Defaults to current directory.
string
Project name. Providing this flag triggers non-interactive mode.
string
Bot type: web or telephony.
string
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.
string
Pipeline mode: cascade or realtime.
string
Speech-to-Text service (cascade mode). e.g. deepgram_stt, openai_stt.
string
Language model service (cascade mode). e.g. openai_llm, anthropic_llm.
string
Text-to-Speech service (cascade mode). e.g. cartesia_tts, elevenlabs_tts.
string
Realtime service (realtime mode). e.g. openai_realtime, gemini_live_realtime.
string
Video avatar service (web bots only). e.g. heygen_video, tavus_video, simli_video.
string
Client framework (web bots only): react, vanilla, or none.
string
Client dev server (when using --client-framework react): vite or nextjs.
string
Daily PSTN mode (required when transport is daily_pstn): dial-in or dial-out.
string
Twilio + Daily SIP mode (required when transport is twilio_daily_sip): dial-in or dial-out.
boolean
default:"false"
Enable audio recording.
boolean
default:"false"
Enable transcription logging.
boolean
default:"false"
Enable video input (web bots only).
boolean
default:"false"
Enable video output (web bots only).
boolean
default:"true"
Generate Pipecat Cloud deployment files (Dockerfile, pcc-deploy.toml).
boolean
default:"false"
Enable Krisp noise cancellation (requires cloud deployment).
boolean
default:"false"
Enable observability.
string
Path to a JSON config file. Triggers non-interactive mode. CLI flags override file values.
boolean
default:"false"
Print the resolved configuration as JSON without generating any files.
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.

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

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

Dry Run

From Config File

Sample project-config.json:
CLI flags override any values in the file, so you can use a base config and customize per-run:

Specify Output Directory

Generated Project Structure