feat(skills): 集成 GPT Image 图片生成和编辑能力
- 新增 gpt-image-generator.js 脚本,支持文生图、图生图/重绘、批量生成 - 更新 pipeline 和 phase-images 支持 GPT Image 模型 - 更新技能文档,添加 GPT Image 使用说明和 API 特点 - 新增配置文件中的 GPT Image API 参数
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
---
|
||||
name: image-generator
|
||||
description: 图片生成技能。支持 Gemini 和 Midjourney (MJ) 两个模型。批量生图、图生图、风格转换、4合1自动拆分。触发词:生图、生成图片、批量出图、图片素材、MJ生图、Gemini生图、图生图、风格转换。
|
||||
description: 图片生成技能。支持 Gemini、Midjourney (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`) | ~10s,API 直出单张 |
|
||||
| 精品图、写实/艺术 | **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' })
|
||||
|
||||
Reference in New Issue
Block a user