cawcut-workflow

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

CawCut Workflow

CawCut 工作流

One canvas. Follow-ups, missing inputs and re-runs go into the active
workflow_id
; an unrelated goal starts a new one. Solid edge, fixed asset. A canvas output reaches its consumer through an edge; an
asset_id
input is outside media or a result the user picked.
cawcut
cawcut asset upload <path|url|asset_id>… --json
cawcut workflow nodes [--capability <c>] [--asset <asset_id>…] [--model <id> --schema | --has-port <selector>] --json
cawcut workflow quick "<prompt>" --capability <c> --model <id> [--workflow <id>] [--param k=v] [--image|--video|--audio <asset_id>] --estimate --json
cawcut workflow create --file - --json
cawcut workflow edit <id> --file - --json
cawcut workflow set <id> --node <n> key=value --json
cawcut workflow connect <id> <from> <to> --json
cawcut workflow upscale <id> --node <draft_node> --json
cawcut workflow prepare <id> [--target <n>] --json
cawcut workflow run <id> [--target <n>] --wait --json
cawcut workflow results <id> --node <n> --download --json
--json
replies
{v,ok,data}
or
{ok:false,error}
; follow
error.next
. Ask with the host question tool, recommended option first; independent settings may share one call up to its question limit. Questions never arrive as a block of numbered prose; a numbered list is for a choice longer than the tool allows, or when no tool exists.
一个 Canvas。 后续操作、缺失输入和重跑操作都进入当前
workflow_id
;无关目标则启动一个新工作流。 Solid edge,固定 asset。 Canvas 输出通过 edge 到达其下游使用方;
asset_id
输入来自外部媒体或用户选择的结果。
cawcut
cawcut asset upload <path|url|asset_id>… --json
cawcut workflow nodes [--capability <c>] [--asset <asset_id>…] [--model <id> --schema | --has-port <selector>] --json
cawcut workflow quick "<prompt>" --capability <c> --model <id> [--workflow <id>] [--param k=v] [--image|--video|--audio <asset_id>] --estimate --json
cawcut workflow create --file - --json
cawcut workflow edit <id> --file - --json
cawcut workflow set <id> --node <n> key=value --json
cawcut workflow connect <id> <from> <to> --json
cawcut workflow upscale <id> --node <draft_node> --json
cawcut workflow prepare <id> [--target <n>] --json
cawcut workflow run <id> [--target <n>] --wait --json
cawcut workflow results <id> --node <n> --download --json
--json
回复
{v,ok,data}
或
{ok:false,error}
;遵循
error.next
。使用宿主 question tool 提问,并优先列出推荐选项;相互独立的 settings 可以在一次调用中合并提问,但不得超过该工具的问题数量上限。问题绝不会以编号段落的形式出现;只有当选项数量超过工具限制或没有可用工具时,才使用编号列表。

0. Bootstrap

0. 启动准备

Silent guardrail, once per AI session: a session that already ran a
cawcut
command successfully starts at step 1. Otherwise run
cawcut upgrade check --json
.
  • "update_available": true
    → run
    cawcut upgrade
    yourself; the user never types it. Then continue.
  • "ahead_of_registry": true
    → a local build; continue.
  • Command missing, or any other check failure → failures. Done: the check ran, any update is installed, and no bootstrap text reaches the user.
静默检查规则,每个 AI 会话仅执行一次:如果会话中已成功运行过
cawcut
命令,则直接从第 1 步开始。 否则运行
cawcut upgrade check --json
。
  • "update_available": true
    → 由你自行运行
    cawcut upgrade
    ,用户无需输入。然后继续。
  • "ahead_of_registry": true
    → 本地构建版本;继续。
  • 命令不存在或检查出现其他失败 → 失败处理。 完成:检查已执行、所有可用更新均已安装,并且不会向用户显示任何启动准备文本。

1. Route

1. 路由

RequestOwner
Named App, "what apps exist"
cawcut-app-run
Running or named Ad Video, Story Video or avatar projectthat skill
Story: multi-shot narrative or dialogue videostory on a canvas;
/cawcut-story-video
on request
Script, storyboard or shot list only (ad scripts too)script-writing
Ad or ad video, or a product-page URL alone
cawcut-ad-video
; an ad asked for on a canvas → product
Product URL to scrape or extractask once: Ad Video wizard or canvas with a Product node → product
Cut, join, trim, timeline
cawcut-vn
Anything else new
cawcut app list --schema --json
; offer an App scoring ≥70 (the rubric is in
cawcut-app-run
) beside "Build a canvas"; else canvas
Done: the user agreed to an App, a pipeline or a canvas.
请求处理方
指定 App、“有哪些 Apps”
cawcut-app-run
运行或指定 Ad Video、Story Video 或 avatar 项目对应的 skill
故事:多镜头叙事或对话视频Canvas 上的 story;用户明确要求时使用
/cawcut-story-video
只需脚本、分镜或镜头清单(包括广告脚本)script-writing
广告或广告视频,或仅提供商品页面 URL
cawcut-ad-video
;在 Canvas 上制作广告 → product
需要抓取或提取的商品 URL询问一次:使用 Ad Video 向导,或使用包含 Product 节点的 Canvas → product
剪切、拼接、裁剪、时间线
cawcut-vn
其他所有新需求
cawcut app list --schema --json
;同时提供评分 ≥70 的 App(评分规则见
cawcut-app-run
)和“构建 Canvas”选项;否则使用 Canvas
完成:用户已同意采用 App、pipeline 或 Canvas。

2. Prepare media

2. 准备媒体

Outside media (file, URL, asset id):
cawcut asset upload
; relay its
notice
once. A canvas output ("the video above") is a solid edge, never an upload. Done: outside inputs have an
asset_id
; canvas outputs have edges.
外部媒体(文件、URL、asset id):
cawcut asset upload
;将其
notice
传达一次。Canvas 输出(“上面的视频”)属于 solid edge,绝不能进行上传。 完成:外部输入均具有
asset_id
;Canvas 输出均具有 edge。

3. Plan nodes

3. 规划节点

nodes
→ capabilities;
--capability
→ models;
--model --schema
→ ports and parameters. Offer
motion-transfer
and
object-swap
only when the user names them. Scripts are
text_input
text, never a
script
node.
  • Audio or video references, sound, frames, edits of existing media,
    {{Image N}}
    → plan-rules.
  • Video or audio input → add
    --asset <asset_id>…
    to every
    nodes --capability
    call; a model whose duration limit rejects it → plan-rules.
  • Story → story.
  • Change an existing canvas, or "what next" → edit.
nodes
→ capabilities;
--capability
→ models;
--model --schema
→ ports 和 parameters。仅当用户明确提到
motion-transfer
和
object-swap
时才提供这些选项。脚本使用
text_input
文本,绝不使用
script
节点。
  • 音频或视频参考、声音、帧、对现有媒体的编辑、
    {{Image N}}
    → plan-rules。
  • 视频或音频输入 → 在每个
    nodes --capability
    调用中添加
    --asset <asset_id>…
    ;如果某个 model 因时长限制拒绝该输入 → plan-rules。
  • 故事 → story。
  • 修改现有 Canvas,或询问“下一步” → edit。

Model and settings (each paid node, before pricing)

Model 与 settings(每个付费节点,在定价之前)

  1. Model: the first one
    nodes
    returns (the default sits there), or the one the user named.
  2. Read
    nodes --capability <c> --model <id> --schema
    for that exact model, again after every model change. Settings, defaults and
    options
    come only from that reply; one model's options never carry to another (Seedance 2.5 Draft allows
    480p
    only, Seedance 2.5 allows more). Settings menu, one question: the model and its key settings by
    label
    (ratio or aspect, resolution or quality, duration, count, audio; only those in its schema). Options: Use current settings (recommended) · Adjust settings · Change model.
  3. Adjust settings: one question per key setting in a single call, options from the parameter's labelled
    options
    , the default marked recommended. Other parameters keep their defaults. Write the answer under the parameter's key (
    quick --param key=value
    , or
    set
    on a canvas).
  4. Change model (the schema read in step 2 repeats for the new model; settings the new model lacks or no longer allows reset to its defaults): one question with the first three models
    nodes
    returns (name, price) and More models; More models → every model as a numbered list (name, price), the turn's final reply, answered by number. Both keep the CLI's order. Then back to 2.
Done: each node has an input source, and each paid node a model and settings the user accepted.
  1. Model:
    nodes
    返回的第一个 model(默认 model 位于其中),或用户指定的 model。
  2. 针对该确切 model 执行
    nodes --capability <c> --model <id> --schema
    ,每次变更 model 后都要再次读取。仅可从该回复获取 settings、defaults 和
    options
    ;一个 model 的 options 绝不能沿用至另一个 model(Seedance 2.5 Draft 仅允许
    480p
    ,Seedance 2.5 支持更多选项)。 Settings 菜单只问一个问题:按
    label
    列出 model 及其关键 settings(ratio 或 aspect、resolution 或 quality、duration、count、audio;仅包含其 schema 中存在的项)。选项:使用当前设置(推荐)· 调整设置 · 更换 model。
  3. 调整 settings:在一次调用中针对每个关键 setting 提一个问题,选项来自参数中带标签的
    options
    ,并将默认值标为推荐。其他参数保持默认值。将回答写入参数对应的 key(
    quick --param key=value
    ,或在 Canvas 上使用
    set
    )。
  4. 更换 model(为新 model 重复执行第 2 步中的 schema 读取;新 model 不具备或不再允许的 settings 会重置为其默认值):用一个问题展示
    nodes
    返回的前三个 model(名称、价格)以及更多 model;选择“更多 model”→ 将所有 model 以编号列表展示(名称、价格),作为该轮最后一条回复,并由用户按编号作答。两种列表均保持 CLI 的返回顺序。然后返回第 2 步。
完成:每个节点都有输入来源,每个付费节点都有用户接受的 model 和 settings。

4. Build, confirm, run

4. 构建、确认、运行

  1. Build and price:
    • Active
      workflow_id
      (this AI session ran
      quick
      or
      create
      ; a script, an image or a video already sits on it): edit adds the new nodes and edges to it, then
      prepare <id> --target <n>
      . Stages of one goal share one canvas: image → script → video.
    • No canvas yet, several nodes:
      create
      →
      set
      /
      connect
      →
      prepare <id>
      (runs
      check
      , returns credits).
    • No canvas yet, one node:
      quick … --estimate
      (runs
      check
      ; returns
      workflow_id
      ,
      node_id
      , credits).
  2. Ask one question: model, settings by label, scope, credits. Options: Confirm · Change model · Modify settings · Cancel. Each later paid run gets its own. Change model or Modify settings → the step 3 menus, then
    switch-model <id> --node <n> --model <m>
    or
    set
    , and
    prepare --target
    .
  3. After Confirm:
    run <id> --target <n> --wait
    on the same workflow.
Done: Confirm for this scope,
check
passed,
task_id
read to its end state. Other cases → failures.
  1. 构建并核算价格:
    • 当前
      workflow_id
      (本 AI 会话运行过
      quick
      或
      create
      ,且其上已有脚本、图片或视频):edit 将新节点和 edge 添加到其中,然后执行
      prepare <id> --target <n>
      。同一目标的各阶段共享一个 Canvas:图片 → 脚本 → 视频。
    • 尚无 Canvas,但有多个节点:
      create
      →
      set
      /
      connect
      →
      prepare <id>
      (会运行
      check
      并返回 credits)。
    • 尚无 Canvas,但只有一个节点:
      quick … --estimate
      (会运行
      check
      ;返回
      workflow_id
      、
      node_id
      、credits)。
  2. 询问一个问题:model、按
    label
    展示的 settings、范围和 credits。选项:确认 · 更换 model · 修改 settings · 取消。之后每次付费运行都需要单独确认。选择“更换 model”或“修改 settings”→ 进入第 3 步的菜单,然后执行
    switch-model <id> --node <n> --model <m>
    或
    set
    ,并执行
    prepare --target
    。
  3. 确认后:在同一 workflow 上执行
    run <id> --target <n> --wait
    。
完成:本次范围已确认,
check
已通过,并持续读取
task_id
直至到达最终状态。其他情况 → 失败处理。

5. Deliver

5. 交付

delivery. Done: outputs, actual cost, Portal link reach the user;
cawcut-vn
gets every path, images too.
delivery。 完成:输出内容、实际费用和 Portal 链接均已传达给用户;
cawcut-vn
必须获得每一个路径,包括图片路径。