@uzooai/anime-ai-cli 0.0.0-stage → 0.5.0

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.
Files changed (123) hide show
  1. package/.agents/skills/uzoo-anime-cli/SKILL.md +83 -0
  2. package/.agents/skills/uzoo-anime-cli/references/agreement-workflow.md +51 -0
  3. package/.agents/skills/uzoo-anime-cli/references/canvas-workflow.md +53 -0
  4. package/.agents/skills/uzoo-anime-cli/references/commands.md +250 -0
  5. package/.agents/skills/uzoo-anime-cli/references/generation-workflow.md +152 -0
  6. package/.agents/skills/uzoo-anime-cli/references/image-tools-workflow.md +175 -0
  7. package/.agents/skills/uzoo-anime-cli/references/interaction-workflow.md +67 -0
  8. package/.agents/skills/uzoo-anime-cli/references/material-graph-workflow.md +123 -0
  9. package/.agents/skills/uzoo-anime-cli/references/node-capabilities.md +95 -0
  10. package/.agents/skills/uzoo-anime-cli/references/node-workflow.md +94 -0
  11. package/.agents/skills/uzoo-anime-cli/references/remake-workflow.md +54 -0
  12. package/.agents/skills/uzoo-anime-cli/references/repaint-workflow.md +300 -0
  13. package/.agents/skills/uzoo-anime-cli/references/seedance-review-workflow.md +41 -0
  14. package/.agents/skills/uzoo-anime-cli/references/video-tools-workflow.md +71 -0
  15. package/CHANGELOG.md +92 -0
  16. package/LICENSE +21 -0
  17. package/README.md +242 -3
  18. package/assets/README.md +4 -0
  19. package/assets/favicon-uzoo.png +0 -0
  20. package/assets/logo-uzoo.svg +7 -0
  21. package/docs/CLI/345/275/223/345/211/215/350/214/203/345/233/264/344/270/216/346/234/254/345/234/260/346/211/223/345/214/205-20261103.md +134 -0
  22. package/docs/CLI/346/216/210/346/235/203/346/216/245/345/217/243/344/270/216/344/273/244/347/211/214/350/207/252/345/212/250/345/210/267/346/226/260/350/256/276/350/256/241.md +540 -0
  23. package/docs/CLI/347/274/272/345/217/243/346/240/270/345/257/271/344/270/216/346/224/266/345/260/276-20261105.md +65 -0
  24. package/docs/CLI/347/275/221/351/241/265/344/277/235/345/255/230/350/212/202/347/202/271/347/274/272/345/244/261/344/272/244/346/216/245.md +52 -0
  25. package/docs/M0-M5/345/256/236/346/226/275/344/270/216/351/252/214/346/224/266.md +89 -0
  26. package/docs/npm/347/272/277/344/270/212/345/217/221/345/270/203/344/270/216/345/256/211/350/243/205/344/275/277/347/224/250.md +151 -0
  27. package/docs//344/270/213/350/275/275/346/216/245/345/217/243/351/200/202/351/205/215/344/270/216/351/252/214/346/224/266.md +107 -0
  28. package/docs//344/270/232/345/212/241/350/203/275/345/212/233/350/241/245/345/205/250/344/270/216Skill/347/273/223/346/236/204/350/247/204/345/210/222.md +311 -0
  29. package/docs//345/205/250/345/261/200/351/231/204/344/273/266/350/265/204/346/272/220/345/234/260/345/235/200/344/270/216/346/250/241/345/236/213/350/257/273/345/217/226/345/267/256/345/274/202.md +47 -0
  30. package/docs//345/206/205/351/203/250Windows/345/256/211/350/243/205/344/270/216/345/215/207/347/272/247/351/252/214/346/224/266/346/270/205/345/215/225.md +34 -0
  31. package/docs//345/233/276/347/211/207/346/212/240/345/233/276/346/216/245/345/205/245/344/270/216/351/252/214/346/224/266-20261104.md +110 -0
  32. package/docs//345/274/200/345/217/221/350/256/241/345/210/222.md +127 -0
  33. package/docs//345/274/202/346/255/245/346/212/240/345/233/276CLI/346/235/203/351/231/220/344/272/244/346/216/245-20261105.md +50 -0
  34. package/docs//345/274/202/346/255/245/346/212/240/345/233/276/347/234/237/345/256/236/351/252/214/346/224/266-20261105.md +44 -0
  35. package/docs//346/226/260/344/274/232/350/257/235/344/273/273/345/212/241/344/272/244/344/273/243-/351/230/266/346/256/2652A.md +79 -0
  36. package/docs//346/226/260/351/203/250/347/275/262/347/224/273/345/270/203/345/206/262/347/252/201/351/252/214/346/224/266-20261102.md +61 -0
  37. package/docs//346/231/256/351/200/232/346/265/217/350/247/210/345/231/250/347/231/273/345/275/225.md +53 -0
  38. package/docs//346/255/243/345/274/217/347/253/231/345/210/207/346/215/242/344/270/216/351/252/214/346/224/266-20261104.md +90 -0
  39. package/docs//347/224/273/345/270/203CLI/344/270/213/344/270/200/351/230/266/346/256/265/345/274/200/345/217/221/350/256/241/345/210/222.md +136 -0
  40. package/docs//347/224/273/345/270/203CLI/351/235/236/350/275/254/347/273/230/345/256/214/345/226/204/350/256/241/345/210/222.md +183 -0
  41. package/docs//347/224/273/345/270/203/350/203/275/345/212/233/345/245/221/347/272/246/346/240/270/345/257/271.md +59 -0
  42. package/docs//347/234/237/345/256/236/344/270/232/345/212/241/346/216/245/345/205/245/344/270/216/346/265/213/350/257/225.md +1004 -0
  43. package/docs//347/264/240/346/235/220/345/205/245/345/272/223/344/270/216/347/224/273/345/270/203/344/277/235/345/255/230/351/227/256/351/242/230/345/256/232/344/275/215.md +52 -0
  44. package/docs//351/230/266/346/256/2653B/351/252/214/346/224/266/344/272/244/346/216/245.md +44 -0
  45. package/docs//351/230/266/346/256/265/344/270/200/351/252/214/346/224/266.md +60 -0
  46. package/docs//351/235/236/350/275/254/347/273/230/346/214/201/347/273/255/345/256/214/345/226/204/344/270/216/351/252/214/346/224/266-20261103.md +76 -0
  47. package/docs//351/235/236/350/275/254/347/273/230/347/254/254/344/272/214/346/211/271/345/256/236/346/226/275/344/270/216/351/252/214/346/224/266.md +39 -0
  48. package/docs//351/235/236/350/275/254/347/273/230/350/241/245/345/205/205/346/235/241/344/273/266/351/252/214/346/224/266-20261103.md +113 -0
  49. package/docs//351/235/236/350/275/254/347/273/230/351/246/226/346/211/271/345/256/236/346/226/275/344/270/216/351/252/214/346/224/266.md +71 -0
  50. package/examples/matting.json +5 -0
  51. package/examples/real-business/image-request.template.json +7 -0
  52. package/examples/real-business/node-patch.template.json +11 -0
  53. package/extensions/uzoo-cli-login/manifest.json +9 -0
  54. package/extensions/uzoo-cli-login/popup.css +1 -0
  55. package/extensions/uzoo-cli-login/popup.html +14 -0
  56. package/extensions/uzoo-cli-login/popup.js +65 -0
  57. package/package.json +56 -6
  58. package/scripts/check-package-resources.mjs +56 -0
  59. package/scripts/check-release.mjs +19 -0
  60. package/scripts/pack-local.mjs +33 -0
  61. package/scripts/release-policy.mjs +22 -0
  62. package/src/agreement-page.js +62 -0
  63. package/src/agreement.js +419 -0
  64. package/src/annotation-media.js +386 -0
  65. package/src/api.js +168 -0
  66. package/src/browser-login.js +13 -0
  67. package/src/callback-page.js +44 -0
  68. package/src/canvas.js +105 -0
  69. package/src/cli-authorization.js +122 -0
  70. package/src/cli.js +459 -0
  71. package/src/download-name.js +17 -0
  72. package/src/draft-finalize.js +229 -0
  73. package/src/generation-graph.js +124 -0
  74. package/src/generation-input.js +472 -0
  75. package/src/graph-disconnect.js +89 -0
  76. package/src/graph.js +431 -0
  77. package/src/group-edit.js +53 -0
  78. package/src/group-layout.js +113 -0
  79. package/src/group-membership.js +126 -0
  80. package/src/history-add.js +119 -0
  81. package/src/image-annotation.js +246 -0
  82. package/src/image-crop.js +283 -0
  83. package/src/image-matting.js +82 -0
  84. package/src/image-media.js +89 -0
  85. package/src/image-output.js +385 -0
  86. package/src/local-output.js +23 -0
  87. package/src/material-download.js +55 -0
  88. package/src/material-save.js +254 -0
  89. package/src/materials.js +147 -0
  90. package/src/matting-background.js +73 -0
  91. package/src/matting-jobs.js +63 -0
  92. package/src/matting-worker.js +49 -0
  93. package/src/matting.js +170 -0
  94. package/src/media-copy.js +53 -0
  95. package/src/media.js +343 -0
  96. package/src/model-options.js +76 -0
  97. package/src/multipart.js +28 -0
  98. package/src/node-copy.js +95 -0
  99. package/src/node-delete.js +49 -0
  100. package/src/node-history.js +231 -0
  101. package/src/normal-login.js +118 -0
  102. package/src/package-info.js +8 -0
  103. package/src/png-alpha.js +60 -0
  104. package/src/protocol.js +83 -0
  105. package/src/remake.js +738 -0
  106. package/src/repaint-archive.js +53 -0
  107. package/src/repaint-delivery.js +783 -0
  108. package/src/repaint-export.js +63 -0
  109. package/src/repaint-graph.js +214 -0
  110. package/src/repaint-history.js +267 -0
  111. package/src/repaint-materials.js +601 -0
  112. package/src/repaint-reverse.js +614 -0
  113. package/src/repaint-sequence.js +132 -0
  114. package/src/repaint-settings.js +576 -0
  115. package/src/repaint-video.js +798 -0
  116. package/src/repaint.js +326 -0
  117. package/src/resource.js +110 -0
  118. package/src/review.js +435 -0
  119. package/src/service.js +85 -0
  120. package/src/store.js +100 -0
  121. package/src/video-clip.js +381 -0
  122. package/src/video-frame.js +296 -0
  123. package/src/workflows.js +214 -0
@@ -0,0 +1,123 @@
1
+ # 素材上传、素材库与分组连线
2
+
3
+ 用户决定、方案与费用确认统一遵循 [交互流程](interaction-workflow.md):沿用已明确选择,缺项优先用卡片收集,等待回复后继续原任务;本路线的执行、签署与恢复边界仍按下文,不扩展功能。
4
+
5
+ 用于普通节点上传真实素材、使用素材库、整理/分组及把组合输出连接下游。沿用已确定的账号、空间、团队与画布;输入素材由用户指定。运行使用安装后的 `uzoo-anime --profile PROFILE`,无需前端仓库。
6
+
7
+ ## 上传与素材库
8
+
9
+ 对图片裁剪/标注/抠图、视频剪辑/截帧/重拍/去字幕及素材审核,先读 [节点功能与接入状态](node-capabilities.md);上传和连线命令不代替处理流程。显式审核按 [素材审核流程](seedance-review-workflow.md) 执行,协议签署不代替素材审核。
10
+
11
+ 图片裁剪已接入,按 [图片工具](image-tools-workflow.md) 使用原图像素区域或用户指定的居中比例;原图保留,结果另建素材节点,不自动入库或继承原图审核。
12
+
13
+ 1. 读取目标画布并核对实际 `team_uid`、权限和最新版本。先列用户指定目录中的媒体,选择与路线相关的文件,避免重复上传同一内容。图片、视频、音频上传分别使用普通 image_upload/video_upload/audio_upload 节点;已有非空节点不擅自替换。
14
+ 2. `resource upload --file FILE --doc DOC_ID --node NODE_ID --type image --mime image/png`(音视频使用实际类型/MIME)。命令先上传再补齐网页兼容的 result、file_ref、extra.file_ref、文件信息和真实 task_id;不制造任务或虚构生成结果。上传接口可能为本地素材建立 credit_cost=0 的已完成记录,不能将其计为 AI 生成成功。
15
+ 3. 保存实际上传响应,`canvas get` 核对引用、节点类型和其他内容保留;通过资源地址读取少量字节核验媒体 MIME,不能只看 HTTP 200,JSON/HTML 不能算媒体成功。不向签名媒体/预签名上传地址发送 API 凭据。
16
+ 4. `canvas_bound=false` 表示文件已上传但兼容字段保存未确认。先读回节点;凭原始真实上传响应执行 `resource bind --doc DOC_ID --node NODE_ID --input upload-response.json` 仅修复原节点,不重传文件。响应须与画布/节点/媒体类型绑定,已有其他素材引用时停止。已打开网页可能持有旧快照;若出现节点或引用在后续快照反复消失,先暂停写入并协调关闭该画布页面,再核对是否为用户主动删除。用户允许恢复后才恢复缺失节点;优先复用原上传/原生成任务,不能通过重做生成弥补显示缺失。CAS 冲突不自动覆盖。
17
+ 5. 网页当前“素材库”使用独立素材空间 `/material-space`,不同于旧的 `/canvas/docs/.../assets`。使用 `material folders/list/get`,每次明确 `--space personal` 或 `--space team --team-uid UID`;分页为 limit/offset。目录来自实际列表,不猜文件夹 ID。团队没有素材时不能自动退回个人素材库。
18
+ 6. 素材库上传用 `material upload --file FILE --mime MIME --folder-id FOLDER_ID --name NAME --space team --team-uid UID`。CLI 校验同空间目录和实时上传限制,用通用直传会话上传再落素材空间。结果不明先查原目录/名称,不盲目重传;当前没有素材库分片恢复命令。
19
+ 7. 从库使用 `material use ASSET_ID --doc DOC_ID --node-id FIXED_ID --space team --team-uid UID`;可选 `--input position.json`(`{"position":{"x":120,"y":130}}`)。校验素材与画布同空间,从真实响应创建普通素材节点,复用 URL/file_ref,不重新上传。固定节点 ID 便于结果未知时读回核对。当前不支持跨空间导入、素材删除/迁移/收藏或文件夹编辑,不用临时 API 调用冒充已支持命令。
20
+
21
+ ## 整理、分组和组合输出
22
+
23
+ 已有画布可能在版本冲突后被网页自动覆盖:当前前端的自动覆盖分支已在隔离环境复现,取最新 version 后再次提交本地旧 nodes/edges/meta,会抹掉 CLI 新增内容;CAS 本身不能阻止这种拿到新版本后的主动覆盖。CLI 不自动采用该策略。执行CLI画布操作/结果回填前,必须按[画布标签关闭确认](interaction-workflow.md#画布标签关闭确认)取得本次明确回复,关闭相关标签并等待离开保存完成,再读取最新快照;当前前端从工作台重开相同活动ID会跳过getDoc,且离开时force保存可覆盖未编辑的旧快照,这两条路径已隔离复现。因此仅暂停编辑或返回工作台不代表重新加载;重新进入前须确保实际获取服务器最新内容,并核验冲突保护。原任务结果丢失用 generation sync,已删除节点停止,不自动重建。
24
+
25
+ `graph apply --input graph.json` 会直接保存,不是预览。每次读取最新完整快照并用版本 CAS 写入,保留其他节点、边、视口、元数据。示例中的 ID 必须换成实际查询结果:
26
+
27
+ ```json
28
+ {
29
+ "action": "group-create",
30
+ "doc_id": "DOC_ID",
31
+ "space": "team",
32
+ "team_uid": "TEAM_UID",
33
+ "group_id": "FIXED_GROUP_ID",
34
+ "name": "参考素材",
35
+ "node_ids": ["IMAGE_NODE_ID", "VIDEO_NODE_ID", "AUDIO_NODE_ID"],
36
+ "layout": "grid",
37
+ "position": {"x":120,"y":130}
38
+ }
39
+ ```
40
+
41
+ - `action: layout` 使用 node_ids、layout(horizontal/vertical/grid)、可选 position 整理未分组普通节点;不创建组。`group-create` 至少两个成员,保存为 `meta.canvas_groups`。当前遇到已有分组成员或派生流程节点停止,不自动拆组/重新归组。
42
+ - `action: connect` 使用 source_node_id、target_node_id 连接单节点;`action: group-connect` 使用 group_id、target_node_id 连接整个组。两者都需 doc_id、space 和团队时的 team_uid。派生流程系统线由专用工作流处理。
43
+ - 组合输出是逐个成员连接目标节点,保存真实的成员→目标边,不保存一条虚构 group→node 边。结果 connected/skipped 分别报告成功来源和跳过原因;重复、反向、自连、类型不符或目标模型能力/参考数量不符时不追加线。整个组的边合并为一次 CAS 保存。
44
+ - 先明确并保存下游实际模型。CLI 依据实时模型目录检查图片/视频模式、参考数量与文本图像/视频理解能力;不会静默切换模型。合法连接可同步当前模型的兼容生成模式,生成前必须重新检查并展示模式与参数。
45
+ - 图片生成接受文本、图片;视频输入依模型声明的模式;音频素材仅连接允许音频参考的视频节点。空素材可能具备端口但尚无输出,连线不等于可提交生成;生成准备会拒绝没有输出或不合规的上游。
46
+
47
+ ## 从拓扑准备单次生成
48
+
49
+ 保存节点的实际 model_name、prompt 和 extra 参数后运行 `generation prepare --doc DOC_ID --node NODE_ID --space team --team-uid UID --output request.json`。该命令只读画布/模型,按前端合并合法上游、持久参考和真实审核关联,处理文本上下文及素材标记;output 不覆盖已有文件。参考优先级、默认值和图片断线模式差异见 [生成流程](generation-workflow.md#请求准备的参考与默认值)。图片仅支持单张准备,音频生成和派生转绘后续生成不可用。
50
+
51
+ 核对准备的提示词、参考素材、模型、比例/分辨率/时长和数量,再按 [生成流程](generation-workflow.md) 预估 → 展示实际钱包与费用 → 当次明确确认 → 提交一次(带 --expected-cost 当次确认数值)→ 查询/恢复 → generation wait 自动回填或 generation sync 恢复 → 结果读回和交付。连线、上传或确认上一任务都不构成下一次扣费授权。
52
+
53
+ 验收分别记录接口上传/媒体读取、素材库可查询与导入、分组与连线过滤、任务及实际结果、网页展示/播放。开发时真实前端解析/保存检查通过只能说明协议兼容,不能代替浏览器实测。关闭网页不影响命令运行;不能依赖网页自动消费拓扑或补齐生成请求。
54
+
55
+ 视频任务 completed 后还需核验实际音轨与时长等参数。模型目录中的 generate_audio 不能直接当作用户可切换的请求参数:当前 Seedance 执行适配读取管理端模型配置,未读取请求 extra.generate_audio;前端普通视频节点也没有该开关。此前测试自行写入 extra.generate_audio=false 后仍有声音,说明 CLI 当时错误地把配置字段当作已支持的请求覆盖,不能据此报告“后端无声参数未兑现”。在明确的请求契约和实际链路验收前,CLI 不承诺无声生成、不自行添加该字段;用户需要无声成片时先说明当前能力缺口,再明确可行处理方式,不自动重做收费任务。
56
+
57
+ ## 已有节点结果直接存素材库
58
+
59
+ 这是用户主动发起的独立操作,与生成结果回填画布分开。前端需要点击保存到素材库、选择目标空间/目录再提交;当前没有生成后自动入库。用户只要求生成、剪辑、审核、查询或恢复时,到相应结果核验即止,不顺手入库。用户要求入库或测试入库后,空间可沿用已确认选择,目标目录须由用户指定或明确委托选择;名称/内容看似适合“角色”,或只有一个目录,都不能代替该选择。用户可指定目录名称,由 Agent 查询真实 ID,不要求其手填 ID;既有明确选择不重复问。
60
+
61
+ 实现与模拟/前端契约已通过;真实单图片入库已按原请求/幂等键恢复成功,库中查询及真实 PNG 读取通过。曾遇到的 code 5000 保留为历史,当前不能继续标成入库不可用;本次产物的重新导入和网页人工验收仍待验证。遇到异常按下述恢复,不用下载重传绕过问题,也不重新生成。
62
+
63
+ 业务错误先执行 service status 检查后端连接与真实就绪状态,再核对原目录/操作;连接恢复后只按原请求和幂等键恢复,不能仅凭健康就断定业务成功。历史上 ready 正常也曾遇到 code 5000;用户反馈素材上传受限制,后续原键恢复成功,但未取得服务端堆栈,不将具体根因写成已独立确认。
64
+
65
+ 1. 读取源画布,核对已确认空间;普通图片/视频或素材节点须有关联的真实已完成任务,当前 file_ref 与任务输出一致。当前只支持同画布、同个人/团队空间;缺少任务关联、音频、派生节点或跨空间停止,不猜 task ID。
66
+ 2. material folders/list 查询当前素材空间,将用户指定名称解析为真实目录;未指定且未委托选择时,展示实际目录并询问目标,不按内容自动分类入库。名称默认节点标题,用户有命名要求则沿用。多个同名目录再澄清,不创建新目录绕过选择、归属或内容去重;同空间已有相同内容时由服务端拒绝重复。
67
+ 3. UTF-8 save.json 使用 `{ "doc_id":"DOC_ID", "node_id":"NODE_ID", "space":"team", "team_uid":"TEAM_UID", "folder_id":123 }`。可选 name(1–200 字符,默认节点标题)、description;个人空间移除 team_uid。`material save --input save.json --operation save-result-001` 仅预检,不保存 operation 或创建素材。
68
+ 4. 已明确本次原结果、空间与目录后加 --yes。CLI 调用网页的 save-from-canvas 接口,由后端复制原任务文件,不下载重传,不写画布,不创建生成任务;占用目标空间存储配额。请求级幂等键由 CLI 持久化,是恢复机制,不是新增产品开关;当前服务须支持该契约。
69
+ 5. 返回 saved 还需核对 asset_id、目标目录和 MIME、可读取 url/file_ref,再用 material get/list 查询。入库请求到此结束;仅当用户另有导入要求或明确要求完整导入测试时,才用 material use 将真实素材导入已指定画布,并协调同画布编辑。入库、查询、导入、网页可见分别验收,不因其中一步成功就标整条通过。
70
+ 6. `material save-get save-result-001` 查询原 operation;已有 asset_id 时仅核验原素材。重复执行原 save --yes 也不会再次 POST。已有素材但读回失败时恢复只查询该 ID,不再次保存。
71
+ 7. 没有 asset_id 且 state=unknown/submitting/prepared,先查原目录核对。需要恢复原提交时才执行 `material save-recover save-result-001 --yes`;沿用完整原请求和幂等键,核对原账号/服务/来源/目录,不换键。默认 recover 不发送 POST;rejected 不自动重试。通用 code 5000/3000 可能发生在服务端写入后,不能直接声称未创建。
72
+
73
+ 错误 MATERIAL_SAVE_UNKNOWN 返回退出码 4,MATERIAL_SAVE_REJECTED 返回 3;保留 HTTP/业务错误码以及服务提供的安全 request_id 便于定位。操作记录位于用户配置目录 material-saves/PROFILE,含素材引用,不能分享原文件。没有公开按幂等键查询端点时,不以目录里“暂时没看到”推断没有副作用,不擅自绑定同名素材作为原提交结果。
74
+
75
+ ## 下载接口边界
76
+
77
+ 素材列表/详情的url是原文件引用。新后端文档另列素材空间专属下载接口,用于自定义名称及格式转换;当前CLI已接原格式material download,命名/转换参数未开放,不给list/get/upload/use/save增加filename/format。生成/转绘下载也不接收这些参数。文件引用凭证与新版取消团队白名单的部署区别、错误恢复见[下载规则](commands.md#下载与文件凭证)。服务器转换依赖不转成本机安装要求,访问拒绝不通过下载重传绕过。
78
+
79
+ ## 素材原文件下载
80
+
81
+ 用户指定素材和空间后,`material download ASSET_ID --space personal --output FILE`;团队改为`--space team --team-uid UID`,可带`--sha256 HEX`核验。先通过真实目录和素材详情核验归属,再GET素材专属download入口,不传filename/format;只接受返回的original链接,匿名读取完整url并支持受限307续期。结果包含本地绝对路径、字节/摘要、asset_id、format及可选服务端filename,不输出file_ref或签名URL。output决定本地文件名,不修改素材名称。
82
+
83
+ 业务入口拒绝时停在原错误,不因list/get中还有url就直连、不改用画布生成下载、不下载重传或重新入库。2026-10-31团队素材入口曾返回code2001,安全message为“CLI 无权调用此接口,请在网页端操作”;这是当时的CLI接口准入拒绝,不能仅凭2001推定团队白名单或素材权限原因。2026-11-02用户反馈后端已修复;本次复测在获取签名会话时因代理连接后端超时返回HTTP502,尚未到下载入口,权限修复待真实验证,不能继续将历史2001当作当前接口响应。连接恢复后沿用原素材和专属download入口核验实际文件,不绕过准入。模拟图片/视频/音频、空间/归属、防覆盖/摘要/类型与实际CLI路由通过,不将模拟当作真实下载成功。转换/自定义服务端名称/预览未接入。
84
+
85
+ 2026-10-31补验:复用先前已入库图片重新导入画布,在525版核验原图与素材摘要相同且其他节点不变,没有重复入库或上传。随后网页打开保存后新导入节点与两帧一起缺失;因此仅CLI导入保存通过,网页重开保留未通过。来源/结果缺失按当前内容保留,不自动再导入或重建,见下述协作规则。
86
+
87
+ ## CLI与网页交替使用的停止条件
88
+
89
+ 发现CLI成功保存的新节点/线在后续网页保存中缺失,先停止同画布写入,保存两端版本和原operation;不能通过反复PUT把节点补回。网页回工作台后再只读核验服务端与原媒体任务。即使CAS保存成功,也不能保证另一客户端不把旧内容用后续版本覆盖;需核对实际部署的冲突处理和自动保存。未核验原因前不归责具体成员,也不把刷新或暂停编辑当作根因已修复。原任务产物保留不等于节点仍在;恢复可因来源变化停止。
90
+
91
+ ## 2026-11-02连接恢复与素材下载复验通过
92
+
93
+ 2026-11-02 13:14(Asia/Shanghai)续测:原stage3b-test服务live/ready均HTTP200/code0,database/redis均ok;直连192.168.30.196:8208及经192.168.30.108:5174、127.0.0.1:5174的live探针均正常。沿用猫猫队素材107,通过现有material download专属入口成功获取original并完成匿名文件下载,1503859字节,SHA-256为760560e81026b08eef61287913c767ac3cc004d9d436b50ee1cb585a00513c90;本地重算摘要及PNG签名/尺寸检查通过。产物位于忽略目录.local/non-repaint-plan-20261031/material-107-20261102-recheck.png。本条原素材的CLI准入及文件交付已验证,不扩大为全部素材/账号/格式转换验证。先前502/ETIMEDOUT与2001保留为历史证据;当前恢复不能证明此前故障原因。未改配置或前后端、未写画布、上传、入库或提交生成。
94
+
95
+ ## 普通分组重命名
96
+
97
+ graph rename-group --input rename.json 默认只读预览,不写画布;输入doc_id、space、团队时team_uid、group_id、name。预览返回原名称、新名称和expected_version。用户已明确重命名目标与名称时沿用授权,否则先展示影响收集选择。将expected_version加入同一输入,执行graph rename-group --input rename.json --yes。
98
+
99
+ 只修改指定普通组label并trim名称;节点、位置、连线、引用、其他组保持。版本变化或CAS冲突停止,重新读回/预览,不自动重放。保存响应未知先canvas get核对组名称及版本;不盲目重试。相同名称不写入。派生流程组不支持。普通graph apply仍直接保存,不改变旧命令契约。组重命名、拆组、普通断线均已接入,具体影响与验收边界见下文。组重命名已完成真实服务读回,网页人工验收待执行。
100
+
101
+ 组重命名会在预览前检查完整画布/分组结构;保存后另行GET确认当前目标组名,成功返回rename_verified=true。读回失败或不一致时明确报告未确认/内容变化,不自动重放保存;保留服务端当前版本。
102
+
103
+ ## 普通拆组
104
+
105
+ uzoo-anime graph ungroup --input ungroup.json 默认预览;输入doc_id、space、团队时team_uid、group_id,可选expected_version。展示被移除组与membership_changes(其他组active/exited成员前后变化);用户确认具体范围后将预览expected_version写回输入,加--yes执行。已有明确任务授权沿用,不重复询问。
106
+
107
+ 删除的是普通分组元数据,保留所有节点、位置、连线和引用;按前端组顺序和节点中心点同步已有成员/退出成员,未曾属于组的节点不会自动吸收。若影响派生组则停止。过期版本、CAS冲突、读回失败/不一致不自动重放;先canvas get核对。最后一个组拆除后移除canvas_groups字段,保留其他meta。前端几何对照仅依据本地源码;真实新部署已验证单组改名/拆组读回,网页重开及复杂重叠真实验收待完成。普通断线见下一节。
108
+
109
+ ## 普通断线
110
+
111
+ graph disconnect --input disconnect.json 默认只读预览;输入doc_id、space、团队时team_uid、edge_id,执行时增加预览expected_version并传--yes。预览列源/目标节点、提示词前后、引用ID前后及模式变化。用户已明确指定连线和范围时沿用授权;有引用/模式影响时展示实际预览,不隐藏。
112
+
113
+ 仅删除指定普通边;还有同源同目标连线时保留引用。最后一条断开后同步清理有效持久引用及已有存储位置;手动@@{ref:ID}移除,自动@{ref:ID}还原名称。按剩余拓扑、保留持久参考和当前模型调整生成模式,不静默换模型。系统线、派生流程和不支持的配置协议停止;原生成/审核结果保留,断线不是取消远程任务。保存前版本变化或CAS冲突停止,结果未知/读回不一致不自动重放,先canvas get。
114
+
115
+ 当前断线前端codec/removeEdge/模式对照4例通过;范围未覆盖删除节点、复制节点、撤销重做。素材引用仍由prepare最终请求与reference_mapping核对。
116
+
117
+ ## 普通分组移动、组框调整与组内重排
118
+
119
+ `graph move-group|resize-group|layout-group --input FILE`默认预览,公共字段为doc_id/space/team_uid/group_id,执行必须带本次expected_version及--yes。move-group传position(绝对x/y),整体平移组框和当前成员;已退出成员不跟随。resize-group传size(width≥120、height≥72),可选position,只改组框,不缩放节点或媒体。layout-group传layout=horizontal/vertical/grid,按现有位置和节点尺寸重排已有成员、调整组框。
120
+
121
+ 预览展示node_moves、组框及membership_changes,包含其他组与退出成员变化。按前端组顺序/中心点同步归属,不自动吸收从未属于组的节点;涉及派生组/节点停止。一回CAS并完整读回,冲突/保存未知不自动重放。真实测试已覆盖移动、纵向重排、组框调整、退出后重叠组拆除和旧组重新归属,网页已显示改名组框并保存重开;三种布局另有前端几何对照。
122
+
123
+ 断线后的模式计算还包含未被删除的持久参考,避免只看剩余边落成纯文本模式、随后网页又改回组合参考。@标记清理仅针对断开源;持久参考仍会进入prepare请求。“未采用素材”的文字说明不移除请求数组。图片/视频/音频混合prepare和断线、保留图片引用后的模式稳定已真实核验,无额外生成。
@@ -0,0 +1,95 @@
1
+ # 节点用途、素材工具与 CLI 接入状态
2
+
3
+ **当前状态(2026-11-05)**:CLI转绘因产品重新设计暂停开发及专项补验;本文转绘条目是历史能力,不是当前待办。附件上传界面的可见入口位于独立转绘页面,画布仅有已有附件数据的保留/传递,不能把它列为画布附件完整能力。整片拼接未找到画布入口,移出当前必做项。单片段重拍与普通视频工具单列。
4
+
5
+ 用于解释节点用途、判断用户提出的网页操作能否通过 CLI 完成,以及选择后续操作路线。以下是前端实际实现与当前 CLI 的对照,不把网页有按钮、后端有接口或 CLI 接受参数当作完整接入。产品用途按源码梳理,用户纠正时同步更新;状态区分“已接入”“部分接入”“未接入”与“真实业务待验证”。
6
+
7
+ 当前表格已按2026-11-05收尾核对更新;下方带日期的历史补充不覆盖本表。主线真实通过与未覆盖组合分别声明,不以历史“待验”重新开启已完成任务。
8
+
9
+ ## 普通节点的用途
10
+
11
+ 独立「视频转绘」页面:**CLI未接入,暂不实现**。本指南的转绘接入状态仅指画布内入口和派生流程;独立页素材池选择/排序/生成不纳入当前计划。
12
+
13
+ | 节点 | 主要用途 | 操作指南 |
14
+ |---|---|---|
15
+ | 文本 | 编写文字要求,或用模型理解文本/图片/视频,输出可传递的文本 | 普通生成按生成流程;模型理解能力和输入类型按实际目录核验 |
16
+ | 图片生成 | 接收提示词及合法图片参考,生成图片;有结果后网页提供素材工具 | 生成链路已接入;当前 prepare 仅支持单张,素材工具状态见下表 |
17
+ | 视频生成 | 接收提示词及当前模型允许的图片/视频/音频参考,生成视频 | 独立生成链路已接入;协议签署与素材审核分别处理,无“无声”开关 |
18
+ | 音频 | 网页提供音频节点入口 | CLI 可创建节点,目前不支持音频生成提交,不承诺其完整业务可用 |
19
+ | 图片/视频/音频素材 | 承载上传、素材库导入或处理后媒体,作为下游输入 | 上传与素材库使用见素材与分组流程;有引用后核验可读取媒体 |
20
+ | 视频转绘入口 | 历史画布转绘入口 | 开发与专项补验暂停;保留已有入口和记录,不因新普通画布任务自动创建或续做 |
21
+
22
+ 直接创建范围及 API 类型见 [节点创建](node-workflow.md)。普通生成见 [生成与恢复](generation-workflow.md);上传、素材库及连线见 [素材与分组](material-graph-workflow.md)。
23
+
24
+ ## 图片有素材后的工具
25
+
26
+ | 功能 | 网页用途与操作 | 结果与原图关系 | 当前 CLI |
27
+ |---|---|---|---|
28
+ | 裁剪 | 点击裁剪,拖动裁剪框;自由裁剪或固定/自定义比例,按原图像素区域导出 PNG,超出导出上限时缩小 | 新图片素材节点及源→结果系统线,保留原图 | 已接入 rect 或最大居中比例,需本机 FFmpeg/FFprobe;限同画布真实任务及静态 PNG/JPEG。真实 3:4/768×1024 裁剪、来源线和 0 OO 上传任务通过;2026-11-02用户确认网页显示正常;方向元数据/其他格式仍未验证,见 [图片工具](image-tools-workflow.md) |
29
+ | 标注 | 在节点上画椭圆、矩形、线条、画笔或文字,选颜色并支持撤销/重做,确认合成图片 | 原生成图标注后创建下游图片节点;原素材图标注后创建下游素材节点,均连接原图 | 已接入静态PNG/JPEG的原图像素指令,本机FFmpeg drawvg/drawtext合成;生成图面部红框真实保存/0 OO任务及用户网页显示通过。中文/透明通道/图形旋转及两类源前端兼容通过;文字旋转、网页交互历史未接入,其他真实子项待验收,见[图片工具](image-tools-workflow.md#图片标注) |
30
+ | 抠图 | 固定general去背景、保留主体 | 透明PNG素材与matting-link,保留原图 | 已接同步/本地后台及服务端异步matting-submit;2026-11-05正式202、CLI退出后原job查询/PNG取回/实际0 OO/一次CAS/用户网页重开及109版只读核验通过;提交未取得job_id仍不重发,见[抠图](image-tools-workflow.md#图片抠图) |
31
+ | Seedance 审核 | 从“更多”菜单审核当前图片;或在下游视频节点审核参考素材 | 将审核通过状态和关联保存到素材及引用,不生成新图片 | 已接入显式当前/上游审核、查询恢复与关联保存;真实图片/视频双素材Active、批量关联/下游请求复用和网页审核标记通过;更多组合及完整自动审核仍未全验 |
32
+
33
+ ## 视频有素材后的工具
34
+
35
+ | 功能 | 网页用途与操作 | 产出 | 当前 CLI |
36
+ |---|---|---|---|
37
+ | 剪辑 | 打开时间轴,选择起止位置并确认;截取原视频范围,不重新生成片段内容 | 新视频素材节点及源→结果系统线,保留原视频 | 已接入,限同画布真实任务;模拟/前端兼容及真实单次 2 秒截取、节点/连线和 MP4 读取通过,2026-11-02用户确认网页播放正常 |
38
+ | 截帧 | 选择当前帧,或自定义时间轴选帧;当前自定义一次最多 3 帧 | 每帧成为图片素材节点,上传并连接源视频 | 已接入,需本机 FFmpeg 软件包内的 ffmpeg/ffprobe,缺失先询问用户是否安装后继续;限同画布真实任务;模拟/真实解码/前端兼容及真实第 1 秒单帧、640×640 图片读取、0 OO 上传任务通过;第1/2秒两帧640×640上传/0 OO任务与525版保存通过,早期网页保存清除曾失败,用户授权恢复原节点后536版及用户保存重开保留通过;不自动重建用户删除项 |
39
+ | 片段重拍 | 从源视频派生重拍节点,选片段范围、模型及提示词,发起片段重拍任务 | 源视频→重拍配置→独立视频结果,关联片段和任务 | 已接入单源视频的prepare/submit/get/wait/recover,真实任务产物、派生链与原任务恢复通过。附加参考/批量未接入;未知无ID不重提,见[重拍流程](remake-workflow.md) |
40
+ | 转绘 | 历史视频分析、方案、切片、逐段提示词及生成 | 分段和派生画布链 | 因重新设计暂停开发及专项补验;保留既有单段成功、原结果导出和下载/解码证据。原多段、附件、参考、历史切换待办不再执行,详见[暂停与历史记录](repaint-workflow.md) |
41
+ | Seedance 审核 | “更多”菜单审核当前视频;下游视频节点也可审核单个/多个参考素材或走自动审核设置 | 审核状态和关联保存,不生成新视频 | 已接入显式当前/上游批量审核与状态回填,真实图片/视频双Active及网页标记/下游复用通过;任意子集选择、跨画布与完整自动审核编排未接入 |
42
+ | 去字幕 | 打开工具,框选字幕区域,核对报价并提交处理 | 新视频素材节点及处理任务/结果关联 | 暂停服务(用户2026-10-30明确说明),CLI未接入,本轮跳过开发/实测,不自动探测或提交;不要混同转绘的 SRT 字幕输入 |
43
+
44
+ 转绘已接入步骤、命令及待完善路线以 [视频分段流程](repaint-workflow.md) 为准。派生节点由处理流程创建,不等于必须执行前端代码;CLI 自行编排时也要保存等效节点、连线、任务与结果,不能只调用单个接口就宣称完成流程。
45
+
46
+ 剪辑与截帧已实现步骤、外部工具依赖和恢复见 [视频工具](video-tools-workflow.md);重拍按专用流程,去字幕暂停服务。功能错误先按连接排查核验服务,保留原接口错误与原 operation,不把未知结果判成“没有任务”。
47
+
48
+ 抠图、去字幕在网页上受部署功能开关控制;开发环境出现入口不表示所有部署都开放。不要固定承诺费用,按实际处理接口与钱包核对;有收费副作用时仍需当次费用确认。
49
+
50
+ ## Seedance 素材审核与协议
51
+
52
+ - 用户已明确产品规则:用于 Seedance 视频生成的含人脸素材,真人与动漫都需要审核;不能以动漫形象为由跳过。不据此声称前端具备自动识别人脸的逻辑;源码中的审核流程收集图片/视频引用并提交审核。
53
+ - 用户签署《统一协议》与素材通过 Seedance 审核是两件事。协议命令只解决账号/版本签署,不代表任何素材已审核。
54
+ - 已实现 review start/get/wait/recover:审核当前素材或上游图片/视频,轮询、按画布版本回填状态及引用,prepare 复用真实 active 任务关联。仅支持同画布普通节点、有真实已完成任务关联且素材引用一致的范围;模拟契约与前端持久化兼容通过,真实图片/视频双素材Active及批量任务关联、下游生成和网页审核标记已验证;其他组合不扩大声明。详见 [素材审核流程](seedance-review-workflow.md)。
55
+ - enable_asset_review 传输字段对应后端生成内审核,与独立 review 操作不同;前端自动审核交互尚未全部等效。签协议、节点创建、传输字段、出现审核标记均不代表真实审核通过,不能手写 active/assetUri 或伪造任务。
56
+
57
+ ## 其他前端流程差异
58
+
59
+ | 网页功能 | CLI 当前边界 |
60
+ |---|---|
61
+ | 节点内的持久参考、断线保留引用、@素材标记、自动识别参考 | prepare 已按前端合并持久参考、处理顺序与标记、分离文本上下文并复用审核关联;11 个真实前端 codec/请求准备对照用例通过。复杂真实路线仍按项验收,图片单张限制与断线模式差异见生成流程 |
62
+ | Seedance 样片转正片 | 已接专用draft prepare/submit/get/recover/wait,继承父样片、独立结果节点/报价/恢复;模拟与前端codec通过,2072→2073真实闭环及正片网页重开/完整播放已通过,见生成流程 |
63
+ | 生成结果/已有节点素材保存到素材库 | material save/save-get/save-recover 已接入,限同空间普通图片/视频及有任务关联素材;真实单图片原键恢复入库、库中查询与 PNG 读取通过,素材107导入/网页重开另已通过;刚入库结果再导入及更多类型仍待验 |
64
+ | 查看历史及选历史结果回到节点 | 普通图片/视频已接generation history/history-select/history-get/history-recover;预览后明确选择,以CAS恢复历史结果和历史提示词/模型等参数,保留当前参考及其他节点,无新生成。图片/视频切换并恢复真实通过;图片网页采用1986/离开重开/恢复2071再次重开通过。见[历史选择](generation-workflow.md#普通图片与视频历史选择)。素材/文本/转绘重拍派生节点不走本历史选择;普通图片/视频history-add已接,真实新增/网页重开通过。转绘仍用[原运行查询](repaint-workflow.md#原运行只读查询)及export/archive;不提供任意轮次切换写回 |
65
+ | 下载和预览 | generation download支持已有生成任务;material download接素材空间原文件业务入口,2026-11-02团队素材107原文件真实下载已通过;非成员素材107拒绝通过;真实过期/不可续期、私有/下架等仍待验。响应filename*/filename命名已接;服务端改名请求/格式转换未接。任意画布素材节点下载、播放、全屏等仍未提供同等CLI命令 |
66
+ | 分组与画布编辑 | 已有普通节点更新、布局、建组与类型过滤连线;普通断线已接引用/提示词/模式影响预览和保存,真实文本断线与网页重开通过;组重命名与拆组已接预览、版本保护及真实服务读回(拆组网页重开通过,改名后组框展示及保存重开已人工验收);组整体移动与缩放、已有组内重排、单个/批量文本复制已接预览/保留引用/版本读回;普通节点删除已接影响预览/版本保护/读回,真实独立副本删除通过(最新复制/删除/分组网页保存重开已核验;具体范围见node-workflow);普通媒体复制已接并完成真实/网页保存重开;撤销重做未接入,不用改快照冒充已提供命令 |
67
+
68
+ 前端功能说明不能直接充当安装用户可执行的 CLI 指南。能执行的步骤链接到真实命令参考;未接入项仅说明用途、缺口与所需产出,后续按用户选择的实际路线补全与验收。CLI 已通过部分前端协议检查,不代表所有前端参数默认值、素材处理和流程都已等效。
69
+
70
+
71
+ 以下多段记录已冻结,不作为当前验收队列:多段逐项调度已接`repaint sequence/sequence-get/sequence-next/sequence-recover`,复用既有单段反推、最终提示词和视频,逐项预估确认,未知不重发。本地两段与三类子步骤验证通过;真实多段仍待验。当前画布没有核对到产品批量/整片拼接入口,不使用独立页批量接口,额外参考继续未接入。均匀间隔不保证段数:每段至少4秒,6.385秒素材实际只生成一段。
72
+
73
+ ## 2026-11-03能力状态补充(历史记录)
74
+
75
+ 媒体复制为普通文本、图片/视频生成和三类素材的同画布单个/1–100批量;复制结果和来源历史不认领原生成任务。分组移动、组框调整、组内三种排列已接;缩放只改变组框,不缩放媒体。普通复杂媒体断线会把保留的持久参考纳入模式计算。此前各节“仅文本”“媒体未接”“改名/删除网页待验”为历史阶段,当前范围见[node流程](node-workflow.md#当前普通节点复制2026-11-03)和[组编辑](material-graph-workflow.md#普通分组移动组框调整与组内重排)。
76
+
77
+ 图片多张、音频生成、CLI跨会话撤销重做、额外重拍模式、ZIP/预览/断点下载不因候选名单接入。图片无已核数量入口;音频无有效可选生成模型/完整提交协议;网页撤销是内存历史,未提供可与CLI共享的历史事务;当前素材批量下载为逐文件,不是ZIP。新增能力需要实际入口、完整费用/保存/恢复契约。抠图有真实入口,但用户已确认免费,正式站CLI授权当前关闭;原结果查询和未知提交恢复未接,继续仅预检,不以POST探测可用性。
78
+
79
+ ## 2026-11-03补充条件(历史记录)
80
+
81
+ 普通图片数量以实际节点控件为准,当前单张;同节点多任务历史已真实切换及恢复,网页仍待验。抠图用户确认为免费,但开发部署无服务,正式部署可用性/结果查询与未知恢复待核;不POST探测或切换服务。当前无格式转换能力,下载读取实际响应文件名,每次从原业务接口取新链接。
82
+
83
+ ## 2026-11-03 当前补验
84
+
85
+ 普通图片/视频已接入history-add(输出为独立普通节点、来源历史与自有任务分离),模拟/前端codec/真实服务及网页重开通过;原图片两历史采用/恢复/重开通过,2073正片网页完整播放通过。抠图免费;此前正式站CLI授权关闭已解除,2026-11-04单次执行、透明PNG、已知结果恢复和用户确认网页重开真实通过;无引用的未知提交仍无法查回。详见[历史添加流程](generation-workflow.md#将普通历史结果添加为新节点)。
86
+
87
+ ## 2026-11-04 正式站接入更新
88
+
89
+ 当前用户指定实际服务为https://uzooai.com,使用独立uzooai-online profile。用户启用授权后本人正常登录/授权及账号读回成功,历史2110/cli_auth_disabled阻塞已解除。正式站实际账号/团队与开发站不同,操作前重新查询并绑定实际对象,不迁移旧operation的服务地址。抠图已接入单次免费执行及已知原结果/缓存恢复,正式站真实处理和用户确认网页重开通过;未知响应无结果引用时仍无法服务端查回,不重发。免费处理不以余额0判不可用。
90
+
91
+ ## 2026-11-05 收尾范围
92
+
93
+ 图片历史网页切换/恢复、历史新增图片/视频、样片2072转正片2073、协议v3前检阻断→本人签署→原operation任务2078、异步抠图和用户网页重开均有真实证据,不再当作缺失主线。2078交付大小元数据最后记录仍不一致,需服务端与原服务原任务复核,不能跨服务按数字ID查询。素材107非成员拒绝已通过;更多私有/下架/自然过期下载、三类媒体实际收费生成、来源历史元数据修正后的新副本、更多审核/抠图失败组合仍属具体覆盖边界。格式转换/多图/音频生成/共享undo等缺契约的能力不自动扩入范围。
94
+
95
+ 2026-11-05用户随后明确:正式站为已验开发版直接部署,本次收尾不要求同版全量重测;真实边界专项先不处理,保留限制即可。2078仅是旧任务大小元数据交接,不是本轮发现下载又失败;后续不因清单自行补生成/边界测试。npm发布仍需独立发布身份、scope权限和当次明确授权。
@@ -0,0 +1,94 @@
1
+ # 节点创建与核验
2
+
3
+ 用户决定、方案与费用确认统一遵循 [交互流程](interaction-workflow.md):沿用已明确选择,缺项优先用卡片收集,等待回复后继续原任务;本路线的执行、签署与恢复边界仍按下文,不扩展功能。
4
+
5
+ 用户要求添加节点时读取本文件。沿用已确认的空间、团队和目标画布;缺少时按 [画布流程](canvas-workflow.md) 查询并补齐。真实生产只直接创建普通节点;派生节点由真实业务流程创建。只创建普通空节点不需要选择模型、上传素材或预估生成费用。创建完成并读回后停止,不把创建授权延伸到分析、分段、生成或收费任务。
6
+
7
+ ## 类型与范围
8
+
9
+ 各节点用途、素材工具的操作方式及 CLI 已接入/未接入对照见 [节点功能说明](node-capabilities.md)。本文负责创建与读回核验,不将前端裁剪、剪辑、审核或重拍等功能视为 node add/update 已支持。
10
+
11
+ | CLI `--type` | 保存后的 API type / 标记 | 网页节点 |
12
+ |---|---|---|
13
+ | `text` | `text` | 文本 |
14
+ | `image` | `image` | 图片生成 |
15
+ | `video` | `video` | 视频生成 |
16
+ | `audio` | `audio` | 音频;当前 CLI 不支持音频生成提交 |
17
+ | `image_upload` | `image_upload`,`extra.node_kind=asset` | 图片素材 |
18
+ | `video_upload` | `video_upload`,`extra.node_kind=asset` | 视频素材 |
19
+ | `audio_upload` | `audio_upload`,`extra.node_kind=asset` | 音频素材 |
20
+ | `video-repaint` | `video_repain_begain`,`extra.repaint.role=entry` | 视频转绘入口 |
21
+
22
+ 上表 8 种为普通节点。视频转绘入口是普通配置入口,创建入口不触发分析。视频重拍、分段详情、转绘片段/反推提示词/最终提示词/结果等是流程派生节点,不能用 `node add` 独立创建,不能通过给普通节点注入 `repaint`、`video_remake` 或 `clip_redraw` 标记制造派生节点;也不能用 `node update` 把普通节点改成派生节点。CLI 会拒绝这些操作。已有真实流程节点会随画布快照保留,其存在不说明 CLI 已支持该流程。
23
+
24
+ 不要传网页组件名(如 `imageNode`),也不要用 `video` 代替流程节点。CLI 自动补齐素材和转绘入口标记;`--input` 中的 `data.extra` 按一层键合并。空素材节点不表示上传已通过。
25
+
26
+ 用户要求“所有节点”时只覆盖上表普通节点,不额外创建派生占位。不要自行选取私人素材、构造已完成任务或调用生成。若用户要求可运行的业务节点,先确认素材和配置,并核对 CLI 是否实现完整流程;未实现时明确说明能力缺口。组框等画布元数据不属于这些内容节点。整理、打组与按类型展开组合输出的命令见 [素材与分组流程](material-graph-workflow.md)。
27
+
28
+ ## API 与流程的边界
29
+
30
+ CLI 业务命令直接通过 HTTP 调用后端,不加载网页或执行前端 Vue/store 代码。代理或网关转发 HTTP 不等于执行前端流程;浏览器登录授权是独立步骤。
31
+
32
+ 当前视频转绘由网页负责流程编排:先在本地画布创建带源节点/连线的分段详情并安排保存,再调用分析 API 取得任务 ID;轮询任务更新详情;确认方案并等待切片完成后,再根据后端任务/片段数据创建分段、提示词、结果节点及分组/连线并保存。后端返回任务与业务结果,不会仅因传了画布绑定 ID 就自动创建整条派生节点链。
33
+
34
+ CLI 现在通过独立的 `repaint` 命令编排分析、方案确认、切片和派生节点落图,具体条件与恢复见 [视频分段流程](repaint-workflow.md)。它按真实任务结果构建网页兼容的节点、系统连线和分组,不执行前端 Vue/store。通用 `node add/update` 仍不能制造派生节点。该能力已做模拟接口和真实前端画布解析/保存兼容检查,真实素材、实际计费和网页交互仍待验收;不表示完整转绘成片已接通。
35
+
36
+ ## 执行顺序
37
+
38
+ 1. 复用有效登录,`canvas get DOC_ID` 核对 `team_uid` 与已确认空间一致,确认有写权限。记录当前版本、已有节点、边、视口和 meta;不要清空画布。
39
+ 2. 确定节点类型、标题及位置;用户只指定类型时可以用可读标题与互不重叠的位置。每个创建意图先记录固定 `--node-id` 与输入文件,再写入,便于断连后识别。
40
+ 3. UTF-8 保存 `node-patch.json`,例如:
41
+
42
+ ```json
43
+ {
44
+ "position": {"x":120,"y":130},
45
+ "width":300,
46
+ "height":260,
47
+ "data":{"title":"图片节点","prompt":""}
48
+ }
49
+ ```
50
+
51
+ 4. 执行一次 `uzoo-anime --profile PROFILE node add --doc DOC_ID --type image --node-id NODE_ID --input node-patch.json`。同画布按顺序创建,不并发写入完整快照。其他普通节点换成表中的 CLI 类型;不额外拼接内部组件字段或流程派生标记。
52
+ 5. `canvas get DOC_ID` 读回,验证节点 ID、API type、扩展 role、中文标题、位置、数量与版本;同时核对已有节点/边/meta 未丢失、归属未变化。不要只以命令退出 0 判定网页兼容通过。
53
+ 6. 网页可用时打开同一画布并刷新,检查组件、标题及空状态。网页可能自动保存并增加版本,后续操作始终重新读取,保留网页补齐的数据。网页暂不可用时仅标记 API 保存/读取通过,网页待验证。
54
+
55
+ 更新已有节点使用 `node update --doc DOC_ID --node-id NODE_ID --input node-patch.json`,不通过删除重建验证修改。字段契约和并发行为见 [命令说明](commands.md)。
56
+
57
+ ## 异常与交付
58
+
59
+ - 写入超时/响应不完整:先 get 查固定 ID,存在且内容符合则复用;结果无法确认时停止,不换 ID 追加。
60
+ - 版本冲突:重新读取并检查实际变化;不要自动重放旧快照。已有相同 ID 时先确认是否属于本次意图,不直接重复创建。
61
+ - 组件错型、字段丢失或中文异常:保留响应与节点 ID,修复可确定的 CLI 协议适配后更新原节点;需要前后端改动时单独记录,不覆盖其他工程师修改。
62
+ - 报告实际创建数量/类型、归属与画布入口,区分空节点保存、网页展示、素材上传与业务运行的验证范围。只创建节点时明确未提交生成。真实业务 ID、截图与原始响应留在本地忽略目录,通用 skill 不固化测试环境。
63
+
64
+ ## 同画布单文本节点复制
65
+
66
+ node copy --input copy.json 默认只读预览;输入doc_id、space、团队team_uid、node_id、new_node_id、position。按用户授权目标和位置执行,--yes须带预览expected_version。新ID固定,重复目标拒绝,防止未知保存后再追加。
67
+
68
+ 仅普通文本节点,保留文本/配置;原上游与持久参考合并为新节点持久引用,外部节点ID保持,不复制连线/分组、不触发生成。进行中任务、派生和媒体节点拒绝;非完成状态清理运行任务绑定。前端媒体复制还有来源历史协议,不能把本命令称为全节点复制。版本冲突或读回失败停止,先查固定新ID,不自动重放。
69
+
70
+ 真实新代理验收:原独立测试画布36→37版,复制CLI断线验收到cli-text-copy-20261102,9节点,其他节点/边/meta保持;网页重开待验。
71
+
72
+ ## 普通节点删除
73
+
74
+ node delete --input delete.json 默认只读预览;输入doc_id、space、团队team_uid、node_ids,实际执行增加预览expected_version并传--yes。展示节点列表、removed_edge_ids、group_changes、retained_references及mode_changes,用户明确授权具体删除范围后执行。不能把笼统开发请求当作删除业务节点的授权。
75
+
76
+ 删除普通节点及其入出边,按前端规则更新组成员;保留其他节点对已删除源的持久参考与提示词,retained_references明确列出这些目标。它不同于graph disconnect的引用清理语义;不取消/删除远程生成任务、素材库或文件。下游模式按剩余拓扑调整,涉及换模型时停止,不静默切换。系统线、派生流程、进行中节点不支持普通删除。
77
+
78
+ CAS或预览版本变化停止;保存结果未知先查询原ID是否存在,不自动重放。当前不提供CLI撤销删除命令;执行前需明确选择。真实删除/网页验收按实际记录,不将模拟对照当真实通过。
79
+
80
+ ## 同画布多文本复制
81
+
82
+ node copy-batch --input copies.json 默认只读预览,输入doc_id、space、团队team_uid、copies及执行时expected_version。copies每项为node_id/new_node_id/position。整批只保存一次,任一目标不合规则全部停止;重复新ID停止,保存未知先按固定ID查询,不自动重放。
83
+
84
+ 限普通文本,继承上游/持久引用,不复制边或组。批内引用ID与稳定提示词标记同时映射到新ID,保留手动@@标记;外部引用不变。相较当前本地前端仅映射references的实现,CLI额外同步prompt中的稳定标记,避免副本中引用对象与提示词不一致;预览显示prompt前后。原节点保持;媒体来源历史和跨画布复制未接入。
85
+
86
+ 真实服务测试44→45版10节点,复制两个原测试文本,原内容保持;批内引用重映射有模拟覆盖,本次真实两源无引用,不能扩大为真实跨节点引用验收。网页重开待验。
87
+
88
+ ## 当前普通节点复制(2026-11-03)
89
+
90
+ 以下范围更新此前“仅文本/媒体待接”的历史记录。`node copy`支持普通文本、图片/视频生成节点及图片/视频/音频素材;`node copy-batch`支持同画布1–100项混合批次。保持现有输入字段:doc_id、space、团队team_uid、node_id/new_node_id/position;批量使用copies数组。默认预览;执行须将本次预览expected_version写回输入并加--yes。一个批次仅一次CAS保存及完整读回,任一成员不支持则整批停止;不复制边和组。
91
+
92
+ 生成结果副本保留成品、真实文件引用、审核和持久参考,将当前结果加入extra.copied_generation_history;extra.source_task_id只标来源。清除副本自身last_task_id、结果内task_id与轮询/提交状态,不能把原任务认领为副本的生成任务。素材副本保留原上传任务关联。进行中节点及转绘/重拍/正片等派生节点不能复制;不同配置协议未核对时停止。批内持久引用、审核映射键及稳定@{ref:ID}/@@{ref:ID}一起映射,外部引用保持。预览报告来源任务和复制历史数;保存未知不重放,先按固定副本ID读取。
93
+
94
+ 同画布6个媒体副本(五类及重复图片复制)已完成真实服务和网页保存重开;单文本、批量文本、批内稳定标记/引用与已有删除结果也已网页重开核验。来源历史由前端codec核验;单条来源没有历史切换控件,不能据此声称多历史切换网页通过。复制结果入库仍是单独material save,须先选择目录;CLI使用同画布来源任务并验证文件,不自动入库。
@@ -0,0 +1,54 @@
1
+ # 单片段重拍
2
+
3
+ 2026-10-31范围说明:用户暂停的是转绘repaint开发;本指南的单片段重拍remake单独保留现有状态,不自动扩大为批量、参考素材或整片合成,也不因重新规划提交新的收费任务。
4
+
5
+ 用户决定、方案与费用确认统一遵循 [交互流程](interaction-workflow.md):沿用已明确选择,缺项优先用卡片收集,等待回复后继续原任务;本路线的执行、签署与恢复边界仍按下文,不扩展功能。
6
+
7
+ 适用于普通video/video_upload节点上已有视频的指定区间修改。CLI独立编排“源视频→重拍配置→视频素材结果”,运行时无需前端代码。配置创建不生成;收费处理必须另行预估和当次确认。当前实现限同画布真实完成任务、单一源视频、纯文本提示词;额外图片/音频/视频参考、@素材输入、批量重拍及独立合成操作未接入。模拟与真实前端请求/codec保存重开兼容通过,真实单次任务已完成并恢复结果。
8
+
9
+ ## 输入和配置创建
10
+
11
+ 先沿用本次空间、团队、画布与源视频,核对实际team_uid、同画布任务和真实媒体引用;明确时间范围及要修改的内容,查询当前空间视频模型是否声明video_editing及可用分辨率/时长。已有选择不重问。重拍按源片比例,区间决定时长,不增加比例、输出时长、声音等开关;不走普通node add伪造派生节点。
12
+
13
+ UTF-8 remake.json示例(个人移除team_uid;ID/模型替换为实际查询值):
14
+
15
+ ```json
16
+ {
17
+ "doc_id": "DOC_ID",
18
+ "node_id": "SOURCE_NODE_ID",
19
+ "space": "team",
20
+ "team_uid": "TEAM_UID",
21
+ "start_ms": 0,
22
+ "end_ms": 4000,
23
+ "model_name": "模型目录的展示名",
24
+ "resolution": "480p",
25
+ "prompt": "人物轻轻转头后看向镜头"
26
+ }
27
+ ```
28
+
29
+ 命令统一前缀为`uzoo-anime --profile PROFILE`:
30
+
31
+ 1. `remake prepare --input remake.json --operation remake-001`只预检来源、区间和模型,展示付款钱包快照;无远端写入、无operation记录。
32
+ 2. 确认参数并协调暂停该画布旧页面编辑,加`--yes`只保存真实来源绑定的重拍配置和video-remake-input系统线。保留源节点和其他内容,使用最新完整画布与CAS。后端保存类型为video、extra.video_remake.role=node;网页读取为videoRemakeNode,sourceRef/sourceUrl、区间和sourceDuration均来自真实源片。没有新任务、没有OO生成费用,不把配置创建当成重拍成功。
33
+ 3. 配置位于源片右侧width+80、同y,尺寸按源片比例;输入的resolution为明确成本参数,不能为空。模型/区间/提示词/来源绑定后不自动改写,用户另行编辑导致不一致会停止,先协调新目标再操作。
34
+
35
+ 本路线截取、推理及合成都由后端执行,不要求用户安装本机FFmpeg或推理环境。服务端依赖异常按原HTTP/业务码排查;不要将后端FFmpeg报错转成让用户安装本机软件。
36
+
37
+ ## 实时预估与一次提交
38
+
39
+ 1. `remake submit remake-001`只调用前端同源的canvas/generations/estimate,保存本次报价并显示模型/区间/提示词/分辨率和实际钱包。预估按重拍配置识别片段、mode=video_editing,源视频引用和自动素材说明按前端规则整理;实际提交按前端重拍接口使用用户正文,两者不可随意混用。未知费用、will_intercept或模型配置不匹配均停止。
40
+ 2. 展示当次预估OO币,用户明确确认后,`remake submit remake-001 --yes --expected-cost OO`。CLI重新核对账号/归属/原媒体/配置及当前模型和费用;共享余额变化本身不改变已确认参数,不根据余额差额归因本次费用。--expected-cost为CLI提交前比价。
41
+ 3. 《统一协议》《Seedance2.0模型使用承诺书》需本人确认时,复用[本机协议阅读页](agreement-workflow.md),用户点击后同步CLI;只在原账号、配置、协议版本和费用仍一致时继续。不代填同意,传protocol_agreed=false,依赖服务端已签状态。接口4401仍是待签署,不误报成重拍模型失败。
42
+ 4. 使用真实源ref和区间,固定generation_mode=video_editing,POST /clip-redraw/tasks仅一次,不伪造Idempotency-Key。后端截取并返回真实clip/task;任务ID可为UUID,不能当成canvas生成任务ID。先持久化可查询ID,即使其余响应缺失也尽量从该ID恢复,不丢弃已知任务。
43
+ 5. 含人脸素材(真人/动漫)需要Seedance审核。当前重拍接口由后端携视频参考进入现有审核链;CLI不传关闭审核开关、不伪造active或复用原图审核。源码显示后端在启用审核配置时强制视频走Asset审核;这不证明当前部署审核已成功。协议签署也不等于素材审核,实际执行中的审核错误独立保留,首次真实任务仍须验证。
44
+
45
+ ## 查询、结果与恢复
46
+
47
+ - `remake get remake-001`只读远端任务并核对画布,`remake wait remake-001`等待原任务后保存终态;后端可在CLI退出后继续,但画布仍需wait或recover同步。
48
+ - `remake recover remake-001`默认只查,`--yes`只恢复原配置/已知任务结果的画布保存;不会再次POST收费任务。重复prepare/submit也查询原operation,不重复创建/重拍。
49
+ - 结果是下游video_upload素材,extra.clip_redraw.role=clip-redraw,保存真实taskId/clipId/taskNo、状态、结果引用及clip-redraw-link。配置节点也保存对应clip/任务关联;不替换原视频,不自动入库或继续生成。后端result可能优先返回整片交付产物,同时提供clip_result/compose;照实交付,不把整片与重拍片段混为一项,也不另行触发拼接。
50
+ - 完成判定看原任务status=completed、真实结果url/file_ref和canvas_synced;state=failed/cancelled仍是终态失败/取消,不以命令退出0冒充成功。本次费用看task.estimated_credit_cost/credit_cost/billing_status,余额只报共享快照。
51
+ - 后端对提示词做NFKC兼容字符规范化,中文全角逗号变半角不当作任务错配;只按该规范化比较,其他正文差异仍停止。网页保存可能把真实video_remake配置的API类型写成video_upload;来源/区间/模型/提示词及role均一致时按真实标记识别,不因别名重建节点。
52
+ - 保存冲突停止。保存丢响应先读回原分配节点/线;明确CAS拒绝可显式恢复最新快照。用户删除/换素材/改配置/断系统线后停止,不自动重建或回写旧内容。源签名更新通过实际媒体摘要核对同一内容,不能只比文件名或尺寸。
53
+ - **提交响应未知且无任务ID时,完整自动恢复不可用**:没有已声明的提交幂等/按operation查询契约。先检查service status及原副作用,保留原operation,不换键重发,不根据列表空或共享余额不变推断未执行。REMAKE_SUBMISSION_UNKNOWN退出4,REMAKE_SYNC_PENDING退出4;已知ID仅查原任务,不能猜另一个任务。
54
+ - 记录在用户配置目录remakes/PROFILE,包含源引用/提示词/任务响应,不公开或提交。退出/删除网页节点不会自动删除本地记录。