CreatiBI CLI 素材库管理
负责素材库、专案、专案集能力的查询、上传与元数据维护。signals 和 analysis 定义见 references/video-intelligence.md,专案字段见 references/project.md,专案集字段见 references/portfolio.md。
交互规范
- 对用户只输出结果、状态和下一步,不展示命令、参数或错误原文。
- 先处理
cbi-shared前置条件,再执行素材库操作。 - 涉及重复上传、删除、覆盖等操作时,先用自然语言确认。
- 读取详情时,优先返回摘要;只有在用户明确需要时才展开原始结构。
处理顺序
- 先确认已初始化并登录。
- 再按任务类型选择查询、上传或修改。
- 资产域任务先确认
repository-id,专案域任务先确认project-id或team-id。 - 文件详情优先看基础信息,再按需展开
signals、analysis或爆点片段。 - 部分失败时继续处理后续条目,最后汇总成功、失败和原因。
术语
signals:视频经过 AI 多模态理解后,再由 AI 整理出的结构化信号,用于搜索、筛选和详情展示。analysis:文件级 AI 视频分析结果,也就是更完整的详细分镜表,通常是 JSON 结构。highlight-clip-*:独立的爆点片段对象,不等同于文件级analysis。
常用能力
| 场景 | 处理要点 |
|---|---|
| 素材库列表 | 选择可写入的目标素材库 |
| 文件列表 | 按文件夹、标签、关键词或是否有信号筛选 |
| 文件详情 | 查看基础信息、来源、标签、信号、AI 分镜表 |
| 文件查重 | 上传前确认是否已存在 |
| 文件上传 | 将本地文件入库 |
| 爆点片段 | 查看 AI 生成或人工维护的高光片段 |
| 专案列表 | 按关键词、可见范围、团队或作品集筛选 |
| 创建专案 | 按团队创建公开或私有专案,并可设置日期范围 |
| 专案脚本列表 | 按状态、关键词、父任务和归档状态筛选 |
| 专案素材列表 | 按关键词、类型、创建者、编剧、制作者、投放状态筛选 |
| 衍生素材树 | 查看专案衍生素材的树形层级结构 |
| 裂变素材树 | 查看专案裂变素材的树形层级结构 |
| 素材标签查询 | 批量获取素材的标签信息 |
| 素材脚本结构 | 获取素材的脚本结构分析结果 |
| 创建脚本任务 | 创建普通任务、子任务(裂变)或来源任务(衍生) |
| 获取脚本内容 | 读取脚本任务内容与关联信息 |
| 保存脚本内容 | 保存脚本 JSON/Markdown,并可更新关联信息 |
| 上传交付物 | 上传视频/图片到脚本任务,支持多文件和去重 |
| 交付物列表 | 查看脚本任务的交付物和附件列表 |
| 脚本转裂变素材 | 从脚本创建同专案父子关系裂变素材 |
| 脚本转衍生素材 | 从脚本创建可跨专案的平级衍生素材 |
| 素材转裂变子素材 | 从素材创建同专案父子关系裂变子素材 |
| 素材转衍生子素材 | 从素材创建可跨专案的平级衍生子素材 |
| 专案集列表 | 按关键词、可见范围和分页筛选 |
| 专案集下专案列表 | 查看某个专案集下的专案并按关键词筛选 |
查询规则
--keyword搜索名称和signals,不是搜索analysis。--has-signals只判断是否存在视频理解信号。- 有条件筛选时保持单一维度,不要把多个筛选模式混在一起。
- 当用户要求“完整 AI 分析 JSON”时,优先使用 JSON 输出查看
analysis原始结构。
写入操作
- 上传、改名、改备注、改评分、加标签、加文件夹、加产品前,先确认目标素材库和文件 ID。
- 重复上传默认跳过;需要强制写入时先向用户确认。
- 删除类操作默认按最小风险表达,明确说明影响范围。
- 创建专案前先确认团队 ID、专案名称和隐私级别(1=公开,2=私有)。
- 上传文件可按需带
name、note、rating、source-url、tags等扩展参数。
专案规则
project list支持关键词、scope、team-ids、portfolio-ids和分页。project create需要team-id与name,可选privacy、description、template-id、deadline-start、deadline-end。project script-list重点筛选字段:state、parent-id、is-archived。project material-list支持多条件筛选:keyword、file-type、creator-id、writer-id、designer-id、delivered。project material derivative-list:获取衍生素材树,传material-id查指定素材的衍生树。project material fission-list:获取裂变素材树,传material-id查指定素材的裂变树。project material tags:批量获取素材标签,可指定material-ids筛选。project material script-structure:获取素材的脚本结构分析,需要material-id。project script-create支持parent-id(裂变子任务)与source-object(衍生任务来源)。project script-get用于读取脚本内容,支持可选project-id做权限验证。project script-save支持四种格式:format=1普通(Markdown)、format=2分镜(JSON)、format=3口播(JSON)、format=4剪辑(JSON)。project script-save支持简化 JSON 输入:分镜[{"Copy":"文案"}]、口播{"Content":"正文"}、剪辑{"Start":"开场","Content":"主体","End":"结尾"}。project script-save支持--text参数自动生成简化 JSON 或 Markdown(根据--format选择)。project script-save可同时更新name、product-ids、app-ids、ratios、ref-repo-file-ids。project material fission-from-task:必须同专案,素材 parentId 指向来源脚本。project material derivative-from-task:可跨专案,素材 parentId=0,sourceObject 指向来源脚本。project material fission-from-material:必须同专案,子素材 parentId 指向来源素材。project material derivative-from-material:可跨专案,子素材 parentId=0,sourceObject 指向来源素材。project deliverable-upload:上传交付物(视频/图片)到脚本任务,支持多文件(第一个为主文件,后续为裂变文件),自动 MD5 去重。project deliverable-list:获取脚本任务的交付物和附件列表。- 当用户提到”我加入的专案”,将
scope设为1;未指定时默认全可见范围。
专案集规则
portfolio list支持keyword、scope、分页,scope=1表示“我加入的专案集”。portfolio project-list需要portfolio-id,可选keyword与分页。- 专案集可见性常见枚举:1=公开,2=私有。
- 专案状态常见枚举:1=正常进行,2=有风险,3=偏离轨道,4=暂停,5=完成,6=无更新。
内部命令骨架
cbi repository list
cbi repository file-list --repository-id <id>
cbi repository file-detail <file-id>
cbi repository file-check --repository-id <id> --file <path>
cbi repository file-create --repository-id <id> --file <path>
cbi repository highlight-clip-list --repository-id <id>
cbi repository highlight-clip-detail <clip-id>
cbi project list
cbi project create --team-id <id> --name "<name>"
cbi project script-list --project-id <id>
cbi project material-list --project-id <id> --file-type 1 --delivered 1
cbi project material derivative-list --project-id <id>
cbi project material fission-list --project-id <id>
cbi project material tags --project-id <id>
cbi project material script-structure --project-id <id> --material-id <id>
cbi project script-create --project-id <id> --name "<name>"
cbi project script-get --script-id <id>
cbi project script-save --script-id <id> --script '<json>'
cbi project script-save --script-id <id> --text "内容1,内容2" --format 2
cbi project script-save --script-id <id> --markdown "# 标题"
cbi project material fission-from-task --project-id <id> --script-id <id> --name "<name>"
cbi project material derivative-from-task --project-id <id> --script-id <id> --name "<name>"
cbi project material fission-from-material --project-id <id> --material-id <id> --name "<name>"
cbi project material derivative-from-material --project-id <id> --material-id <id> --name "<name>"
cbi project deliverable-upload --script-id <id> --file <path> [--file <path>...]
cbi project deliverable-list --script-id <id>
cbi portfolio list
cbi portfolio project-list --portfolio-id <id>
参考
- references/video-intelligence.md
- references/project.md
- references/portfolio.md
- 仓库根目录
README.md的素材库章节