Community图像github.com

绘镜师

按分镜、角色设定和已锁定的画风,为每个镜头写生图提示,让绘制型影片始终是同一幅画。

绘镜师 是什么?

为绘制型 AI 影片的每个镜头写提示词。它读取分镜、角色设定和画风锁定,把服装、光线和渲染方式固定下来,避免下一帧忽然换了一张脸。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gallowforge/filmforge/tree/HEAD/skills/forge-painter

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

FilmForge Painter

你将镜头表转化为属于同一部电影的画作。每个提示由锁定的部分(风格锁定、台账、镜头表)组装而成,从不即兴创作,因此同一角色在每个镜头中都用相同的词语描述。在资金流动前,lint 会验证这一点。

路径:scripts/、templates/ 和 config/ 以下是本技能内的文件夹(其加载时显示的基本目录),由 ./install.sh 放置。从克隆仓库工作时,它们位于根目录的 tools/、templates/ 和 config/。

输入

shotlist.yaml(重定时)、style-lock.yaml、continuity.yaml,以及 art/sheets/ 中的清单和板子。

步骤 1. 台账,逐镜头

为每个镜头,在 continuity.yaml 中写入其条目:哪些角色在画框中,哪些道具(及其持有者),哪些状态(伤口、烟灰、腕带)。道具和状态带有跨度(from、until)。

python3 scripts/ledger.py check continuity.yaml --shotlist shotlist.yaml

它会在以下情况失败:道具在其跨度内且持有者在画框中却缺失;道具或状态超出其跨度;未知 ID;与镜头表不一致的角色列表。在编写提示前修复台账。

步骤 2. 编写每个提示(prompts/<id>.md)

遵循风格锁定的语法,逐槽填充(forge-style-lock、references/prompt-grammar.md):

  1. 外观:此镜头的外观(镜头表中的 look:,否则为默认值),逐字照搬。
  2. 参考:每个附加资产的子句,按附加顺序来自 style-lock.yaml references:;重光子句。
  3. 镜头:镜头表的构图、摄像机高度、镜头感觉、三分法位置。
  4. 主体与比例:每个角色的手柄 + 锚点 + 来自台账的比例锁定;数量。
  5. 时刻:镜头的情感节拍作为一个瞬间。
  6. 场景:地点、天气、时间、背景。
  7. 光线:方向、质量、色温及其世界中的光源。
  8. 色彩:场景的色彩剧本用词。
  9. 文本区域,当镜头有 text_area 或旁白覆盖时。
  10. 连续性:此镜头的台账道具和状态,逐字照搬。
  11. 锁定:覆盖此镜头的每个 forbid 子句,逐字照搬;镜头特定的否定。
  12. 避免:尾部,逐字照搬。

文件格式,精确如下:

# s02:最后一根火柴

模型:gpt-image-2.5,高,2K,16:9。附加:sheet_girl,sheet_moth。

```
<提示,第 1 至 12 槽作为段落>
```

第一个围栏块是提示;其余是给人看的笔记。

步骤 3. 花钱前进行 Lint

python3 scripts/ledger.py prompts continuity.yaml --prompts prompts --style style-lock.yaml --shotlist shotlist.yaml

它会在以下情况失败:提示不以外观开头;不以避免尾部结尾;缺少角色的手柄或比例锁定;缺少道具或状态锚点;缺少禁止颜色子句;或包含角色名称。production.py spend 在 lint 失败时拒绝支付绘画阶段费用。在引擎的示例中,lint 捕获了 s03 缺少比例锁定;根据该提示绘制的画作将飞蛾画成了它真实大小的六分之一。

步骤 4. 以四幅一批进行绘画

  • 顺序: 清单和样张(风格阶段),然后是主角帧,接着按场景顺序处理其余部分。重用镜头和代码镜头不花费任何东西;永远不要绘制它们。
  • 批次: 四个提示,每个提示按 REFERENCES 槽命名的顺序附加其参考。首先记录支出:production.py spend 11.0 --item "s05-s08 batch 2"。
  • 文件: art/film/<id>_<slug>.png(s07a_child_reaches.png 风格:id 在前,然后是 slug)。重绘为 <id>_<slug>_v2.png;修正渐变代码为 <id>_<slug>_g.png。工具按名称选择最新版本。
  • 每批之后: 在绘制下一批之前,forge-frame-qa 会以全尺寸读取每幅画作。第一批中发现的问题在第二批的提示中修复,然后再重复。

步骤 5. 重绘

重绘来自 forge-frame-qa,附带其原因和修正后的提示。将修正后的提示放入 prompts/<id>.md,进行 lint,记录支出,绘制 _v2,并将其送回 QA。如果原因出在台账或风格锁定中(缺少对所有人的锁定),则在其中修复并重新对每个提示进行 lint。

特殊情况

  • 绘本页面: 在每个提示中命名布局(展开 3:2、页面 3:4、透明背景上的小插图 1:1)和文本区域。所有文字设置在书中,从不绘制。
  • 视频关键帧: 通过相同的语法绘制第一帧(以及当移动必须精确结束时的最后一帧);运动提示是单独的步骤,仅在关键帧通过 QA 后运行。
  • 关键姿势(poses: 2):每个姿势一个提示,除了 MOMENT 槽外完全相同,以便干净对齐。
  • 板子: 空位置,没有角色,跨镜头重用;它们携带场景设置,因此提示保持简短。

输出

  • 每个已绘制镜头的 prompts/<id>.md,全部通过 lint。
  • 包含每个镜头条目的 continuity.yaml,通过 ledger.py check。
  • art/film/ 画作,按 id 命名,准备 QA。

每批前的检查清单

  • ledger.py check 通过
  • 此批次的 ledger.py prompts 通过
  • 参考按 REFERENCES 顺序附加;正确的清单版本
  • 支出已记录;批次不超过四个
  • 上一批次有其 QA 裁决

修复表

Lint 或 QA 发现要修复的槽
不以风格锁定开头1:粘贴外观,未经编辑
缺少手柄或比例锁定4:从台账粘贴;添加与画框中某物的比例
缺少道具或状态锚点10:从台账粘贴
缺少禁止颜色子句11:粘贴规则的 prompt
使用了名称4 及其他所有地方:替换为手柄
绘画中尺寸错误或数量错误4:比例锁定和精确数量;然后是清单的比例尺
主体照明平淡2:重光子句;7:带光源的光线
绘出文字或字母9 和 12:文本区域用于代码;避免尾部中的“文字”

参考

  • references/batching.md:批次规划、命名、版本以及来自真实电影的已处理批次

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

gallowforge/forge-director

FilmForge director: runs an AI film production end to end (story, style lock, score, paintings, frame QA, motion in code, sound, delivery, archive) through stage gates, so no credit is spent before its gate passes. Keeps the production state file (production.yaml) and the credit ledger, prices the plan against the credits, and always names the one next action. Use this skill whenever the user wants to make, plan, budget, continue or check on a short film, painted film, animated story, music...

gallowforge/forge-frame-qa

FilmForge frame QA: inspects every painting at full size against the character sheets and the continuity ledger, measures colour rules, palette and exposure with tools, scores it on a nine-criterion rubric and decides: accept, fix in code (naming the module and the exact parameters), or repaint (with the root cause and the full corrected prompt). Use this skill whenever paintings, stills, keyframes, character sheets or book pages come back from an image model, when the user asks whether...

gallowforge/forge-motion

FilmForge motion: plans each shot's life in code instead of credits (painted holds brought alive with drifting fog, ash, snow, rain, embers, glints, light sweeps, firelight flicker, heat shimmer, shake, lightning, glass cracks, transitions, golden threads, handwritten words and titles), maps every effect to the painted-film-pipeline renderer's exact parameters, applies frame-QA code fixes, exports the edit timeline and renders the preview; decides when paid video is worth its credits. Use...

gallowforge/forge-style-lock

FilmForge style lock: fixes one image model and setting, one look sentence (or two when the drawing itself carries the story), the palette and colour rules, the line, brush and lens language, the character-sheet specs with scale bars, and the prompt grammar every shot must follow, so every painting in a film or book matches. Use this skill whenever the user starts the visual side of a film, music video or picture book, wants consistent characters or one consistent look across many images,...

相关技能