intellistory-cli
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseIntelliStory CLI
IntelliStory CLI
IntelliStory is a pre-production platform for film, TV and animation: story development,
look development, storyboards, layout, AI image/video/audio generation, review. Everything
lives under a workspace → project → (documents · acts/scenes · sequences/shots · assets ·
references · versions).
IntelliStory是面向影视与动画的前期制作平台,涵盖故事开发、视觉风格开发、分镜、布局、AI图像/视频/音频生成、审核等功能。所有内容都按工作区→项目→(文档·幕/场景·序列/镜头·资产·参考素材·版本)的层级组织。
Two ways to call the same tools
调用同一工具的两种方式
Every IntelliStory operation is a tool with a name like , ,
. There are ~200. You reach them one of two ways:
list_shotswrite_beatsgenerate_image- MCP — if an MCP server is connected in this session, call the tools directly. Same names, same arguments as below.
intellistory - CLI — otherwise, run them from the shell. is the tool call; the CLI reads the live tool registry, so anything that exists as a tool exists as a command.
intellistory <tool> --option value
Both hit the same platform with the same permissions. Prefer MCP when it's there (no
process spawn); use the CLI whenever it isn't, or for anything that touches local files.
每个IntelliStory操作都是一个工具,名称类似、、,目前约有200个工具。你可以通过以下两种方式调用它们:
list_shotswrite_beatsgenerate_image- MCP — 若当前会话已连接MCP服务器,可直接调用工具。工具名称和参数与下文一致。
intellistory - CLI — 否则,从Shell运行工具。即为工具调用命令;CLI会读取实时工具注册表,因此所有已存在的工具都对应一个命令。
intellistory <tool> --option value
两种方式都会访问同一平台,且拥有相同权限。若MCP可用则优先使用(无需启动进程);若不可用,或涉及本地文件操作时,请使用CLI。
Step 0 — bootstrap (CLI path)
步骤0 — 初始化(CLI路径)
bash
intellistory whoami # signed in? which API? default project?- →
command not found(Node 18+; no other dependencies).npm i -g intellistory - → ask the user to run
Not signed in(opens the browser, they pick a workspace, done) or, on a headless box,intellistory loginwith a workspace key from Settings → API keys. Wait for them; don't guess keys.intellistory login --with-key <key> - No default project → , then
intellistory projects. From then on every command that takesintellistory use <code|name|id>fills it in;project_idoverrides for one call.--project <uuid|code|name>
bash
intellistory whoami # 是否已登录?使用哪个API?默认项目是什么?- 若提示→ 执行
command not found(需Node 18+;无其他依赖)。npm i -g intellistory - 若提示→ 请用户运行**
Not signed in**(会打开浏览器,用户选择工作区即可完成);若在无图形界面的设备上,使用intellistory login,其中密钥可从设置→API密钥中获取。等待用户操作,请勿猜测密钥。intellistory login --with-key <key> - 若无默认项目 → 执行,然后运行
intellistory projects。此后所有需要intellistory use <code|name|id>的命令都会自动填充该值;使用project_id可临时覆盖一次。--project <uuid|code|name>
Calling a tool
调用工具
bash
intellistory tools --search loom # find tools by name/description
intellistory help write_shot_prompt # options, required ones marked, defaults, enums
intellistory list_shots --json # call — project_id injected from `use`
intellistory write_shot_prompt --shot-id <id> --prompt "…" # dashes or underscores, either
intellistory generate_image --prompt "…" --estimate-only --json # ask the price first
intellistory write_beats --args '{"beats":[…]}' # raw JSON for nested input
intellistory write_beats --args - < beats.json # …or from stdinRules the CLI enforces for you (read the error, it names the option):
- options are coerced from the tool's JSON schema — → number,
--limit 5→ true,--full→ array,--tags a,b→ object;--settings '{…}' - unknown options and missing required ones exit 2 with the option name;
- gives compact JSON on stdout for parsing; without it you get readable JSON.
--json - Exit codes: 0 ok · 1 the tool returned an error · 2 usage · 3 not signed in · 4 network · 5 timeout.
Wrap long-running work: polls a generation job and exits 0 on
success, 1 on failure ( for long renders).
intellistory wait <job_id>--timeout 900bash
intellistory tools --search loom # 通过名称/描述查找工具
intellistory help write_shot_prompt # 查看选项、必填项、默认值、枚举值
intellistory list_shots --json # 调用工具 — project_id会从`use`命令的设置中自动注入
intellistory write_shot_prompt --shot-id <id> --prompt "…" # 参数可使用短横线或下划线,两种格式均支持
intellistory generate_image --prompt "…" --estimate-only --json # 先估算成本
intellistory write_beats --args '{"beats":[…]}' # 使用原始JSON作为嵌套输入
intellistory write_beats --args - < beats.json # …或从标准输入读取CLI会为你强制执行以下规则(若出错,错误信息会指明具体选项):
- 选项会根据工具的JSON Schema自动转换类型 — → 数字类型,
--limit 5→ 布尔值true,--full→ 数组类型,--tags a,b→ 对象类型;--settings '{…}' - 未知选项或缺失必填选项会以退出码2终止,并提示选项名称;
- 参数会在标准输出生成紧凑的JSON格式以便解析;不使用该参数则输出可读性更强的JSON。
--json - 退出码:0=成功 · 1=工具返回错误 · 2=使用错误 · 3=未登录 · 4=网络错误 · 5=超时。
对于长时间运行的任务:会轮询生成任务的状态,成功则以退出码0终止,失败则以退出码1终止(可设置长渲染任务的超时时间)。
intellistory wait <job_id>--timeout 900Local files ↔ the project (CLI only — MCP can't see the disk)
本地文件 ↔ 项目(仅CLI支持 — MCP无法访问磁盘)
bash
intellistory upload ./takes/*.mp4 --shot sq010_sh0020 --pass-type previz # versions on a shot
intellistory upload ./board.png --shot sq010_sh0020 --pass-type storyboard
intellistory upload ./moodboard/*.jpg --ref --category mood --tags night,rain # project references
intellistory upload ./cleo_front.png --character "Cleo" # onto a character
intellistory download sq010_sh0020 -o ./renders/ # newest version on the shot
intellistory download <file_id> -o ./x.mp4 # a specific version; --all for every versionUploads are ≤ 36 MB per file for now — for a longer render, upload a shorter or lower-bitrate
encode rather than an external link. Video must have its audio muxed in before upload; the
platform plays exactly the bytes you send. is the production STAGE: images →
/ ; video → / / ; audio → .
pass_typestoryboardconceptprevizanimaticfinalvobash
intellistory upload ./takes/*.mp4 --shot sq010_sh0020 --pass-type previz # 上传到镜头的版本
intellistory upload ./board.png --shot sq010_sh0020 --pass-type storyboard
intellistory upload ./moodboard/*.jpg --ref --category mood --tags night,rain # 上传到项目参考素材
intellistory upload ./cleo_front.png --character "Cleo" # 上传到角色
intellistory download sq010_sh0020 -o ./renders/ # 下载镜头的最新版本
intellistory download <file_id> -o ./x.mp4 # 下载特定版本;使用--all可下载所有版本目前单文件上传大小限制为≤36 MB — 若要上传长渲染文件,请上传较短或低码率的编码文件,而非外部链接。视频文件上传前必须合并音频;平台会直接播放你上传的原始字节内容。对应制作阶段:图片→(分镜)/(概念图);视频→(预演)/(动态分镜)/(最终版);音频→(旁白)。
pass_typestoryboardconceptprevizanimaticfinalvoIDs — the one thing that goes wrong most
ID — 最容易出错的地方
Four different things are called an "id" (). In short:
references/ag-ids-and-refs.md- UUID = the row. Most write tools also accept a reference code (,
sq010_sh0020) and resolve it for you — pass codes, don't guess UUIDs.CHAR_CLEO - @-IDs (,
@S4) inside scripts are a registry:@C1with the canonical name and use exactly what comes back; never invent one; never strip them when editing.register_element - Shots, assets and versions return an — give the user that (or
app_url), not a raw media URL.create_share_link
有四种不同的“id”(详见)。简言之:
references/ag-ids-and-refs.md- UUID = 数据行标识。大多数写入工具也接受参考代码(如、
sq010_sh0020)并自动解析 — 请传递代码,不要猜测UUID。CHAR_CLEO - 脚本中的**@-IDs**(如、
@S4)属于注册标识:使用@C1命令注册规范名称,并严格使用返回的标识;请勿自行创建,编辑时也请勿删除。register_element - 镜头、资产和版本会返回— 请将该链接(或使用
app_url生成的链接)提供给用户,而非原始媒体URL。create_share_link
Connecting an agent (one command each)
连接Agent(每个Agent对应一条命令)
bash
intellistory setup claude-code # claude mcp add … (user scope)
intellistory setup claude-desktop # stdio proxy — no key lands in the config
intellistory setup cursor | codex | gemini | hermes | openclaw
intellistory setup <agent> --print # show what would be written, write nothing
intellistory skills install # npx skills add AlienrobotLLC/intellistory-skillsintellistory mcpstash_pasted_imagesbash
intellistory setup claude-code # claude mcp add …(用户范围)
intellistory setup claude-desktop # 标准输入输出代理 — 密钥不会存储到配置中
intellistory setup cursor | codex | gemini | hermes | openclaw
intellistory setup <agent> --print # 显示将要写入的内容,但不实际写入
intellistory skills install # npx skills add AlienrobotLLC/intellistory-skillsintellistory mcpstash_pasted_imagesBehaviour
操作规范
- Describe what happened, not the plumbing: "boarded six shots of sq020" — not the model routing or the queue. Don't narrate "calling the CLI".
- Money is real: and
generate_*takeregenerate_sequence— quote, get a yes, then run (estimate_only: true).references/ag-billing.md - Read before you write on an existing project: gives the whole state.
read_cortex - After a batch of meaningful story/structure changes, call once.
invalidate_cortex - When a read comes back empty, check project → entity code → upstream exists → stale
view, in that order (). Don't invent an ID, a price or a capability;
references/ag-failure-modes.md/list_knowledge_baseare authoritative for platform questions.read_knowledge_article
- 描述实际执行的操作,而非底层流程:比如“完成了sq020的6个镜头分镜” — 不要描述模型路由或队列相关内容,也不要提及“调用CLI”。
- 费用是真实产生的:和
generate_*支持regenerate_sequence参数 — 先报价,获得用户同意后再执行(详见estimate_only: true)。references/ag-billing.md - 在现有项目中写入内容前,请先读取:命令会返回项目的完整状态。
read_cortex - 在完成一批重要的故事/结构修改后,请调用一次。
invalidate_cortex - 当读取结果为空时,请按以下顺序排查:项目→实体代码→上游是否存在→视图是否过期(详见)。请勿自行创建ID、价格或功能;
references/ag-failure-modes.md/list_knowledge_base是解答平台相关问题的权威途径。read_knowledge_article
References
参考文档
- — full command list (generated from
references/cli-reference.md)intellistory --help - — UUIDs vs codes vs @-IDs vs deep links
references/ag-ids-and-refs.md - — the silent no-ops and how to read an empty result
references/ag-failure-modes.md - — estimate-first, credits, what to tell the user
references/ag-billing.md
- — 完整命令列表(由
references/cli-reference.md生成)intellistory --help - — UUID、代码、@-IDs与深度链接的区别
references/ag-ids-and-refs.md - — 静默无操作的情况及如何解读空结果
references/ag-failure-modes.md - — 先估算、 credits、需告知用户的信息
references/ag-billing.md