2dc15d99ad
通过大模型中转站调用 OpenAI 图片接口生图(文生图/图生图/局部重绘/透明背景),零第三方依赖。 含可安装 zip 与可浏览源码。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4.4 KiB
4.4 KiB
name, description
| name | description |
|---|---|
| gen-image | 调用大模型中转站的 OpenAI 图片接口生图(文生图、图生图/编辑、局部重绘、透明背景)。触发词:生图、生成图片、画一张、AI 画图、文生图、图生图、生成插画/头像/海报/图标、image generation、根据这张图改。需要外部 API 生成位图图像时使用;纯 HTML/SVG/矢量设计不适用。 |
gen-image · 生图
通过大模型中转站,直接调用 OpenAI 图片接口生成位图图像。支持文生图、图生图/编辑、局部重绘(mask)、透明背景。
核心是零依赖脚本 scripts/gen_image.py(纯 Python 标准库,无需 pip install)。
何时用 / 不用
- ✅ 用户要「生成一张图 / 画一张 / AI 出图 / 做个头像/海报/插画/图标」
- ✅ 用户给了一张图要「基于它改 / 换背景 / 局部重绘」→ 图生图
- ❌ 用户要 HTML 原型、幻灯片、矢量图标、CSS 效果 → 用
huashu-design或直接写代码 - ❌ 用户要图表/数据可视化 → 用
dataviz
首次使用:配置凭证
生图需要中转站的 API Key。检查 skill 根目录是否有 .env:
ls "$(dirname SKILL.md)/.env" 2>/dev/null || echo "未配置"
若无,从模板创建并让用户填写(不要把 key 写进对话或提交到 git):
cp .env.example .env
# 然后引导用户编辑 .env,填入 IMAGE_API_BASE_URL 和 IMAGE_API_KEY
.env 需要三项:
IMAGE_API_BASE_URL— 中转站基址,如https://your-relay.com(脚本自动补/v1/images/...)IMAGE_API_KEY— API KeyIMAGE_MODEL— 默认模型,默认gpt-image-2
标准流程
1. 打磨提示词。 用户给的描述往往简短,先在心里扩写成一句信息充分的英文或中文提示词——主体、风格、光线、构图、色调、画质关键词。除非用户明确要求逐字使用,否则主动增强。生图模型对细节敏感,「一只猫」远不如「a fluffy orange tabby cat sitting on a windowsill, soft morning light, shallow depth of field, cozy warm tones」。
2. 选参数:
--size:1024x1024(方,头像/图标)、1536x1024(横,海报/封面)、1024x1536(竖,手机壁纸/人像)、auto--quality:low/medium/high/auto(gpt-image 系支持;越高越慢越贵)--background transparent:要透明底的图标/贴纸时加--n:一次出几张(默认 1;多给几张让用户挑时用--n 2或4)
3. 执行(文生图):
cd "<skill 根目录>" && python3 scripts/gen_image.py \
"a fluffy orange tabby cat on a windowsill, soft morning light, cozy tones, highly detailed" \
--size 1024x1024 --quality high
图片存到 output/img-<时间戳>-<序号>.png,脚本会打印完整路径。
4. 图生图 / 编辑(用户给了输入图):
python3 scripts/gen_image.py "把背景换成雪山日落" --edit /path/to/input.png --size 1024x1024
多图参考:多次 --edit a.png --edit b.png。局部重绘:加 --mask mask.png(PNG 中透明区域为要重绘的部分,其余保留)。
5. 交付。 打印出保存路径后,简要告诉用户生成了什么、存在哪。图无法在终端直接显示,用户会自己打开;若在支持预览的环境可提示路径。
常见参数速查
| 需求 | 命令片段 |
|---|---|
| 头像/图标(方图) | --size 1024x1024 |
| 海报/封面(横) | --size 1536x1024 |
| 手机壁纸/人像(竖) | --size 1024x1536 |
| 透明背景贴纸 | --background transparent |
| 多出几张挑选 | --n 4 |
| 高画质 | --quality high |
| 换模型 | --model dall-e-3 |
| 基于图改 | --edit input.png |
| 局部重绘 | --edit input.png --mask mask.png |
排错
- 缺 IMAGE_API_BASE_URL / IMAGE_API_KEY →
.env没配好,回到「配置凭证」。 - HTTP 401/403 → key 无效或额度不足,让用户核对中转站账户。
- HTTP 404 → base_url 写错,或该中转站不支持
/v1/images/generations;确认接口路径。 - HTTP 400 model 相关 → 该中转站不认
gpt-image-2,换--model dall-e-3或问用户支持的模型名。 - 响应没有图片数据 → 部分中转站返回结构不同,把打印的原始响应给用户看以便排查。
不要把 API Key 输出到对话里,也不要提交 .env。