coff-cli
v0.4.3
Published
CLI tool for the coff.ai AI content creation platform
Maintainers
Readme
coff-cli
CLI tool for the coff.ai AI content creation platform. Generate images, videos, manage tasks, and automate content workflows from the terminal.
Installation
npm install -g coff-cliQuick Start
# 1. Login
coff login --api-key <your-api-key>
# 2. List available AI agents
coff agents list
# 3. Generate an image
coff generate flux-pro --prompt "A futuristic cityscape at sunset"
# 4. Track progress
coff tasks status <task-id> --watch
# 5. Download result
coff tasks download <task-id>Authentication
Browser Login (interactive)
coff loginOpens your browser for one-click authorization.
API Key (non-interactive)
coff login --api-key ak_live_...Create API keys at app.coff.ai/developer.
Environment Variable
export COFF_API_KEY=ak_live_...
coff agents listCommands
Content Generation
| Command | Description |
|---------|-------------|
| coff agents list | List AI agents |
| coff agents inspect <slug> | Agent details & parameters |
| coff generate <agent> --prompt "..." | Generate content |
| coff tasks list | List tasks |
| coff tasks status <id> [--watch] | Check/poll task status |
| coff tasks cancel <id> | Cancel task |
| coff tasks download <id> | Download output |
Podcast Studio
| Command | Description |
|---------|-------------|
| coff podcast list | List campaigns |
| coff podcast inspect <id> | Campaign details + episodes |
| coff podcast create --brand "X" --description "..." | Create campaign |
| coff podcast plan <id> | Generate episode plan with AI |
| coff podcast generate <id> [--all] | Generate episode videos |
| coff podcast regenerate <id> --episode <epId> | Regenerate specific episode |
| coff podcast describe-character --image <url> | AI character description |
| coff podcast update <id> [--brand] [--style] | Update campaign |
| coff podcast delete <id> [--yes] | Delete campaign |
Ad Studio
| Command | Description |
|---------|-------------|
| coff ads list | List campaigns |
| coff ads inspect <id> | Campaign details + variations |
| coff ads create --brand "X" --description "..." --formats ig-story | Create campaign |
| coff ads copy --brand "X" --description "..." [--languages en,tr] | Generate ad copy with AI |
| coff ads generate <id> --copy <file.json> | Generate ad images |
| coff ads regenerate <id> --variation <varId> | Regenerate variation |
| coff ads vary <id> --variation <varId> --formats landscape,story | Reformat to other sizes |
| coff ads video <id> --variation <varId> | Generate video ad from image |
| coff ads update <id> [--brand] [--formats] | Update campaign |
| coff ads delete <id> [--yes] | Delete campaign |
Filmmaking
| Command | Description |
|---------|-------------|
| coff film list | List projects |
| coff film inspect <id> | Project details + scenes |
| coff film create [--title "..."] | Create project |
| coff film update <id> [--title] [--public] | Update project |
| coff film delete <id> [--yes] | Delete project |
| coff film duplicate --source <editId> | Duplicate from public edit |
Workflows
| Command | Description |
|---------|-------------|
| coff workflows list | List workflows |
| coff workflows inspect <id> | Workflow details + nodes |
| coff workflows run <id> [--input key=value] | Client-side run |
| coff workflows execute <id> [--input key=value] [--watch] | Server-side execution + polling |
| coff workflows runs | List run history |
| coff workflows clone <id> | Clone a workflow |
Account & Utilities
| Command | Description |
|---------|-------------|
| coff health | Check API health |
| coff login | Authenticate |
| coff logout | Remove credentials |
| coff whoami | Show current user |
| coff user credits | Credit balance |
| coff user usage | Usage statistics |
| coff user keys list\|create\|revoke | Manage API keys |
| coff edits list | List generated content |
| coff edits publish\|unpublish\|delete <id> | Manage edits |
| coff config list\|get\|set | Configuration |
| coff reference [--json] | Full CLI reference (for AI agents) |
| coff init | Add CLI instructions to CLAUDE.md |
| coff completion bash\|zsh\|powershell | Shell completions |
Presets (one-shot recipes)
Preconfigured agent + prompt + params bundles for common single-image use cases. Skip the model picking and just say what you want.
| Command | Description |
|---------|-------------|
| coff preset list | List available presets |
| coff preset inspect <name> | Show preset template, vars, params |
| coff preset run <name> --subject "..." [--character <id>] [--var key=value] [--dry-run] | Render and dispatch |
Built-in presets: product-shot, lifestyle, pinterest-pin, hero-banner, social-square.
coff preset run pinterest-pin --subject "blue running shoes" --json
coff preset run lifestyle --subject "wireless earbuds" --var context="on a cafe table at sunrise" --jsonCharacters (reusable references)
Save a character once (one image + optional description) and reference it as input to any generation. Phase 1 supports coff generate --character <id>; podcast/film/ads wiring follows in Phase 2.
| Command | Description |
|---------|-------------|
| coff characters list [--scope mine\|public] [--tags ...] | List your characters or public ones |
| coff characters create --name X --image <path-or-url> [--auto-describe] [--description ...] [--tags ...] [--public] | Create a character. --image accepts a local file (auto-uploaded) or a hosted URL |
| coff characters inspect <id> | Get full details |
| coff characters update <id> [--name] [--description] [--image] [--tags] [--public\|--private] | Partial update |
| coff characters delete <id> [--yes] | Hard delete (existing edits keep their data, lose the FK back-reference) |
# Create + use in a generation
ID=$(coff characters create --name "Ada" --image ./ada.png --auto-describe --json | jq -r '.data.id')
coff generate flux-pro --prompt "in a futuristic city" --character $ID --jsonClaude / MCP Integration
| Command | Description |
|---------|-------------|
| coff mcp install [client] | Install the coff MCP server into Claude Code or Claude Desktop |
| coff mcp uninstall [client] | Remove the coff entry from a client config |
| coff mcp status | Show which clients have coff installed |
| coff mcp test [--client <name>] | Verify the MCP endpoint is reachable with current credentials |
Clients: claude-code, claude-desktop. Flags: --scope user|project (Claude Code only), --api-key, --yes.
# One-shot bootstrap
coff login
coff mcp install claude-code
npx @coff/skills installAfter installing on Claude Code, open /mcp to verify the connection. For Claude Desktop, fully quit and reopen the app.
Configuration
Config is stored at ~/.config/coff/. The default profile points to https://app.coff.ai. You can add custom profiles if needed:
coff config list # Show profiles
coff config set profiles.<name>.baseUrl <url> # Add or update a profile
coff config set activeProfile <name> # Switch active profileGlobal Flags
| Flag | Description |
|------|-------------|
| --json | Output as JSON |
| --profile <name> | Use a specific profile |
| --verbose | Show HTTP request details |
| --debug | Show full error stack traces |
| --yes | Skip confirmation prompts |
AI Agent Integration
coff-cli is built for AI agent automation. Any AI coding agent (Claude Code, Codex, Cursor, etc.) can discover all commands programmatically:
coff reference --jsonThis returns the full CLI schema — every command, subcommand, argument, and flag as structured JSON. Agents parse this to build and execute commands without hardcoded knowledge.
Run coff init to add a pointer to coff reference in your project's CLAUDE.md.
Automation Examples
Full podcast campaign:
coff podcast create --brand "MyBrand" --description "AI SaaS tool" --episodes 4 --json
coff podcast plan <campaignId> --json
coff podcast generate <campaignId> --all --json
coff tasks list --status processing --json # poll until done
coff podcast inspect <campaignId> --jsonAd campaign with AI copy:
coff ads create --brand "MyBrand" --description "AI SaaS" --formats ig-story --json
coff ads copy --brand "MyBrand" --description "AI SaaS" --variations 3 --languages en,tr --json > copy.json
coff ads generate <campaignId> --copy copy.json --json
coff ads video <campaignId> --variation <varId> --jsonShell Completions
# Bash
eval "$(coff completion bash)"
# Zsh
eval "$(coff completion zsh)"
# PowerShell
coff completion powershell | Out-String | Invoke-ExpressionLicense
MIT
