<!-- 机器翻译（简体中文）。原文件：dot-claude/skills/character-sheet-pipeline/SKILL.md ｜ 提示词原文保持英文，中文为说明。 -->
---
name: character-sheet-pipeline
description: 把一张角色图（任意姿势、任意风格）转成一套完整、可直接投产的 3D 参考包 —— 严格正面 A-pose（A 姿势）设定图（2K，Nano Banana Pro）、补充性多视图角色设定图（GPT-Image-2.5，含 3 个正交投影视角 + 配饰平铺）、按匹配的严格正面姿势逐个提取的部件、每个部件可选的侧面+背面多视图、头发提取（默认开启），外加每个资产一段 360° 旋转视频。V3 在每次严格正面输出后新增一道视觉分类器核验，拒绝 3/4 漂移并自动重试至多 2 次后再上报用户。当用户上传单个角色、想要一套干净、可组装的参考包用于下游 3D 生成（Tripo、Hunyuan、Rodin、Pixal3D）时使用。各阶段设有闸门 —— 在生成多视图和 360 视频前，agent 会先请求批准。由 Stefan Vaskevich（Stefan 3D AI）编写，方法论基于发表于 top3d.ai/learn/how-to-create-best-3d-character-references 的内容。
---

# 角色设定图流水线

一个"单角色图进 → 完整参考包出"的工作流，面向 3D 建模师、角色设计师和独立游戏开发者。这个 skill 解决图生 3D 流水线里最难的单个问题：**把分开建模的部件真正拼回一起**。

## 铁律 —— 严格正面，绝不 3/4

每个身体部件、每件成对物品、每件配饰，都必须以**正对镜头角度生成，与严格正面 A-pose 的朝向保持一致**。绝不写 "3/4 outer view"（3/4 外侧视角），绝不写 "hero angle"（英雄式角度），绝不写 "presentable hero shot"（好看的展示镜头）。

原因：以 3/4 生成的部件无法与严格正面的部件重新组装。接缝对不上。衣服不合身。帽子戴不稳。如果模型执意给 3/4，**用更强的反 3/4 措辞重试。绝不交付 3/4 部件。**

侧面和背面视图是存在的 —— 但它们属于专门的**多视图阶段**（阶段 5），按部件作为单独的、有意为之的正交投影生成。它们从来不是默认角度。

**V3 强制执行机制：** 每个严格正面输出在被接受之前都要经过视觉分类器核验（见阶段 4.5）。如果分类器标记出 3/4 漂移、躯干扭转或被旋转的英雄式展示镜头，流水线会用逐级加强的反 3/4 措辞自动重试至多 2 次，然后上报用户。任何 3/4 部件都不会被悄悄交付。

## 用户拿到的输出

本 skill 包含的是 agent 指令和提示词模板。它并不自带
独立的生成运行器或分类器服务。核验阶段请使用 agent 可用的
图像查看能力或已配置的视觉 API，并记录用的是哪一种。复用当前
任务中已经给出的复用范围和生成批准；检查点负责敲定新的选择，
而不是把同一个问题再问一遍。

```
character_pack/
  00_sheet/
    01a_apose_front.png         # strict front, white bg, flat light, 2K (Nano Banana Pro)
    01b_character_sheet.png     # 16:9, 3 projections (front/side/back) + accessories laid out (GPT-Image-2.5)
    parts_inventory.md          # numbered list of every detected part
  01_parts/
    body_torso_front.png        # strict front, in-pose, white bg, 2K
    body_legs_front.png         # strict front, in-pose
    body_arms_front.png         # strict front, in-pose
    head_front.png              # neutral front, no expression
    hair_front.png              # isolated, front-facing
    hands_pair_front.png        # close-crop, palms-to-camera, dead front
    boots_pair_front.png        # close-crop, dead front
    [accessory_name]_front.png  # one per accessory (hat, weapon, prop) — strict front
  02_multiview/                 # only for parts the user approved at Gate 2
    body_torso_side.png
    body_torso_back.png
    head_side.png
    head_back.png
    ...
  03_360/                       # only for parts the user approved at Gate 3
    full_character_360.mp4      # 4-6s, locked camera orbit
    [part_name]_360.mp4         # one per asset
  manifest.json                 # parts list, pose data, model used, seed, cost
```

## 流水线 —— 8 个阶段、3 道闸门（V3 新增阶段 4.5 核验器）

### 阶段 1 —— 接收录入
- 接收：一张角色图（任意姿势、任意风格）
- 如提供了用户简报则读取（风格目标、必带配饰、必须保留的特征）
- 检测：剪影类型、美术风格、色板、可见的性别/年龄、配饰数量
- 向用户输出：对检测到内容的 2 行摘要。**请用户确认。**

### 阶段 2A —— 严格正面 A-pose 设定图（主力阶段）
- 生成一张干净的角色设定图：全身、A-pose、**正对镜头角度（不是 3/4）**、白色背景、中性平光、无夸张透视。
- **分辨率：2K**（2048×2048，或最接近的 1:1）。为下游提取提供基准级清晰度。
- **模型优先级：** Nano Banana Pro（首选）→ Nano Banana 2（备选）。这一步绝不用 GPT-Image-2/2.5 —— 在 2K 正面基准图上，Nano Banana Pro 的角色连续性最强。绝不用视频模型。
- 逐字复用用户的角色描述 —— 相同配色、相同比例、相同配饰。保留脸部身份（如果本次 Higgsfield 会话可用 Soul ID，则使用）。
- 精确的提示词模板见 `prompts/01a_apose_front.md`。
- **下游每个部件提取阶段都会以这张图为参照。**

### 阶段 2B —— 补充性多视图角色设定图（辅助视觉参考）
- 生成一张 16:9 角色设定图，展示角色的三个正交投影（正面、侧面、背面），并把配饰单独平铺在旁边（尤其是大件：帽子、武器、披风、背包）。
- **模型：GPT-Image-2.5**（自 2026 年 9 月起为默认；fal id `openai/gpt-image-2.5/flare/*`；GPT-Image-2 作备选）。GPT-Image 系列在单张图中组合多个带框视角、并保持角色身份一致方面强于 Nano Banana。
- 白色背景。中性平光。每个投影标注清晰。
- 这张设定图供用户视觉参考，并用于多视图提取阶段的姿势对齐。它**不是**部件提取的直接输入（直接输入是阶段 2A 的图）。
- 精确的提示词模板见 `prompts/01b_character_sheet.md`。

### 阶段 3 —— 闸门 1：确认部件清单
- 读取渲染出的设定图，提出一份部件清单。把每项归类为：
  - **`body-essential`（身体必需件）** —— 必须处于严格正面 A-pose，保证组装接缝对齐（躯干、腿、臂、头）
  - **`paired`（成对件）** —— 以左右一套出现，按近景成对生成，保持严格正面 A-pose 朝向（手/手套、靴/脚）
  - **`accessory`（配饰）** —— 非承重物件（帽、武器、背包、首饰、披风、围巾）。默认正面；如用户需要，侧面/背面走多视图阶段。
  - **`hair`（头发）** —— 单独提取。**默认：提取。** 特殊处理（正面向、与头部姿势匹配、柔和 alpha 边缘）。
- 把拟议清单展示给用户。**询问："确认要提取、跳过或新增哪些部件。"** 等待明确批准后再继续。

### 阶段 4 —— 部件提取（严格正面，成败攸关的阶段）
每个批准的部件生成一张图。每个部件都以**正对镜头角度**生成，与阶段 2A 的严格正面 A-pose 对齐。以下规则不可妥协 —— 它们决定这些部件日后能否组装成一个连贯的 3D 模型。

**通用规则：**
- **分辨率：2K**（与阶段 2A 一致）
- **相机角度：严格正面。** 不要 3/4。不要 "presentable hero shot"（好看的展示镜头）。不要 "outer-view"（外侧视角）。部件的呈现方式必须与它在严格正面 A-pose 设定图上的样子一致。
- 白色背景
- 中性平光
- **模型：Nano Banana Pro**（与阶段 2A 相同 —— 一致性优先于各取最强）
- 把阶段 2A 的设定图作为视觉上下文引用 —— 每个部件请求都包含一句发给模型的 "match the character on this sheet, same strict-front orientation"（中文说明：与这张设定图上的角色保持一致，同样的严格正面朝向）

**按类别规则：**

| 类别 | 姿势要求 | 取景 | 备注 |
|----------|-----------------|---------|-------|
| `body-essential` | **严格正面 A-pose**，与阶段 2A 设定图完全相同的角度 | 紧密裁切到该身体区域，部件完整可见 | 躯干干净地显示颈部/肩部/胯部切口。手臂正对展示。腿部正对展示。头部直视镜头。 |
| `paired` | **严格正面**，与阶段 2A 设定图上完全一致 | 成对件一起近景裁切，手部掌心向镜头，靴部脚尖向镜头 | 绝不 "3/4 outer view"（3/4 外侧视角）。两件处于完全相同的严格正面角度。 |
| `accessory` | **严格正面**，与其在角色身上的佩戴状态一致 | 正面居中、白底隔离 | 帽子按其佩戴状态正对展示。武器刃面朝前展示。绝不 "3/4 hero angle"（3/4 英雄式角度）。 |
| `hair` | **严格正面**，与头部角度匹配 | 隔离，正面视图 | 头发与空气相接处用柔和 alpha 边缘 |

精确模板见 `prompts/02_parts_body.md`、`prompts/03_parts_paired.md`、`prompts/04_parts_accessory.md`、`prompts/05_parts_hair.md`。

### 阶段 4.5 —— 视觉分类器核验（V3，反 3/4 重试循环）

阶段 2A 之后以及阶段 4 每次部件生成之后，生成的图像在被接受前都先由**视觉分类器**检查。分类器是一次 OpenAI 视觉调用（GPT-4 Vision / GPT-5 vision），对每张图回答一个结构化问题（发给模型的原文问题）：*"Is this output STRICT FRONT, with no 3/4 drift, no rotation, no hero angle?"*（中文说明：这个输出是否严格正面，没有 3/4 漂移、没有旋转、没有英雄式角度？）

**核验结论 —— 三种结果：**

| 结论 | 含义 | 动作 |
|---------|---------|--------|
| `pass`（通过） | 确认严格正面（左右两侧等宽 / 角度一致 / 无旋转 / 无倾斜） | 接受该图，流水线继续 |
| `soft_fail`（轻微不合格） | 有轻微漂移但仍可用作参考 | 接受，但在 manifest 记录一条警告，继续 |
| `hard_fail`（严重不合格） | 明显 3/4、英雄式角度、躯干扭转或姿势错误 | 拒绝，重试计数加 1，用**升级后的**反 3/4 提示词重跑上游阶段 |

**重试策略 —— 有界循环：**

- 每个部件最多 **2 次自动重试**。总预算：3 次尝试（首次 + 2 次重试）。
- **重试 1：** 用*升级后的*提示词重跑同一模型 —— 在提示词开头加上分类器返回的明确失败原因（发给模型的原文，例如 "the previous attempt was rotated ~25° to camera-right; this attempt MUST be dead-front"，中文说明：上一次尝试朝相机右侧旋转了约 25°；这一次必须正对镜头），加强反 3/4 negative 项，把 STRICT FRONT 的强调提升为全大写的开场句。
- **重试 2：** 改用备选模型（图像阶段用 Nano Banana 2），沿用同一份升级后的提示词。理由：主模型可能在这张构图上局部卡死。
- **重试 2 之后仍然 `hard_fail`：** 停止循环，把三次尝试全部摆给用户，询问："3 次尝试都未通过严格正面核验。你是硬选一张、按自定义指令重试，还是跳过这个部件？"

**分类器按类别检查的内容：**

- `body-essential` —— 两肩等宽、两脚角度一致、头部正对、躯干无旋转、无对立式平衡（contrapposto）、无透视前缩
- `paired` —— 两件处于相同角度、都正面朝前展示、没有 3/4 外侧视角、无不对称取景
- `accessory` —— 物件正面正对相机，没有被旋转的英雄式展示角度，无修饰性的 glamour 展示镜头
- `hair` —— 相对头部所在位置正面朝前、边缘柔和 alpha、无侧面或背面漂移

**它在流水线中的位置：**

- 阶段 2A 之后（设定图本身 —— 设定图一漂，下游全部被污染）
- **每个**阶段 4 部件输出之后
- **每个**阶段 5 多视图输出之后，但使用不同的评分标准 —— 阶段 5 的期望角度是侧面或背面，所以分类器核验的是*预期的*正交角度是否被干净地命中（正与侧之间不得出现 3/4，不得出现半背面）。

**记录：** 每次分类器结论（`pass` / `soft_fail` / `hard_fail` + 原因 + 重试次数）都写入 `manifest.json`，用户可以审计哪些部件需要过重试、原因是什么。

精确的分类器提示词和升级重试提示词模板见 `prompts/08_3q_classifier.md`。

### 阶段 5 —— 闸门 2 + 按部件多视图（新阶段）
所有严格正面部件渲染完毕后，提出多视图方案：

- **默认提案：** `body-essential` 部件（躯干、腿、臂、头）+ `hair` → 每件各生成**侧视图 + 背视图**。
- **询问用户：** "哪些部件需要我生成侧面 + 背面视图？默认 = 身体部件 + 头部。告诉我要增删。"
- 等待明确批准。用户可以：接受默认、扩展到配饰、或完全跳过多视图。

对每个批准的部件，按同样的严格正交标准生成侧视图 + 背视图。同一模型（Nano Banana Pro）、同样 2K、同样的白底平光、同样引用阶段 2A 设定图。

见 `prompts/06_multiview.md`。

### 阶段 6 —— 闸门 3 + 360 旋转视频
- 360 视频是最贵的一步。计算积分开销：1 段全身角色 360 + N 段按部件 360。
- 把积分开销展示给用户。**请求批准。** 提供 3 个选项：
  - "全部资产"（完整包）
  - "仅全身角色"（最便宜）
  - "自定义"（用户挑选哪些部件做 360）
- 使用 **Seedance 2.0** 的机位锁定环绕（orbit）模式。
- 时长：每个资产 4-6 秒
- 相机：锁定。让主体旋转完整 360°。不推拉、不变焦、场景不动。
- 光照：沿用静帧里的中性平光。
- 每个资产渲染一次。全身角色先行（用作参照，检查各部件 360 里有没有姿势漂移）。
- 见 `prompts/07_360_video.md`。

### 阶段 7 —— 打包 + manifest
- 组装上文所示的输出目录结构
- 写入 `manifest.json`，包含：源图哈希、部件清单、每个资产使用的模型 + 种子、积分开销、生成时间戳
- 交付到指定的本地工作区。仅在用户指定了该目的地时，才通过外部连接器发送或发布。

## 模型路由规则（回顾）

| 步骤 | 首选 | 备选 | 备注 |
|------|---------|----------|-------|
| 阶段 2A · 严格正面 A-pose @ 2K | **Nano Banana Pro** | Nano Banana 2 | 这一步绝不用 GPT-Image-2/2.5 —— 正面正交下的角色连续性由 Nano Banana Pro 胜出 |
| 阶段 2B · 补充性多视图设定图 16:9 | **GPT-Image-2.5**（GPT-Image-2 备选） | Seedream V5 Lite | GPT-Image 系列更擅长在单张图中组合多个带框投影 |
| 阶段 4 · 部件提取 @ 2K | **Nano Banana Pro** | Nano Banana 2 | 与 2A 同模型 —— 一致性优先 |
| 阶段 4.5 · 视觉核验（V3） | 宿主可用的图像查看能力或已配置的视觉 API | 无 | 记录 `pass` / `soft_fail` / `hard_fail` 及原因。不包含独立的分类器运行器。 |
| 阶段 5 · 按部件多视图 | **Nano Banana Pro** | Nano Banana 2 | 同阶段 4 |
| 阶段 6 · 360 视频 | **Seedance 2.0**（环绕模式） | Veo | 用户指定时用 Kling |

**理由：** 流水线中途换模型会引入风格漂移，破坏下游 3D 重建。阶段 2B 之所以用 GPT-Image-2.5，只是因为 GPT-Image 系列在多投影版面组合上更强，而且 2B 只是辅助视觉参考 —— 不是提取的输入。

## 反模式（禁止这样做）

- ❌ **绝不在 3/4 角度生成任何部件。** 只允许严格正面。如果模型默认给 3/4（它会的），用更强的反 3/4 措辞重试。绝不交付 3/4 部件 —— 它会毁掉整条流水线。
- ❌ **绝不对配饰拍"英雄式展示镜头"。** 即便是帽子和武器，也先严格正面。多视图之后按需再补侧面/背面。
- ❌ 不要用随机姿势生成部件（武器提取时"角色手持剑"）。武器必须隔离展示、严格正面。
- ❌ 不要添加设定图上没有的背景、环境或道具。
- ❌ 不要用电影感光照 —— 虽然更好看，但它会把阴影烘焙进参考图，毁掉 3D 法线提取。
- ❌ 对应闸门批准之前，不要生成阶段 5（多视图）或阶段 6（360）。
- ❌ 除非用户明确放弃，不要跳过头发提取。默认 = 提取。
- ❌ 不要把成对件合并成一张"hands"图 —— 左右可能不对称。作为带标签的一对一起展示，但处于完全相同的严格正面角度。
- ❌ 部件提取不要用 GPT-Image-2/2.5 —— Nano Banana Pro 是 2K 参考图工作的主力。

## 这个 skill 为何存在

单图转 3D 模型（Tripo、Hunyuan、Rodin、Pixal3D）在喂给它干净的严格正面 A-pose 设定图 + 隔离部件参考图时，产出效果远好于喂一张英雄姿势单图。多数 3D AI 用户的瓶颈，是为稳定产出这套参考包所需的那 30-60 分钟手工提示词。本 skill 把它压缩成一次单发调用，外加三道人工闸门做质量控制。

方法论来源：<https://www.top3d.ai/learn/how-to-create-best-3d-character-references>（Stefan Vaskevich，2026）。

## 调用示例

用户上传 `kitsune_wizard.png` 并写道：
> 对这张图跑角色设定图流水线。风格化、偏动漫。帽子和武士刀作为独立配饰保留。戒指跳过。

该 skill 将：
1. 检测：kitsune（狐妖）特征、风格化动漫、巫师帽、武士刀、长袍、戒指（用户跳过）。确认。
2. 生成阶段 2A —— 经 Nano Banana Pro 输出 2K 严格正面 A-pose 设定图
3. 生成阶段 2B —— 经 GPT-Image-2.5 输出补充性 3 投影 + 配饰设定图
4. 请用户确认部件清单（拟议：躯干、腿、臂、头、头发、双手成对、双靴成对、帽子、武士刀 —— 全部严格正面）
5. 逐个生成部件，严格正面向，与阶段 2A 的姿势匹配
6. 询问用户哪些部件做多视图（默认：躯干、腿、臂、头、头发 → 侧面 + 背面）
7. 为批准的部件渲染多视图
8. 报价 360 视频的积分开销，询问渲染哪些部件
9. 渲染 360
10. 把完整包放入工作区；若已连接 Drive 则一并推送

## 状态

**V3（2026-05-19）。** 新增视觉分类器核验步骤（阶段 4.5）与有界自动重试。补上 V2 的缺口：即便加强了提示词 negative，配饰仍会向 3/4 漂移。

相对 V2 的变更：
- 新增阶段 4.5 —— 视觉分类器在每个严格正面输出被接受前进行核验（GPT-4 Vision / GPT-5 vision）。
- 有界重试循环：最多 2 次自动重试，反 3/4 措辞逐级加强；重试 2 时改用备选模型；再不行则上报用户。
- 每次尝试的结论 + 原因写入 `manifest.json` 供审计。
- 新增 `prompts/08_3q_classifier.md`，包含分类器提示词 + 升级重试提示词模板。

未决事项：
- 在宣布稳定之前，需在多种角色原型上验证：风格化动漫、半写实、硬表面机甲、生物/非人形。
- 分类器 `soft_fail` 阈值可能需要在拿到真实运行的遥测数据后按类别调参。
- 阶段 5（多视图）使用不同的评分标准 —— 在依赖同样的自动重试预算之前，先确认侧/背核验的措辞表现良好。

### 历史
- **V1**（2026-05-03）—— 初稿，7 个阶段、3 道闸门。
- **V2**（2026-05-18）—— 在所有部件提取提示词中加强反 3/4 negative；把配饰漂移标记为未解决。
- **V3**（2026-05-19）—— 通过视觉分类器加入反 3/4 重试循环（本次修订）。
