PixVerseAI/cli

GitHub: PixVerseAI/cli

PixVerse CLI 是 PixVerse AI 创意平台的官方命令行界面,支持在终端中通过文本或图像生成视频、图像、语音和音乐等多模态内容。

Stars: 53 | Forks: 3

# PixVerse CLI [PixVerse](https://pixverse.ai) 的官方命令行界面 (CLI) —— 直接从您的终端创建 AI 驱动的视频、图像和音频。 ## 什么是 PixVerse? PixVerse 是一个 AI 驱动的创意平台,可以根据文本 prompt 或参考图像生成高质量的视频、图像和音频。它支持广泛的创意工作流,包括 text-to-video、image-to-video、text-to-image、视频转场、text-to-speech(语音合成)、音乐生成、模板/特效等。 ## 什么是 PixVerse CLI? PixVerse CLI 本质上是 **PixVerse 网站的无 UI 版本**。所有功能和特性与网页版体验保持一致 —— 如果您能在 [pixverse.ai](https://pixverse.ai) 上完成操作,就可以在命令行中使用相同的模型、参数和质量来完成。 它专为以下场景设计: - **AI agent** —— 结构化的 JSON 输出、确定性的退出码以及可通过管道处理的命令,使其成为自治工作流(例如 Claude Code、Cursor、Codex、LangChain、自定义 agent)的理想工具。 - **开发者与高级用户** —— 无需离开终端即可进行可脚本化的视频/图像/音频生成。 - **自动化** —— 将 AI 内容生成集成到 CI/CD pipeline、批处理脚本或内容生产工作流中。 ## 需要订阅 PixVerse CLI 使用与网站相同的 credit 系统 —— 生成视频、图像和音频会消耗您 PixVerse 账户余额中的 credit,定价保持一致。为防止滥用,**PixVerse CLI 目前仅对订阅用户开放**。有关订阅计划和会员权益的详细信息,请参阅 [PixVerse 订阅](https://app.pixverse.ai/subscribe)页面。 ## 安装 ``` npm install -g pixverse ``` 或者无需安装直接运行: ``` npx pixverse ``` **要求:** Node.js >= 20 ## 身份验证 PixVerse CLI 使用 OAuth device flow —— 无需手动复制 token: ``` pixverse auth login ``` 这会打开一个浏览器供您确认授权。您也可以复制 URL 并从**任何设备上的任何浏览器**进行授权 —— 这对于 SSH 或无头环境非常有用。CLI 会自动接收 token 并将其存储在本地。 - Token 有效期为 30 天 - CLI 会话与您的网页/APP 会话相互独立 - 运行 `pixverse auth status` 检查您的登录状态和 credit - 运行 `pixverse auth logout` 删除已存储的 token ## 支持的模型 ### 视频模型 (`--model `) | 模型 | `--model` 值 | 质量 | 时长 | 宽高比 | |:---|:---|:---|:---|:---| | PixVerse V6 *(默认)* | `v6` | `360p` `540p` `720p` `1080p` | `1`–`15`s | `16:9` `4:3` `1:1` `3:4` `9:16` `3:2` `2:3` `21:9` | | PixVerse C1 | `pixverse-c1` | `360p` `540p` `720p` `1080p` | `1`–`15`s | `16:9` `4:3` `1:1` `3:4` `9:16` `3:2` `2:3` | | Seedance 2.0 Standard | `seedance-2.0-standard` | `480p` `720p` `1080p` | `4`–`15`s | `16:9` `4:3` `1:1` `3:4` `9:16` `21:9` | | Seedance 2.0 Fast | `seedance-2.0-fast` | `480p` `720p` | `4`–`15`s | `16:9` `4:3` `1:1` `3:4` `9:16` `21:9` | | Happy Horse 1.0 | `happyhorse-1.0` | `720p` `1080p` | `3`–`15`s | `16:9` `9:16` `1:1` `4:3` `3:4` | | Kling O3 Pro | `kling-o3-pro` | `720p` | `3`–`15`s | `16:9` `9:16` `1:1` | | Kling O3 Standard | `kling-o3-standard` | `720p` | `3`–`15`s | `16:9` `9:16` `1:1` | | Kling 3.0 Pro | `kling-3.0-pro` | `720p` | `3`–`15`s | `16:9` `9:16` `1:1` | | Kling 3.0 Standard | `kling-3.0-standard` | `720p` | `3`–`15`s | `16:9` `9:16` `1:1` | | Grok Imagine 1.5 | `grok-imagine-1.5` | `480p` `720p` | `1`–`15`s | *来自图像* | | Grok Imagine | `grok-imagine` | `480p` `720p` | `1`–`15`s | `16:9` `4:3` `1:1` `9:16` `3:4` `3:2` `2:3` | | Veo 3.1 Lite | `veo-3.1-lite` | `720p` `1080p` | `4` `6` `8`s | `16:9` `9:16` | | Veo 3.1 Standard | `veo-3.1-standard` | `720p` `1080p` `2160p` | `4` `6` `8`s | `16:9` `9:16` | | Veo 3.1 Fast | `veo-3.1-fast` | `720p` `1080p` `2160p` | `4` `6` `8`s | `16:9` `9:16` | | Sora 2 Pro | `sora-2-pro` | `720p` `1080p` | `4` `8` `12`s | `16:9` `9:16` | | Sora 2 | `sora-2` | `720p` | `4` `8` `12`s | `16:9` `9:16` | | PixVerse v5.6 | `v5.6` | `360p` `480p` `540p` `720p` `1080p` | `1`–`10`s | `16:9` `4:3` `1:1` `3:4` `9:16` `3:2` `2:3` | | PixVerse v5.5 | `v5.5` | `360p` `480p` `540p` `720p` `1080p` | `1`–`10`s | `16:9` `4:3` `1:1` `3:4` `9:16` `3:2` `2:3` | | PixVerse v5 | `v5` | `360p` `480p` `540p` `720p` `1080p` | `1`–`10`s | `16:9` `4:3` `1:1` `3:4` `9:16` `3:2` `2:3` | #### 各模式模型支持 | 创建模式 | 支持的 `--model` 值 | |:---|:---| | `create video` (text-to-video / image-to-video) | `v6` `pixverse-c1` `seedance-2.0-standard` `seedance-2.0-fast` `happyhorse-1.0` `kling-o3-pro` `kling-o3-standard` `kling-3.0-pro` `kling-3.0-standard` `grok-imagine-1.5` `grok-imagine` `veo-3.1-lite` `veo-3.1-standard` `veo-3.1-fast` `sora-2-pro` `sora-2` `v5.6` | | `create extend` | `v6` `grok-imagine` | | `create reference` (多主体融合) | `v6` `pixverse-c1` `seedance-2.0-standard` `seedance-2.0-fast` `kling-o3-pro` `kling-o3-standard` `grok-imagine` `v5.6` | | `create transition` (2 帧) | `v6` `pixverse-c1` `seedance-2.0-standard` `seedance-2.0-fast` `kling-o3-pro` `kling-o3-standard` `kling-3.0-pro` `kling-3.0-standard` `veo-3.1-lite` `veo-3.1-standard` `veo-3.1-fast` `v5.6` | | `create transition` (3 帧及以上) | `v5` | | `create modify` | `v5.5` | | `create motion-control` | `v5.6` | ### 图像模型 (`--model `) | 模型 | `--model` 值 | 质量 | 宽高比 | |:---|:---|:---|:---| | GPT Image 2 *(默认)* | `gpt-image-2.0` | `1080p` `1440p` `2160p` | `1:1` `16:9` `9:16` `4:3` `3:4` `3:2` `2:3` `2:1` `1:2` `21:9` | | Nano Banana 2 | `gemini-3.1-flash` | `512p` `1080p` `1440p` `2160p` | `auto` `1:1` `16:9` `9:16` + 更多 | | Qwen-image | `qwen-image` | `720p` `1080p` | `1:1` `16:9` `9:16` `4:3` `3:4` `5:4` `4:5` `3:2` `2:3` `21:9` | | Nano Banana Pro | `gemini-3.0` | `1080p` `1440p` `2160p` | `auto` `1:1` `16:9` `9:16` + 更多 | | Nano Banana | `gemini-2.5-flash` | `1080p` | `auto` `1:1` `16:9` `9:16` + 更多 | | Seedream 5.0 Lite | `seedream-5.0-lite` | `1440p` `1800p` `2160p` | `auto` `1:1` `16:9` `9:16` + 更多 | | Seedream 4.5 | `seedream-4.5` | `1440p` `2160p` | `auto` `1:1` `16:9` `9:16` + 更多 | | Seedream 4.0 | `seedream-4.0` | `1080p` `1440p` `2160p` | `auto` `1:1` `16:9` `9:16` + 更多 | | Kling Image O3 | `kling-image-o3` | `1080p` `1440p` `2160p` | `16:9` `9:16` `1:1` + 更多 | | Kling Image V3 | `kling-image-v3` | `1080p` `1440p` | `16:9` `9:16` `1:1` + 更多 | ### 语音 / TTS 模型 (`create voice --model `) | 模型 | `--model` 值 | 提供商 | 最大字符数 | |:---|:---|:---|:---| | MiniMax Speech 2.8 HD *(默认)* | `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 | ### 音乐模型 (`create --model `) | 模型 | `--model` 值 | 提供商 | 时长 | 备注 | |:---|:---|:---|:---|:---| | MiniMax Music 2.6 *(默认)* | `music-2.6` | MiniMax | `10`-`240`s | 歌词、自动歌词、纯音乐 | | ElevenLabs Music | `music_v1` | ElevenLabs | `10`-`240`s | 歌词、自动歌词、纯音乐 | | Google Lyria 3 Pro | `lyria-3-pro-preview` | Google | `10`-`240`s | 图像参考,无需单独指定 `--lyrics` | ## 用法 ### 交互模式 运行任何创建命令而不带参数即可进入交互式向导: ``` pixverse create video pixverse create image ``` 向导将逐步引导您设置 prompt、模型、质量、宽高比及其他选项。 大于 `1920x1920` 或 `5MB` 的本地图像输入会在上传前自动调整大小/压缩。远程图像 URL 由后端按原样进行验证。 ### 文本生成视频 ``` pixverse create video --prompt "A cat walking on Mars" --model v6 --quality 720p --aspect-ratio 16:9 ``` ### 文本输入:字面量、文件或 stdin 文本输入 flag —— `--prompt`(所有 create 命令)、`--text`(`create voice`)和 `--lyrics`(`create music`)—— 像对待 `--image` / `--video` 一样,接受三种形式: - **字面量**字符串:`--prompt "A neon city skyline"` - **本地文件路径**:`--prompt ./scene.txt`(使用文件内容) - `-` 表示从 **stdin** 读取:`... | pixverse create video --prompt -` ``` pixverse create video --prompt ./scene.txt cat scene.txt | pixverse create image --prompt - --json echo "Hello from the command line" | pixverse create voice --text - pixverse create music --prompt "Bright synth-pop" --lyrics ./lyrics.txt ``` ### 图像生成视频 ``` pixverse create video --prompt "Slow zoom in" --image ./photo.png ``` ### 文本生成图像 ``` pixverse create image --prompt "Cyberpunk cityscape at night" --aspect-ratio 16:9 ``` ### 图像生成图像 ``` pixverse create image --prompt "Turn this into a watercolor painting" --image ./photo.png ``` ### 其他创建模式 ``` # 创建 keyframes 之间的过渡(需要 2+ 张图像) pixverse create transition --images ./frame1.png ./frame2.png ./frame3.png # 从文本生成语音音频(text-to-speech) pixverse create voice --text "Hello world" --voice-id --output ./out.mp3 # 浏览可用的模型 / 预设声音: pixverse voice models pixverse voice presets --model speech-2.8-hd # 从 prompt 生成音乐音频 pixverse create music --prompt "A cinematic pop song with bright synths" --auto-lyrics pixverse create music --prompt "Uplifting piano theme" --instrumental --duration-seconds 60 # 支持歌词的模型需要歌词,除非使用 --auto-lyrics 或 --instrumental: # (--lyrics 接受文字字符串、本地文件路径或 - 代表 stdin) pixverse create music --prompt "Bright synth-pop, uplifting mood" --lyrics ./lyrics.txt # Google Lyria 支持图像引用,并期望在 --prompt 中提供类似歌词的指令: pixverse create music -m lyria-3-pro-preview --prompt "Instrumental orchestral cue inspired by these images" --image ./moodboard.png # 浏览可用的音乐模型: pixverse music models # 延长视频时长 pixverse create extend --video # 修改现有视频 pixverse create modify --video --prompt "Change the background to a beach" # Upscale 视频分辨率 pixverse create upscale --video --quality 1080p # 使用角色引用生成视频(1–7 张图像) pixverse create reference --images ./char1.png ./char2.png --prompt "Two friends walking in a park" # Seedance 2.0 引用 — 混合图像和视频(最多 3 个视频,总计 ≤ 15s) pixverse create reference -m seedance-2.0-standard --images ./char.png --videos ./motion.mp4 --prompt "@image1 follows the motion in @video1" # Motion control — 角色图像 + motion reference 视频 pixverse create motion-control --image ./character.png --video ./dance.mp4 # 从模板/效果创建 pixverse create template --template-id 12345 --image ./photo.png ``` 语音速度使用特定于提供商的验证: | 提供商 | 默认值 | 有效范围 | 无效范围错误 | 提供商请求字段 | |:---|:---|:---|:---|:---| | ElevenLabs | `1.0` | `0.7..1.2` | `--speed must be between 0.7 and 1.2` | `voice_settings.speed` | | MiniMax | `1.0` | `0.5..2.0` | `--speed must be between 0.5 and 2` | `voice_setting.speed` | ### 常用创建 Flag 这些 flag 在大多数 `create` 子命令中可用: | Flag | 描述 | |:---|:---| | `--count ` | 生成多个变体(1–4,默认为 1) | | `--seed ` | 设置随机 seed 以获得可复现的结果 | | `--off-peak` | 使用非高峰定价(消耗更少的 credit) | | `--audio` / `--no-audio` | 启用或禁用音频生成 | | `--multi-shot` / `--no-multi-shot` | 启用或禁用多镜头模式(仅限视频) | | `--no-wait` | 立即返回,不等待完成 | | `--timeout ` | 轮询超时时间(以秒为单位,默认 300) | ### 任务管理 ``` # 检查任务状态 pixverse task status # 轮询语音/音乐音频任务(音频不会自动检测 — 需传入 --type audio) pixverse task status --type audio # 批量状态查询(并行;每个 ID 的失败记录在响应 map 中) pixverse task status --ids 123,456,789 --type video --json # 等待任务完成 pixverse task wait ``` ### 资产管理 ``` # 列出已生成的 assets(默认:已创建的视频) pixverse asset list pixverse asset list --type image pixverse asset list --type audio # voice and music audio history pixverse asset list --type audio --source upload pixverse asset list --source upload pixverse asset list --source create --off-peak # 将本地文件或 URL 上传到 asset library pixverse asset upload ./photo.png pixverse asset upload ./voice-over.mp3 pixverse asset upload https://example.com/image.jpg # 获取 asset 详情(类型自动检测:video → image → audio) pixverse asset info # 传入 --type 以跳过自动检测 pixverse asset info --type audio pixverse asset info --type audio --source upload # 下载已创建的视频、图像或音频(上传的内容不可下载) pixverse asset download pixverse asset download --type audio --dest ./out/ # 删除已创建的 asset — 传入其 id(自动检测) pixverse asset delete pixverse asset delete --type audio # 删除已上传的 asset — 传入从 `asset list --source upload` 获取的 id pixverse asset delete --source upload --type image ``` ### 保存文件夹 ``` # 列出所有已保存的文件夹 pixverse saved list # 列出文件夹中的项目(如省略则为默认文件夹) pixverse saved items pixverse saved items --type image --source upload # 创建新文件夹 pixverse saved new "My Collection" # 重命名文件夹 pixverse saved rename "New Name" # 将 assets 添加到文件夹 pixverse saved add --folder --type video # 从文件夹中移除 assets pixverse saved remove --folder --type video # 删除文件夹 pixverse saved delete ``` ### 模板 ``` # 列出模板分类 pixverse template categories # 列出模板(带有可选的分类筛选器和分页功能) pixverse template list pixverse template list --category 5 --page 2 --limit 10 # 按关键词搜索模板 pixverse template search "dance" # 获取模板详情 pixverse template info ``` ### 工作区 ``` # 列出所有 workspaces pixverse workspace list # 显示当前 workspace pixverse workspace status # 切换 workspace(交互式或通过 ID) pixverse workspace switch pixverse workspace switch # 在浏览器中打开 workspace 管理 pixverse workspace manage ``` ### 账户与订阅 ``` # 查看账户信息和 credits pixverse account info pixverse account usage # 查看当前并发生成槽位(image / video) pixverse account slots pixverse account slots --json # 在浏览器中打开订阅页面 pixverse subscribe ``` ### 保持 CLI 最新 ``` # 更新到最新发布版本 pixverse update ``` 在交互式运行时,CLI 每天最多检查一次 npm registry,并向 **stderr**(绝不向 stdout 输出,因此 `--json` 输出保持纯净)打印一行“有可用更新”通知。在 `--json`/`-p` 模式、CI 环境以及当 stdout/stderr 被管道重定向时,将跳过此检查。 ### 配置 ``` # 设置输出目录 pixverse config set output-dir ~/Downloads # 查看当前配置 pixverse config list # 显示配置文件路径 pixverse config path # 设置各模式的创建默认值(model、quality、duration 等) pixverse config defaults set video model v6 pixverse config defaults set video quality 1080p pixverse config defaults show ``` ## 用于脚本和 Agent 的 JSON 输出 所有命令均支持 `--json`(或 `-p`)以输出结构化 JSON,这使得 CLI 非常易于集成到自动化工作流中: ``` pixverse create video --prompt "A sunset over the ocean" --json pixverse task wait --json pixverse account info --json ``` ### Pipeline 示例 ``` # 创建视频 → 等待完成 → 下载 VID=$(pixverse create video --prompt "A cat on the moon" --json | jq -r '.video_id') pixverse task wait "$VID" --json pixverse asset download "$VID" --dest ./output/ ``` ### 退出码 | 代码 | 含义 | |:---|:---| | `0` | 成功 | | `1` | 常规错误 | | `2` | 超时 | | `3` | 身份验证错误 | | `4` | Credit / 订阅限制 | | `5` | 生成失败 | | `6` | 验证错误 | ## 所有命令 | 命令 | 描述 | |:---|:---| | `auth login` | 通过浏览器登录(OAuth device flow) | | `auth status` | 检查身份验证状态 | | `auth logout` | 移除已存储的 token | | `create video` | text-to-video 或 image-to-video | | `create image` | text-to-image 或 image-to-image | | `create transition` | 在关键帧之间创建转场 | | `create voice` | 从文本生成语音音频(text-to-speech) | | `create music` | 从 prompt 生成音乐音频 | | `create extend` | 延长视频时长 | | `create modify` | 修改现有视频 | | `create upscale` | 提升视频分辨率 | | `create reference` | 使用角色参考生成视频 | | `create motion-control` | 使用角色图像 + 参考视频进行运动控制 | | `create template` | 从模板/特效创建 | | `template categories` | 列出模板分类 | | `template list` | 列出模板(带有分类过滤) | | `template search` | 按关键字搜索模板 | | `template info` | 获取模板详情 | | `voice models` | 列出语音/TTS 提供商、模型和支持的语言 | | `voice presets` | 列出预设语音(可按模型 / 语言 / 提供商过滤) | | `music models` | 列出音乐提供商、模型和功能 | | `task status` | 检查任务状态(单个 `` 或使用 `--ids id1,id2,...` 进行批量操作) | | `task wait` | 等待任务完成 | | `asset list` | 列出资产(`--source create\|upload`, `--type video\|image\|audio`, `--off-peak`) | | `asset upload` | 将本地文件或 HTTPS URL 上传到资产库 | | `asset info` | 获取资产详情 | | `asset download` | 下载已生成的资产 | | `asset delete` | 删除资产 | | `saved list` | 列出已保存的文件夹 | | `saved items` | 列出已保存文件夹中的项目 | | `saved new` | 创建新的已保存文件夹 | | `saved rename` | 重命名已保存的文件夹 | | `saved add` | 将资产添加到已保存的文件夹 | | `saved remove` | 从已保存的文件夹中移除资产 | | `saved delete` | 删除已保存的文件夹 | | `workspace list` | 列出所有工作区 | | `workspace status` | 显示当前工作区 | | `workspace switch` | 切换工作区(交互式或按 ID) | | `workspace manage` | 在浏览器中打开工作区管理 | | `account info` | 查看账户信息和工作区 credit | | `account usage` | 查看 credit 使用情况 | | `account slots` | 查看当前并发生成槽位(图像 / 视频) | | `subscribe` | 打开订阅页面 | | `update` | 更新 CLI 到最新版本(`npm i -g pixverse@latest`) | | `config set` | 设置配置值 | | `config get` | 获取配置值 | | `config list` | 列出所有配置值 | | `config reset` | 将配置重置为默认值 | | `config path` | 显示配置文件路径 | | `config defaults` | 管理各模式的创建默认值 | ## 全局 Flag | Flag | 描述 | |:---|:---| | `--json` | 输出为 JSON | | `-p` | 打印模式(`--json` 的别名) | | `--workspace-id ` | 为此命令覆盖当前活动工作区(0 = 个人) | | `-V, --version` | 显示 CLI 版本 | | `-h, --help` | 显示任何命令的帮助 | ## 对于 AI Agent —— 高级用法 对于 AI agent(Claude Code、Cursor、Codex 等),我们**强烈推荐**安装 [PixVerse Skills](https://github.com/PixVerseAI/skills) —— 这是一个全面的技能库,可教导 agent 如何在完整的模型约束、多步骤 pipeline 和错误处理下正确使用 PixVerse CLI。 为了进行轻量级的发现,公开仓库还在 `capabilities.json` 中包含了一个紧凑的机器可读命令清单;npm 包在 `dist/capabilities.json` 中包含相同的文件。 **通过 Skills CLI 安装:** ``` npx skills add https://github.com/pixverseai/skills --skill pixverse-ai-image-and-video-generator ``` **或在 ClawHub 上浏览:** [https://clawhub.ai/pixverse-official/pixverse-ai-image-and-video-generator](https://clawhub.ai/pixverse-official/pixverse-ai-image-and-video-generator) Skills 包括: - 各模型的参数约束(哪些模型支持哪些模式、质量级别、时长、宽高比) - 端到端工作流 pipeline(text-to-video、故事板生成视频、视频制作、运动控制等) - 提升生成质量的 Prompt 优化技术 - 批量创建模式和错误处理策略 ## 链接 - [PixVerse 官网](https://pixverse.ai) - [PixVerse Skills](https://github.com/PixVerseAI/skills) —— Agent 技能库 - [npm 包](https://www.npmjs.com/package/pixverse) - [更新日志](https://github.com/PixVerseAI/cli/blob/main/CHANGELOG.md) - [报告问题](https://github.com/PixVerseAI/cli/issues) ## 许可证 [MIT](LICENSE)
标签:AIGC, GNU通用公共许可证, MITM代理, Node.js, 人工智能, 图像生成, 文档结构分析, 暗色界面, 用户模式Hook绕过, 视频生成