mcpField
I
imagegen

imagegen

github.com/davila7创意与媒体33.0k80 次安装1 天前更新
代码仓库

关于 imagegen

Image Generation Skill 用于生成和编辑项目图像素材,包括 UI 模型图、产品视觉和插画。它通过内置命令行工具调用 OpenAI Image API,并提供单图、编辑与批量处理流程。

主要功能

  1. 01生成和编辑项目图像
  2. 02批量处理提示词与图像变体
  3. 03通过内置命令行工具复现运行
  4. 04按结构组织提示词与约束
  5. 05检查输出并逐步调整

适用场景

  1. 01制作网站或游戏素材
  2. 02通过替换背景或移除物体编辑图像
  3. 03根据提示词生成多种视觉变体
  4. 04制作 UI 与产品模型图

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davila7/claude-code-templates --skill imagegen

安装后在 Claude Code 中输入/imagegen确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE.txt
agents/
openai.yaml
assets/
imagegen-small.svg
references/
cli.md
codex-network.md
image-api.md
prompting.md
sample-prompts.md
scripts/
image_gen.py

详细介绍

图像生成技能

为当前项目生成或编辑图像(例如网站素材、游戏素材、UI 模型图、产品模型图、线框图、徽标设计、逼真图像、信息图)。默认使用 gpt-image-1.5 和 OpenAI Image API,并优先使用随附的 CLI,以确保运行结果可复现且确定。

适用场景

  • 生成新图像(概念艺术、产品照片、封面、网站主视觉)
  • 编辑现有图像(图像修复、蒙版编辑、光照或天气变换、背景替换、移除对象、合成、透明背景)
  • 批量运行(多个提示词,或针对多个提示词生成许多变体)

决策树(生成、编辑还是批量处理)

  • 如果用户提供了输入图像(或表示“编辑/修饰/修复/蒙版/翻译/本地化/仅更改 X”)→ 编辑
  • 否则,如果用户需要许多不同的提示词/素材 → 批量生成
  • 否则 → 生成

工作流

  1. 判断意图:生成、编辑还是批量处理(参见上方决策树)。
  2. 预先收集输入:提示词、准确文本(原文照录)、限制条件/排除项,以及任何输入图像/蒙版。对于多图编辑,按索引和用途标记每张输入图像;对于编辑,明确列出必须保持不变的内容。
  3. 如果是批量处理:在 tmp/ 下编写临时 JSONL(每行一项任务),运行一次,然后删除 JSONL。
  4. 将提示词扩充为简短的带标签规范(结构 + 限制条件),但不要凭空添加新的创作要求。
  5. 使用合理的默认设置运行随附的 CLI(scripts/image_gen.py)(参见 references/cli.md)。
  6. 对于复杂的编辑/生成,检查输出(打开/查看图像)并验证:主体、风格、构图、文本准确性,以及必须保持不变的内容/排除项。
  7. 迭代:进行一项有针对性的更改(提示词或蒙版),重新运行并再次检查。
  8. 保存/返回最终输出,并注明最终使用的提示词和标志。

临时文件和输出约定

  • 使用 tmp/imagegen/ 存放中间文件(例如 JSONL 批次文件);完成后删除。
  • 在本仓库中工作时,将最终文件写入 output/imagegen/。
  • 使用 --out 或 --out-dir 控制输出路径;文件名应保持稳定且具有描述性。

依赖项(缺少时请安装)

依赖管理优先使用 uv。

Python 包:

uv pip install openai pillow

如果无法使用 uv:

python3 -m pip install openai pillow

环境

  • 执行在线 API 调用时,必须设置 OPENAI_API_KEY。

如果缺少密钥,请告知用户执行以下步骤:

  1. 在 OpenAI 平台 UI 中创建 API 密钥:https://platform.openai.com/api-keys
  2. 在其系统中将 OPENAI_API_KEY 设置为环境变量。
  3. 如有需要,可提供指导,帮助其为所在操作系统/Shell 设置环境变量。
  • 切勿要求用户在聊天中粘贴完整密钥。请用户在本地设置密钥,并在准备就绪后确认。

如果无法在此环境中安装依赖项,请告知用户缺少哪项依赖,以及如何在本地安装。

默认设置和规则

  • 除非用户明确要求使用 gpt-image-1-mini,或明确偏好更便宜/更快的模型,否则使用 gpt-image-1.5。
  • 除非用户明确要求编辑,否则假定用户需要生成新图像。
  • 进行任何在线 API 调用前,必须先获取 OPENAI_API_KEY。
  • 所有 API 调用均使用 OpenAI Python SDK(openai 包);不得使用原始 HTTP。
  • 如果用户要求编辑,请使用 client.images.edit(...),并包含输入图像(如有提供蒙版,也需包含)。
  • 优先使用随附的 CLI(scripts/image_gen.py),而不是编写一次性脚本。
  • 切勿修改 scripts/image_gen.py。如果缺少某项功能,继续操作前先询问用户。
  • 如果结果明显不相关或不符合限制条件,请通过小幅、针对性的提示词更改进行迭代;只有缺少的信息会阻碍任务成功时才提问。

提示词扩充

将用户提示词重新整理为结构化、面向生产的规范。只将隐含细节明确化;不要凭空添加新要求。

用例分类(slug 必须完全一致)

将每个请求归入以下类别之一,并确保在提示词和引用中使用一致的 slug。

生成:

  • photorealistic-natural — 具有真实质感和自然光线的抓拍式/编辑风格生活场景。
  • product-mockup — 产品/包装照片、目录图片、周边商品概念。
  • ui-mockup — 看起来可直接交付的应用/网页界面模型。
  • infographic-diagram — 布局和文字结构清晰的图表/信息图。
  • logo-brand — Logo/标志探索,适合矢量化。
  • illustration-story — 漫画、儿童读物插画、叙事场景。
  • stylized-concept — 以风格为主导的概念艺术、3D/风格化渲染。
  • historical-scene — 符合时代特征/历史知识的场景。

编辑:

  • text-localization — 翻译/替换图中文字,同时保留布局。
  • identity-preserve — 试穿、将人物置于场景中;锁定面部/身体/姿势。
  • precise-object-edit — 移除/替换特定元素(包括室内空间替换)。
  • lighting-weather — 仅更改一天中的时段/季节/氛围。
  • background-extraction — 透明背景/干净抠图。
  • style-transfer — 在更改主体/场景的同时应用参考风格。
  • compositing — 合并/插入多张图像,并匹配光线/透视。
  • sketch-to-render — 将绘图/线稿转为照片级真实感渲染图。

快速澄清(增强还是凭空创造):

  • 如果用户说“为落地页制作一张主视觉图”,你可以补充该用途所隐含的布局/构图约束(例如“右侧留出充足的负空间,用于放置标题文字”)。
  • 不要引入用户未要求的新创意元素(例如添加吉祥物、更改主体、虚构品牌名称/Logo)。

模板(仅包含相关行):

Use case: <taxonomy slug>
Asset type: <where the asset will be used>
Primary request: <user's main prompt>
Scene/background: <environment>
Subject: <main subject>
Style/medium: <photo/illustration/3D/etc>
Composition/framing: <wide/close/top-down; placement>
Lighting/mood: <lighting + mood>
Color palette: <palette notes>
Materials/textures: <surface details>
Quality: <low/medium/high/auto>
Input fidelity (edits): <low/high>
Text (verbatim): "<exact text>"
Constraints: <must keep/must avoid>
Avoid: <negative constraints>

增强规则:

  • 保持简短;仅添加用户已暗示或在其他地方提供的细节。
  • 始终将请求归入上述分类 slug,并针对该类别调整约束/构图/质量。使用该 slug 在 references/sample-prompts.md 中查找匹配示例。
  • 如果用户提出宽泛请求(例如“为这个网站生成图片”),请自行判断,提出有品位且符合情境的素材,并为每项素材指定一个分类 slug。
  • 对于编辑请求,明确列出不变项(“仅更改 X;保持 Y 不变”)。
  • 如果缺少任何会妨碍成功完成任务的关键信息,请提问;否则直接执行。

示例

生成示例(主视觉图)
Use case: stylized-concept
Asset type: landing page hero
Primary request: a minimal hero image of a ceramic coffee mug
Style/medium: clean product photography
Composition/framing: centered product, generous negative space on the right
Lighting/mood: soft studio lighting
Constraints: no logos, no text, no watermark
编辑示例(不变项)
Use case: precise-object-edit
Asset type: product photo background replacement
Primary request: replace the background with a warm sunset gradient
Constraints: change only the background; keep the product and its edges unchanged; no text; no watermark

提示词最佳实践(简明列表)

  • 按场景 -> 主体 -> 细节 -> 约束的结构编写提示词。
  • 说明预期用途(广告、UI 模型、信息图),以确定呈现模式和精致程度。
  • 使用摄影和构图术语来实现照片级真实感。
  • 将确切文字加上引号,并指定字体排印方式和位置。
  • 对于难处理的词,逐字母拼写,并要求原样呈现。
  • 对于多图输入,按索引引用图像,并说明如何组合。
  • 对于编辑任务,每次迭代都重复说明不变项,以减少偏差。
  • 通过每次只更改一项的后续要求进行迭代。
  • 对于对延迟敏感的运行,从 quality=low 开始;对于文字密集或细节要求严格的输出,使用 quality=high。
  • 对于严格编辑(锁定身份/布局),可考虑使用 input_fidelity=high。
  • 如果结果显得“俗气”,添加简短的“Avoid:”行(图库照片感;俗套的镜头光晕;过度饱和的霓虹色;强烈的泛光;过度锐化;杂乱),并指定克制的风格(“编辑风格”“高端”“微妙”)。

更多原则:references/prompting.md。可复制/粘贴的规格:references/sample-prompts.md。

按素材类型提供的指导

素材类型模板(网站素材、游戏素材、线框图、Logo)已整合到 references/sample-prompts.md 中。

CLI + 环境说明

  • CLI 命令和示例:references/cli.md
  • API 参数快速参考:references/image-api.md
  • 如果网络审批/沙盒设置造成阻碍:references/codex-network.md

参考索引

  • references/cli.md:介绍如何通过 scripts/image_gen.py 运行图像生成、编辑和批处理(命令、标志、用法示例)。
  • references/image-api.md:介绍 API 层面的可用选项(参数、尺寸、质量、背景、仅适用于编辑的字段)。
  • references/prompting.md:提示词原则(结构、约束/不变量、迭代模式)。
  • references/sample-prompts.md:可复制粘贴的提示词示例(生成 + 编辑工作流;仅供参考)。
  • references/codex-network.md:环境/沙盒/网络审批故障排查。

评论

支持 Markdown