Responsible for querying, uploading, and metadata maintenance for asset libraries, projects, and project sets.signals and analysis definitions are in references/video-intelligence.md, project fields are in references/project.md, project set fields are in references/portfolio.md。
Interaction Specifications
- Only output results, status, and next steps to the user; do not display commands, parameters, or raw errors.
- Handle
cbi-sharedprerequisites first, then perform asset library operations. - For operations involving duplicate uploads, deletion, overwriting, etc., confirm in natural language first.
- When reading details, return a summary first; only expand the raw structure when the user explicitly needs it.
Processing Order
- First confirm that it has been initialized and logged in.
- Then choose query, upload, or modification according to the task type.
- For asset domain tasks, first confirm
repository-id; for project domain tasks, first confirmproject-idorteam-id。 - For file details, look at basic information first, then expand
signals、analysisor highlight clips as needed. - When some items fail, continue processing subsequent items, and finally summarize successes, failures, and reasons.
Terminology
signals: Structured signals organized by AI after a video undergoes AI multimodal understanding, used for search, filtering, and detail display.analysis: File-level AI video analysis results, that is, a more complete detailed storyboard table, usually in JSON structure.highlight-clip-*: An independent highlight clip object, not equivalent to file-levelanalysis。
Common Capabilities
| Scenario | Processing Points |
|---|---|
| Asset Library List | Select a writable target asset library |
| File List | Filter by folder, tag, keyword, or whether signals exist |
| File Details | View basic information, source, tags, signals, and AI storyboard table |
| File Duplicate Check | Confirm whether it already exists before uploading |
| File Upload | Add local files to the library |
| Highlight Clips | View AI-generated or manually maintained highlight clips |
| Project List | Filter by keyword, visibility scope, team, or portfolio |
| Create Project | Create public or private projects by team, and set a date range |
| Project Script List | Filter by status, keyword, parent task, and archive status |
| Project Asset List | Filter by keyword, type, creator, screenwriter, producer, and placement status |
| Derived Asset Tree | View the tree hierarchy of project derived assets |
| Fission Asset Tree | View the tree hierarchy of project fission assets |
| Asset Tag Query | Batch retrieve tag information for assets |
| Material script structure | Get the script structure analysis result of the material |
| Create script task | Create a normal task, subtask (fission), or source task (derivative) |
| Get script content | Read script task content and related information |
| Save script content | Save script JSON/Markdown, and optionally update related information |
| Upload deliverables | Upload videos/images to the script task, supports multiple files and deduplication |
| Deliverable list | View the list of deliverables and attachments of the script task |
| Script to fission material | Create fission material with a parent-child relationship in the same project from a script |
| Script to derivative material | Create peer-level derivative material that can span projects from a script |
| Material to fission sub-material | Create fission sub-material with a parent-child relationship in the same project from a material |
| Material to derivative sub-material | Create peer-level derivative sub-material that can span projects from a material |
| Project collection list | Filter by keyword, visibility scope, and pagination |
| Project list under project collection | View projects under a project collection and filter by keyword |
Query rules
--keywordSearch name andsignals, not searchanalysis。--has-signalsOnly determines whether a video understanding signal exists.- When filtering with conditions, keep to a single dimension; do not mix multiple filter modes together.
- When the user requests the "complete AI analysis JSON", prioritize using JSON output to view
analysisraw structure.
Write operations
- Before uploading, renaming, changing remarks, changing ratings, adding tags, adding folders, or adding products, first confirm the target material library and file ID.
- Duplicate uploads are skipped by default; confirm with the user first when forced writing is needed.
- Deletion-type operations are expressed by default with minimal risk, clearly stating the scope of impact.
- Before creating a project, first confirm the team ID, project name, and privacy level (1=public, 2=private).
- Uploaded files can optionally include
name、note、rating、source-url、tagsand other extended parameters.
Project rules
project listSupports keywords,scope、team-ids、portfolio-idsand pagination.project createRequiresteam-idandname, optionalprivacy、description、template-id、deadline-start、deadline-end。project script-listKey filter fields:state、parent-id、is-archived。project material-listSupports multi-condition filtering:keyword、file-type、creator-id、writer-id、designer-id、delivered。project material derivative-list: Get the derivative material tree, passmaterial-idto query the derivative tree of the specified material.project material fission-list: Get the fission material tree, passmaterial-idto query the fission tree of the specified material.project material tags: Batch get material tags, can specifymaterial-idsfiltering.project material script-structure: Get the script structure analysis of the material, requiresmaterial-id。project script-createSupportsparent-id(fission subtask) andsource-object(derivative task source).project script-getUsed to read script content, supports optionalproject-idfor permission verification.project script-saveSupports four formats:format=1Normal (Markdown),format=2Storyboard (JSON),format=3Voiceover (JSON),format=4Editing (JSON).project script-saveSupports simplified JSON input: storyboard[{"Copy":"文案"}], voiceover{"Content":"正文"}, editing{"Start":"开场","Content":"主体","End":"结尾"}。project script-saveSupports--textautomatic generation of simplified JSON or Markdown from parameters (based on--formatselection).project script-saveCan simultaneously updatename、product-ids、app-ids、ratios、ref-repo-file-ids。project material fission-from-task: must be in the same project, the material parentId points to the source script.project material derivative-from-task: can span projects, material parentId=0, sourceObject points to the source script.project material fission-from-material: must be in the same project, the child material parentId points to the source material.project material derivative-from-material: can span projects, child material parentId=0, sourceObject points to the source material.project deliverable-upload: upload deliverables (video/image) to the script task, supports multiple files (the first is the main file, subsequent ones are derivative files), automatic MD5 deduplication.project deliverable-list: get the list of deliverables and attachments for the script task.- When the user mentions "projects I joined", set
scopeto1; when unspecified, default to all visible scope.
Project set rules
portfolio listSupportskeyword、scope, pagination,scope=1means "project sets I joined".portfolio project-listRequiresportfolio-id, optionalkeywordand pagination.- Common project set visibility enums: 1=public, 2=private.
- Common project status enums: 1=on track, 2=at risk, 3=off track, 4=paused, 5=completed, 6=no update.
Internal command skeleton
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>
Reference
- references/video-intelligence.md
- references/project.md
- references/portfolio.md
- Repository root
README.mdmaterial library section