GPT-Image-2 图片生成
通过ApiLink,你可以使用 OpenAI 原生 Images API 调用 gpt-image-2 生成图片。
这个接口适合:
- 需要直接文生图的项目
- 已经兼容 OpenAI Images API 的应用
- 需要更高分辨率与更稳定文字渲染的场景
接口地址
https://api.apilink.cc/v1认证方式
在请求头中添加 API 密钥:
http
Authorization: Bearer YOUR_API_KEYGenerations API
接口说明
用于根据提示词直接生成图片。
请求地址
POST /v1/images/generations请求示例
bash
curl https://api.apilink.cc/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-image-2",
"prompt": "生成一个ApiLink中转站的Logo",
"size": "1536x1024",
"quality": "high",
"n": 1
}'请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 固定为 gpt-image-2 |
| prompt | string | 是 | 绘图提示词 |
| size | string | 否 | 图片尺寸,支持 1024x1024、1024x1536、1536x1024、2048x2048、3840x2160、auto |
| quality | string | 否 | 图片质量,支持 low、medium、high |
| n | integer | 否 | 生成张数,默认 1 |
价格说明
以下是当前单张图片参考价格:
| 质量 | 单张价格 |
|---|---|
| low | ¥0.015 |
| medium | ¥0.05 |
| high | ¥0.2 |
响应格式
接口返回 OpenAI Images API 风格响应:
b64_json:直接返回 base64 图片数据
json
{
"created": 1713772800,
"data": [
{
"b64_json": "iVBORw0KGgoAAAANSUhEUgAA..."
}
]
}支持的尺寸
| 尺寸参数 | 说明 |
|---|---|
1024x1024 | 正方形 |
1024x1536 | 竖图 |
1536x1024 | 横图 |
2048x2048 | 高分辨率正方形 |
3840x2160 | 4K 横图 |
auto | 自动选择合适尺寸 |
代码示例
Python(urllib)
python
import base64
import json
import os
import urllib.error
import urllib.request
from datetime import datetime
API_KEY = os.environ.get("FLASH_API_KEY", "YOUR_API_KEY")
API_URL = "https://api.apilink.cc/v1/images/generations"
PROMPT = "生成一个ApiLink AI中转站的 Logo 图片"
MODEL = "gpt-image-2"
SIZE = "auto"
QUALITY = "medium"
N = 1
def generate_image(prompt: str, size: str, quality: str, n: int) -> dict:
payload = json.dumps({
"model": MODEL,
"prompt": prompt,
"size": size,
"quality": quality,
"n": n,
}).encode("utf-8")
req = urllib.request.Request(
API_URL,
data=payload,
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
},
method="POST",
)
with urllib.request.urlopen(req, timeout=300) as resp:
return json.loads(resp.read().decode("utf-8"))
def save_image(data_entry: dict, index: int) -> str | None:
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"output_{timestamp}_{index}.png"
if data_entry.get("b64_json"):
img_bytes = base64.b64decode(data_entry["b64_json"])
with open(filename, "wb") as f:
f.write(img_bytes)
print(f"[{index + 1}] 已保存到:{filename}")
return filename
if data_entry.get("url"):
url = data_entry["url"]
urllib.request.urlretrieve(url, filename)
print(f"[{index + 1}] 已下载保存到:{filename}")
return filename
print(f"[{index + 1}] 未知返回格式:{data_entry}")
return None
def main():
try:
result = generate_image(PROMPT, SIZE, QUALITY, N)
except urllib.error.HTTPError as e:
body = e.read().decode("utf-8")
print(f"[HTTP 错误] {e.code} {e.reason}")
print(body)
return
except urllib.error.URLError as e:
print(f"[网络错误] {e.reason}")
return
data_list = result.get("data", [])
for i, entry in enumerate(data_list):
save_image(entry, i)
if __name__ == "__main__":
main()注意事项
- 图片生成接口不是聊天接口,不要调用
/v1/chat/completions。 - 建议把请求超时设置为
300秒,避免高分辨率生成时超时。 quality越高,耗时和费用通常越高;测试时建议先用low或medium。- 当你不确定画幅时,可以先使用
auto,再按需要切换到固定尺寸。
下一步
- 查看API概览 - 了解整体接口分类
- 查看OpenAI格式API - 继续使用聊天与通用 OpenAI 接口
- 查看Gemini 图片生成 - 对比另一套图片生成能力
- 获取帮助 - 遇到问题时联系支持
