
Character Reference Sheets
Makes consistent character reference images from one anchor view, with per-view regeneration.
Install
npx skills add eternityspring/shuohao-skills --skill character-refs -g -a claude-code -y- Repository
- eternityspring/shuohao-skills5.8k
- Category
- Design
- Updated
- 10d ago
- License
- Apache-2.0
- Context cost
- Mediumabout 1,540 tokens
- Runs scripts
- Yes, review before use
What it does
给任何故事里的角色真出参考图(小说改编、自己原创的故事、单独设计一个角色都行,不需要小说原文): 一段话描述角色,拆成分层字段、补全后确认, 先出一张正面全身锚点,其余视图(大头照、90° 侧面、背面、细节、45° 大头照)都只参考这张锚点, 按需分档出图。每张图带标识、可单独重出,重出后自动标出哪些图过期。 支持 Qwen Image(ComfyUI)、codex 内置出图、OpenAI Images API(GPT Image 2)和自定义命令,主图与派生图可以使用不同模型。 产出 asset.json + 一组 PNG + 双击就能开的报告。零依赖。 只要提示词、不出图的话使用 novel-characters。 Use when asked to 出角色图、做角色参考图、给我的角色出图、定妆照、真出三视图、character reference images。
character-refs
输入一段角色描述,输出一组角色参考图, , 角色从哪来都行:小说改编、自己编的故事、临时想到的一个人。一张正面全身锚点,其余每张都只参考这张锚点。 给视频模型(H3 / Wan / Seedance)当参考图使用,也给人看。
{baseDir} = 本文件所在目录。脚本 {baseDir}/scripts/character-refs.mjs,零依赖,node 直接跑。
**这是仓库里唯一真出图的 skill。**其余 skill 只交提示词,因为出图那一刻才能决定模型和画风; 这个 skill 就是「那一刻」, , 模型在 Step 0 由用户选定,画风在建角色时选择(默认动漫,另有写实预设,也能挂自定义画风)。
核心规则(先读懂再动手)
-
**一组图只有一个根:正面全身锚点。**只有它是文生图,其余全是「锚点 + 一句改图指令」。 头发、脸、领口三类细节额外挂确认过的正脸大头照。图与图之间不再互相参考, , 所以任何一张出坏了,单独重出这一张就行,不会连锁。
-
分档,默认出到第二档:
档位 内容 什么时候出 1 正面全身(锚点) 总是,第一张 2(默认) 正脸大头照、90° 侧面(面朝画面右侧)、背面 默认就出齐 3 细节图(最多 8 张):用户点名的、角色最能认出来的地方;没有就用默认的头发 / 发饰、领口、袖口、鞋 有配饰或服装局部的特写 4(默认不出) 45° 大头照(面朝画面左侧) 用户明确要 H3 实测:只给正面全身,服装和背影都对,但脸会走样;加一张大头照,脸最接近。所以默认出齐第二档。 只要锚点(比如先看看长相再说):
gen <asset.json> --tier 1。 -
模型不锁定:主图与派生图可以使用不同模型,重出单张也可以换模型。一致性来自「同一张锚点」, 不来自「同一个模型」(实测 Qwen 锚点 + GPT 派生、GPT 锚点 + Qwen 派生、同组混用都衔接得上)。 每张图记录自己的模型,同组混用只在报告里提醒。
-
冻结的只有三样:锚点文件(sha256)、画风快照、文字描述指纹。任何一样变了, 依赖它的图标成「过期」, , 只标记,不删除,旧版本全部留着。
Step 0, 初次设置(每台机器一次)
node {baseDir}/scripts/character-refs.mjs config --show
输出末尾写「还缺:……」就要问用户这三件事,一次问完:
- 主图(锚点)使用哪个模型:
qwen, , Qwen Image 2.1,走自己的 ComfyUI 服务器。快(每张 25, 45 秒)、尺寸精确、不吃订阅额度。 需要COMFY_URL(可选COMFY_USER/COMFY_PASS),放环境变量或一个 .env 文件codex, , codex 内置出图(GPT)。不要 API key,但吃 ChatGPT 订阅额度(Plus 约 25 张会触顶,几小时后恢复),每张 80, 160 秒openai, , OpenAI Images API,默认gpt-image-2。按量计费,要OPENAI_API_KEY;也能指到兼容接口(--openai-base-url)custom:<名字>, , 用户自己的出图命令,见references/models.md
- 派生图使用哪个模型:默认与主图相同。可以分开(比如锚点 GPT、派生 Qwen)
- 出完锚点要不要停下来等人确认:推荐
yes, , 锚点是全组的根,它不对后面全白出。 选no则自动放行,报告里标「未经人工确认」;没过检查门的锚点不会自动放行,要人看过再confirm或重出
node {baseDir}/scripts/character-refs.mjs config --model qwen --confirm-anchor yes --qwen-env-file <.env 路径>
# 分开设置:--anchor-model codex --derive-model qwen


