pipecat init initializes a new Pipecat app. It’s the single entry point for building with Pipecat.
It gives you a choice about how to scaffold your project:
- Using a coding agent like Claude Code or Codex
- Using an interactive wizard
AGENTS.md and CLAUDE.md are provided so your favorite coding agent works well with Pipecat.
Usage:
string
Directory to initialize.
pipecat init my-bot targets ./my-bot; pipecat init . targets the current directory. With no argument and no scaffold
options, the CLI prompts for a directory. When scaffold options are present,
the bot is generated in-place in this directory (the project name is
derived from it); a missing TARGET_DIR then defaults to the current
directory. The special value quickstart (pipecat init quickstart)
scaffolds the canned quickstart bot into ./pipecat-quickstart (see
Quickstart Preset).boolean
default:"false"
Overwrite existing
AGENTS.md, CLAUDE.md, and GETTING_STARTED.md files. By
default existing guide files are kept, so your edits are never clobbered.--config) scaffolds a bot non-interactively, in-place in TARGET_DIR.
string
Project name. Defaults to the target directory name; pass this to override it.
string
Bot type:
web or telephony. Optional — inferred from --transport when
omitted (telephony if any transport is a telephony provider, otherwise web).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.
boolean
default:"false"
Make the generated bot eval-ready: add an
eval transport entry and starter
scenarios in server/evals/, plus the dependencies to run them. See the
evals docs for the verification workflow.string
Path to a JSON config file. Triggers non-interactive scaffolding. CLI flags
override file values.
boolean
default:"false"
Print the resolved scaffold configuration as JSON without writing 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.
Behavior
- Existing guide files are kept. Re-running
pipecat initnever overwrites an existingAGENTS.md,CLAUDE.md, orGETTING_STARTED.md, so your edits are safe. If a guide was written by an older Pipecat version, an interactive run offers to refresh it on the spot; a non-interactive run prints how. --overwrite-guiderefreshes them, overwriting the existing guide files with the current templates (for example, after upgrading Pipecat).GETTING_STARTED.mdis written on the coding-agent path only, not when scaffolding a bot.
Scaffolding a Bot
pipecat init scaffolds a complete project — bot.py, dependencies, config, and an optional client — in-place in the target directory, so the coding-agent guide and a runnable bot live together.
Interactive
With no scaffold options, an interactivepipecat init asks whether to build with a coding agent or scaffold a bot now. Choosing to scaffold runs a wizard for bot type, transport, AI services, and deployment options.
Non-Interactive
Passing any scaffold option (or--config) skips the prompts and builds the project from your flags and/or a config file — the path coding agents and automation use. The typical agent loop is:
--transport when omitted. Run pipecat init --list-options to discover valid service and transport values.
Quickstart Preset
./pipecat-quickstart and writes AGENTS.md + CLAUDE.md there (the generated README carries the Context Hub setup). It’s the fastest way to a running project that your coding agent can work with.
Examples
Initialize for a coding agent
Scaffold in place, non-interactively
web here), so --bot-type is optional.
Realtime bot
Multiple transports
With a React client
Telephony
Eval-ready bot
Refresh the guide files
Scaffold the quickstart project
Discover available options
Dry run
From a config file
project-config.json:
Generated Project Structure
README.md includes a “Building with an AI coding agent” section with Pipecat Context Hub setup, so a scaffolded project is ready to extend with Claude Code or Codex.
Next Steps
Build Your Next Bot
The full flow: initialize a project, then build with a coding agent or
scaffold a bot