∞ UnlimitCanvas 创作工作台
技术手册 / 视频创作导演台 / 导演台计划与蓝图规范

导演台计划与蓝图规范

37-导演台 · 2026-10-12 · 5.4 KB
本专题手工维护。快照 2026-10-12。
★ 本文属 《视频创作导演台》 卷(2026-10-12 从「创作者画布」卷移入 ✓);同卷另有
《快速开始》《导演台的组成与设计思路》《自主成片:dir 指令体系》《门链与批阅》4 篇 ✓
⚠ 蓝图规范正文以 uc_do_gain_blueprint_spec() 现查为准(它带字段表、枚举、默认映射与样例);
本文讲清结构与关系(为什么不漂的部分)+调度与校验链。

1. 两种"计划"其实是同一份数据

形态在哪里谁写
导演台计划画布 canvasGlobals.directoruc_do_write_canvas_globals(人界面改也算)
蓝图文件工作空间里的 .json(人可读、可版本化)uc_do_save_blueprint / uc_do_author_blueprint
  • 画布 → 文件:uc_do_save_blueprint(canvasId?, file?)
  • 文件 → 画布:uc_do_load_blueprint(file?, canvasId?)
  • ⇒ 同一套字段(assets / shots / engines / ui / title / origin / planId)

2. 蓝图顶层形状(两种都接受)


// 形状 A:直列
{ "version": 1, "title": "…", "assets": [], "shots": [], "engines": [], "ui": {} }

// 形状 B:包一层(便于和别的元数据放一起)
{ "director": { "version": 1, "title": "…", "assets": [], "shots": [], "engines": [], "ui": {} } }
  • assets / shots / engines 必填(可以是空数组,但要有)
  • title / ui / origin / planId 可选

3. 三张表:字段 · 枚举 · 必填

3.1 assets[](素材)

字段必填说明
id✓资产 id(引擎/界面引用用)
name✓全局唯一(分镜 refs 按 name 引用它)
cat✓character / scene / prop / npc / audio / video / text
kind✓image / video / audio / text / ''
note备注(给人看)
url / fileName / text素材来源(文件/链接/纯文本)
states · also · rev 等状态/别名/版本等(进阶,按需)

3.2 shots[](分镜)

字段必填说明
id✓分镜 id(唯一)
no✓镜号(唯一;引擎按它升序执行)
name / title分镜名
words台词(走对白模板时必须填进提示词,见 04-…)
dur时长(秒)⇒ 要声明,别让引擎猜
refs / refImgs引用的资产 name 列表 ⇒ 必须都已存在
prompts?逐镜提示词(也可放引擎侧)

3.3 engines[](引擎)

字段必填说明
id✓引擎 id
kind✓⚠ 导演台只开放海螺系:hailuo-gen(图文生视频)/ hailuo-ref(参考生视频)—— 新建只能二选一 ✓;另有 talking / ltx-gen / ltx-sef / ltx-msr / custom-api 在规范枚举里(校验器认得),但它们属画布侧(引擎由用户自定义)⇒ 导演台不开放(见 §4 ✓)
shots✓负责哪些分镜:id / no / "*"(全部)
prompts?逐镜提示词:{ [shotId]: "…" }
params?模板参数(⚠ 取值以模板定义现查为准;导演台有默认骨架)
customPreset?custom-api 用:自定义 API 预设
done / doneAt / doneSummary执行状态(跑完回填,一般不用手写)

3.4 ui?

assetOpen / shotOpen / engOpen(三列是否展开)⇒ 纯界面状态,可不写 ✓


4. 引擎 kind ⇄ 模板 / 角色

⚠ 导演台刻意只开放海螺系(收窄复杂度) —— 新建引擎只能在「海螺图文生视频」与「海螺参考生视频」之间
二选一(人界面与 dir.engine.add 同口径;自主 AI 更是全程只许这两支 ✓)。
这是设计选择,不是"暂时没支持":导演台要的是一条顺到底的成片链 ⇒ 引擎越少越不容易走偏 ✓
下表其余 kind 是规范里的枚举(校验器认得)—— 它们属于画布侧(引擎由用户自定义)⇒ 导演台不开放 ✗
kind模板对应角色(媒体节点)导演台
hailuo-genminimax.h3.t2ivideo-gen✓ 开放(新建二选一)
hailuo-refminimax.h3.refvideo-ref✓ 开放(新建二选一)
talkingltx.i2vtalking✗ 不开放(画布侧可自用)
ltx-genltx.i2vltx-gen✗ 不开放(画布侧可自用)
ltx-sefltx2.3.sefltx-sef✗ 不开放(画布侧可自用)
ltx-msrltx.msrltx-msr✗ 不开放(画布侧可自用)
custom-apicustom.provider.customcustom-api✗ 不开放(画布侧可自用;自主模式直接禁)
现查:uc_do_gain_blueprint_spec()(含 kindTemplateDefaults / kindMediaRoleDefaults)· uc_do_gain_engine_manifest(kind)

5. 调度规则(跑起来之后长什么样)

  • 产物标签:<项目标题>-S<镜号>(如 古宅-S3)⇒ 便于在产出区/资产库辨认 ✓
  • 产物文件名:优先 params.filename;留空则按上述标签自动命名
  • 执行顺序:同一引擎内按镜号升序串行(不是并行 ✗)⇒ 镜号别乱跳
  • 人机协同:video-edit / poster-design 这类节点沙箱不能跑 ⇒ 交给人在界面完成

6. 校验链(三步走,一步都别省)


① uc_do_validate_blueprint(blueprint)     结构校验:字段/枚举/唯一性/引用是否存在
② uc_do_preflight_engine(…)               逐镜 dry-run 预检:提示词硬规则 + 资产契约 + 能力边界
③ uc_do_director_run(…)                   一键执行(内含预检硬门;预检不过会被拦住 ✗)
步拦什么
① 校验asset name 唯一、cat/kind 合法;shot id/no 唯一;refs 指向存在的资产;engine kind 合法、shots 指向存在的分镜;海螺提示词段数结构(hailuo-ref 六段 / hailuo-gen 三段)
② 预检逐镜三条闸门(提示词 / 资产契约 / 能力边界)⇒ 逻辑见 《创作者画布》卷的"预检前置"一节(⚠ 规则明细以预检工具返回为准);每条 finding 带依据与修法
③ 执行预检 errorCount > 0 或有 blocked 镜 ⇒ 直接拦下,先修再跑 ✓
工作流建议:先 ② 拿修法建议 → 改提示词/资产 → 再 ② → 全绿才 ③(比"跑了再说"快得多 ✓)

7. 与画布的互操作

动作工具
读计划/全局uc_do_gain_canvas_globals(canvasId?)
写计划(完整 director 对象)uc_do_write_canvas_globals({ director: {...} }, canvasId?)
计划 → 蓝图文件uc_do_save_blueprint(canvasId?, file?)
蓝图文件 → 画布uc_do_load_blueprint(file?, canvasId?)
创作向导(自动搭骨架)uc_do_author_blueprint(…) · uc_do_author_blueprint_resources(…)(补齐未装载资产)
导演项目共享文件(大纲/故事/剧本/资产/台账)uc_do_gain_project_file(…)

8. 最小可用骨架(抄这个改,比空白起手快 ✓)


{
  "version": 1,
  "title": "古宅",
  "assets": [
    { "id": "a1", "name": "女主", "cat": "character", "kind": "image", "note": "三视图" },
    { "id": "a2", "name": "古宅门厅", "cat": "scene", "kind": "image" }
  ],
  "shots": [
    { "id": "s1", "no": 1, "name": "推门", "dur": 5, "words": "", "refs": ["女主", "古宅门厅"] }
  ],
  "engines": [
    { "id": "e1", "kind": "hailuo-ref", "shots": [1], "prompts": { "s1": "…六段式提示词…" } }
  ],
  "ui": { "assetOpen": true, "shotOpen": true, "engOpen": true }
}

检查点:refs 里的名字都在 assets.name 里 ✓;engines[].shots 的镜号在 shots[].no 里 ✓;

提示词按该 kind 的段数结构写(海螺 hailuo-ref 六段 / hailuo-gen 三段)✓;

dur 已声明 ✓;画幅/分辨率不与素材冲突 ✓(详见 04-…)。

来源:E:/workbuddyProj/unlimitCanvas/ai_manual/director_studio/02-导演台计划与蓝图规范.md