kinema-sketchboard · 简笔分镜预演板

SkillMedia

Designs stick-figure storyboard previz boards and second-by-second beats for a single shot. Use when the user wants sketch storyboards, nine-panel storyboards, second-by-second motion scripts, or to control action pacing before generating video; mutually exclusive with 3D previz and depth-capture sh

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the kinema-sketchboard · 简笔分镜预演板 skill

What this skill tells your AI

The instructions your AI receives, as published by chillzhuang/kinema in .claude/skills/kinema-sketchboard/SKILL.md and read by ahel’s review.

先 Read kinema/SKILL.md(流程真源)。本 skill 管一件事:在烧 Seedance 之前,用一张 0.3 元的素描板 + 一段零成本的分段文本把这一镜的 动作、走位、机位节奏逐秒钉死。

三条产物、各锁一样东西:

  • beatsshots[].sketch.beats,你写)——按镜头时长配拍的逐秒动作设计 (按 2~3 秒一拍:5s 镜 23 拍、8s 镜 34 拍,见下「beats 快则」),编译成分段时间轴 进视频提示词——段头随型号的 timeline_unit 分两支:响应秒时间戳的型号(seedance-2.5) 发「第0-1.2秒:…」秒段,缺省主力(Seedance 2.0 系列)发不带时间的「第1段:…」顺序编号 (官方指南把 2.0 的精确秒段列为支持不稳定;分段时间结构远胜一大段散文)。 t 仍按秒写:它用于拆拍、板上的秒段标签与秒段档的段头;
  • 简笔板sketch gen 生成)——铅笔素描网格(格数=拍数,恰好填满;素描灰阶为主,仅发光体/能量少量点缀色),红箭头=人物运动轨迹、 蓝箭头=摄影机运动、绿=构图、橙=灯光、紫=声音情感、黑=编号与秒段标签; gen-video 时缺省档板在盘即随请求附发(native 缺省=全能参考·一镜一片: 板+分镜图+角色/场景/道具设定图全作参考、不发首/末帧;dubbed 走参考媒体模式同样附板); 只有衔接参与镜(章级/镜级 frame_chain,首帧任务禁混参考图)只发分段时间轴、 板不附——衔接章里逐镜 sketch ref --shots N --state on 才强制该镜切回参考孤岛;
  • 末拍收束——最后一拍必须落在 end_state 上(衔接章里它同时与链末帧天然一致)。

规划优先(铁律〇):先秒级描述,再画板

动态化的提示词质量取决于秒级规划,板只是规划的可视化——顺序绝不能反过来:

  1. 每个要 gen-video 的镜都先有秒级运动规划。首选 authored beats(带 tshots[].sketch.beats);beats 单独存在即生效——gen-video 自动把它编译成 分段时间轴注入提示词(纯文本零成本,sketch list 显示 「生效=sketch·纯时间轴」,dry-run 逐镜行标「分段时间轴(无板)」)。
  2. 板从同一份 beats 生成effective_beats 单一真源)——先规划后画板, 板与时间轴天然一致。不是每镜都要出板:0.3 元/板花在重点镜(复杂调度/ 多主体/精确卡点/动作戏),普通镜 beats+时间轴已足够。
  3. 没写 beats 也没出板的镜:引擎不注入时间轴(自动拆拍只在板/beats 语境下 生效),发出去的就是 video_prompt 原文——所以它必须自带先后次序的详细分段 (起势→推进→收束,每阶段一个主动词);更推荐直接补 beats。
  4. 改了 video_prompt/beats 板不会自动跟上:板条与 sketch list 会报 「⚠ 拍序列已变」(与「⚠ 时长已变」同制度,判据 gen.sketch.sig 拍序列指纹), gen-video 附板前也会点名——重点镜记得 sketch gen --only N --force 重生, 否则板与时间轴说的是两套动作,模型会二选一或折中。

与 3D 导演台、深度捕捉的互斥(铁律)

一个镜要么走 previz(首帧/末帧/V2V),要么走深度控制视频(实拍运动 V2V),要么走 简笔板(时间轴+参考图),绝不同发——三者都在向模型描述"这几秒怎么运动",同发 必然打架。仲裁单一真源 sketchboard.active_guide:显式 shots[].guide 恒赢(即便 指向空槽也不静默回落,引擎会告警);缺省自动仲裁 previz > control > sketch。 表态入口:sketch use --shot N --guide sketch|previz|control|auto,或 Studio 分镜卡的 仲裁徽章(配置了两路及以上时才出现,点击轮换)。缺省档(章不衔接)简笔镜就是全能参考: 时间轴管过程、板与设定图管外观,一镜一片;开了章级衔接(frame_chain: true)的章里 简笔镜与链末帧并存(时间轴管过程、链末帧管收束),板只当拍表不附发——要板随请求发 须逐镜「板作参考」表态(sketch ref,代价见「边界与成本」)。

工作流(五步,逐门确认)

  1. 写 beats(规划优先的默认动作,见铁律〇):Read 分镜脚本(narration/action/ video_prompt/end_state/light_shift)与小说原文对应段落,把每镜按时长拆成 对应拍数(23 秒一拍:5s→23 拍、8s→3~4 拍)写进 shots[].sketch.beats——正式通道是 agent plan 的 ChapterPlan(sketch.beats 白名单,merge 语义不动引擎管的 sheet, 带 expected_revision 并发保护)。拆拍工法见 references/board-craft.md绝不发明剧情——细节从原作搬运。 没写 beats 也能生成:分镜词足够详细时,引擎按运动设计句读自动拆拍sketchboard.auto_beats,纯标点切分零语义改写,authored beats 恒优先)—— 板与时间轴取同一份拍序列,自动拆拍的时间轴会替代散文正文(同句不发两遍)。 自动拆拍秒段只能均分;节奏要精确(爆发拍 0.4s、余韵拍 1.2s)就手写 beats。 秒段基准=实际请求秒数(引擎按 request_seconds 铺,不是裸 dur):手写 t 必须首尾相接、末拍收在实际秒数上——sketch gen 与 Studio 会做覆盖体检(断档/ 重叠/收不到位报 ⚠);板生成后镜头时长一变,板条与 sketch list 会打「⚠ 时长已变」, 重生即可(灯箱「↻ 重新生成」)。
  2. 先 1 镜出板验证sketch gen --chapter x/ch --only 1,Read 板图做四查 (见下),过了再 sketch gen 全量(并发缺省 4)。
  3. 质检四查(引擎无 OCR,必须逐板 Read):① 格数与编号齐全、按时间推进; ② 秒段标签与 beats 对拍;③ 每格动作与该拍 action 一致且有可见运动(静态站姿 =坏板);④ 五色箭头在场且红/蓝语义不串。坏板 --force 重生或改 beats 措辞。
  4. 表态 guide:该镜要走板就 sketch use --shot N --guide sketch(若该镜从未 配 previz,自动仲裁已选 sketch,可省)。
  5. (仅衔接章)挑镜开板作参考:本章开了 frame_chain: true 且某镜的动作调度 复杂到时间轴文字说不清时,sketch ref --shots N --state on——开一镜断一条接缝, 只给真需要的镜开;缺省章(不衔接)板在盘即自动附发,无需此开关。
  6. 审后发gen-video --chapter x/ch --dry-run 逐镜核对时间轴提示词与附板 标记(缺省 native 镜显「全能参考(分镜图+简笔板·一镜一片)」;无板显 「全能参考(分镜图·一镜一片)」;dubbed 显「参考图=分镜图+简笔板」;衔接章的 首帧任务镜照常标末帧、板不附),无误后去掉 --dry-run 正式生成。

beats 快则(起承收结构 · 拍数按秒数配

  • 拍数上限 = 秒数 ÷ 1.2(每拍 ≥1.2s,硬底线 0.8s/拍)——abyss 镜1 的教训: 9 拍铺 5s(0.56s/拍),Seedance 只挑 2-3 个主事件演完整、其余拍整段丢弃 (转夹具/报纸颤/影子移/直身搁枪全没出现)。手写口径是 23 秒一拍:5s 镜 23 拍、8s 镜 34 拍、 12s+ 长镜才配 56 拍;9 拍只在 12s 以上、且逐拍都有独立主动词时才成立。 上面那条「秒数 ÷ 1.2」是引擎代切(sketch gen 无 beats 时自动拆)的收敛上限, 不是手写目标——两个数一个管「引擎别塞太密」、一个管「你写多粗」,别互相套用 (手写口径的真源是 kinema/SKILL.md 的「拍数按 2~3 秒一拍切」,本文与它同源)。次要氛围件(报纸颤/影子移)挂进主拍的 action 从句, 别独立占拍。
  • 自动拆拍已由引擎按时长收敛auto_beat_capmin(12, 秒数÷1.2) 再向下取到 最近的整齐拍数,下限 2 拍,均匀并拍保时序不丢句)——不写 beats 直接 sketch gen 时,5s/7s 镜出 4 拍、8s 出 6 拍、10s 出 8 拍,不是固定 9 格。 素材不足不凭空造拍。
  • 版式:网格恒按拍数恰好填满grid_of,引擎自动算,你不用管)—— 2/3 拍=单行、4 拍=2×2、6 拍=2×3、8 拍=2×4、9 拍=3×3、10 拍=2×5、12 拍=3×4。 优先写整齐拍数 2/3/4/6/8/9/10/12:5/7/11 拍排不成矩形,末行只能居中留半排 (引擎会明说「最后一行 N 格居中」并禁止补空框,但满格版面每格更大更好读)。 历史事故:列数硬编码为 3 时,4 拍算出「2×3 网格共 4 个面板」自相矛盾,模型只能猜—— 同为 4 拍,一张排成 2×2 满格、另一张照 2×3 画完留了两个空白框
  • 手写 beats 引擎一个字不动(创作资产):超密只报「⚠ 拍密度」给建议, 该并哪几拍是你的判断——见警必改,别指望引擎替你合。
  • 拍 12 :入拍即动(承接上一镜末态,绝不从静止慢慢起);中段 推进: 每拍一个主动词、动作连续递进,微表情/次要运动挂在主动作上;末 12 拍 : 减速收束,末拍=end_state 的画面
  • 打斗镜的手写 t 按「停—爆—停」配拍(蓄势 0.81.2s → 爆发 0.40.6s×23 → 亮相/受击 0.81.2s,绝不均分)——完整工法见 kinema/references/action-direction.md(因人设招/拆镜/升格纪律都在那)。
  • 每拍 {"t":"0-1.5s","action":"…","camera":"…","framing":"…","light":"…","sound":"…"} ——action 必填(具体、物理、可画出来的运动),其余按需;t 缺省引擎按 dur 均分,写显式 t 时须覆盖全时长不留洞。
  • authored beats 写全后,video_prompt 转职为「全局层」——只消重,绝不收敛成 一句总括(一句话正文是硬违规,prompt_thin 按 ≥140 字警戒(地板真源 = 引擎 variation.MIN_VIDEO_PROMPT_CHARS);两档规则真源 kinema/SKILL.md「运动规划两档」)。分工对齐视频模型官方的分层提示结构 (全局描述定风格质感、分段描述管动作运镜):逐拍的「谁+做什么+镜头怎么动」归 beats(时间轴会原样发出,与拍逐句重复的动作句从正文删去——同句发两遍既费 预算又稀释时间轴权重);正文保留并写厚跨拍的东西:动作的力学、物理反馈与 次级动画、材质与光的响应、情绪质感与氛围。引擎只替代自动拆拍的散文,authored 的逐句重复要靠你自己收。
  • 拍数区间 2~12(AUTO_BEATS_MIN/PANEL_MAX);九格是版式上限不是拍数指标——只有 12s 以上的长镜才配得起 9 拍。

命令速查

python3 -m kinema sketch gen   --chapter x/ch [--only 1,3] [--force] [--mock] [--concurrency N]
python3 -m kinema sketch use   --chapter x/ch --shot N|--all --guide sketch|previz|control|auto
python3 -m kinema sketch list  --chapter x/ch          # beats/板/guide/生效路径一览
python3 -m kinema sketch clear --chapter x/ch --shot N # 摘板挂载(文件与 beats 保留)
python3 -m kinema gen-video    --chapter x/ch --dry-run # 审时间轴(板附发标记同源)

Studio:章节页「SK 简笔分镜台」区块(3D 导演台正下方)——统计三格 + 「▦ 生成 简笔板」选镜弹层 + 「⧉ 分镜板指令」(交回本 skill 写 beats)+ 板缩略条 (SHOT 签点击跳分镜卡·右上 ⧉ 复制单板改图指令·灯箱内逐拍对照表 + ↻ 重新生成); 分镜卡「▦ 简笔」角标看板、仲裁徽章切路径。

边界与成本

  • 板绝不进 shots[].image/clip(分镜画面与成片位;板是预演观看物,落 <章节>_work/sketch/,不走审阅状态机、不做版本栈,--force 直接覆盖)。
  • 板生成刻意不带画风前缀、不注入 moodboard 垫图——板是素描基调、不掺成片画风, 彩色垫图混入就是"给板上成片色"的邀请函;版式一致性靠引擎内置版式蓝图自动垫 (engine/kinema/assets/blueprints/sketch1/2/3_template.png 三张同版式样板: 单人动作/双人对话/双人战斗,只学版式与标注画法、绝不复制其人物与标题文字)。 蓝图放在引擎包内而不是本 skill 目录是刻意的:它是引擎生成时自动垫的运行时 资产(转 base64 塞进 ref_images),搬进 .claude/skills/pip install 的用户 那里根本不存在、垫图会静默失效。设计归属仍在 skill(契约由 sketchboard.board_prompt 定义),出处与重做方法见 engine/kinema/assets/README.md。设定图侧有同款蓝图 (角色/道具各一张简笔线稿 char_template/prop_template,见 sheets.templates_for)。
  • 成片防泄漏:板附发时引擎两处同时防——正文头部注入「板不是画面参考、只是分镜 脚本,格线与箭头是标注符号而非画面元素」,同一批词再补进负面串(标注箭头/红蓝 箭头/分镜格线/铅笔素描…)。只在正文说一次压不住:16 镜里 6 镜带板,2 镜把 红蓝箭头画进了开头几帧。绝不手工删改提示词绕过引擎拼装。
  • 成本:板=一张图价(Seedream 0.3 元);时间轴文本零成本。
  • 附板是逐镜取舍,缺省不附:能力闸(只有 seedance/mock 支持参考图)× 两条通道: dubbed 参考媒体模式与 native 缺省档(全能参考·一镜一片)板在盘即附;只有 衔接章frame_chain: true)里板让位给首帧任务,须 sketch ref --shots N --state on 显式切回参考孤岛(判据真源 sketchboard.reference_shot)。衔接章里的 取舍要点:换来板与设定图入场(板级走位与机位节奏),代价是这一镜没有首/末帧槽 ——它既不向下一镜发末帧、上一镜也焊不到它身上(分镜图降级成众多参考图之一, 不再是第 0 帧硬锁),开头几帧由几张参考图调和而来、两侧接缝改软切。

开了「板作参考」=这一镜是链上孤岛(强制要求 · 仅衔接章)

开关一开,这一镜的两侧焊缝就都断了——不是只断后面那一条。引擎会在上下两处 各自动落一个 seamless 无缝转场(0.1s ≈3 帧柔切、静音、transition.auto="island"), 成片里的形态就是:正常衔接 → 软切 → 这一镜独立成段 → 软切 → 正常衔接

指挥层三条硬规矩:

  1. 不要手工在孤岛镜两侧再加转场。同一处已有转场时引擎不再补软切,你手写的 fade_black 会原样保留——那是「叙事标点 + 参考模式断缝」两件事叠在一处, 看上去像是章节在这里跳了两次。用户点名要叙事转场时才插,并告诉他它替代掉的是软切。
  2. 不要连开一片。相邻两镜都开 = 中间那条缝两端都不成立,整段被切得七零八落。 板级调度是给「这一镜的走位必须精确」的单镜用的,不是全章档位。
  3. 开完必须重看链态gen-video --dry-run 会打印每一处「自动插入无缝转场」 与逐镜链态;或跑 kinema transition sync 单独同步一次(零成本)。 禁止在没看链态的情况下直接 gen-video 烧钱——开关改的是整章的接缝结构。

细则(拆拍工法 / 箭头标注规范 / 板提示词契约逐段 / 艺术身份板选用): references/board-craft.md

Signals

GitHub stars
83
Forks
10
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
kinema-sketchboard
Source
github.com/chillzhuang/kinema