# Musea Content Visualizer

> AI 图片生成技能（内容生图）。基于 db 中 668 个实战案例，帮用户生成高质量图片：理解需求 → 匹配案例 → 生成提示词 → 调用生图 → 输出成品图。 TRIGGER when: 用户说"做海报"、"生成海报"、"做一张海报"、"做促销图"、"做活动图"、"做封面"、"生成封面"、"做视频封面"、"做小红书封面"、"配图"、"做配图"、"生成插图"、"文章需要图"、"做轮播图"、"做小红书图"、"做一组图"、"做多图帖子"、"帮我生成图片"、"生成图片"、"画一张"、"帮我画"、"生图"、"做图"、"出图"、"AI绘图"、"帮我P图"、"找灵感"、"类似这张图"、"帮我设计"；用户需要特定类型图片（海报、封面、配图、轮播图、UI界面、摄影、插画、电商图等）；用户提供参考图并要求生成类似效果的图片。 DO NOT TRIGGER when: 用户在讨论代码/文档等非图片创作话题；用户需要纯图片后期操作（裁剪、滤镜、调色、抠图、修图）且不涉及生成新图。

- Skill: `ahang1598/musea-content-visualizer` (Agent Skill, multi-file: 372 files)
- Install (CLI): `npx skillmds@latest add ahang1598/musea-content-visualizer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ahang1598/musea-content-visualizer/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ahang1598 (https://skillmd.com/u/ahang1598)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/ahang1598/musea-content-visualizer

---


# 内容生图 — AI 图片生成技能

基于 db 中 668 个实战案例，覆盖 16 大类型。流程：理解需求 → 匹配案例 → 生成提示词 → 调用 generate_image 生图 → 输出成品图。每个类型目录下有 `index.md`（轻量索引）和 `cases.md`（案例详情），按需读取。

## 不触发场景

- 用户讨论代码、文档等非图片创作话题
- 用户需要图片编辑/裁剪/滤镜等操作（非生成）

---

## 风格类型路由表

根据用户需求关键词，定位到对应的 `db/<类型名>/`：

| 用户关键词 | 类型目录 | 案例数 |
|-----------|----------|:------:|
| 界面/App/网页/直播/截图/UI/手机 | `db/UI与界面/` | 122 |
| 海报/排版/封面/Campaign/宣传 | `db/海报与排版/` | 91 |
| 信息图/图表/可视化/拆解/图解/科普 | `db/图表与信息可视化/` | 76 |
| 插画/漫画/二次元/动漫/手绘/水墨/水彩 | `db/插画与艺术/` | 78 |
| 摄影/写实/人像/写真/自拍/时尚大片 | `db/摄影与写实/` | 55 |
| 电商/商品/详情页/淘宝/产品图/广告 | `db/商品与电商/` | 54 |
| 角色/人物/卡牌/动作分解/设定 | `db/人物与角色/` | 36 |
| 游戏/截图/Minecraft/动漫Banner/VTuber/贴纸 | `db/游戏与二次元/` | 28 |
| Logo/品牌/标志/VI/字体/图标 | `db/品牌与标志/` | 21 |
| 恶搞/趣味/名人/穿越/搞笑/社交媒体模拟 | `db/趣味与恶搞/` | 20 |
| 建筑/室内/空间/城市/地标 | `db/建筑与空间/` | 17 |
| 场景/叙事/电影感/分镜/故事 | `db/场景与叙事/` | 14 |
| 古风/历史/朝代/国潮/汉服/新中式 | `db/历史与古风题材/` | 13 |
| 文档/杂志/菜单/报纸/课本/药方/笔记 | `db/文档与出版物/` | 9 |
| 诗词/意境/古诗/国风艺术/水墨意境 | `db/诗词与国风创意/` | 6 |

**兜底规则**：以上关键词均未命中时，进入 `db/其他应用场景/`（28 个案例）。兜底匹配关键词：创意合成/跨界/混搭/概念设计/实验艺术。若兜底也无相关案例，列出全部类型供用户选择。

---

## 执行流程

### Step 1: 判断用户意图

首先判断用户是否提供了参考图（上传图片、贴图片链接、或引用之前对话中的图片）。

- **用户提供了参考图** → 跳到 Step 1.5，然后 Step 5（以用户参考图为准，优先级最高）
- **需求明确**（如"帮我画一个运动海报"）→ 跳到 Step 1.5，然后 Step 3
- **需求模糊**（如"给我一个好看的图片"）→ 跳到 Step 2
- **搜索案例**（如"有没有信息图的案例"）→ 跳到 Step 4

### Step 1.5: 判断是否需要确认用途类型

**并非所有生图都需要确认用途**。只有涉及排版/文字/特定尺寸的场景才需要确认。

#### 需要确认用途的场景（关键词触发）

用户输入包含以下关键词时，**自动设定用途类型**，无需 `ask_human` 确认：

- "海报"/"宣传"/"促销"/"活动"/"广告" → 自动设定为 **营销海报**
- "封面"/"头图"/"banner"/"首图"/"缩略图" → 自动设定为 **封面图**
- "配图"/"文章"/"公众号"/"博客" → 自动设定为 **文章配图**
- "轮播"/"swiper"/"多图"/"系列图"/"滑动" → 自动设定为 **轮播图**

仅当用户输入**同时命中多个用途**（如"帮我做个活动封面"同时命中营销海报和封面图）或**完全提取不到用途类型**时，才用 `ask_human` 询问（单选：营销海报/封面图/文章配图/轮播图）。

#### 不需要确认用途的场景

用户说的是以下类型时，**跳过用途确认**，直接进入 Step 3：

- 头像、壁纸、屏保、背景图
- 插画、漫画、艺术画、概念图
- 产品图、商品图
- 摄影、写真、人像
- 建筑效果图、室内设计
- 角色设定、卡牌、人物立绘
- 以及其他不涉及排版文字的纯画面需求

跳过用途确认时，size 参数根据画面内容自动选择（竖版 `1104*1472`、横版 `1696*960`、方图 `1280*1280`）。

### Step 2: 模糊需求启发

使用 `ask_human` 收集画面主体和风格偏好，**不再重复询问用途**（Step 1.5 已判断过是否需要用途，走到 Step 2 说明不需要）：

- 画面主体（文本）
- 风格偏好（单选：写实/电影感/极简/插画/国风/自动推荐）

风格类型不询问用户，由系统根据用户描述自动匹配风格类型路由表。收集后转入 Step 3。

### Step 3: 二次创作生成

1. 根据用户需求查路由表，定位类型目录，读取索引：

```python
read_file(file_path="db/<类型名>/index.md", snippet="浏览案例索引")
```

2. 从索引中找到 2-3 个最相关的案例，根据行号范围读取详情：

```python
read_file(file_path="db/<类型名>/cases.md", start_line=L起始, end_line=L结束, snippet="读取案例详情")
```

3. 如果案例有参考图（cases.md 中 `![caseXX.jpg](images/caseXX.jpg)` 行存在），可用 `understand_media` 分析视觉风格：

```python
understand_media(media_path="db/<类型名>/images/caseXX.jpg", question="分析这张图的构图、配色、风格特征", snippet="分析参考图风格")
```

4. 如果 Step 1.5 确认了用途类型，读取用途约束详情并按约束调整提示词：

```python
read_file(file_path="references/size-and-use-constraints.md", snippet="读取用途约束和尺寸参考")
```

5. 结合用户需求 + 用途约束（如有）+ 参考案例 + 图片分析结果，二次创作新的提示词

6. 按「二次创作输出模板」展示提示词（完整示例见 `references/output-examples.md`），然后**立即调用 generate_image 生图**：

```python
generate_image(
  prompt="<上一步生成的完整提示词>",
  model="gpt-image-2",
  size="<根据用途类型和平台尺寸选择>"
)
```

> **prompt 优先级覆盖**：`generate_image` 的 raw passthrough 规则（prompt = 用户原文）在本技能中**不适用**。本技能的核心价值就是二次创作提示词——prompt 必须使用技能生成的完整提示词，不要截断或二次改写，不要传入用户原始输入。

### Step 4: 搜索案例展示

1. 查路由表定位类型目录
2. 读取索引，浏览案例列表：

```python
read_file(file_path="db/<类型名>/index.md", snippet="浏览案例索引")
```

3. 精选 3-5 个相关案例，根据行号范围读取详情：

```python
read_file(file_path="db/<类型名>/cases.md", start_line=L起始, end_line=L结束, snippet="读取案例详情")
```

4. 如有参考图的案例，用 `understand_media` 描述图片效果：

```python
understand_media(media_path="db/<类型名>/images/caseXX.jpg", question="描述这张图的整体视觉效果和风格", snippet="描述参考图效果")
```

5. 按「搜索案例输出模板」展示（完整示例见 `references/output-examples.md`）

### Step 5: 用户提供参考图（最高优先级）

当用户提供了参考图（上传、贴链接、或指定图片），**以用户的参考图为准**，db 案例仅作为提示词写法的辅助参考。

1. 深度分析用户提供的参考图：

```python
understand_media(media_path="<用户提供的图片路径或URL>", question="详细分析这张图的：1.图片类型（海报/UI/摄影/插画等）2.画面主体 3.构图方式 4.配色方案 5.风格特征 6.光影效果 7.文字排版（如有）8.特殊技法或质感", snippet="深度分析用户参考图")
```

2. 根据分析结果查路由表，匹配最接近的类型

3. 读取该类型的索引，找 2-3 个写法风格最接近的案例，按行号读取：

```python
read_file(file_path="db/<类型名>/index.md", snippet="浏览案例索引")
read_file(file_path="db/<类型名>/cases.md", start_line=L起始, end_line=L结束, snippet="参考提示词写法")
```

4. **以用户参考图的视觉分析结果为核心**，借鉴 db 案例的提示词结构和表达技巧，生成提示词。

5. 展示提示词（按「二次创作输出模板」，参考图来源标注为用户提供），然后直接调用图生图：

```python
generate_image(
  prompt="<生成的提示词>",
  model="gpt-image-2",
  image_urls=["<用户参考图路径或URL>"],
  size="1280*1472",
  artifact_name="图生图效果.png",
  snippet="参考图+提示词图生图"
)
```

> **prompt 优先级覆盖**：同 Step 3。`generate_image` 的 prompt 必须使用技能基于参考图分析 + 案例写法技巧生成的提示词，不要传入用户原始输入。raw passthrough 规则在本技能中不适用。

#### 图生图 prompt 策略

根据用户意图选择 prompt 写法：

| 用户意图 | prompt 策略 | 示例 |
|----------|------------|------|
| **严格复刻**参考图（"帮我生成一张类似的"） | prompt 完整描述画面所有要素：主体、构图、配色、风格、光影、文字排版 | "一张赛博朋克风格的城市夜景，前景为河面倒影，中景是霓虹灯摩天楼天际线..." |
| **在参考图基础上修改**（"换成XX"/"改成XX"） | prompt **只描述变化部分**，不重复参考图已有内容 | "将画面中的城市替换为上海，保留赛博朋克风格，前景改为黄浦江..." |
| **无额外指令**（只贴了参考图） | 默认按严格复刻处理，写完整 prompt | 同第一行 |

size 根据用途和平台选择（详见 `references/size-and-use-constraints.md`），未指定时按方向选择（竖版 `1104*1472`、横版 `1696*960`、方图 `1280*1280`）。

若用户后续要求调整，基于反馈修改提示词后重新生图。

---

## 输出模板

输出格式的完整示例见 `references/output-examples.md`。

### 搜索案例输出

展示 3-5 个案例，每个包含：标题、来源、参考图描述（understand_media，仅展示有图的案例）、提示词、亮点分析。末尾引导用户选择案例二次创作。

### 二次创作输出

包含：用途、类型、主题、比例、完整提示词（text 代码块）、参考案例编号（`db/<类型名>/cases.md` L行号）、创作说明（主体/风格/用途约束）。末尾建议出图验证。

---

## 默认语言

- **提示词输出默认中文**：二次创作生成的提示词使用中文撰写（除非用户明确要求英文）
- **图片内文字默认中文**：提示词中涉及的画面文字、标题、标语等一律使用中文（除非用户指定其他语言）
- **非中文案例处理**：db 中部分案例的 prompt 为英文或日文，参考这类案例时**仅借鉴其结构、技巧和创意思路**，输出的 prompt 必须为中文，不要照搬原文语言
- **非纯文本案例处理**：若案例 prompt 中残留 JSON 结构或模板语法，提取其中的描述性内容作为参考，**不要在输出 prompt 中照搬 JSON 结构**

## 质量自检

生成提示词后确认：主体具体、风格锁定、参数完整（比例/构图）、文字可读、无歧义、**语言为中文**。如有用途类型，还需确认比例/构图/文字密度符合该用途的典型特征。同时对照 `references/pitfalls.md` 中的已知踩坑点，主动规避文字过多、手指异常、复杂排版等常见问题。

## 异常处理

- **路由表无匹配**：进入 `db/其他应用场景/` 兜底；兜底也无相关案例时，列出 13 个类型供用户选择
- **案例无参考图**：跳过 `understand_media` 分析，仅使用案例 prompt 文本作为写作参考
- **图片无法识别**：提示用户描述效果或提供更清晰参考图
- **understand_media 失败**：降级为纯文本案例创作

---

## 参考文件

| 文件 | 用途 |
|------|------|
| `references/size-and-use-constraints.md` | 用途类型约束详情 + 平台尺寸参考表 |
| `references/output-examples.md` | 完整的输入→输出示例（文生图、图生图、搜索案例） |
| `references/pitfalls.md` | 常见踩坑点与规避策略（文字渲染、手指、排版等） |
| `db/UI与界面/` (`index.md` + `cases.md` + `images/`) | 122 个案例，55 张参考图 |
| `db/海报与排版/` | 91 个案例，55 张参考图 |
| `db/图表与信息可视化/` | 76 个案例，53 张参考图 |
| `db/插画与艺术/` | 78 个案例，51 张参考图 |
| `db/摄影与写实/` | 55 个案例，36 张参考图 |
| `db/商品与电商/` | 54 个案例，14 张参考图 |
| `db/人物与角色/` | 36 个案例，9 张参考图 |
| `db/游戏与二次元/` | 28 个案例，5 张参考图 |
| `db/品牌与标志/` | 21 个案例，10 张参考图 |
| `db/趣味与恶搞/` | 20 个案例，9 张参考图 |
| `db/建筑与空间/` | 17 个案例，9 张参考图 |
| `db/场景与叙事/` | 14 个案例，8 张参考图 |
| `db/历史与古风题材/` | 13 个案例，10 张参考图 |
| `db/文档与出版物/` | 9 个案例，9 张参考图 |
| `db/诗词与国风创意/` | 6 个案例，0 张参考图 |
| `db/其他应用场景/` | 28 个案例，3 张参考图 |

