Chain-Referenced Shortform Video
Use this skill when the user wants to generate AI movies, short dramas, or cinematic scene sequences that hold character, scene, prop, and film-language continuity across multiple shots.
What to load first
Read only these files first:
- - INLINECODE0
- INLINECODE1
- INLINECODE2
Load project-specific implementation files only if the user needs them.
For this repository, then load:
- - INLINECODE3
- INLINECODE4
- INLINECODE5
- INLINECODE6
Operating stance
Act as:
- - continuity supervisor
- storyboard artist
- cinematographer
- edit-minded prompt designer
Do not treat the task as write a prettier prompt. Treat it as preproduction -> gated keyframes -> chained shots.
Core rules
- 1. Start with
single-scene micro-stories. - Model each scene and shot with five dimensions:
-
subject_motion
-
environment_light
-
medium_rendering
-
temporal_state
-
camera_optics
- 3. Use subtractive prompting:
- the master-scene prompt defines the locked facts
- shot-delta prompts describe only the allowed change
- never restate identity, wardrobe, room layout, or lighting if already locked
- 4. Do not render final sequence clips unless:
- the master scene passes gate
- the shot-delta keyframe passes gate
- 5. For
shot n > 1, use chain reference:
- select a bridge frame from the tail of video
n-1
- use that bridge frame as
first_frame
- use the approved shot
n keyframe as
last_frame
- 6. Every shot must also be readable as cinema:
- clear dramatic beat
- clear blocking
- intentional framing
- intentional camera movement
- intentional edit relationship to the previous shot
Production model
Design each shot as eight layers:
- 1. dramatic purpose
- emotional state
- subject blocking
- screen geography
- shot size / angle / lens intent
- camera movement
- light / atmosphere continuity
- edit seam to previous and next shot
If these layers are not explicit, prompting will drift because the model will improvise them.
Recommended asset model
Create reusable inputs before writing prompts:
- 1. character bible
- scene pack
- prop pack
- shot template
- beat sheet
- continuity ledger
- episode spec
Keep them loosely coupled so you can swap scripts or settings without rewriting the workflow.
Production order
- 1. Build a character bible with only core identity anchors.
- Build a scene pack that locks layout, lighting, and camera baseline.
- Build a prop pack that separates:
- fixed props
- allowed temporal changes
- forbidden drift
- 4. Build a beat sheet that states for each shot:
- dramatic purpose
- emotional change
- what the viewer must learn or feel
- what must be visible for the next cut to work
- 5. Build a shot template that locks:
- framing
- lens intent
- camera side of line
- floor marks
- blocking rules
- allowed changes
- forbidden changes
- 6. For each shot, write a concise shot card with:
- shot size
- angle
- movement
- blocking
- screen direction
- bridge-frame preference
- forbidden composition
- 7. Generate master-scene candidates.
- Gate the master scene for:
- clarity
- identity
- scene stability
- prop stability
- cinematic readability
- 9. Generate shot-delta candidates from the approved master scene.
- Gate each shot-delta candidate for:
- identity
- scene
- props
- camera
- staging readability
- edit compatibility
- 11. Generate a short clip for the approved shot.
- Extract tail frames and select the best bridge frame.
- Use the bridge frame to condition the next shot.
- Update the continuity ledger after every approved shot.
Shot design rules
Each shot should usually change only one major thing:
- - subject pose or performance beat
- camera distance
- camera movement
- temporal state
- prop interaction
Do not change all of them at once.
Prefer this progression:
- - INLINECODE20
- INLINECODE21
- INLINECODE22
- INLINECODE23
- INLINECODE24
If a scene feels flat, vary shot size or movement. If a scene feels unstable, reduce simultaneous changes.
How to write prompts
Master scene prompt
Include:
- - core protagonist identity
- scene layout and lighting
- fixed props
- framing and floor marks
- camera side of line
- baseline lens feeling
- baseline temporal state
Do not include:
- - later shot deltas
- multiple unrelated actions
- optional accessories unless they are essential continuity anchors
Shot-delta prompt
Include only:
- - the allowed action change
- the allowed temporal change
- the blocking delta
- the camera delta if and only if it is allowed
- the intended audience read of the shot
- explicit continuity constraints such as:
- same framing
- same side of line
- same floor marks
- no new props
- no room changes
Do not include:
- - full face or wardrobe re-description
- full scene re-description
- multiple new props
- camera reinvention unless camera change is explicitly allowed
Camera and blocking heuristics
- - If the emotional beat is intimate, bias toward
CU / MCU, restrained blocking, and minimal movement. - If the beat is spatial or tactical, bias toward
MS / LS / WS and clear geography. - Use
push-in for realization, pressure, or dread. - Use
pull-back for alienation, aftermath, or loss. - Use
lateral track when the subject is moving through space. - Use
handheld only when instability is part of the intended feeling. - Preserve screen direction unless the cut is motivated.
- Do not cross the 180-degree line by accident.
- When in doubt, simplify the move before simplifying the art direction.
What to gate
Master scene gate
Fail if:
- - the image is soft or artifacted
- the subject identity is unstable
- the room layout drifts
- fixed props are missing
- lighting is inconsistent with the pack
- the frame does not establish usable geography
- the shot feels compositionally dead or confusing
Shot-delta gate
Fail if:
- - the character changes outside the allowed delta
- layout drifts
- props move outside the whitelist
- framing changes without permission
- the shot spec contradicts itself
- blocking becomes unclear
- screen direction breaks without a motivated transition
- camera movement conflicts with the beat
- the shot cannot cut cleanly from the previous shot
Bridge-frame gate
Select from the tail of the previous clip based on:
- - face visibility
- pose stability
- prop completeness
- low motion blur
- continuity usefulness
- edit seam quality
- pose that can plausibly launch the next action
Do not use the literal last frame by default.
Good defaults
- - shot length: INLINECODE31
- master scene candidates: INLINECODE32
- shot-delta candidates per shot: INLINECODE33
- bridge-frame tail window: final INLINECODE34
- bridge-frame candidates: INLINECODE35
- frame gate should prefer passing candidates over merely high scores
Review loop
After every approved shot, record:
- - what changed
- what remained locked
- what made the shot pass
- what phrase or move caused drift
- which bridge frame is canonical for the next shot
This ledger is more important than preserving every old prompt.
Fallback strategy
If image-to-image editing is unavailable:
- 1. use text-to-image for the master scene
- use image-to-video draft clips for shot-delta search
- extract candidate frames
- gate those frames as shot-delta keyframes
This is slower, but often more reliable than returning to freeform text-only keyframe generation.
Borrow and adapt, do not copy blindly
Useful patterns from other ecosystems:
- - storyboard skills: shot vocabulary, 180-degree rule, panel annotations
- cinematic writing skills: lighting, lens, and color language
- video production skills: feedback loops, approval ledgers, revision discipline
- Seedance-specific skills: explicit reference roles and time segmentation
Do not import one common bad habit from generic cinematic skills:
- - repeating the full identity and set description in every shot prompt
For this workflow, that causes prompt pollution and continuity drift.
Repo mapping
When applying this skill to this repository, map film-language concepts into the current episode YAML through references/repo-mapping.md.
What to fix first when continuity fails
- - If identity drifts: reduce identity anchors to the most visible features.
- If layout drifts: strengthen the scene pack and reduce motion.
- If props drift: move them into
allowed_changes or remove them from the shot text. - If framing drifts: add explicit
same framing / same floor mark constraints to the video prompt. - If eyelines or geography fail: fix the shot card and side-of-line rule before touching model settings.
- If the shot feels uncinematic: fix shot size, movement, and blocking before adding more adjectives.
- If a cut feels bad: change the bridge frame, not the character description.
- If the spec is self-contradictory: fix the spec first, not the prompt.
链式引用短视频
当用户想要生成在多个镜头中保持角色、场景、道具和电影语言连续性的AI电影、短剧或电影场景序列时,使用此技能。
首先加载的内容
仅先读取以下文件:
- - references/film-language.md
- references/review-rubric.md
- references/repo-mapping.md
仅在用户需要时才加载项目特定的实现文件。
对于此仓库,然后加载:
- - /Users/lebo/project/ai-video/src/aivideocontrol/models.py
- /Users/lebo/project/ai-video/src/aivideocontrol/shortform.py
- /Users/lebo/project/ai-video/src/aivideocontrol/review.py
- /Users/lebo/project/ai-video/src/aivideocontrol/cli.py
操作立场
扮演以下角色:
- - 连续性监督员
- 分镜师
- 摄影师
- 具有剪辑思维的提示设计师
不要将任务视为编写更漂亮的提示。应将其视为前期制作 → 门控关键帧 → 链式镜头。
核心规则
- 1. 从单场景微故事开始。
- 用五个维度对每个场景和镜头进行建模:
- 主体运动
- 环境光照
- 媒介渲染
- 时间状态
- 摄影机光学
- 3. 使用减法提示:
- 主场景提示定义锁定的事实
- 镜头增量提示仅描述允许的变化
- 如果已锁定,绝不重复描述身份、服装、房间布局或光照
- 4. 除非满足以下条件,否则不渲染最终序列片段:
- 主场景通过门控
- 镜头增量关键帧通过门控
- 5. 对于镜头 n > 1,使用链式引用:
- 从视频n-1的尾部选择一个桥接帧
- 将该桥接帧用作first_frame
- 将已批准的镜头n关键帧用作last_frame
- 6. 每个镜头也必须可作为电影阅读:
- 清晰的戏剧节拍
- 清晰的走位
- 有意的构图
- 有意的摄影机运动
- 与前一镜头有意的剪辑关系
制作模型
将每个镜头设计为八个层次:
- 1. 戏剧目的
- 情感状态
- 主体走位
- 画面地理
- 景别/角度/镜头意图
- 摄影机运动
- 光照/氛围连续性
- 与前后镜头的剪辑接缝
如果这些层次不明确,提示将偏离,因为模型会即兴发挥。
推荐资产模型
在编写提示之前创建可重复使用的输入:
- 1. 角色圣经
- 场景包
- 道具包
- 镜头模板
- 节拍表
- 连续性台账
- 剧集规格
保持它们松散耦合,以便无需重写工作流程即可更换脚本或设置。
制作顺序
- 1. 仅使用核心身份锚点构建角色圣经。
- 构建锁定布局、光照和摄影机基线的场景包。
- 构建道具包,区分:
- 固定道具
- 允许的时间变化
- 禁止的漂移
- 4. 构建节拍表,为每个镜头说明:
- 戏剧目的
- 情感变化
- 观众必须了解或感受到的内容
- 下一个剪辑必须可见的内容
- 5. 构建镜头模板,锁定:
- 构图
- 镜头意图
- 摄影机在轴线的一侧
- 地面标记
- 走位规则
- 允许的变化
- 禁止的变化
- 6. 为每个镜头编写简洁的镜头卡片,包含:
- 景别
- 角度
- 运动
- 走位
- 画面方向
- 桥接帧偏好
- 禁止的构图
- 7. 生成主场景候选。
- 对主场景进行门控,检查:
- 清晰度
- 身份
- 场景稳定性
- 道具稳定性
- 电影可读性
- 9. 从已批准的主场景生成镜头增量候选。
- 对每个镜头增量候选进行门控,检查:
- 身份
- 场景
- 道具
- 摄影机
- 舞台可读性
- 剪辑兼容性
- 11. 为已批准的镜头生成短视频片段。
- 提取尾部帧并选择最佳桥接帧。
- 使用桥接帧条件化下一个镜头。
- 在每次批准镜头后更新连续性台账。
镜头设计规则
每个镜头通常应只改变一个主要方面:
- - 主体姿势或表演节拍
- 摄影机距离
- 摄影机运动
- 时间状态
- 道具交互
不要同时改变所有方面。
优先采用以下递进:
如果场景感觉平淡,改变景别或运动。如果场景感觉不稳定,减少同时变化。
如何编写提示
主场景提示
包含:
- - 核心主角身份
- 场景布局和光照
- 固定道具
- 构图和地面标记
- 摄影机在轴线的一侧
- 基线镜头感觉
- 基线时间状态
不包含:
- - 后续镜头增量
- 多个不相关的动作
- 可选配件,除非它们是必要的连续性锚点
镜头增量提示
仅包含:
- - 允许的动作变化
- 允许的时间变化
- 走位增量
- 摄影机增量(仅当允许时)
- 镜头的预期观众解读
- 明确的连续性约束,例如:
- 相同构图
- 轴线同侧
- 相同地面标记
- 无新道具
- 无房间变化
不包含:
- - 完整面部或服装的重新描述
- 完整场景的重新描述
- 多个新道具
- 摄影机重新发明,除非明确允许摄影机变化
摄影机和走位启发式规则
- - 如果情感节拍是亲密的,倾向于特写/中特写、克制的走位和最小运动。
- 如果节拍是空间性或战术性的,倾向于中景/远景/广角和清晰的地理位置。
- 使用推近表示领悟、压力或恐惧。
- 使用拉远表示疏离、后果或失落。
- 当主体在空间中移动时使用横向跟拍。
- 仅当不稳定性是预期感受的一部分时使用手持摄影。
- 除非剪辑有动机,否则保持画面方向。
- 不要意外越过180度轴线。
- 有疑问时,先简化运动,再简化艺术指导。
门控内容
主场景门控
以下情况判定失败:
- - 图像模糊或有伪影
- 主体身份不稳定
- 房间布局漂移
- 固定道具缺失
- 光照与场景包不一致
- 画面未建立可用的地理信息
- 镜头在构图上显得死板或混乱
镜头增量门控
以下情况判定失败:
- - 角色在允许增量之外发生变化
- 布局漂移
- 道具移出白名单
- 未经许可构图改变
- 镜头规格自相矛盾
- 走位变得不清晰
- 画面方向在没有动机过渡的情况下断裂
- 摄影机运动与节拍冲突
- 镜头无法从前一镜头干净地剪辑
桥接帧门控
基于以下条件从前一片段的尾部选择:
- - 面部可见性
- 姿势稳定性
- 道具完整性
- 低运动模糊
- 连续性实用性
- 剪辑接缝质量
- 能够合理启动下一个动作的姿势
默认不使用字面意义上的最后一帧。
良好默认值
- - 镜头长度:3-5秒
- 主场景候选:4个
- 每镜头增量候选:3个
- 桥接帧尾部窗口:最后20%
- 桥接帧候选:6个
- 帧门控应优先选择通过候选,而非仅高分
审查循环
在每次批准镜头后,记录:
- - 变化了什么
- 保持锁定了什么
- 使镜头通过的原因
- 导致漂移的短语或动作
- 哪个桥接帧是下一个镜头的规范帧
此台账比保留每个旧提示更重要。
回退策略
如果图像到图像编辑不可用:
- 1. 使用文本到图像生成主场景
- 使用图像到视频草稿片段进行镜头增量搜索
- 提取候选帧
- 将这些帧作为镜头增量关键帧进行门控
这较慢,但通常比返回到自由形式的纯文本关键帧生成更可靠。
借鉴和