Documentation
OpenArt CLI
openart-pp-cli
Install
npx -y @mvanhorn/printing-press-library install openartInstalls the CLI binary and the agent skill for Claude Code, Codex, Cursor, Gemini CLI, Copilot, and more. Add --cli-only or --skill-only for one half. Requires Node.
Documentation
Spend your OpenArt credits programmatically. Generate videos with Seedance, Kling, Veo and more from the terminal.
Learn more at Openart.
Printed by @mvanhorn (Matt Van Horn).
Quick Start
1. Install
See Install above.
2. Authenticate
This CLI uses your browser session for authentication. Log in to in Chrome, then:
openart-pp-cli auth login --chrome
Requires a cookie extraction tool. Install one:
pip install pycookiecheat # Python (recommended)
brew install barnardb/cookies/cookies # Homebrew
When your session expires, run auth login --chrome again.
3. Verify Setup
openart-pp-cli doctor
This checks your configuration and credentials.
4. Try Your First Command
openart-pp-cli history mock-value
Unique Features
These capabilities aren't available in any other tool for this API.
Generation
-
video gen— Submit + poll + download videos in one command (Seedance, Kling, Veo, Wan, Grok Imagine).openart-pp-cli video gen --prompt "a phoenix" --model byte-plus-seedance-2 --duration 10 --count 2 --wait --download ./out/ -
image gen— Submit + poll + download images in one command. The Nano Banana family has two variants:nano-banana(50 credits, verified end-to-end) andnano-banana-pro(120 credits, higher quality, gated as experimental). There is nonano-banana-2— Pro is the upgrade path. The other image models (gpt-image-2,gpt-image-1-5,flux-2-pro,byte-plus-seedream-4,byte-plus-seedream-4-5,google-imagen-4,qwen-image-max) are also gated as--accept-experimental(their submit shapes were inferred from the JS bundle but not individually exercised live). Runopenart-pp-cli models list --family imageto see slugs, costs, and theexperimentalflag before picking.# verified, cheapest path openart-pp-cli image gen --prompt "donkey on Mercer Island" --model nano-banana --count 2 --wait --download ./out/ # higher-quality Pro variant — opt in with --accept-experimental openart-pp-cli image gen --prompt "donkey on Mercer Island" --model nano-banana-pro --count 2 --accept-experimental --wait --download ./out/ -
video gen --no-audio— Disables Seedance's auto-generated audio track. Workaround forOutputAudioSensitiveContentDetectedmoderation failures, and also halves the cost on Seedance 2.0 normal mode.openart-pp-cli video gen --prompt "..." --model seedance2 --no-audio --wait
Credit-aware spending
-
cost estimate— Project the credit cost of a generation before you spend.Use before any batch submit to avoid burning credits on a misconfigured run.
openart-pp-cli cost estimate --model byte-plus-seedance-2 --duration 10 --count 4 --agent -
credits burn— Aggregate credit spend by model, tool, day, or project.Answers 'where did my credits go?' so you can shift work to cheaper models.
openart-pp-cli credits burn --since 7d --by model --agent -
credits forecast— Project how many weeks of runway your current balance gives at recent burn.Surfaces 'this paid plan covers another 6 weeks' so you can decide when to top up or slow down.
openart-pp-cli credits forecast --agent
Cross-model leverage
-
models cheapest— Find the cheapest model that satisfies a target shape (type/duration/resolution/features).Lets agents try a prompt on Grok Imagine for 150 credits before committing to Seedance 2's 800.
openart-pp-cli models cheapest --type video --duration 10 --resolution 720p --agent -
compare— Run one prompt across multiple models in parallel; return a side-by-side report with cost and URLs.Decide which model deserves the long Seedance shoot before committing.
openart-pp-cli compare --prompt "a phoenix in molten gold" --models byte-plus-seedance-2,kling2-6,grok-imagine --duration 5 --agent
Prompt history as memory
-
prompts replay— Re-run a past generation, optionally on a different model, with parameter bumps.Iterate on past wins without retyping prompts; A/B test models cheaply.
openart-pp-cli prompts replay 3dVHEhDjyq82gLwBudaG --model byte-plus-seedance-2 --bump duration=10 --agent -
prompts find— Full-text search prior generations by prompt text with OpenArt-specific filters (model, audio, duration, starred, since).Recover the prompt you wrote three weeks ago instead of paying to recreate it.
openart-pp-cli prompts find "molten dragon" --model byte-plus-seedance-2 --has-audio --since 30d --agent -
prompts top— Rank past prompts by total credit spend over a window.Surface 'I have spent 8k credits iterating this dragon prompt' before iterating again.
openart-pp-cli prompts top --since 30d --by spend --agent -
stats— One-shot stats over the local media library: counts per type/model/period and rolling spend.A 'where am I' snapshot for both human users and agents starting a session.
openart-pp-cli stats --since 30d --agent
Usage
Run openart-pp-cli --help for the full command reference and flag list.
Commands
credits
Credit balance and ledger
openart-pp-cli credits logs- Get the credit ledger (CONSUME, RECHARGE, REFUND entries)
forms
Generation forms (submit a video, image, lipsync, motion-sync, etc.)
openart-pp-cli forms submit- Submit a generation. capability_id is ':' URL-encoded (e.g. 'byte-plus-seedance-2:text2video'). Returns historyId + resourceIds; poll resources/ until status='completed'.
history
Generation history (submissions)
openart-pp-cli history get- Get a generation history entry by ID. Includes capability_id and the original input.
media
Generation history and uploaded media
openart-pp-cli media get- Get a single resource by ID. Use this to poll a generation in progress until status='completed' and url is populated.openart-pp-cli media list- List generated and uploaded resources (videos, images, audio) in the active project
project
Projects within a workspace
openart-pp-cli project default- Get the default project ID for the active workspaceopenart-pp-cli project folders- List folders inside a projectopenart-pp-cli project list- List projects in the active workspace
prompt
Prompt utilities (auto-polish, reverse from image)
openart-pp-cli prompt enhance- Auto-polish a prompt (LLM rewrite for better generation)openart-pp-cli prompt from_image- Reverse: extract a suggested prompt from an image URL
templates
Saved generation templates
openart-pp-cli templates list- List saved templates
upload
Upload reference images for image-to-video and other ref-based forms
openart-pp-cli upload list- List uploaded reference imagesopenart-pp-cli upload persist- Persist an uploaded image as a referencable assetopenart-pp-cli upload sign- Get a signed upload URL for a new reference image
user
User identity, workspace, and credit balance
openart-pp-cli user current_workspace- Get the active workspace for this sessionopenart-pp-cli user info- Get current user identity, subscription, and credit balanceopenart-pp-cli user last_active- Heartbeat the active sessionopenart-pp-cli user settings- Get user settings
workspace
Workspaces and team membership
openart-pp-cli workspace list- List workspaces this user can accessopenart-pp-cli workspace members- List members of the active workspace
Output Formats
# Human-readable table (default in terminal, JSON when piped)
openart-pp-cli history mock-value
# JSON for scripting and agents
openart-pp-cli history mock-value --json
# Filter to specific fields
openart-pp-cli history mock-value --json --select id,name,status
# Dry run — show the request without sending
openart-pp-cli history mock-value --dry-run
# Agent mode — JSON + compact + no prompts in one flag
openart-pp-cli history mock-value --agent
Agent Usage
This CLI is designed for AI agent consumption:
- Non-interactive - never prompts, every input is a flag
- Pipeable -
--jsonoutput to stdout, errors to stderr - Filterable -
--select id,namereturns only fields you need - Previewable -
--dry-runshows the request without sending - Explicit retries - add
--idempotentto create retries when a no-op success is acceptable - Confirmable -
--yesfor explicit confirmation of destructive actions - Piped input - write commands can accept structured input when their help lists
--stdin - Offline-friendly - sync/search commands can use the local SQLite store when available
- Agent-safe by default - no colors or formatting unless
--human-friendlyis set
Exit codes: 0 success, 2 usage error, 3 not found, 4 auth error, 5 API error, 7 rate limited, 10 config error.
Health Check
openart-pp-cli doctor
Verifies configuration, credentials, and connectivity to the API.
Configuration
Config file: ~/.config/openart-pp-cli/config.toml
Static request headers can be configured under headers; per-command header overrides take precedence.
Troubleshooting
Authentication errors (exit code 4)
- Run
openart-pp-cli doctorto check credentials Not found errors (exit code 3) - Check the resource ID is correct
- Run the
listcommand to see available items
HTTP Transport
This CLI uses Chrome-compatible HTTP transport for browser-facing endpoints. It does not require a resident browser process for normal API calls.
Discovery Signals
This CLI was generated with browser-captured traffic analysis.
- Capture coverage: 0 API entries from 0 total network entries
- Reachability: browser_clearance_http (0% confidence)
Generated by CLI Printing Press
For agents: pass /documentation/openart/agents.md to install this CLI from a prompt.