@pippit-dev/cli 1.0.26 → 1.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -1
- package/checksums.txt +6 -6
- package/cmd/generate_image/generate_image.go +1 -0
- package/cmd/generate_video/generate_video.go +4 -3
- package/cmd/model.go +74 -0
- package/cmd/model_test.go +81 -0
- package/cmd/root.go +1 -0
- package/cmd/short_drama/short_drama.go +1 -0
- package/cmd/source_test.go +179 -0
- package/cmd/submit_run.go +3 -0
- package/cmd/update/update.go +1 -1
- package/cmd/video_tool/video_tool.go +2 -0
- package/dist/checksums.txt +6 -6
- package/internal/common/submit_run.go +38 -1
- package/internal/config/config.go +13 -10
- package/internal/config/config_test.go +3 -0
- package/internal/generate_image/generate_image.go +2 -1
- package/internal/generate_video/generate_video.go +12 -3
- package/internal/generate_video/generate_video_test.go +126 -0
- package/internal/models/describe.go +281 -0
- package/internal/models/describe_test.go +199 -0
- package/internal/models/models.go +220 -0
- package/internal/models/models_test.go +200 -0
- package/internal/short_drama/submit_run.go +2 -0
- package/internal/video_tool/video_tool.go +4 -2
- package/package.json +1 -1
- package/scripts/install.js +3 -2
- package/skills/short-drama/SKILL.md +4 -0
- package/skills/xyq-nest-skill/SKILL.md +10 -0
- package/skills/xyq-nest-skill/commands/erase-video-subtitle.md +2 -0
- package/skills/xyq-nest-skill/commands/generate-image.md +2 -0
- package/skills/xyq-nest-skill/commands/generate-video.md +31 -7
- package/skills/xyq-nest-skill/commands/model.md +59 -0
- package/skills/xyq-nest-skill/commands/video-super-resolution.md +2 -0
- package/skills/xyq-nest-skill/scripts/ensure-cli.js +3 -3
- package/skills/xyq-nest-skill/scripts/install.md +1 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# model:发现可用视频模型
|
|
2
|
+
|
|
3
|
+
需要有效登录或 `XYQ_ACCESS_KEY`。生成前可查询当前账号可用的模型及参数配置;目前只支持视频模型。
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
# 全部可见视频模型
|
|
7
|
+
pippit-tool-cli model list
|
|
8
|
+
|
|
9
|
+
# 按 key 或展示名检索;search 是 list 的别名
|
|
10
|
+
pippit-tool-cli model search MiniMax --type video
|
|
11
|
+
|
|
12
|
+
# 按准确 key 查看参数详情;两种写法等价
|
|
13
|
+
pippit-tool-cli model describe MiniMax-H3
|
|
14
|
+
pippit-tool-cli model MiniMax-H3
|
|
15
|
+
|
|
16
|
+
# 强制重新查询服务端
|
|
17
|
+
pippit-tool-cli model list --refresh
|
|
18
|
+
pippit-tool-cli model describe MiniMax-H3 --refresh
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
`list` 输出 `models`,每项包含 `key`、`name`、`kind`、`is_default`。关键词与 key 完全一致时优先返回该项,否则按 key / name 不区分大小写检索。`describe` 只接受准确 key,输出整理后的 `model` 参数详情;不知道 key 时先查列表,不用展示名猜枚举。
|
|
22
|
+
|
|
23
|
+
两种输出均包含 `scene`、`cached`、`fetched_at`、`expires_at`。合法空列表输出 `models: []`,表示当前没有可见模型。
|
|
24
|
+
|
|
25
|
+
## 缓存与失败处理
|
|
26
|
+
|
|
27
|
+
成功结果在系统用户缓存目录的 `pippit-cli/models/` 下保留 5 分钟,命中不会延长有效期;按凭证指纹、API 地址、接口、场景及 CLI 版本隔离。缓存不保存 AK 原文。切换凭证或退出登录后,不读取先前凭证的缓存。
|
|
28
|
+
|
|
29
|
+
`--refresh` 跳过缓存重新查询。缓存过期、损坏或时间戳异常时重新请求;服务端查询失败返回非零退出状态并提示重试,不返回过期缓存或静态模型列表,也不缓存失败响应。可稍后重试原命令或加 `--refresh`;若是登录错误,先恢复登录。单次查询最长 30 秒,不自动重复请求。
|
|
30
|
+
|
|
31
|
+
缓存写入失败不丢弃本次服务端成功结果,stderr 会提示;stdout 仍为 JSON。
|
|
32
|
+
|
|
33
|
+
## 参数配置的使用
|
|
34
|
+
|
|
35
|
+
`describe` 将配置整理成可直接选择生成参数的结构。以下为示例片段,实际值以查询为准:
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"key": "MiniMax-H3",
|
|
40
|
+
"ratio": {
|
|
41
|
+
"options": ["adaptive", "16:9", "21:9", "9:16", "4:3", "3:4", "1:1"],
|
|
42
|
+
"default": "9:16"
|
|
43
|
+
},
|
|
44
|
+
"resolution": {"options": ["768p", "2k"], "default": "768p"},
|
|
45
|
+
"duration": {"min": 4, "max": 15, "step": 1, "default": 10, "unit": "seconds"}
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
- `ratio.options/default` 按 IDL 转为字符串,可直接用于 `--ratio`。支持全部有对应生成参数的已有比例枚举;`0` 为 `adaptive`。自定义比例 `1` 没有对应的 CLI 尺寸参数,和未知枚举一样跳过;未知默认值不输出,不猜测替代值。
|
|
50
|
+
- `resolution.options` 去除 disabled 选项,默认值必须在有效选项内。
|
|
51
|
+
- `Seedance_2.0_mini`、`Seedance_2.0_mini_lite` 的生成请求可以省略 `--resolution`,服务端默认 `720p`。查询未返回分辨率维度时,不因此要求用户补填,也不在查询结果中伪造选项。
|
|
52
|
+
- `duration` 来自参数维度:范围输出 `min/max/step`,选项输出数字 `options`,均以秒为单位,不把选项枚举号当秒数。若只下发旧 `supported_duration_list`,暂保留该原始字段并明确提示不能直接用于 `--duration`。
|
|
53
|
+
- `material_limits` 保留数量字段;大小字段使用 `max_image_size_bytes`,视频时长字段使用 `min_video_duration_ms/max_video_duration_ms/max_total_video_duration_ms`。字段未返回与值为 `0` 保持区别。
|
|
54
|
+
- `creation_modes` 保留 `enabled`、素材校验等服务端策略,并为文本/参考/首尾帧模式标注对应 `generate_type`。`smart` 比例策略显示 `adaptive`;其他可识别模式继承模型比例。MiniMax 的文本模式排除 `adaptive`,纯文生视频使用固定比例。原始模式 key 不是生成参数,未标注 `generate_type` 的模式不代表 CLI 已接入。
|
|
55
|
+
- 条件维度的 `active_when_any`、参数组合约束及其他未转换字段保留;模型级选项不保证任意组合都可用。配置不一致时通过 `warnings` 提示刷新,未知比例枚举直接跳过。
|
|
56
|
+
|
|
57
|
+
内部 `config_key` 不输出。缓存仍保存服务端原始配置,列表/详情展示时转换,不修改生成请求、不新增本地模型准入限制。生成参数格式见 [生视频命令](generate-video.md)。
|
|
58
|
+
|
|
59
|
+
查询结果反映当前账号的服务端可见配置及 Skill 模型白名单;最终提交仍由服务端判断权限、参数、余额等条件。缓存最多滞后 5 分钟,需要最新值时使用 `--refresh`。生成命令不会自动请求模型列表或凭缓存拦截生成。
|
|
@@ -15,3 +15,5 @@ pippit-tool-cli video-super-resolution --video "/path/to/source.mp4" --output-re
|
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
示例以用户要求 1080p 为前提。成功返回 `thread_id`、`run_id`、`web_thread_link`,按 [异步结果与媒体交付](../workflows/async-delivery.md) 查询、下载并交付。输入失败或服务端拒绝时停止,不擅自切换版本或分辨率。
|
|
18
|
+
|
|
19
|
+
`--source` 是可选来源统计参数,由宿主 Agent 根据真实环境静默填写(如 `doubao_office`、`workbuddy`、`codex`);来源不明时省略,不询问用户,不改变 prompt 或创作参数。详见 [宿主来源统计](../SKILL.md#宿主来源统计)。
|
|
@@ -9,7 +9,7 @@ const path = require("path");
|
|
|
9
9
|
const REQUIRED_COMMANDS = [
|
|
10
10
|
"status", "login", "logout", "query-result",
|
|
11
11
|
"generate-image", "generate-video", "video-super-resolution",
|
|
12
|
-
"erase-video-subtitle", "get-credit-balance",
|
|
12
|
+
"erase-video-subtitle", "get-credit-balance", "model list", "model describe",
|
|
13
13
|
];
|
|
14
14
|
|
|
15
15
|
function npmCommand() {
|
|
@@ -64,7 +64,7 @@ function ensureCLI({ canvas = false } = {}) {
|
|
|
64
64
|
function run(command, args, label, quiet = false) {
|
|
65
65
|
try {
|
|
66
66
|
return execFileSync(command, args, {
|
|
67
|
-
cwd: installDir, env, timeout: quiet ? 10000 :
|
|
67
|
+
cwd: installDir, env, timeout: quiet ? 10000 : 660000,
|
|
68
68
|
stdio: quiet ? ["ignore", "pipe", "pipe"] : ["ignore", 2, 2],
|
|
69
69
|
});
|
|
70
70
|
} catch (err) {
|
|
@@ -79,7 +79,7 @@ function ensureCLI({ canvas = false } = {}) {
|
|
|
79
79
|
if (expectedVersion && version !== expectedVersion) {
|
|
80
80
|
throw new Error(`CLI 版本 ${version} 与 npm 包版本 ${expectedVersion} 不一致。`);
|
|
81
81
|
}
|
|
82
|
-
const commands = REQUIRED_COMMANDS.map((command) =>
|
|
82
|
+
const commands = REQUIRED_COMMANDS.map((command) => command.split(" "));
|
|
83
83
|
if (canvas) {
|
|
84
84
|
for (const command of ["create", "get", "allocate", "upload", "apply"]) commands.push(["canvas", command]);
|
|
85
85
|
}
|
|
@@ -10,7 +10,7 @@ node "{baseDir}/scripts/ensure-cli.js"
|
|
|
10
10
|
|
|
11
11
|
## 查找与复用
|
|
12
12
|
|
|
13
|
-
脚本依次检查 PATH 中的 CLI 和自身缓存,验证版本及本 Skill 使用命令的 `--help`;命令集合维护在脚本的 `REQUIRED_COMMANDS`。帮助检查不调用生成服务,也不需要凭据,不证明账号权限或服务端运行状态。
|
|
13
|
+
脚本依次检查 PATH 中的 CLI 和自身缓存,验证版本及本 Skill 使用命令的 `--help`;命令集合维护在脚本的 `REQUIRED_COMMANDS`,包含 `model list` 和 `model describe`。帮助检查不调用生成服务,也不需要凭据,不证明账号权限或服务端运行状态。
|
|
14
14
|
|
|
15
15
|
命令齐全则直接复用,不检查最新版本;不存在或缺少必需命令时,获取 `@pippit-dev/cli@latest`。PATH 旧版本缺少命令但缓存完整时复用缓存,避免每次升级。版本命令不能运行或检查超时则报告运行错误。
|
|
16
16
|
|