AI图片生成技能:使用ChatGPT最新的gpt-image-2-all模型,在用户需要生成图片、视觉信息图、创建或编辑/修改/调整已有图片时调用。基于API易平台(https://api.apiyi.com/)实现。
基于API易平台的ChatGPT最新生图gpt-image-2-all模型实现图片生成技能,可以通过自然语言帮助用户生成图片,通过API易国内代理服务访问,支持Node.js和Python两种运行环境。gpt-image-2-all是API易平台上线的一款GPT图像生成官逆模型,以 $0.03/张 的极具竞争力的按次计费定价,约60秒到300秒出图,支持文生图/单图编辑/多图融合/自然语言改图,文字还原度高、内容限制少、原生支持中文提示词。
遵循以下步骤:
明确意图:区分用户是需要【文生图】(生成新图片)还是【图生图】(编辑/修改现有图片)或【多图融合】。
提示词(Prompt)分析:
-p 提示词的主体,避免自行改写、总结或二次创作,防止细节丢失。-p "帮我生成一张猫的图片,风格要可爱一点。"-p "帮我生成一张猫的图片,风格要可爱一点。猫是橘色的,背景是草地。"关键参数整理:
Prompt(必需):提示词分析后的最终提示词(默认=用户原始完整且一致的输入;仅在用户确认后才追加补充信息)。
Filename(可选):输出图片文件名/路径(需包含文件随机标识,避免重复)。不传则脚本会自动生成带时间戳的文件名。建议根据内容生成合理文件名(例如 cat_in_garden.png),避免使用通用名。
Size/Aspect(可选):由于该模型无显式size参数,尺寸通过prompt描述控制。建议在prompt开头描述尺寸。
竖版 9:16 或 手机海报 9:16横版 16:9 或 电影画幅 16:91:1 方形构图 或 1024×1024 方图Response Format(可选):响应格式,默认 url(R2 CDN加速链接),可选 b64_json(base64图片数据)。
注意:该模型不支持 size、 n、 quality、 aspect_ratio 参数,传入可能触发参数校验错误。
检查环境:确认 APIYI_API_KEY 环境变量是否已设置(通常假定已设置,若运行失败再提示用户)。
构建并运行命令:
node 命令可用),优先使用 scripts/generate_image.js(零依赖,参数与 Python 保持一致)。scripts/generate_image.py。文生图命令模板(优先 Node.js): bash
node scripts/generate_image.js -p "{prompt}" -f "{filename}" [-r {response_format}]
图生图命令模板(优先 Node.js): bash
node scripts/generate_image.js -p "{edit_instruction}" -i "{input_path}" -f "{output_filename}" [-r {response_format}]
多图融合命令模板(优先 Node.js): bash
node scripts/generate_image.js -p "融合图1和图2的风格" -i ref1.png ref2.png -f "merged.png" [-r {response_format}]
(可选)Python 版本命令模板(Node 不可用时): bash
python scripts/generate_image.py -p "{prompt}" -f "{filename}" [-r {response_format}]
python scripts/generate_image.py -p "{edit_instruction}" -i "{input_path}" -f "{output_filename}" [-r {response_format}]
执行前必须告知用户:
"图片生成中,预计60秒到300秒完成...\n⏳ 正在生成..."
执行反馈:等待终端命令执行完毕。
成功:告知用户图片已生成,并指出保存路径。
失败:
bash
python scripts/generate_image.py -p "图片描述文本" -f "output.png" [-r url|b64_json]
示例:
bash
# 基础生成
python scripts/generate_image.py -p "一只可爱的橘猫在草地上玩耍" -f "cat.png"
# 指定尺寸(在prompt开头描述)
python scripts/generate_image.py -p "横版 16:9 电影画幅,日落山脉风景" -f "sunset.png"
# 竖版高清图片(适合手机壁纸)
python scripts/generate_image.py -p "竖版 9:16 手机海报,城市夜景" -f "city.png"
(可选)Node.js 版本示例:
bash
# 基础生成
node scripts/generate_image.js -p "一只可爱的橘猫在草地上玩耍" -f "cat.png"
# 指定尺寸
node scripts/generate_image.js -p "横版 16:9 电影画幅,日落山脉风景" -f "sunset.png"
bash
python scripts/generate_image.py -p "编辑指令" -f "output.png" -i "path/to/input.png"
示例:
bash
# 修改风格
python scripts/generate_image.py -p "将图片转换成水彩画风格" -f "watercolor.png" -i "original.png"
# 添加元素
python scripts/generate_image.py -p "在天空添加彩虹" -f "rainbow.png" -i "landscape.png"
# 替换背景
python scripts/generate_image.py -p "将背景换成海滩" -f "beach-bg.png" -i "portrait.png"
(可选)Node.js 版本示例:
bash
# 修改风格
node scripts/generate_image.js -p "将图片转换成水彩画风格" -f "watercolor.png" -i "original.png"
# 多张参考图融合(最多5张)
node scripts/generate_image.js -p "融合图1和图2的风格" -i ref1.png ref2.png -f "merged.png"
Python 与 Node.js 版本参数保持一致(短参数与长参数等价)。
参数必填说明-p / --prompt是图片描述(文生图)或编辑指令(图生图)。保留用户原始完整输入。-f / --filename否输出图片路径/文件名;不传则自动生成带时间戳的 PNG 文件名,并写入当前目录。-r / --response-format否响应格式: url(默认,R2 CDN链接)或 b64_json(base64图片数据)。-i / --input-image否图生图输入图片路径;可传多张(最多5张)。传入该参数即进入编辑模式。
由于gpt-image-2-all模型没有size参数,尺寸通过prompt描述控制。经验证较稳定的写法:
需求推荐写法方形1024×1024 方图 / 1:1 方形构图横版横版 16:9 / 宽屏 16:9 电影画幅竖版竖版 9:16 / 手机海报 9:16超宽横幅横幅 21:9 超宽银幕经典印刷4:3 标准画幅 / 3:2 经典画幅
技巧:在prompt开头描述尺寸/构图,模型遵循度更高。可搭配画幅风格词(如 电影画幅、手机海报、方形构图)进一步提升一致性。
默认返回 R2 CDN 加速链接,有效期约24小时。适用于Web应用直接渲染。对于需要长期保存的图片,请生成后立即转存到自己的对象存储。
返回 base64 编码的图片数据(已含 data:image/png;base64, 前缀)。适用于:
size、 n、 quality、 aspect_ratio 参数如果你还没有API密钥,请前往 https://api.apiyi.com 注册账号并申请API Key。
获取步骤:
脚本按以下顺序查找API密钥:
--api-key 命令行参数(临时使用)APIYI_API_KEY 环境变量(推荐)设置环境变量(推荐):
bash
# Linux/Mac
export APIYI_API_KEY="your-api-key-here"
# Windows CMD
我的电脑高级设置中设置环境变量或者执行set APIYI_API_KEY=your-api-key-here
# Windows PowerShell
在我的电脑中设置环境变量:$env:APIYI_API_KEY="your-api-key-here"
命令行参数方式(临时):
bash
python scripts/generate_image.py -p "一只猫" -k "your-api-key-here"
对话式端点——相比 /v1/images/generations 和 /v1/images/edits,对话式端点对提示词遵循更好,并且同一端点同时支持文生图与带参考图改图,可以天然做多轮迭代。