PixVerse CLI — Master Skill
What is PixVerse CLI
PixVerse CLI is the official command-line interface for PixVerse — an AI-powered creative platform for generating videos, images, and audio (speech & music). It is essentially a UI-free version of the PixVerse website: all features, models, and parameters are aligned with the web experience at app.pixverse.ai.
It is designed for:
- AI agents (primary) — structured JSON output, deterministic exit codes, and pipeable commands for autonomous workflows (Claude Code, Cursor, Codex, custom agents)
- Developers & power users — scriptable video/image generation without leaving the terminal
- Automation — batch processing, CI/CD pipelines, content production workflows
Key facts:
- Generating content consumes credits from the user's PixVerse account (same pricing as the website)
- Only subscribed users can use the CLI — see subscription plans
- All output can be returned as structured JSON via
--json flag
- English only
Installation
npm install -g pixverse
Or run without installing:
npx pixverse
Verify:
pixverse --version
Requires Node.js >= 20.
Quick Start
# 1. Install
npm install -g pixverse
# 2. Authenticate (OAuth device flow — opens browser)
pixverse auth login --json
# 3. Create a video (waits for completion by default)
RESULT=$(pixverse create video --prompt "A cat astronaut floating in space" --json)
VIDEO_ID=$(echo "$RESULT" | jq -r '.video_id')
# 4. Download the result
pixverse asset download $VIDEO_ID --json
To skip waiting and poll later:
RESULT=$(pixverse create video --prompt "A cat astronaut floating in space" --no-wait --json)
VIDEO_ID=$(echo "$RESULT" | jq -r '.video_id')
pixverse task wait $VIDEO_ID --json
pixverse asset download $VIDEO_ID --json
Windows users: For a full PowerShell pipeline example (T2I → I2V → upscale → download), see skills/examples/windows/powershell-text-to-video.ps1.
Authentication
PixVerse CLI uses OAuth device flow — no need to manually copy tokens:
- Run
pixverse auth login --json
- The CLI prints an authorization URL
- Open the URL in your browser and authorize
- The token is stored automatically in
~/.pixverse/
Details:
- Token is valid for 30 days
- CLI sessions are independent from your web/app sessions
- If token expires (exit code 3), re-run
pixverse auth login --json
- Run
pixverse auth status --json to check login state and credits
Capabilities Overview
| I want to... |
Use skill |
| Create a video from text or image |
pixverse:create-video |
| Enhance a video prompt for better results (V6 / generic) |
pixverse:prompt-enhance |
| Optimize a prompt for Seedance 2.0 (auto-triggers when prompt has clear optimization headroom; skipped when prompt is already clean) |
pixverse:seedance-prompt-optimize |
| Edit video content with AI (replace subjects, swap outfits, change backgrounds) |
pixverse:modify-video |
| Animate a character with motion from a reference video |
pixverse:motion-control |
| Create or edit an image |
pixverse:create-and-edit-image |
| Generate speech / voiceover from text (TTS) |
pixverse:create-voice |
| Generate music or a soundtrack from a prompt |
pixverse:create-music |
| Extend or upscale a video |
pixverse:post-process-video |
| Create transition animation between frames |
pixverse:transition |
| Check generation progress |
pixverse:task-management |
| Browse, download, upload, or delete assets |
pixverse:asset-management |
| Organize assets into named folders |
pixverse:saved-folders |
| Set up auth or check account |
pixverse:auth-and-account |
| Browse and create from effect templates |
pixverse:template |
| Manage workspaces (list, switch, status) |
pixverse:workspace |
| Generate Mondo-style posters and covers |
pixverse:mondo-poster-design |
| Design and reuse persistent characters across a story |
pixverse:character-design |
| Design and reuse persistent key items / props / objects |
pixverse:item-design |
Looking up models or parameters? Don't wait until you're generating — read the relevant capabilities file directly:
- Video models & constraints →
skills/capabilities/create-video.md (Model Reference section)
- Image models & constraints →
skills/capabilities/create-and-edit-image.md (Model Reference section)
Model Quick Reference
Use this to pick a model before diving into a sub-skill.
Video Models (pixverse create video --model <value>)
| Model |
--model value |
Max Quality |
Duration |
| PixVerse V6 (default) |
v6 |
1080p |
1–15s |
| PixVerse C1 |
pixverse-c1 |
1080p |
1–15s |
| PixVerse v5.6 |
v5.6 |
1080p |
1–10s |
| Sora 2 |
sora-2 |
720p |
4 8 12s |
| Sora 2 Pro |
sora-2-pro |
1080p |
4 8 12s |
| Veo 3.1 Standard |
veo-3.1-standard |
1080p |
4 6 8s |
| Veo 3.1 Fast |
veo-3.1-fast |
1080p |
4 6 8s |
| Veo 3.1 Lite |
veo-3.1-lite |
1080p |
4–6s |
| Grok Imagine |
grok-imagine |
720p |
1–15s |
| Grok Imagine 1.5 (image-to-video only) |
grok-imagine-1.5 |
720p |
1–15s |
| Happy Horse 1.0 |
happyhorse-1.0 |
1080p |
3–15s |
| Seedance 2.0 Standard |
seedance-2.0-standard |
2160p |
4–15s |
| Seedance 2.0 Fast |
seedance-2.0-fast |
720p |
4–15s |
| Kling O3 Pro |
kling-o3-pro |
720p |
3–15s |
| Kling O3 Standard |
kling-o3-standard |
720p |
3–15s |
| Kling 3.0 Pro |
kling-3.0-pro |
720p |
3–15s |
| Kling 3.0 Standard |
kling-3.0-standard |
720p |
3–15s |
Image Models (pixverse create image --model <value>)
| Model |
--model value |
Max Quality |
| GPT Image 2 (default) |
gpt-image-2.0 |
2160p |
| Qwen Image |
qwen-image |
1080p |
| Seedream 5.0 Lite |
seedream-5.0-lite |
2160p |
| Seedream 4.5 |
seedream-4.5 |
2160p |
| Seedream 4.0 |
seedream-4.0 |
2160p |
| Gemini 2.5 Flash (Nanobanana) |
gemini-2.5-flash |
1080p |
| Gemini 3.0 (Nano Banana Pro) |
gemini-3.0 |
2160p |
| Gemini 3.1 Flash (Nano Banana 2) |
gemini-3.1-flash |
2160p |
| Kling Image O3 |
kling-image-o3 |
2160p |
| Kling Image V3 |
kling-image-v3 |
1440p |
Voice / TTS Models (pixverse create voice --model <value>)
| Model |
--model value |
Provider |
Max characters |
| MiniMax Speech 2.8 HD (default) |
speech-2.8-hd |
MiniMax |
10,000 |
| MiniMax Speech 2.8 Turbo |
speech-2.8-turbo |
MiniMax |
10,000 |
| Eleven Multilingual v2 |
eleven-multilingual-v2 |
ElevenLabs |
10,000 |
| Eleven v3 |
eleven-v3 |
ElevenLabs |
5,000 |
| Eleven Turbo v2.5 |
eleven-turbo-v2.5 |
ElevenLabs |
40,000 |
Music Models (pixverse create music --model <value>)
| Model |
--model value |
Provider |
Lyrics |
Image ref |
| MiniMax Music 2.6 (default) |
music-2.6 |
MiniMax |
Yes |
No |
| ElevenLabs Music |
music-v1 |
ElevenLabs |
Yes |
No |
| Google Lyria 3 Pro |
lyria-3-pro-preview |
Google |
No (use prompt) |
Up to 10 |
For full parameter constraints (aspect ratios, quality per model, mode support, voice/music flags), read the capabilities files listed above.
Workflow Skills
| I want to... |
Use skill |
| Generate video from text end-to-end |
pixverse:text-to-video-pipeline |
| Animate an image into video |
pixverse:image-to-video-pipeline |
| Generate image then animate it |
pixverse:text-to-image-to-video |
| Iteratively edit an image |
pixverse:image-editing-pipeline |
| Modify a video and enhance it |
pixverse:modify-video-pipeline |
| Full video production (create + extend + audio + upscale) |
pixverse:video-production |
| Animate a character with a motion reference |
pixverse:motion-control-pipeline |
| Create multiple items in parallel |
pixverse:batch-creation |
| Generate a Mondo-style poster end-to-end |
pixverse:mondo-poster-pipeline |
| Generate poster then animate into video |
pixverse:mondo-poster-to-video-pipeline |
| Storyboard → 4-shot video from a single prompt |
pixverse:storyboard-to-video |
Reference Materials
Located in skills/references/. These are read-only knowledge bases that capabilities and workflows draw from — no CLI commands, just curated design knowledge.
| Reference |
Path |
Content |
| Mondo Artist Styles |
references/mondo-poster/artist-styles.md |
37 artist styles with prompt keywords across 7 categories |
| Mondo Composition Patterns |
references/mondo-poster/composition-patterns.md |
8 composition techniques (negative space, silhouette, geometric framing, etc.) |
| Mondo Genre Templates |
references/mondo-poster/genre-templates.md |
Genre-specific prompt templates for film, book covers, and album covers |
All Commands
| Command |
Description |
auth login |
Login via browser (OAuth device flow) |
auth status |
Check authentication status |
auth logout |
Remove stored token |
create video |
Text-to-video or image-to-video |
create image |
Text-to-image or image-to-image |
create transition |
Create transitions between keyframes |
create voice |
Generate speech audio from text (TTS) |
create music |
Generate music audio from a prompt |
create modify |
Modify video content with a prompt at a keyframe |
create extend |
Extend video duration |
create upscale |
Upscale video resolution |
create reference |
Generate video with character references |
create motion-control |
Generate video with character image + motion reference video |
create template |
Create video or image from an effect template |
template categories |
List template categories |
template list |
Browse templates (with optional category filter) |
template search |
Search templates by keyword |
template info |
Get template details |
voice models |
List voice/TTS providers, models, and languages |
voice presets |
List preset voices |
music models |
List music providers and models |
task status |
Check task status |
task wait |
Wait for task completion |
asset list |
List generated assets (with --source and --off-peak filters) |
asset info |
Get asset details |
asset download |
Download a generated asset |
asset upload |
Upload a local file or HTTPS URL to asset library |
asset delete |
Delete an asset |
saved list |
List saved folders |
saved items |
List items in a saved folder |
saved new |
Create a new saved folder |
saved rename |
Rename a saved folder |
saved add |
Add assets to a saved folder |
saved remove |
Remove assets from a saved folder |
saved delete |
Delete a saved folder |
account info |
View account info and credits |
account usage |
View credit usage records |
account slots |
Show current concurrent generation slots (image / video) |
workspace list |
List all workspaces |
workspace status |
Show currently active workspace |
workspace switch |
Switch to a different workspace |
workspace manage |
Open workspace management in browser |
subscribe |
Open subscription page in browser |
config list |
List all config values |
config get |
Get a config value |
config set |
Set a config value |
config reset |
Reset config to defaults |
config path |
Show config file path |
config defaults show |
Show creation defaults (all modes or a specific mode) |
config defaults set |
Set a per-mode creation default value |
config defaults reset |
Reset creation defaults to built-in values |
update |
Update the CLI to the latest version (npm i -g pixverse@latest) |
Global Flags
| Flag |
Description |
--json or -p |
Pure JSON output to stdout (required for agent use) |
--workspace-id <id> |
Per-command workspace override (0 = personal). Not persisted — only affects the single invocation. |
--trace-id <id> |
Attach a caller-supplied UUIDv4 to all API requests in this invocation (for end-to-end tracing). Must be a valid UUIDv4. |
-V, --version |
Show CLI version |
-h, --help |
Show help for any command |
Every command supports --json. All examples in skills use --json for machine-readable output.
Common creation conventions (apply across create … commands):
- for stdin — text inputs (--prompt, --text, --lyrics) accept a literal string, a local file path, or - to read from stdin. Pipe long or multi-line prompts: cat prompt.txt | pixverse create video --prompt - --json.
--idempotency-key <key> — supply a stable key for safe retries; the backend dedupes by key, so a repeated submission returns the original task without re-charging credits.
Interactive mode: Run any creation command without arguments (and without --json) to enter the interactive wizard.
Output Contract
JSON mode (--json)
- stdout: Pure JSON only. No spinners, no progress text, no decorative output.
- stderr: All errors, warnings, and diagnostic messages — including error payloads in
--json mode (as of CLI v1.1.4: pixverse task … and pixverse template … errors are also routed to stderr, preserving the stdout-is-success contract).
- Parse stdout with
jq or any JSON parser.
Universal JSON fields
All --json object payloads (both success on stdout and errors on stderr) automatically include:
| Field |
When present |
Meaning |
trace_id |
Whenever the command made an HTTP request and the API returned an Ai-Trace-Id header |
Upstream request id — include this when reporting bugs. Array / primitive payloads are not augmented. |
code |
Error payloads from API failures |
Backend error code (from ApiError). Pair with trace_id for support. |
error |
Error payloads |
Human-readable error message. |
cost_credits |
create … success payloads, only when backend returns a positive integer |
Credits charged for this creation request. Absent when the API returns 0, null, or omits the field. |
In interactive (non-JSON) text mode, cost_credits surfaces as Cost: N credits after Submitted!.
Exit Codes
| Code |
Name |
Meaning |
Recovery |
| 0 |
SUCCESS |
Completed |
— |
| 1 |
GENERAL_ERROR |
Unexpected error |
Check stderr for details |
| 2 |
TIMEOUT |
Polling timed out |
Increase --timeout or use --no-wait then pixverse task wait |
| 3 |
AUTH_EXPIRED |
Token invalid/expired |
Re-run pixverse auth login --json |
| 4 |
CREDIT_INSUFFICIENT |
Not enough credits |
Check pixverse account info --json, wait for daily reset or upgrade |
| 5 |
GENERATION_FAILED |
Generation failed/rejected |
Check prompt, try different parameters |
| 6 |
VALIDATION_ERROR |
Invalid parameters |
Check flag values against enums in each skill |
Workspace error auto-recovery
When a request fails because the active workspace is no longer accessible (e.g. user was removed from a team), the CLI automatically resets to personal workspace (ID=0) and asks you to retry. This does not trigger when --workspace-id override is active or the failing request is a workspace management command.
Error handling pattern
RESULT=$(pixverse create video --prompt "A sunset over mountains" --json 2>/tmp/pv_err)
EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]; then
VIDEO_ID=$(echo "$RESULT" | jq -r '.video_id')
echo "Success: $VIDEO_ID"
pixverse asset download $VIDEO_ID --json
elif [ $EXIT_CODE -eq 3 ]; then
echo "Token expired, re-authenticating..."
pixverse auth login --json
elif [ $EXIT_CODE -eq 4 ]; then
echo "Not enough credits"
pixverse account info --json | jq '.credits'
elif [ $EXIT_CODE -eq 5 ]; then
echo "Generation failed — check prompt or parameters"
cat /tmp/pv_err
else
echo "Error (code $EXIT_CODE)"
cat /tmp/pv_err
fi
Source: PixVerseAI/skills — distributed by TomeVault.
1---2name: pixverse-ai-image-and-video-generator3description: PixVerse CLI — generate AI videos, images, and audio from the command line. Supports PixVerse V6, Veo, Sora, Grok, Seedance, Kling, Happy Horse video models; Nano Banana (Gemini), Seedream, Qwen, Kling, GPT Image image models; MiniMax / ElevenLabs voice (TTS) and MiniMax / ElevenLabs / Google Lyria music models; and PixVerse's rich effect template library. Start here. Use when this capability is needed.4---56# PixVerse CLI — Master Skill78## What is PixVerse CLI910PixVerse CLI is the official command-line interface for [PixVerse](https://pixverse.ai) — an AI-powered creative platform for generating videos, images, and audio (speech & music). It is essentially **a UI-free version of the PixVerse website**: all features, models, and parameters are aligned with the web experience at [app.pixverse.ai](https://app.pixverse.ai).1112It is designed for:13- **AI agents** (primary) — structured JSON output, deterministic exit codes, and pipeable commands for autonomous workflows (Claude Code, Cursor, Codex, custom agents)14- **Developers & power users** — scriptable video/image generation without leaving the terminal15- **Automation** — batch processing, CI/CD pipelines, content production workflows1617Key facts:18- Generating content **consumes credits** from the user's PixVerse account (same pricing as the website)19- **Only subscribed users** can use the CLI — see [subscription plans](https://app.pixverse.ai/subscribe)20- All output can be returned as structured JSON via `--json` flag21- English only2223---2425## Installation2627```bash28npm install -g pixverse29```3031Or run without installing:32```bash33npx pixverse34```3536Verify:37```bash38pixverse --version39```4041**Requires Node.js >= 20.**4243---4445## Quick Start4647```bash48# 1. Install49npm install -g pixverse5051# 2. Authenticate (OAuth device flow — opens browser)52pixverse auth login --json5354# 3. Create a video (waits for completion by default)55RESULT=$(pixverse create video --prompt "A cat astronaut floating in space" --json)56VIDEO_ID=$(echo "$RESULT" | jq -r '.video_id')5758# 4. Download the result59pixverse asset download $VIDEO_ID --json60```6162To skip waiting and poll later:63```bash64RESULT=$(pixverse create video --prompt "A cat astronaut floating in space" --no-wait --json)65VIDEO_ID=$(echo "$RESULT" | jq -r '.video_id')66pixverse task wait $VIDEO_ID --json67pixverse asset download $VIDEO_ID --json68```6970> **Windows users**: For a full PowerShell pipeline example (T2I → I2V → upscale → download), see `skills/examples/windows/powershell-text-to-video.ps1`.7172---7374## Authentication7576PixVerse CLI uses **OAuth device flow** — no need to manually copy tokens:77781. Run `pixverse auth login --json`792. The CLI prints an authorization URL803. Open the URL in your browser and authorize814. The token is stored automatically in `~/.pixverse/`8283Details:84- Token is valid for 30 days85- CLI sessions are independent from your web/app sessions86- If token expires (exit code 3), re-run `pixverse auth login --json`87- Run `pixverse auth status --json` to check login state and credits8889---9091## Capabilities Overview9293| I want to... | Use skill |94|:---|:---|95| Create a video from text or image | `pixverse:create-video` |96| Enhance a video prompt for better results (V6 / generic) | `pixverse:prompt-enhance` |97| Optimize a prompt for Seedance 2.0 (auto-triggers when prompt has clear optimization headroom; skipped when prompt is already clean) | `pixverse:seedance-prompt-optimize` |98| Edit video content with AI (replace subjects, swap outfits, change backgrounds) | `pixverse:modify-video` |99| Animate a character with motion from a reference video | `pixverse:motion-control` |100| Create or edit an image | `pixverse:create-and-edit-image` |101| Generate speech / voiceover from text (TTS) | `pixverse:create-voice` |102| Generate music or a soundtrack from a prompt | `pixverse:create-music` |103| Extend or upscale a video | `pixverse:post-process-video` |104| Create transition animation between frames | `pixverse:transition` |105| Check generation progress | `pixverse:task-management` |106| Browse, download, upload, or delete assets | `pixverse:asset-management` |107| Organize assets into named folders | `pixverse:saved-folders` |108| Set up auth or check account | `pixverse:auth-and-account` |109| Browse and create from effect templates | `pixverse:template` |110| Manage workspaces (list, switch, status) | `pixverse:workspace` |111| Generate Mondo-style posters and covers | `pixverse:mondo-poster-design` |112| Design and reuse persistent characters across a story | `pixverse:character-design` |113| Design and reuse persistent key items / props / objects | `pixverse:item-design` |114115> **Looking up models or parameters?** Don't wait until you're generating — read the relevant capabilities file directly:116> - Video models & constraints → `skills/capabilities/create-video.md` (Model Reference section)117> - Image models & constraints → `skills/capabilities/create-and-edit-image.md` (Model Reference section)118119---120121## Model Quick Reference122123Use this to pick a model before diving into a sub-skill.124125### Video Models (`pixverse create video --model <value>`)126127| Model | `--model` value | Max Quality | Duration |128|:---|:---|:---|:---|129| PixVerse V6 *(default)* | `v6` | `1080p` | `1`–`15`s |130| PixVerse C1 | `pixverse-c1` | `1080p` | `1`–`15`s |131| PixVerse v5.6 | `v5.6` | `1080p` | `1`–`10`s |132| Sora 2 | `sora-2` | `720p` | `4` `8` `12`s |133| Sora 2 Pro | `sora-2-pro` | `1080p` | `4` `8` `12`s |134| Veo 3.1 Standard | `veo-3.1-standard` | `1080p` | `4` `6` `8`s |135| Veo 3.1 Fast | `veo-3.1-fast` | `1080p` | `4` `6` `8`s |136| Veo 3.1 Lite | `veo-3.1-lite` | `1080p` | `4`–`6`s |137| Grok Imagine | `grok-imagine` | `720p` | `1`–`15`s |138| Grok Imagine 1.5 *(image-to-video only)* | `grok-imagine-1.5` | `720p` | `1`–`15`s |139| Happy Horse 1.0 | `happyhorse-1.0` | `1080p` | `3`–`15`s |140| Seedance 2.0 Standard | `seedance-2.0-standard` | `2160p` | `4`–`15`s |141| Seedance 2.0 Fast | `seedance-2.0-fast` | `720p` | `4`–`15`s |142| Kling O3 Pro | `kling-o3-pro` | `720p` | `3`–`15`s |143| Kling O3 Standard | `kling-o3-standard` | `720p` | `3`–`15`s |144| Kling 3.0 Pro | `kling-3.0-pro` | `720p` | `3`–`15`s |145| Kling 3.0 Standard | `kling-3.0-standard` | `720p` | `3`–`15`s |146147### Image Models (`pixverse create image --model <value>`)148149| Model | `--model` value | Max Quality |150|:---|:---|:---|151| GPT Image 2 *(default)* | `gpt-image-2.0` | `2160p` |152| Qwen Image | `qwen-image` | `1080p` |153| Seedream 5.0 Lite | `seedream-5.0-lite` | `2160p` |154| Seedream 4.5 | `seedream-4.5` | `2160p` |155| Seedream 4.0 | `seedream-4.0` | `2160p` |156| Gemini 2.5 Flash (Nanobanana) | `gemini-2.5-flash` | `1080p` |157| Gemini 3.0 (Nano Banana Pro) | `gemini-3.0` | `2160p` |158| Gemini 3.1 Flash (Nano Banana 2) | `gemini-3.1-flash` | `2160p` |159| Kling Image O3 | `kling-image-o3` | `2160p` |160| Kling Image V3 | `kling-image-v3` | `1440p` |161162### Voice / TTS Models (`pixverse create voice --model <value>`)163164| Model | `--model` value | Provider | Max characters |165|:---|:---|:---|---:|166| MiniMax Speech 2.8 HD *(default)* | `speech-2.8-hd` | MiniMax | 10,000 |167| MiniMax Speech 2.8 Turbo | `speech-2.8-turbo` | MiniMax | 10,000 |168| Eleven Multilingual v2 | `eleven-multilingual-v2` | ElevenLabs | 10,000 |169| Eleven v3 | `eleven-v3` | ElevenLabs | 5,000 |170| Eleven Turbo v2.5 | `eleven-turbo-v2.5` | ElevenLabs | 40,000 |171172### Music Models (`pixverse create music --model <value>`)173174| Model | `--model` value | Provider | Lyrics | Image ref |175|:---|:---|:---|:---|:---|176| MiniMax Music 2.6 *(default)* | `music-2.6` | MiniMax | Yes | No |177| ElevenLabs Music | `music-v1` | ElevenLabs | Yes | No |178| Google Lyria 3 Pro | `lyria-3-pro-preview` | Google | No (use prompt) | Up to 10 |179180For full parameter constraints (aspect ratios, quality per model, mode support, voice/music flags), read the capabilities files listed above.181182---183184## Workflow Skills185186| I want to... | Use skill |187|:---|:---|188| Generate video from text end-to-end | `pixverse:text-to-video-pipeline` |189| Animate an image into video | `pixverse:image-to-video-pipeline` |190| Generate image then animate it | `pixverse:text-to-image-to-video` |191| Iteratively edit an image | `pixverse:image-editing-pipeline` |192| Modify a video and enhance it | `pixverse:modify-video-pipeline` |193| Full video production (create + extend + audio + upscale) | `pixverse:video-production` |194| Animate a character with a motion reference | `pixverse:motion-control-pipeline` |195| Create multiple items in parallel | `pixverse:batch-creation` |196| Generate a Mondo-style poster end-to-end | `pixverse:mondo-poster-pipeline` |197| Generate poster then animate into video | `pixverse:mondo-poster-to-video-pipeline` |198| Storyboard → 4-shot video from a single prompt | `pixverse:storyboard-to-video` |199200---201202## Reference Materials203204Located in `skills/references/`. These are read-only knowledge bases that capabilities and workflows draw from — no CLI commands, just curated design knowledge.205206| Reference | Path | Content |207|:---|:---|:---|208| Mondo Artist Styles | `references/mondo-poster/artist-styles.md` | 37 artist styles with prompt keywords across 7 categories |209| Mondo Composition Patterns | `references/mondo-poster/composition-patterns.md` | 8 composition techniques (negative space, silhouette, geometric framing, etc.) |210| Mondo Genre Templates | `references/mondo-poster/genre-templates.md` | Genre-specific prompt templates for film, book covers, and album covers |211212---213214## All Commands215216| Command | Description |217|:---|:---|218| `auth login` | Login via browser (OAuth device flow) |219| `auth status` | Check authentication status |220| `auth logout` | Remove stored token |221| `create video` | Text-to-video or image-to-video |222| `create image` | Text-to-image or image-to-image |223| `create transition` | Create transitions between keyframes |224| `create voice` | Generate speech audio from text (TTS) |225| `create music` | Generate music audio from a prompt |226| `create modify` | Modify video content with a prompt at a keyframe |227| `create extend` | Extend video duration |228| `create upscale` | Upscale video resolution |229| `create reference` | Generate video with character references |230| `create motion-control` | Generate video with character image + motion reference video |231| `create template` | Create video or image from an effect template |232| `template categories` | List template categories |233| `template list` | Browse templates (with optional category filter) |234| `template search` | Search templates by keyword |235| `template info` | Get template details |236| `voice models` | List voice/TTS providers, models, and languages |237| `voice presets` | List preset voices |238| `music models` | List music providers and models |239| `task status` | Check task status |240| `task wait` | Wait for task completion |241| `asset list` | List generated assets (with `--source` and `--off-peak` filters) |242| `asset info` | Get asset details |243| `asset download` | Download a generated asset |244| `asset upload` | Upload a local file or HTTPS URL to asset library |245| `asset delete` | Delete an asset |246| `saved list` | List saved folders |247| `saved items` | List items in a saved folder |248| `saved new` | Create a new saved folder |249| `saved rename` | Rename a saved folder |250| `saved add` | Add assets to a saved folder |251| `saved remove` | Remove assets from a saved folder |252| `saved delete` | Delete a saved folder |253| `account info` | View account info and credits |254| `account usage` | View credit usage records |255| `account slots` | Show current concurrent generation slots (image / video) |256| `workspace list` | List all workspaces |257| `workspace status` | Show currently active workspace |258| `workspace switch` | Switch to a different workspace |259| `workspace manage` | Open workspace management in browser |260| `subscribe` | Open subscription page in browser |261| `config list` | List all config values |262| `config get` | Get a config value |263| `config set` | Set a config value |264| `config reset` | Reset config to defaults |265| `config path` | Show config file path |266| `config defaults show` | Show creation defaults (all modes or a specific mode) |267| `config defaults set` | Set a per-mode creation default value |268| `config defaults reset` | Reset creation defaults to built-in values |269| `update` | Update the CLI to the latest version (`npm i -g pixverse@latest`) |270271---272273## Global Flags274275| Flag | Description |276|:---|:---|277| `--json` or `-p` | Pure JSON output to stdout (required for agent use) |278| `--workspace-id <id>` | Per-command workspace override (0 = personal). Not persisted — only affects the single invocation. |279| `--trace-id <id>` | Attach a caller-supplied UUIDv4 to all API requests in this invocation (for end-to-end tracing). Must be a valid UUIDv4. |280| `-V, --version` | Show CLI version |281| `-h, --help` | Show help for any command |282283Every command supports `--json`. All examples in skills use `--json` for machine-readable output.284285**Common creation conventions** (apply across `create …` commands):286- **`-` for stdin** — text inputs (`--prompt`, `--text`, `--lyrics`) accept a literal string, a local file path, or `-` to read from stdin. Pipe long or multi-line prompts: `cat prompt.txt | pixverse create video --prompt - --json`.287- **`--idempotency-key <key>`** — supply a stable key for safe retries; the backend dedupes by key, so a repeated submission returns the original task without re-charging credits.288289**Interactive mode**: Run any creation command without arguments (and without `--json`) to enter the interactive wizard.290291---292293## Output Contract294295### JSON mode (`--json`)296297- **stdout**: Pure JSON only. No spinners, no progress text, no decorative output.298- **stderr**: All errors, warnings, and diagnostic messages — including error payloads in `--json` mode (as of CLI v1.1.4: `pixverse task …` and `pixverse template …` errors are also routed to stderr, preserving the stdout-is-success contract).299- Parse stdout with `jq` or any JSON parser.300301### Universal JSON fields302303All `--json` object payloads (both success on stdout and errors on stderr) automatically include:304305| Field | When present | Meaning |306|:---|:---|:---|307| `trace_id` | Whenever the command made an HTTP request and the API returned an `Ai-Trace-Id` header | Upstream request id — include this when reporting bugs. Array / primitive payloads are not augmented. |308| `code` | Error payloads from API failures | Backend error code (from `ApiError`). Pair with `trace_id` for support. |309| `error` | Error payloads | Human-readable error message. |310| `cost_credits` | `create …` success payloads, only when backend returns a **positive** integer | Credits charged for this creation request. Absent when the API returns `0`, `null`, or omits the field. |311312In interactive (non-JSON) text mode, `cost_credits` surfaces as `Cost: N credits` after `Submitted!`.313314### Exit Codes315316| Code | Name | Meaning | Recovery |317|:---|:---|:---|:---|318| 0 | SUCCESS | Completed | — |319| 1 | GENERAL_ERROR | Unexpected error | Check stderr for details |320| 2 | TIMEOUT | Polling timed out | Increase `--timeout` or use `--no-wait` then `pixverse task wait` |321| 3 | AUTH_EXPIRED | Token invalid/expired | Re-run `pixverse auth login --json` |322| 4 | CREDIT_INSUFFICIENT | Not enough credits | Check `pixverse account info --json`, wait for daily reset or upgrade |323| 5 | GENERATION_FAILED | Generation failed/rejected | Check prompt, try different parameters |324| 6 | VALIDATION_ERROR | Invalid parameters | Check flag values against enums in each skill |325326### Workspace error auto-recovery327328When a request fails because the active workspace is no longer accessible (e.g. user was removed from a team), the CLI automatically resets to personal workspace (ID=0) and asks you to retry. This does **not** trigger when `--workspace-id` override is active or the failing request is a workspace management command.329330### Error handling pattern331332```bash333RESULT=$(pixverse create video --prompt "A sunset over mountains" --json 2>/tmp/pv_err)334EXIT_CODE=$?335336if [ $EXIT_CODE -eq 0 ]; then337 VIDEO_ID=$(echo "$RESULT" | jq -r '.video_id')338 echo "Success: $VIDEO_ID"339 pixverse asset download $VIDEO_ID --json340elif [ $EXIT_CODE -eq 3 ]; then341 echo "Token expired, re-authenticating..."342 pixverse auth login --json343elif [ $EXIT_CODE -eq 4 ]; then344 echo "Not enough credits"345 pixverse account info --json | jq '.credits'346elif [ $EXIT_CODE -eq 5 ]; then347 echo "Generation failed — check prompt or parameters"348 cat /tmp/pv_err349else350 echo "Error (code $EXIT_CODE)"351 cat /tmp/pv_err352fi353```354355---356> Source: [PixVerseAI/skills](https://github.com/PixVerseAI/skills) — distributed by [TomeVault](https://tomevault.io).357<!-- tomevault:4.0:skill_md:2026-06-24 -->