feat(skills): 集成 GPT Image 图片生成和编辑能力

- 新增 gpt-image-generator.js 脚本,支持文生图、图生图/重绘、批量生成
- 更新 pipeline 和 phase-images 支持 GPT Image 模型
- 更新技能文档,添加 GPT Image 使用说明和 API 特点
- 新增配置文件中的 GPT Image API 参数
This commit is contained in:
2026-05-05 23:49:30 +08:00
parent 823519cbf7
commit 35488beef2
8 changed files with 752 additions and 11 deletions

View File

@@ -1,11 +1,11 @@
---
name: image-generator
description: 图片生成技能。支持 GeminiMidjourney (MJ)个模型。批量生图、图生图、风格转换、4合1自动拆分。触发词生图、生成图片、批量出图、图片素材、MJ生图、Gemini生图、图生图、风格转换。
description: 图片生成技能。支持 GeminiMidjourney (MJ)、GPT Image 三个模型。批量生图、图生图、风格转换、4合1自动拆分、重绘/编辑。触发词生图、生成图片、批量出图、图片素材、MJ生图、Gemini生图、GPT Image生图、图生图、风格转换、重绘
---
# 图片生成
Gemini快速+ MJ精品模型图片生成。**以参考图为锚点**,确保批量出图风格统一。
Gemini快速+ MJ精品+ GPT Image高品质编辑模型图片生成。**以参考图为锚点**,确保批量出图风格统一。
---
@@ -108,7 +108,8 @@ node .claude/skills/video-from-script/scripts/gemini-image-generator.js edit \
|------|------|-----------|------|
| 快速出图、批量 | **Gemini** | 本地图文件直传(`-i` | ~10sAPI 直出单张 |
| 精品图、写实/艺术 | **MJ** | 公网 URL`-r``--sref` | 高质量4图选1~60s |
| 参考图融合风格 | Gemini 或 MJ | 见下方详细说明 | 两种都支持 |
| 高品质编辑/重绘 | **GPT Image** | 本地图 multipart 上传 | 最强编辑能力,支持多参考图融合 |
| 参考图融合风格 | Gemini 或 GPT Image | 见下方详细说明 | 两种都支持 |
---
@@ -258,6 +259,79 @@ MJ 流程:提交 imagine → 轮询 5s/次 → 下载 4合1 → sharp 拆分
---
## GPT Image 完整用法
OpenAI GPT Image 2 模型,通过云雾 API 代理调用。支持文生图和强大的图生图/重绘能力。
```bash
# 文生图
node .claude/skills/video-from-script/scripts/gpt-image-generator.js generate "prompt" -o ./output -r 9:16 -q auto
# 图生图/重绘(参考图编辑)
node .claude/skills/video-from-script/scripts/gpt-image-generator.js edit "Add sunglasses to this person" -i ./photo.jpg -o ./output
# 多图参考融合
node .claude/skills/video-from-script/scripts/gpt-image-generator.js edit "Combine items into a gift basket" -i ./a.jpg,./b.jpg,./c.jpg -o ./output
# 批量
node .claude/skills/video-from-script/scripts/gpt-image-generator.js batch ./prompts.txt -o ./output -r 9:16 -q low
```
| 参数 | 说明 |
|------|------|
| `-o, --output` | 输出目录 |
| `-r, --ratio` | 宽高比1:1, 9:16, 16:9, 3:4, 4:3 等 |
| `-s, --size` | 尺寸 (1024x1024, 1088x1920, auto),默认按宽高比自动选择 |
| `-q, --quality` | 质量low(快速草稿), medium(默认), high(最终稿), auto |
| `-f, --format` | 格式png(默认), jpeg(更快), webp |
| `-i, --input` | 输入图片edit 模式),逗号分隔多张 |
| `--mask` | 蒙版图片edit 模式,可选) |
| `-n` | 生成数量 (默认: 1) |
### 单图 / 首尾帧
**单图模式**pipeline 中设置 `--image-model gpt-image`,自动文生图或图生图(有参考图时)。
**首尾帧模式**pipeline 设置 `--mode framePair --image-model gpt-image`,自动用首帧图 + lastFramePrompt 编辑生成尾帧。
```bash
# Pipeline 单图模式
node .claude/skills/video-from-script/scripts/pipeline.js init \
--account my-account --mode single --image-model gpt-image \
--items '[{"shotDesc":"...","script":"...","duration":5,"imagePrompt":"..."}]'
node .claude/skills/video-from-script/scripts/pipeline.js run \
--manifest ./output/my-account_XXX/manifest.json --phase images
# Pipeline 首尾帧模式
node .claude/skills/video-from-script/scripts/pipeline.js init \
--account my-account --mode framePair --image-model gpt-image \
--items '[{"shotDesc":"...","script":"...","duration":5,"imagePrompt":"...","lastFramePrompt":"..."}]'
```
### 重绘(编辑现有图片)
支持通过自然语言指令编辑图片:换背景、改物体颜色、添加/移除元素、风格迁移等。
```bash
# 单个图片编辑
node .claude/skills/video-from-script/scripts/gpt-image-generator.js edit \
"Change the background to a sunset beach" -i ./photo.jpg
# 多参考图融合(人物+场景合成)
node .claude/skills/video-from-script/scripts/gpt-image-generator.js edit \
"Place this person in the garden scene" \
-i ./person.png,./garden.jpg -o ./output
```
### API 特点
- **图生图**用 multipart/form-data 上传本地图片,无需公网 URL
- 输入图片自动高保真处理,无需调整 input_fidelity
- 不支持透明背景(`background: transparent`),需要透明图请用 Gemini
- 支持数千种分辨率,短边 ≥ 640px 且为 16 的倍数
---
## 账号系统集成
当用户指定账号时,从项目根目录 `accounts/{account}/` 读取三层资源:
@@ -318,6 +392,14 @@ const r = await geminiGen('prompt', { outputDir: './out', aspectRatio: '9:16' })
const { edit: geminiEdit } = require('./gemini-image-generator')
const r = await geminiEdit('prompt', ['./ref1.png', './ref2.png'], { outputDir: './out', aspectRatio: '9:16' })
// GPT Image 文生图
const { generate: gptGen } = require('./gpt-image-generator')
const r = await gptGen('prompt', { outputDir: './out', size: '1088x1920' })
// GPT Image 图生图/重绘(带参考图)
const { edit: gptEdit } = require('./gpt-image-generator')
const r = await gptEdit('prompt', ['./ref1.png', './ref2.png'], { outputDir: './out' })
// MJ
const { generate: mjGen } = require('./mj-image-generator')
const r = await mjGen('prompt', { outputDir: './out', aspectRatio: '9:16' })