Skill detail
pw-image-generation
Can package generated images into a PPT, but its primary purpose is image generation.
Inspect before use
Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.
SKILL.md
The saved excerpt is a snapshot from review. The external source remains the complete and most current version.
---
name: pw-image-generation
description: AI 图像生成和处理工作流。通过提示词生成图像,支持文生图、图生图、批量生成、图床管理、长图合并、PPT 打包。核心特性是逐张确认生成,避免浪费 API 额度。
---
# Image-Generation - AI 图像生成工作流
> **核心理念**: 分析风格 → 设计提示词 → 用户确认 → 生成图像,避免额度浪费
## 核心功能
**图像生成**:
- 文生图: 根据文本描述生成图像
- 图生图: 基于参考图片生成类似风格的图像
- 批量生成: 使用提示词模板批量生成多张图像
- 风格一致: 保持系列图像的视觉风格统一
**图像处理**:
- 长图合并: 将系列图片垂直拼接为一张长图
- PPT 打包: 将系列图片打包为 PPT 文件 (每张图片一页)
- 图床管理: 上传图片到图床并管理删除链接
## 使用时机
**适用场景**:
- 用户明确要求 "生成图像"、"创建配图"、"制作插画"
- 用户提供文本描述并需要视觉化呈现
- 用户提供参考图片并要求生成类似风格的图像
- 用户需要为文章、PPT、社交媒体制作配图
- 用户需要批量生成风格一致的系列图像
- 用户需要将多张图片合并为长图或 PPT
**不适用场景**:
- 用户只是询问如何生成图像 (提供建议即可)
- 用户需要编辑现有图片 (使用图片编辑工具)
- 用户需要图像识别或分析 (使用视觉分析工具)
- 用户需要截图或屏幕录制 (使用系统工具)
---
## 工作流程
```
分析风格 → 设计提示词 → 安装依赖 → 配置API → 确认生成 → 保存图像
↓ ↓ ↓ ↓ ↓ ↓
风格文件 提示词文件 node-fetch secrets.md 逐张确认 images/
```
---
## 脚本目录
所有脚本位于 `~/.claude/skills/pw-image-generation/scripts/` 目录中。
**Agent 执行说明**:
1. 确定此 SKILL.md 文件的目录路径为 `SKILL_DIR`
2. 脚本路径 = `${SKILL_DIR}/scripts/<script-name>.ts`
3. 将本文档中的所有 `${SKILL_DIR}` 替换为实际路径
**可用脚本**:
| 脚本 | 功能 | 参数 |
|------|------|------|
| `generate-image.ts` | 生成图像 (逐张确认) | `[输出目录]` |
| `upload-image.ts` | 上传图片到图床 | `<图片路径>` |
| `delete-image.ts` | 管理图床图片 | `list\|delete <索引>\|delete-all` |
| `merge-to-long-image.ts` | 合并为长图 | `<图片目录> <输出文件>` |
| `merge-to-pptx.ts` | 打包为 PPT | `<图片目录> <输出文件>` |
| `analyze-image.ts` | 分析图像风格 | `<图像URL或路径>` |
## 快速开始
### Step 1: 创建项目目录
```bash
mkdir my-image-project && cd my-image-project
```
### Step 2: 复制配置模板(可选)
```bash
cp -r ~/.claude/skills/pw-image-generation/config.example ./config
cp ~/.claude/skills/pw-image-generation/references/.gitignore.template ./.gitignore
# 编辑 config/secrets.md 自定义 API 密钥(可选)
```
### Step 3: 创建提示词
```bash
mkdir -p prompts
cp ~/.claude/skills/pw-image-generation/references/prompt-templates/提示词模板.md ./prompts/我的提示词.md
vim ./prompts/我的提示词.md
```
参考 `references/style-library.md` 选择合适的风格。
### Step 4: 生成图像
```bash
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
```
脚本会逐张询问确认,避免浪费额度。
---
## 工具脚本详解
### 1. 生成图像
**命令**:
```bash
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts [输出目录]
```
**参数说明**:
- `[输出目录]`: 可选,指定图像保存目录,默认为 `./images`
**工作流程**:
1. 读取 `prompts/` 目录下的所有提示词文件
2. 逐张显示提示词内容
3. 询问是否生成该图像 (y/n/q)
4. 生成图像并保存到输出目录
5. 支持中断和恢复
**确认选项**:
- `y` (yes): 生成当前图像
- `n` (no): 跳过当前图像,继续下一张
- `q` (quit): 退出生成流程
**示例**:
```bash
# 使用默认输出目录
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
# 指定输出目录
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts ./my-images
```
---
### 2. 上传图片到图床
**命令**:
```bash
npx -y bun ~/.claude/skills/pw-image-generation/scripts/upload-image.ts <图片路径>
```
**参数说明**:
- `<图片路径>`: 必需,要上传的本地图片文件路径
**功能特性**:
- 自动上传到 freeimage.host (永久存储)
- 返回可用的图片 URL
- 自动保存删除链接到 `.upload-history.json`
- 用于图生图的参考图上传
**示例**:
```bash
# 上传单张图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/upload-image.ts ./template/参考图.png
# 上传后会返回:
# - 图片 URL (用于提示词中的 image_url)
# - 删除链接 (保存在历史记录中)
```
**输出示例**:
```
上传成功!
图片 URL: https://iili.io/xxx.png
删除链接已保存到 .upload-history.json
```
---
### 3. 管理图床图片
**命令**:
```bash
# 列出所有上传的图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts list
# 删除指定索引的图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete <索引>
# 删除所有图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete-all
```
**参数说明**:
- `list`: 列出所有上传记录
- `delete <索引>`: 删除指定索引的图片 (索引从 0 开始)
- `delete-all`: 删除所有图片
**功能特性**:
- 查看上传历史和删除链接
- 单个或批量删除图片
- 自动更新历史记录文件
**示例**:
```bash
# 查看上传历史
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts list
# 输出:
# 0: 参考图.png - https://iili.io/xxx.png (2024-01-15)
# 1: 配图1.png - https://iili.io/yyy.png (2024-01-16)
# 删除索引为 0 的图片
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete 0
# 删除所有图片 (会要求确认)
npx -y bun ~/.claude/skills/pw-image-geneRead the full source on GitHub (opens external page)