跳转到内容
API 入口

GPT Image

AI 生图 API 示例:从 Prompt 到保存图片

AI 生图 API 示例提供 OfApp.cn 图像生成最小请求、JavaScript 和 Python 保存图片、流式预览、Prompt 模板、参数记录、发布复核和排错清单。

预计阅读
7 分钟
最近更新
2026/07/03
维护方式
人工编辑

API 生图示例适合已经看过 GPT Image 接入教程,想把一 次图片生成真正跑起来的人。本文不追求复杂参数,而是把一个 Prompt、一次请 求、一个输出文件、一次人工复核讲清楚。示例使用 OfApp.cn 的 OpenAI 兼容入 口 https://api.ofapp.cn/v1;具体模型、尺寸、格式、价格和额度请以 OfApp.cn 控制台或官方文档为准。

项目 内容
阅读时间 约 7 分钟
更新时间 2026-07-03
适合人群 开发者、内容运营、自媒体作者、设计协作人员、产品经理和需要批量生成配图的团队
核心收益 把一次 AI 生图请求变成可保存、可记录、可复核、可复用的最小工作流
你会得到 最小请求、JavaScript 和 Python 保存脚本、Prompt 拆解卡、流式预览、批量生成策略、参数记录模板、排错清单和发布复核矩阵
边界提醒 示例不承诺固定模型、尺寸、格式、质量、价格或额度;涉及 OfApp.cn 能力时,请以 OfApp.cn 控制台或官方文档为准
目标 这页会做什么 不会做什么
跑通接口 用环境变量、cURL、JavaScript、Python 完成最小生图 不承诺某个模型永远可用
保存图片 读取 b64_json 并写入本地文件 不把图片直接当最终设计稿
记录参数 保存 Prompt、模型、输出路径和人工备注 不把生成记录当审计系统
排查问题 区分 Key、Base URL、模型名、返回字段和内容问题 不替代官方控制台状态
进入工作流 给封面、配图、产品草案提供脚本起点 不跳过版权、商标和人物复核

如果你还没确认图像端点、Base URL 和模型名,先看 GPT Image 接入教程

场景 适合原因 仍需人工处理
知识库和教程封面 主题稳定,适合沉淀 Prompt 和尺寸规范 标题文字、品牌字体、平台裁切
产品功能草案 可以快速探索构图、情境和视觉方向 真实 UI、商标、产品事实和卖点
自媒体批量选题图 同一栏目需要多张候选封面 人物肖像、夸张表达、平台规则
内部素材库 需要记录 Prompt、输出文件和复核备注 版权边界、团队命名规范
内容后台工具 需要让编辑在界面中生成和筛选草案 失败重试、权限、日志和成本控制

如果只是偶尔生成一张图,网页工具会更轻。API 更适合重复任务、团队工具和需 要保留生成记录的流程。

情况 风险 更稳妥的做法
商标、包装、真实商品细节不能出错 生成图可能误画或添加不存在的元素 使用真实素材,AI 只做背景或方向探索
图片要表达事实、价格、时间或承诺 模型可能生成错误文字或误导画面 文案和关键数字在设计工具中人工排版
涉及真人肖像、身份或敏感场景 可能带来肖像权和身份误导问题 使用授权素材或抽象化表达
客户交付物需要审稿链路 只有生成图不等于可发布资产 建立复核、留痕和责任人确认流程
准备 Prompt主体 场景 限制配置环境Key URL Model发送请求images.generate解码图片b64_json 文件记录参数Prompt 输出路径人工复核版权 品牌 文字

这个流程适合做最小闭环。生成成功不代表可以发布;它只说明接口、模型、返回 字段和文件保存方式已经跑通。

Terminal window
export OPENAI_BASE_URL="https://api.ofapp.cn/v1"
export OPENAI_API_KEY="sk-xxxx"
export IMAGE_MODEL="以控制台可用图像模型为准"

真实 Key 只放在服务端、本机环境变量或密钥管理里。不要把 Key 写进前端页面、 截图、公开仓库或示例文档。

这个示例适合给 AI 教程、办公指南、知识库文章生成封面草案。

为一篇中文 AI 自动化办公教程生成封面草案。
画面:干净的现代办公桌,笔记本电脑打开抽象的文档摘要界面,旁边有纸质会议记录和一杯水。
风格:清爽、可信、现代、适合知识库文章。
构图:16:9,右侧留出标题区域,画面不要拥挤。
限制:不要品牌 logo,不要可识别人物,不要水印,不要生成可读正文。

适合保存为 cover-office-automation.png,再由设计工具补标题、品牌字体和 平台尺寸。

组成 示例写法 作用
用途 中文 AI 自动化办公教程封面 让模型知道图片服务哪类内容
主体 现代办公桌、文档摘要、会议记录 给画面提供稳定对象
风格 清爽、可信、现代 避免过度夸张或广告化
构图 16:9,右侧留出标题区域 为后续排版预留空间
限制 不要品牌 logo、人物、水印、可读正文 降低商标、肖像和错字风险

写 Prompt 时,不要只写“生成一张高级封面”。把用途、主体、场景、构图和禁 止项拆开,后续才能知道是哪一部分导致效果不稳定。

这个示例适合 SaaS、工具站、产品文档或功能介绍页。

生成一张产品功能介绍配图草案。
主题:AI 帮用户把零散资料整理成结构化清单。
画面:桌面上有几份资料卡片,逐步汇聚成清晰的任务列表;背景干净,不出现真实软件界面。
风格:克制、专业、轻量科技感。
构图:中景,主体居中,四周留白。
限制:不要品牌 logo,不要具体公司名称,不要夸张营销文字。

如果图片中出现真实产品 UI、公司标志或乱码文字,建议重生成或在设计工具中 移除。

OpenAI 官方 Images API 文档示例会从 data[0].b64_json 读取图片并保存。接 入 OfApp.cn 时,先打印完整响应确认字段,再按实际结构解析。

Terminal window
curl "$OPENAI_BASE_URL/images/generations" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"$IMAGE_MODEL\",
\"prompt\": \"为一篇中文 AI 自动化办公教程生成封面草案,画面清爽可信,不要品牌 logo,不要可识别人物。\"
}"

如果你在本机有 jqbase64,可以在确认返回结构后把图片写入文件:

Terminal window
curl "$OPENAI_BASE_URL/images/generations" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"$IMAGE_MODEL\",
\"prompt\": \"为一篇中文 AI 自动化办公教程生成封面草案,画面清爽可信,不要品牌 logo,不要可识别人物。\"
}" \
| jq -r ".data[0].b64_json" \
| base64 --decode > cover.png

Windows PowerShell、macOS 和 Linux 的 base64 命令行为可能不同。脚本化保存 时,JavaScript 或 Python 更容易控制错误处理。

Terminal window
npm install openai
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
baseURL: process.env.OPENAI_BASE_URL,
});
const prompt = `
为一篇中文 AI 自动化办公教程生成封面草案。
画面:现代办公桌、文档摘要、会议记录、柔和自然光。
风格:清爽、可信、知识库文章配图。
限制:不要品牌 logo,不要可识别人物,不要水印。
`;
const result = await client.images.generate({
model: process.env.IMAGE_MODEL,
prompt,
});
const imageBase64 = result.data?.[0]?.b64_json;
if (!imageBase64) {
console.error(JSON.stringify(result, null, 2));
throw new Error("没有找到 data[0].b64_json,请按当前响应结构调整解析逻辑。");
}
fs.mkdirSync("outputs", { recursive: true });
fs.writeFileSync("outputs/cover-office-automation.png", Buffer.from(imageBase64, "base64"));

保存文件之外,还建议把 Prompt 和参数记录到同名 .json 文件,便于复现。

Terminal window
pip install openai
import base64
import json
import os
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key=os.environ["OPENAI_API_KEY"],
base_url=os.environ["OPENAI_BASE_URL"],
)
prompt = """
为一篇中文 AI 自动化办公教程生成封面草案。
画面:现代办公桌、文档摘要、会议记录、柔和自然光。
风格:清爽、可信、知识库文章配图。
限制:不要品牌 logo,不要可识别人物,不要水印。
"""
result = client.images.generate(
model=os.environ["IMAGE_MODEL"],
prompt=prompt,
)
output_dir = Path("outputs")
output_dir.mkdir(exist_ok=True)
image_base64 = result.data[0].b64_json
(output_dir / "cover-office-automation.png").write_bytes(
base64.b64decode(image_base64)
)
(output_dir / "cover-office-automation.meta.json").write_text(
json.dumps(
{
"model": os.environ["IMAGE_MODEL"],
"prompt": prompt,
"output": "cover-office-automation.png",
},
ensure_ascii=False,
indent=2,
),
encoding="utf-8",
)

如果响应对象字段不同,先打印完整响应,再调整 result.data[0].b64_json 这 一行。

OpenAI Images API 文档说明可以使用 stream: truepartial_images 接收 部分图片事件。接入 OfApp.cn 时,相关参数是否可用请以当前模型、控制台和官 方文档为准。

const stream = await client.images.generate({
model: process.env.IMAGE_MODEL,
prompt: "生成一张 AI 办公教程封面草案,清爽可信,不要品牌 logo。",
stream: true,
partial_images: 2,
});
for await (const event of stream) {
if (event.type === "image_generation.partial_image") {
const file = `outputs/preview-${event.partial_image_index}.png`;
fs.writeFileSync(file, Buffer.from(event.b64_json, "base64"));
}
}

流式预览适合用户界面和创作工具;后台批量任务更适合非流式请求,方便重试和 记录。

批量生成不是把同一个 Prompt 连续跑很多遍,而是有目的地比较方向。建议一次 只变动一个维度。

批量维度 示例 适合观察什么
构图 居中主体、左侧留白、右侧留白 哪种布局更适合标题和按钮
场景 办公桌、资料墙、抽象流程图 哪种场景更贴近内容主题
风格 写实、轻插画、产品说明图 哪种风格更符合站点气质
限制 不要人物、不要文字、不要真实 UI 哪些限制能减少返工
尺寸 以当前模型和发布平台支持为准 哪个比例更适合封面或社媒

批量生成时给每张图保留 prompt_idvariantreview_note。只保存图 片本身,后续很难判断哪条 Prompt 值得复用。

字段 示例 为什么要记录
task 文章封面、产品图、社媒配图 方便按场景复盘
prompt 完整 Prompt 文本 复现和改写都依赖它
model 控制台可用模型名 排查 model not found
size 以模型支持为准 关联平台裁切和输出尺寸
output_format 以模型支持为准 关联网页加载和发布格式
output_path outputs/cover.png 找到原始图片
review_note 文字需重排、人物需替换 人工复核结果
accepted true / false 标记是否进入后续设计

把这些信息记录下来,比只保存一张图片更有用。后续你可以比较哪些 Prompt 更 稳定、哪些参数更容易出错、哪些场景需要人工重做。

现象 常见原因 处理
401 Key 错误、过期或变量没读到 检查 OPENAI_API_KEY,不要打印完整 Key
404 Base URL 或端点路径错误 确认是 https://api.ofapp.cn/v1/images/generations
model not found 模型名不可用或写错 从 OfApp.cn 控制台或官方文档复制
没有 b64_json 返回格式和示例不同 打印完整响应,按实际字段解析
图片质量不稳定 Prompt 太泛、限制项不清 明确主体、场景、构图和禁止项
图片不适合发布 有商标、肖像、错字或误导元素 重生成或进入人工设计流程

失败时先看连接、鉴权、端点和模型名,再看 Prompt。把基础链路排干净,才知道 是不是内容质量问题。

复核项 要看什么 处理建议
版权和来源 是否像某个已知作品、品牌视觉或受保护素材 不确定时重生成,或改用自有素材
商标和品牌 是否出现真实 logo、包装、公司名或相似标识 移除、替换或重新生成
人物和身份 是否出现可识别人物、职业身份或敏感暗示 使用抽象人物、背影或无人物方案
文字和数字 是否有错字、乱码、错误价格、错误日期 在设计工具中重新排版文字
产品事实 是否展示不存在的功能、界面或效果 用真实截图或明确标注为概念图
平台适配 是否被封面比例、移动端裁切或深浅色背景破坏 按发布平台重新裁切和导出

这张矩阵适合放进团队素材提交表。AI 负责生成候选方向,人负责决定能否进入 发布链路。

返回字段和示例不一样怎么办?

Section titled “返回字段和示例不一样怎么办?”

先打印完整响应,再按当前接口返回结构调整解析逻辑。不要假设所有兼容服务、 所有模型和所有参数组合都会返回完全一样的字段。

如果是 401、404、model not found 或没有权限,先查 Key、Base URL、端点和模 型名。只有内容安全、画面质量或生成结果不符合预期时,才优先改 Prompt。

sizeoutput_formatquality 要不要一开始就写?

Section titled “size、output_format、quality 要不要一开始就写?”

不建议一开始写很多参数。先用 modelprompt 跑通,再根据当前模型支持 范围逐项加入尺寸、格式、质量或压缩参数。

可以把生成图片直接放到生产环境吗?

Section titled “可以把生成图片直接放到生产环境吗?”

不建议。发布前应检查版权、商标、人物、文字、事实表达、平台规则和品牌一 致性。AI 生图更适合作为草案和素材起点。

JavaScript 和 Python 示例应该选哪个?

Section titled “JavaScript 和 Python 示例应该选哪个?”

网站、后台任务和 Node.js 工具可以选 JavaScript;数据处理、批量脚本和自动 化办公可以选 Python。两者的核心都是读取 b64_json 并保存文件。

当用户会在界面上等待图片生成时,可以考虑流式预览。后台批量生成、定时任 务、内容素材库更看重稳定性,非流式请求通常更容易维护。

  • OfApp.cn 官方首页、API 文档与 Genius Playground 页面:用于确认网页入口、API Key、OpenAI 兼容 Base URL、Images API 示例、图片参数入口和能力边界;涉及模型、尺寸、格式、质量、价格和额度时,请以 OfApp.cn 控制台或官方文档为准。
  • OpenAI Image generation 文档:用于参考 Images API 生成图片、读取 base64 图片、保存文件、流式预览和部分图片事件的组织方式。
  • OpenAI Images API reference:用于参考图片对象可能包含 base64 或 URL 字段的说明。
  • 本站已有专题:GPT Image 接入教程生图 Prompt自媒体封面生成AI 处理图片视频

API 生图示例的价值不在于一次生成成功,而在于形成可复现流程:Prompt 写清 楚,环境变量分开配置,响应字段先验证,图片和参数一起保存,发布前再做人工 复核。使用 OfApp.cn 时,用 https://api.ofapp.cn/v1 和控制台可用模型跑通 最小请求;涉及模型、尺寸、格式、价格和额度时,请以 OfApp.cn 控制台或官方 文档为准。