- Node.js 20.6 or later — check with
node --version- Install via nvm (recommended) or nodejs.org
- API keys — you'll need at least an OpenAI key and a stock footage key to generate real videos (see API Keys below)
Use this path when you want Claude Code, Codex CLI, Cursor, or another repo-aware agent to use Content Machine from your own project.
npm install @45ck/content-machine
cat <<'JSON' | node ./node_modules/@45ck/content-machine/agent/run-tool.mjs install-skill-pack
{
"targetDir": ".content-machine",
"includeFlows": true,
"includeExamples": true,
"overwrite": false
}
JSONThis creates a materialized pack:
.content-machine/README.md— how humans and agents should use the pack.content-machine/AGENTS.md— agent operating rules to read or copy into root project instructions.content-machine/skills/— all shippedSKILL.mdfiles.content-machine/flows/— runnable flow manifests whenincludeFlowsis true
Tell the agent to read .content-machine/README.md,
.content-machine/AGENTS.md, and .content-machine/skills/ before
making videos. Full copy-paste prompt:
Agent Harness Install.
Install options:
| Option | Default | Use |
|---|---|---|
targetDir |
.content-machine |
Where to materialize skills, flows, README, and agent instructions |
packageName |
@45ck/content-machine |
Package or fork name used in generated runner commands |
includeFlows |
true |
Copy .flow manifests for multi-step runs |
includeExamples |
true |
Keep skill examples/request.json files |
overwrite |
false |
Refresh an existing materialized pack intentionally |
Use this path when contributing to Content Machine itself or running the source checkout directly.
git clone https://github.com/45ck/content-machine.git
cd content-machine
npm installVerify the primary surfaces:
cat <<'JSON' | node --import tsx scripts/harness/skill-catalog.ts
{}
JSONOr use the npm alias:
printf '{}\n' | npm run agent:skill-catalogIf you only need the thin compatibility shell, you can also run:
npx -y @45ck/content-machine doctorFor word-level timestamp accuracy and the best caption sync, install Whisper:
npm run cm -- doctorWhisper remains optional. The old cm setup whisper workflow is part of
the archived CLI control plane.
Some features (Ken Burns motion effects, gameplay transcoding) use ffmpeg. Install it if you plan to use motion strategies:
- macOS:
brew install ffmpeg - Ubuntu/Debian:
sudo apt install ffmpeg - Windows: download from ffmpeg.org and add to PATH
Set these as environment variables or in a .env file in your project directory.
| Key | What it's for | Get one at |
|---|---|---|
OPENAI_API_KEY |
Script generation (LLM) | platform.openai.com |
| Key | What it's for | Get one at |
|---|---|---|
PEXELS_API_KEY |
Stock video footage | pexels.com/api (free) |
GOOGLE_API_KEY |
AI-generated images (Nanobanana) + Gemini LLM | aistudio.google.com |
| Key | What it's for |
|---|---|
ANTHROPIC_API_KEY |
Use Claude as the LLM instead of OpenAI |
GEMINI_API_KEY |
Alternative to GOOGLE_API_KEY for Gemini |
PIXABAY_API_KEY |
Alternative stock footage provider |
TAVILY_API_KEY |
Web search for research-driven scripts |
BRAVE_SEARCH_API_KEY |
Alternative web search provider |
ELEVENLABS_API_KEY |
Premium TTS voices |
OPENAI_API_KEY=sk-...
PEXELS_API_KEY=...Full list of environment variables: docs/reference/ENVIRONMENT-VARIABLES.md
Run the built-in diagnostics:
npm run cm -- doctorThis checks for Node.js version, API key presence, Whisper installation, and other dependencies.
If you want the repo-side JSON entrypoint instead:
printf '{"strict":false}\n' | npm run agent:doctor-report- Agent Quickstart — primary path
- Configuration — customize defaults
- Examples — real-world workflows