genlab 0.1.1 → 0.1.3

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/dist/guide.md ADDED
@@ -0,0 +1,49 @@
1
+ # genlab 使用说明
2
+
3
+ 用 kie.ai 的模型生成图片、视频、音频,产物与完整生成记录保存在本机的库里。
4
+
5
+ 下文的 `genlab` 均可写作 `npx -y genlab@latest`(推荐,每次都用最新版本)。
6
+
7
+ ## 准备
8
+
9
+ - 报错「缺少配置」时,请用户在终端运行 `genlab init`,填写 kie.ai API Key 与库目录。
10
+ - 库目录在代码项目之外。在沙箱里运行时,需要允许读写库目录与 `~/.cache/genlab`(模型目录缓存),并允许访问网络。
11
+
12
+ ## 概念
13
+
14
+ - **项目**:库里最外层的分组。当前目录用 `genlab project link` 关联到一个项目后,素材命令都作用于它;`--project` 临时指定其他项目,不改关联。
15
+ - **默认项目**:内置的 `default`,一直存在,放不属于任何代码项目的素材。
16
+ - **素材**:项目里的一个创作单元,用「文件夹/素材名」指定,文件夹可省略(如 `characters/hero`、`logo`)。类型为 image / video / audio,由第一次生成的模型或导入的文件决定,之后的生成须用同类型的模型。
17
+ - **版本**:素材的一个产物。版本号在素材内递增,删过的号不复用;状态为 generating / ready / failed。
18
+ - **当前版本**:素材选定的那一版。新素材默认取版本号最小、没有失败的版本(还在生成中也等它);用 `genlab use` 改选。
19
+ - **AI 编辑**:以某个就绪版本为源版本、按要求修改,新版本仍属于同一素材。
20
+
21
+ ## 流程
22
+
23
+ 1. `genlab project` 查看当前目录关联的项目。没有关联时先关联:
24
+ - 属于某个代码项目:关联到对应的项目,库里还没有就先 `genlab project create`。
25
+ - 不属于任何代码项目(家目录、临时目录、下载目录等):关联到 `default`。
26
+ - 判断不了:问用户。不要为了省事把属于某个项目的素材放进 `default`。
27
+ - 关联的项目不存在(可能已改名或删除):问用户要关联到哪个,不要新建同名项目。
28
+ 2. `genlab list` 查看已有素材与文件夹,新素材沿用已有的文件夹分法。
29
+ 3. `genlab models --kind <类型> [--search <关键词>]` 找模型,`genlab models <模型>` 查看价格与参数表。参数名以参数表为准,不凭记忆填。文生与图生常是两个模型(`…-text-to-image` / `…-image-to-image`),按是否带输入图选择。
30
+ 4. 用户没指定模型时,为新素材的第一次生成挑 2–3 个候选(模型、价格、特点)请用户选;同一素材之后的生成默认沿用该模型(需要带输入图时换成同系列的图生模型),不再询问。
31
+ 5. `create` 新建素材,`generate` 在已有素材里生成,`edit` 做 AI 编辑,`retry` 重试失败的版本。命令默认最多等 90 秒;输出 `"pending": true` 时用 `genlab wait` 继续等。同时为多个素材发起生成时加 `--no-wait`,再用 `genlab wait` 一起等。
32
+ 6. 生成完向用户汇报使用的模型(版本的 `model`)、消耗的积分(各版本 `credits` 之和)与折合美元(kie 基础价 1 积分 = $0.005)。
33
+ 7. 每个版本的 `file` 是产物的绝对路径;一个任务可能产出多个版本(如一次出两首的音乐模型)。用户选定后用 `genlab use` 设为当前版本;需要放进代码项目时自行复制该文件。
34
+
35
+ ## 模型参数(-p)
36
+
37
+ - `key=value`:字符串;数字、布尔、数组按参数表自动转换。
38
+ - `key:=<JSON>`:JSON 值,如 `-p duration:=5`。
39
+ - 同键重复即数组,如 `-p input_urls=@a.png -p input_urls=@b.png`。
40
+ - `@<路径>`:本机文件(相对当前目录),自动上传;引用库里的产物时直接用它的 `file` 路径。
41
+ - `@source`:AI 编辑的源版本文件,只能用在 `edit`。
42
+ - `@@`:字面量 `@`。
43
+
44
+ ## 规则
45
+
46
+ - 生成消耗 kie 积分:先看价格,任务数、分辨率、时长按需设置。
47
+ - 不手动修改库里的 `asset.json`;改名、移动、删除整个素材由用户在文件管理器里操作。
48
+ - 项目、文件夹、素材的名字用英文。
49
+ - 结果为 JSON;错误写 stderr 的 `{"error": ...}`,警告为 `{"warning": ...}`。
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "genlab",
3
3
  "type": "module",
4
- "version": "0.1.1",
4
+ "version": "0.1.3",
5
5
  "description": "给本地 agent 用的 AI 媒体生成命令行工具(kie.ai),产物与完整生成记录保存在本机",
6
6
  "author": "WBBB",
7
7
  "license": "MIT",
@@ -42,6 +42,7 @@
42
42
  "file-type": "^22.3.0",
43
43
  "image-size": "^2.0.4",
44
44
  "music-metadata": "^12.3.4",
45
+ "nano-spawn": "^2.1.0",
45
46
  "proper-lockfile": "^4.1.2",
46
47
  "write-file-atomic": "^7.0.1"
47
48
  },