模型 API / 中转站 · 小白
给小白看的 1A1API 生图教程:先创建生图专用分组和 Key,再用 gpt-image-2 调 /v1/images/generations,并提供电商、广告、UI 信息图、人像场景的提示词模板和可下载 SKILL.md。
不要拿主 Key 直接生图;先建一个只给图片任务用的分组 Key,再按用途、主体、构图、场景、光线、文字和禁止项写提示词,用 gpt-image-2 调 /v1/images/generations。
export ONEA1_API_KEY="你的_API_KEY"
curl https://1a1api.top/v1/images/generations \
-H "Authorization: Bearer $ONEA1_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "A tiny blue cube centered on a clean white background, minimal product render",
"size": "1024x1024",
"n": 1
}'mkdir -p ~/.codex/skills/1a1api-image2-generation
curl -L "https://thinktank.1a1api.top/skills/1a1api-image2-generation/SKILL.md" \
-o ~/.codex/skills/1a1api-image2-generation/SKILL.md
# 装完后新开会话,或让你的 Agent 重新加载 skills。生图任务很适合单独隔离。它通常用于海报、商品图、封面、Demo 配图,调用频率和成本不好预测;专用分组能让你看清消耗、限制额度、出事时只停掉图片 Key。
真实项目里建议放到 `.env.local`、服务器环境变量或密钥管理器。静态站前端不能直接读取这些 Key。
ONEA1_IMAGE_BASE_URL=https://1a1api.top/v1
ONEA1_API_KEY=你的_API_KEY
ONEA1_IMAGE_MODEL=gpt-image-2
ONEA1_IMAGE_SIZE=1024x1024如果你要在 Claude Code、Codex 或 OpenCode 项目里调用,可以让它先生成后端脚本。下面示例不要放进浏览器前端。
const API_KEY = process.env.ONEA1_API_KEY;
async function generateImage() {
const res = await fetch("https://1a1api.top/v1/images/generations", {
method: "POST",
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "gpt-image-2",
prompt: "A tiny blue cube centered on a clean white background, minimal product render",
size: "1024x1024",
n: 1
})
});
const data = await res.json();
if (!res.ok) {
console.error(data);
throw new Error("Image generation failed");
}
console.log(data.data?.[0]?.url || data.data?.[0]?.b64_json);
}
generateImage();Python 里建议把超时时间设到 120-180 秒,因为生图通常比文字模型慢。
import os
import requests
api_key = os.environ["ONEA1_API_KEY"]
resp = requests.post(
"https://1a1api.top/v1/images/generations",
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
},
json={
"model": "gpt-image-2",
"prompt": "A tiny blue cube centered on a clean white background, minimal product render",
"size": "1024x1024",
"n": 1,
},
timeout=180,
)
data = resp.json()
if resp.status_code != 200:
print(data)
raise RuntimeError("Image generation failed")
print(data["data"][0].get("url") or data["data"][0].get("b64_json"))不同上游可能返回图片 URL,也可能返回 base64。代码里最好同时兼容 `url` 和 `b64_json`。
{
"created": 1780563719,
"data": [
{
"url": "https://cdnoss.example.com/images/example.png"
}
]
}我已经把这个流程整理成 `SKILL.md`,适合放进 Codex、Claude Code、OpenCode 或项目级 skills 目录。它会提醒 Agent 不要索要完整 Key、不要把 Key 写进文件,并按固定步骤生成图片。
mkdir -p ~/.codex/skills/1a1api-image2-generation
curl -L "https://thinktank.1a1api.top/skills/1a1api-image2-generation/SKILL.md" \
-o ~/.codex/skills/1a1api-image2-generation/SKILL.md我参考 EvoLinkAI 的 GPT Image 2 案例库后,把高质量案例拆成 7 栏:用途、主体、构图、场景、光线材质、文字信息、限制项。小白只要把这 7 栏填清楚,图片通常会比一句话提示词稳定很多。
请先帮我整理 gpt-image-2 生图提示词,不要直接调用 API。
1. 用途:{电商主图 / 广告海报 / 小红书封面 / UI 展示图 / 信息图 / 人像 / 文章配图}
2. 主体:{产品、人物、角色、界面、空间或信息图主题}
3. 构图:{1:1 居中主图 / 4:5 竖版广告 / 9:16 手机截图 / 16:9 横幅 / 2x2 网格 / 9 宫格分镜}
4. 场景:{背景、道具、使用场景、前中后景、留白位置}
5. 光线与材质:{自然光 / 棚拍柔光 / 霓虹 / 胶片感 / 金属 / 玻璃 / 布料 / 水珠 / 纸张质感}
6. 文字信息:{标题、副标题、按钮、价格、角标、中文标注;文字少而清楚}
7. 限制项:不要水印、不要乱码、不要多余 Logo、不要变形手指、不要错误品牌、不要夸大宣传。
请输出:
A. 一版中文提示词
B. 一版英文提示词
C. 负面约束
D. 适合 gpt-image-2 的 JSON 请求体,model 必须写 gpt-image-2很多失败的生图不是模型不行,而是提示词太泛。把“好看的产品图”改成“谁在什么位置、画面是什么比例、背景有什么、光从哪里来、哪些文字必须清楚、哪些东西不能出现”,结果会稳定很多。
弱提示词:
帮我生成一张保温杯电商主图,要高级一点。
升级后:
生成一张 1:1 电商主图,主体是一只哑光白色不锈钢保温杯,杯身居中,占画面 65%,放在浅灰石材台面上。背景为干净的暖白色摄影棚,左侧柔光箱照明,杯身有轻微高光和真实金属反射。画面右上角留白,用简体中文写标题“全天保温 24 小时”,下方小字“轻量便携 / 食品级内胆”。整体风格为高端家居电商摄影,清晰、干净、可信。不要水印,不要额外品牌 Logo,不要乱码文字,不要夸张反光,不要变形杯口。电商图最重要的是“产品清楚、卖点清楚、背景不抢戏”。参考案例库里的产品广告和 9 宫格分镜写法,建议把产品位置、材质、道具、卖点文字和禁用项写死。
生成一张 {比例,如 1:1 / 4:5} 电商产品主图。
产品:{商品名称和外观,比如黑色折叠蓝牙键盘,磨砂塑料外壳,圆角键帽}。
构图:产品放在画面 {居中 / 左侧三分之一 / 右下角前景},占画面约 {60%},主体边缘清晰。
场景:{干净白底 / 办公桌 / 厨房台面 / 户外露营桌},加入 {2-4 个相关道具},但不要遮挡产品。
光线:{柔和棚拍光 / 清晨自然光 / 高级商业摄影反光},材质要真实,阴影自然。
卖点文字:用简体中文写 {主标题},小字写 {2-3 个卖点},文字放在留白区,不压住产品。
风格:真实商业摄影,高级、干净、可信,不要过度科幻。
禁止:不要水印、不要虚假认证标志、不要随机 Logo、不要乱码、不要多余手指、不要错误材质。广告图要先定平台比例和信息层级。EvoLinkAI 的广告案例里常见 2x2 网格、4:5 竖版海报、品牌板和带价格角标的广告图,适合小红书、朋友圈、短视频封面和落地页首图。
生成一张 {平台:小红书 / 朋友圈 / 抖音封面 / 官网横幅} 广告图,比例 {4:5 / 9:16 / 16:9}。
主题:{活动或产品主题}。
主视觉:{产品 / 人物 / 场景} 放在 {中心 / 右侧 / 底部前景},第一眼能看懂卖什么。
文字层级:
- 大标题:{8-14 个字以内}
- 副标题:{一句补充利益点}
- 角标:{限时 / 新品 / 首单优惠 / 免费体验}
- 行动按钮:{立即咨询 / 查看教程 / 领取方案}
视觉风格:{高级商业摄影 / 轻科技 / 清爽外贸 / 暖色生活方式 / 黑金发布会}。
配色:主色 {颜色},辅助色 {颜色},背景保持干净。
约束:文字必须清晰可读;不要把正文写太多;不要水印;不要多余 Logo;不要夸大疗效、收益或官方背书。如果要生成教程配图、数据看板、课程海报或 UI 展示图,建议用结构化写法。广告案例里的 JSON 网格和 UI 案例里的手机截图式 prompt 都说明:越明确卡片数量、区域位置、标题和图标数量,越容易得到可用草稿。
{
"task": "生成一张中文信息图或 UI 展示图",
"ratio": "16:9 或 9:16",
"theme": "1A1API 生图工作流",
"layout": {
"structure": "顶部标题 + 中间 4 张步骤卡片 + 底部注意事项",
"sections": [
{ "position": "top", "text": "Image 2.0 生图流程", "style": "大标题,清晰可读" },
{ "position": "middle-left", "title": "1 创建分组", "visual": "API key icon" },
{ "position": "middle-center-left", "title": "2 写提示词", "visual": "prompt document" },
{ "position": "middle-center-right", "title": "3 调用接口", "visual": "terminal curl" },
{ "position": "middle-right", "title": "4 人工审核", "visual": "checklist" },
{ "position": "bottom", "text": "不要暴露 Key;model 使用 gpt-image-2;先 n=1 测试" }
]
},
"visual_style": "干净科技感,白底,深绿与蓝色点缀,卡片边框细,适合教程网站",
"constraints": "中文不要乱码,不要水印,不要伪造品牌 Logo,不要挤满文字"
}人像类不要只写“美女、帅哥、真实”。更稳的写法是:镜头、姿态、服装、光线、环境、肤质、景深、负面约束一起写。公开商用时要避免冒用真人身份、明星肖像和敏感场景。
生成一张 {比例} 的生活方式人像图。
人物:{年龄段、职业感、穿着、表情、动作},不要指定真实公众人物。
镜头:{35mm 胶片感 / 50mm 人像 / 手机截图 / 近景 / 半身 / 全身}。
场景:{办公室 / 咖啡馆 / 展会 / 户外街道 / 工作台},背景有真实生活细节但不过分杂乱。
光线:{窗边自然光 / 柔和棚拍 / 傍晚逆光 / 夜晚霓虹},皮肤质感自然,不要塑料感。
用途:{品牌海报 / 客户案例配图 / 课程封面 / Agent 角色设定}。
禁止:不要真实明星脸,不要色情化,不要畸形手指,不要过度磨皮,不要水印,不要乱码文字。把 BASE_URL 指向 1A1API,把 Key 换成 1A1API 的 sk-xxx,模型名按列表填。
API Key 用来识别身份和扣费,写进 .env,不要硬编码在代码里。
401 改 Key、429 等一会、503 换上游、524 缩短任务或换模型。
Skill 就是一份可复用的操作手册,让 Agent 遇到同类任务时知道该按哪套流程、调用哪些工具、避开什么坑。
便宜模型预处理、强模型只做关键判断、可复用结果走缓存,单次调用成本能降 60% 以上。
可以把截图、日志、需求单或当前页面链接发到 zhemuy@gmail.com。