SKILL.md
readonly只读
name
image-generation
description
为文章和文档生成插图,采用 Codex 优先工作流,OpenAI API 作为备用,Gemini 作为最后备用。
图像生成技能
为博客文章、文档和技术文章生成插图。工作流根据提供商自动选择:
- 优先使用 Codex 内置路径 — 当当前代理是 Codex 且内置
image_gen工具可用时,直接使用。此路径不需要OPENAI_API_KEY。 - OpenAI API 备用 — 在 Codex 之外,或内置工具不可用时,使用本地脚本并配置
OPENAI_API_KEY(如果存在)。 - Gemini 备用 — 如果 OpenAI API 生成不可用或失败,使用同一脚本并配置
GEMINI_API_KEY和现有的 Gemini 图像模型。
仅在需要时加载特定提供商的参考文件:
- Codex 内置路径:
references/codex-built-in.md - OpenAI API 备用:
references/openai-api.md - Gemini 备用:
references/gemini-api.md
何时使用
- 用户要求生成插图、图表、概念图、文章配图或文档配图
- 用户正在撰写文章,需要概念或工作流的可视化解释
- 用户明确要求生成光栅图像
步骤 1:确定图像需求
在生成之前,仅明确必要的信息:
- 要说明的内容 — 概念、架构、流程或场景
- 语言 — 默认使用英语作为提示词和图像中的文字。仅当用户明确要求时才使用其他语言
- 保存位置 — 参见“输出路径”
- 风格/颜色偏好 — 如果用户有特定需求,则使用;否则使用默认风格
步骤 2:选择提供商路径
路径 A:Codex 内置
在以下情况下使用此路径:
- 当前代理是 Codex
- 内置
image_gen工具可用 - 用户未明确要求 API/CLI 执行
阅读 references/codex-built-in.md,使用内置工具生成,然后将最终图像移动/复制到工作区(如果与项目相关)。
路径 B:脚本自动备用
在以下情况下使用此路径:
- 当前代理不是 Codex
- 内置工具不可用
- 用户明确要求 API/CLI 执行
运行:
python <skill-root>/scripts/generate_image.py \
--prompt "你的提示词" \
--output "/path/to/save/image.png"
脚本默认使用 --provider auto:
- 当设置了
OPENAI_API_KEY时,尝试 OpenAI API - 如果 OpenAI API 失败或未配置,当设置了
GEMINI_API_KEY时,尝试 Gemini - 如果两个凭据都不可用,报告缺失的环境变量
步骤 3:编写提示词
默认风格前缀
除非使用了 --style-prefix 或 --no-style,否则脚本会自动添加以下风格前缀:
使用干净、现代的色彩调色板,色调柔和。极简扁平插画风格,具有清晰的视觉层次。适合技术博客文章的专业精致外观。无照片级渲染。无过度渐变或阴影。
对于 Codex 内置路径,除非用户要求不同风格,否则直接在提示词中包含相同的风格指导。
提示词编写指南
- 具体描述视觉元素、关系和布局
- 对于技术概念:描述组件及其连接方式
- 对于架构图:列出层/组件和数据流方向
- 对于流程图:描述步骤和流程方向
- 如果图像中需要文字标签,明确拼写出来并保持简短
- 默认语言为英语;仅在要求时使用其他语言
示例提示词
架构图:
一个系统架构图,显示:用户向 API 网关发送查询,
网关路由到标记为“Milvus”的向量数据库和生成服务。
向量数据库返回相关文档,这些文档与原始查询结合,
发送到生成服务以生成最终响应。
箭头显示数据流方向。每个组件是一个带图标和标签的圆角矩形。
概念插图:
关键词搜索与语义搜索的视觉对比。左侧显示关键词搜索,
精确匹配单词并高亮显示匹配词。右侧显示语义搜索,
有一个大脑图标理解含义,并用虚线连接相关概念。
一条分隔线将两种方法分开。
步骤 4:参数
默认参数
| 参数 | 默认值 | 说明 |
|---|---|---|
| 提供商 | 脚本中为 auto;Codex 内置可用时优先 |
优先 Codex 内置,然后 OpenAI API,最后 Gemini |
| OpenAI 模型 | gpt-image-2 |
脚本备用时使用 |
| Gemini 模型 | gemini-3.1-flash-image-preview |
脚本备用时使用 |
| 宽高比 | 3:2 |
横向,适合文章插图 |
| 图像大小 | 1K |
质量和成本的良好平衡 |
| 风格 | 极简、干净、柔和色调 | 脚本自动添加 |
| 语言 | 英语 | 提示词和图像内文字 |
脚本选项
--provider auto, openai, gemini
--model 所选提供商的模型 ID
--openai-model OpenAI 模型 ID,默认为 gpt-image-2
--gemini-model Gemini 模型 ID,默认为 gemini-3.1-flash-image-preview
--aspect-ratio 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 9:16, 16:9, 21:9 等
--image-size 512, 1K, 2K, 4K
--openai-quality low, medium, high, auto
--style-prefix 自定义风格前缀
--no-style 跳过默认风格前缀
何时更改默认值
| 场景 | 更改 |
|---|---|
| 更高质量的最终素材 | --image-size 2K 或 --openai-quality high |
| 社交媒体横幅 | --aspect-ratio 16:9 |
| 纵向/垂直图像 | --aspect-ratio 3:4 或 --aspect-ratio 9:16 |
| 方形图像 | --aspect-ratio 1:1 |
| 用户有自己的风格 | --style-prefix "your style" 或 --no-style |
| 非英文内容 | 用目标语言编写提示词 |
步骤 5:确定输出路径
按以下优先级顺序:
优先级 1:当前对话上下文
如果用户正在处理特定的 markdown 文件或文章:
- 通过检查
.md文件中的图像引用,查找该文章中现有图像的存储位置 - 将新图像保存在与现有图像相同的目录中
- 使用符合现有命名约定的描述性文件名
例如:如果文章中有 ,则保存到相同的 images/ 目录。
优先级 2:项目图像目录
如果没有特定的文章上下文,但在项目内工作:
- 查找现有的图像目录:
images/、assets/、static/、img/、figures/ - 保存在最合适的现有目录中
- 如果不存在,在项目根目录或相关内容目录下创建
images/目录
优先级 3:备用
如果没有明确的项目上下文:
- 保存到当前工作目录
- 使用描述性文件名:
concept-name-illustration.png
步骤 6:验证结果
生成后:
- 读取图像文件以直观验证其是否符合用户要求
- 如果结果不满意,优化提示词并针对性地重新生成一次
- 如果图像将插入 markdown 文件,建议使用 markdown 语法:
 - 报告使用了哪个提供商路径以及最终文件保存的位置






