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:
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).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.
Project name. Defaults to the target directory name; pass this to override it.
Bot type:
web or telephony. Optional — inferred from --transport when
omitted (telephony if any transport is a telephony provider, otherwise web).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 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.
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.Path to a JSON config file. Triggers non-interactive scaffolding. CLI flags
override file values.
Print the resolved scaffold configuration as JSON without writing 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.
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