Novel Art logo

Novel Art

Community
suihe1
novel-art

为 AI 短剧设计场景和叙事道具母本、光照与状态变体,产出 art.json、Markdown、评审报告和可选设定图。用于美术设定、场景与道具一致性;不代替导演调度或成片人流设计。

Overview

Publishersuihe1
Repositoryshort-drama-production
Skill namenovel-art
Stars
184
Forks
24
Bundled files
10
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 10 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by suihe1 on GitHub. Read the source before you install it.

Installation

Install the Novel Art AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/suihe1/short-drama-production/tree/main/skills/novel-art
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/suihe1/short-drama-production.git /tmp/short-drama-production
mkdir -p .claude/skills
cp -r /tmp/short-drama-production/skills/novel-art .claude/skills/novel-art
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Novel Art in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Novel Art on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Novel Art is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

输入与创作权限

先读用户实际材料与目标,复用已确定的事实和规格;已有剧本、资产或分镜直接进入相关工作,不为流程完整重写上游。未授权的删线、合人、改变人物身份、主题、结局或重要表演意图,先展示原位置、具体方案与得失,再由用户选择;已授权的局部修正直接完成。

下面的类型经验、批次和创作预算是适配起点,不是用户接受过的创作要求。旧校验器可能仍将部分经验规则报为失败:区分实际数据/引用/模型接口错误与创作建议,说明不适用项,保留原稿;不伪造字段、不静默改戏或降低技术投产要求。总控可用时参考其 references/creative-agreement.md;独立任务按本段处理,不强制依赖总控。

novel-art

给 AI 短剧出美术设定集:场景 + 叙事道具。生成资产仍需做空间、功能与叙事研究。大纲阶段建立概念版,首批剧本拆解后再锁定所需场景、道具与状态;资产同时服务导演调度和跨镜一致性:

交付解决什么
一致性锚点(每景 3–5 个)观众靠它认场景,QC 靠它核对生成镜头有没有漂
光照时段变体AI 换时段是重新生成不是重新打灯,每个状态落成完整提示词
空景出图提示词无人环境母本便于复用;成片的人流、岗位与人物由导演和分镜另行调度
变体机制(variantOf)生成新景便宜,但变体复用母场景资产更一致
道具状态变体皮箱的开合、场景的损坏或陈设变化都可能承载剧情,按实际拍摄范围维护状态
道具尺度参照AI 经常把手持道具画成家具尺寸,提示词必须带尺度短语
道具白底无手道具图要被贴进各种镜头,必须可抠;拿着道具的手是最常见污染

{baseDir} = 本文件所在目录。脚本 {baseDir}/scripts/novel-art.mjs,零依赖,node 直接跑。

边界(不做的事):不做分镜、不写剧本、不管角色(novel-characters 的活)、不排大纲(novel-outline 的活)。道具只收叙事道具(有特写、跨集、承载剧情的,通常 3–8 件)——场景陈设归场景锚点,一次性手部道具镜头级提示词解决,都不单独建资产。


Step 0 — 定输入与画风

三种输入,优先级从高到低:

  1. outline.json(novel-outline 的产出)——最优,场景清单、出现集、承载爽点、复用方案都是现成的
  2. 小说原文——自己归纳场景清单(主舞台优先,参考 novel-outline 的主场景上限思路:别贪多)
  3. 用户手写的场景清单

画风:默认 realistic(半写实厚涂),动画质感用 ghibli。跟角色 skill 保持同一档——角色是吉卜力、场景是半写实,合成的时候没法看。跑 node {baseDir}/scripts/novel-art.mjs styles 看预设全文,整块取用不混搭。

有 cast.json(novel-characters 的产出)也带上——校验「提示词不含角色名」要用。

Step 1 — seed 骨架(有 outline.json 才有这步)

bash
node {baseDir}/scripts/novel-art.mjs seed <outline.json> > <workdir>/art.json

确定性搬运:场景 id/名称/主场景标记/出现集/承载爽点,带复用方案的场景会有 seedNote 提示做成变体。这些事实不要让模型重新想一遍。

没有 outline.json 就自己按 references/schema.md 建清单。

Step 2 — 逐场景填设定 + 提取叙事道具

每个场景一份,能并发就并发。每份任务拿到:

  • {baseDir}/references/scene-pass.md 和 {baseDir}/references/schema.md(读它们,照着做)
  • 该场景的骨架 + 原文/大纲里关于这个空间的全部信息
  • 同批其他场景的名字(空间气质要区分开,别都写成同一种破旧)
  • 画风预设全文(styles 命令的输出)

核心要求都在 scene-pass.md 里,最重的三条:锚点要可画可认可核对(「补丁船篷」是锚点,「陈旧的氛围」是形容词);光照状态从分集反推,不写用不上的全家桶;能做变体就别开新景。

叙事道具从原文/大纲提取(大纲没有现成道具表,这步是模型的活):只收有特写、跨集出现、承载剧情的,通常 3–8 件,跟主角数量一个量级。每件按 references/prop-pass.md 填:戏剧功能、锚点、状态变体、尺度、白底无手提示词。皮箱这种「跟人走的道具」就该在这——塞进场景锚点和角色画像都不对。

Step 3 — 校验 ⛔ 不能跳

bash
node {baseDir}/scripts/novel-art.mjs validate <art.json> --cast <cast.json>

11 道质量门全是代码。场景 + 共用 7 道:锚点 3–5、光照状态 ≥1、无人、提示词全英文、不含角色名(给了 --cast 才查)、变体引用完整、风格与反向词匹配。道具专属 4 道:状态 ≥1、尺度短语写进提示词、反向词禁手、设定图纯白背景。

有违规逐条修,改完重跑,直到通过。

Step 4 — 出图(可选)

场景和道具各一张 16:9 设定图,版面都是主视角大图 + 底部和右侧的 L 形细节边框。场景:标准取景 + 第一个光照状态,细节格是锚点特写。道具:白底三四分之一主视角(主状态),细节格是锚点特写 + 其他状态 + 侧面。读 {baseDir}/references/sheet.md 照调用契约做,要点:

  • 没有 codex 就整步跳过,只交提示词
  • 全图无人;道具图另加无手、纯白背景,出现人影或手就重生成
  • 变体场景拿母场景成图当参考图(-i + stdin)——变体机制的意义就在这
  • 一个场景一次调用绝不批量;单个失败跳过不阻断

Step 5 — 输出与汇报

bash
cd <输出目录>
node {baseDir}/scripts/novel-art.mjs render <剧名>-art.json --md   > <剧名>-art.md
node {baseDir}/scripts/novel-art.mjs render <剧名>-art.json --html > art-report.html

报告界面默认中文;用户要英文界面就加 --lang en(或在 art.json 顶层写 "lang": "en",--lang 优先)。render 自动去 images/<slug>-sheet.png 找图(场景和道具都找),先出图再 render。报告含:KPI 带、场景清单、场景设定卡、道具清单、道具设定卡(锚点核对表 / 状态变体 / 提示词包全带复制按钮)、质量门面板、导出 JSON(下载的就是 art.json 原样)。

汇报一句话说清:几个场景(主场景/变体各几)、几件道具、锚点总数、出图数、报告路径;没过的门和没出的图明说。

最终落地:

<输出目录>/
├── <剧名>-art.json
├── <剧名>-art.md
├── art-report.html                ← 双击就能开
└── images/
    └── <slug>-sheet.png           ← 有 codex 才有

三个 skill 的接力

novel-characters → cast.json    (谁:角色资产)
novel-outline    → outline.json (什么:结构与分集)
novel-art        → art.json     (哪里 + 手里拿的:美术资产)

seed 吃 outline.json(场景部分;道具表大纲里没有,模型从原文提取),--cast 吃 cast.json。三份 JSON 各自的报告都带导出按钮,改完都能喂回各自的 render/validate。

边界

  • 报告界面内置中英(--lang,默认中文、或跟 art.json 的 lang 字段);出图提示词永远英文
  • 画风要跟角色 skill 同档,别一半写实一半动画
  • 出图只走 codex built-in $imagegen,不碰要 API key 的 CLI fallback
  • 场景数量不设硬上限——上限在 novel-outline 的主场景门那里管;这里管的是每个资产的质量
  • 道具只收叙事道具,3–8 件为宜——每多一件就多一份跨集一致性维护

自测

bash
node {baseDir}/scripts/selftest.mjs

144 项断言,不调模型、不花额度。11 道质量门每一道都有击穿用例。改完脚本先跑这个。

自带样例

{baseDir}/examples/渡口-art.json:《渡口》三场景 + 两件叙事道具(旧皮箱、县衙旧砚)的完整设定,全部质量门通过(含对着 novel-characters 样例 cast 的角色名检查)。当质量基准,也是自测夹具。

制作交接

独立使用时,自检后主动打开当前报告并给绝对路径链接,说明本轮范围、检查重点和下一步;需要锁定内容时在对话中收取通过或修改结论。已有确认覆盖当前版本就不重复询问,打开页面或下载 JSON 不算批准。总控已接管时,由总控统一收取这次结论,不另开重复审批。当前内容、依赖或源图改变后,不因旧文件仍存在就跳过复核;输出新版本并保留原审阅笔记。

本项目的阶段职责、变更记录和交付顺序由 short-drama-production 的 references/company-workflow.md 统一维护;未安装总控时按本 skill 的输入和交付范围独立完成,不将总控变成硬依赖。

功能空间先说明必需设备、出入口、可行动区域和运营人流;无人母本保留这些结构与生活痕迹。现有无人质量门检查的是母本素材,不适用于最终画面的人数。场景剧情状态在现有说明/变体字段记录,复杂状态写附属美术说明,不冒充已有结构化状态追踪功能。

涉及尚未授权的创作取舍时,给用户 2–3 个有具体差异的选项,说明收益、损失与推荐,允许保留原稿或自定义。模型先完成阅读、诊断和短样段,不把准备工作推给用户;已经明确授权的范围直接执行。未经用户选择,不把暂定片长预算升级成删词、删情绪段落的理由。

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Novel Art AI skill do?

为 AI 短剧设计场景和叙事道具母本、光照与状态变体,产出 art.json、Markdown、评审报告和可选设定图。用于美术设定、场景与道具一致性;不代替导演调度或成片人流设计。

Why use Novel Art on TypingMind?

Because you install it once and use it with any model. Novel Art is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Novel Art in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/suihe1/short-drama-production/tree/main/skills/novel-art. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Novel Art?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Novel Art?

As many as you like. As long as a model supports skills, you can use Novel Art with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Novel Art AI skill free?

Yes. It is published on GitHub by suihe1 under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇