跳到主要内容

GPT Image 2 API 价格与调用示例

一把 LaoZhang API Key 就能调用,和 YingTu 图片工作台走的是同一个接口。下面列出接口地址、参数、单张价格和可直接复制的代码,示例里不会出现你的真实 Key。截至 2026 年 10 月 9 日,本页所有模型 ID 都按张计费、没有订阅,一个 Key 全部能用。

单价 $0.03/ 张OpenAI Images1K / 2K / 4K新用户 $0.1

关键信息(截至 2026 年 10 月 10 日)

  • 同一接口下的模型 ID:gpt-image-2-vip、gpt-image-2.5-flare-vip、gpt-image-2.5-sunburst-vip,一个 LaoZhang Key 全部能用。
  • 单张价格:GPT Image 2 VIP $0.03,GPT Image 2.5 Flare $0.03,GPT Image 2.5 Sunburst $0.03;没有订阅,每张图单独计费。
  • Base URL https://api2.laozhang.ai,OpenAI 请求格式:POST /v1/images/generations · /v1/images/edits。
  • LaoZhang 新账号送 $0.1 测试额度:约 3 张 GPT Image 2 VIP。
  • 在 laozhang.ai 充值,支持 Stripe 银行卡和 USDT。

三步跑通

  1. 1

    在 laozhang.ai 创建 API Key(新账号送 $0.1)。

  2. 2

    复制下方的模型 ID 和代码示例,把 Key 写进环境变量。

  3. 3

    先生成一张图确认返回正常,再加大调用量。

接口与鉴权

生成接口
POST/v1/images/generations
编辑接口
POST/v1/images/edits
Base URL
https://api2.laozhang.ai
认证方式
Bearer API Key
请求格式
OpenAI Images
参考图
支持
参考图数量
YingTu 里最多 5 张(这是 YingTu 的限制,不是模型上限)
验证状态
暂未公开带日期的实测记录。

代码示例

把提示词换成你自己的;要带参考图,改用下方的改图接口示例。

文生图示例

export LAOZHANG_API_KEY="replace-with-your-key"

curl --fail-with-body --max-time 500 \
  -X POST 'https://api2.laozhang.ai/v1/images/generations' \
  -H "Authorization: Bearer ${LAOZHANG_API_KEY}" \
  -H "Content-Type: application/json" \
  --data '{"model":"gpt-image-2-vip","prompt":"极简咖啡海报,准确显示标题“COFFEE MADE SIMPLE”,高对比排版,温暖自然光,干净商业版式。","size":"2048x2048","quality":"high"}'

# The JSON response can contain base64 image data or an image URL.
# If this request times out, check request and billing logs before retrying.

参考图编辑示例

Pythongpt-image-2-vip · edit
import base64
import mimetypes
import os
import sys

import requests

API_KEY = os.environ.get("LAOZHANG_API_KEY")
if not API_KEY:
    raise RuntimeError("Set the LAOZHANG_API_KEY environment variable before running this example.")

REQUEST_TIMEOUT_SECONDS = 500
headers = {"Authorization": f"Bearer {API_KEY}"}

def extension_for_mime(mime_type):
    return {
        "image/jpeg": "jpg",
        "image/png": "png",
        "image/webp": "webp",
        "image/gif": "gif",
    }.get(mime_type, "bin")


def decode_base64_image(value, fallback_mime="image/png"):
    mime_type = fallback_mime
    encoded = value
    if value.startswith("data:"):
        header, encoded = value.split(",", 1)
        mime_type = header[5:].split(";", 1)[0] or fallback_mime
    return base64.b64decode(encoded, validate=True), mime_type


def parse_json_response(response):
    try:
        result = response.json()
    except ValueError as error:
        print("API returned a non-JSON response.", file=sys.stderr)
        raise SystemExit(1) from error
    if not isinstance(result, dict):
        print("API returned an unexpected JSON shape.", file=sys.stderr)
        raise SystemExit(1)
    return result


def extract_image(result):
    if not isinstance(result, dict):
        return None
    images = result.get("data") or []
    first_image = images[0] if images and isinstance(images[0], dict) else {}
    encoded = first_image.get("b64_json")
    if isinstance(encoded, str) and encoded:
        return decode_base64_image(encoded)

    image_url = first_image.get("url")
    if isinstance(image_url, str) and image_url:
        image_response = requests.get(image_url, timeout=REQUEST_TIMEOUT_SECONDS)
        image_response.raise_for_status()
        mime_type = image_response.headers.get("Content-Type", "image/png").split(";", 1)[0]
        return image_response.content, mime_type

    return None


def save_result_image(result):
    extracted = extract_image(result)
    if not extracted:
        keys = sorted(result.keys()) if isinstance(result, dict) else []
        print(f"No image data in response. Top-level keys: {keys}", file=sys.stderr)
        raise SystemExit(1)

    image_bytes, mime_type = extracted
    output_path = f"output.{extension_for_mime(mime_type)}"
    with open(output_path, "wb") as output_file:
        output_file.write(image_bytes)
    print(f"Image saved: {output_path} ({mime_type})")


API_URL = "https://api2.laozhang.ai/v1/images/edits"

data = {
    "model": "gpt-image-2-vip",
    "prompt": "极简咖啡海报,准确显示标题“COFFEE MADE SIMPLE”,高对比排版,温暖自然光,干净商业版式。",
    "size": "2048x2048",
    "quality": "high"
}

opened_files = []
files = []
image_1_path = "image_1.jpg"  # Replace with your reference image path
image_1_mime = mimetypes.guess_type(image_1_path)[0] or "image/jpeg"
image_1_file = open(image_1_path, "rb")
opened_files.append(image_1_file)
files.append(("image", (image_1_path, image_1_file, image_1_mime)))

try:
    try:
        response = requests.post(
            API_URL,
            headers=headers,
            data=data,
            files=files,
            timeout=REQUEST_TIMEOUT_SECONDS,
        )
    except requests.Timeout as error:
        print(
            "Request timed out after 500 seconds. The result status may be unknown; "
            "check call and billing logs before retrying.",
            file=sys.stderr,
        )
        raise SystemExit(1) from error
finally:
    for image_file in opened_files:
        image_file.close()

if response.status_code != 200:
    print(f"API error {response.status_code}: {response.text}", file=sys.stderr)
    raise SystemExit(1)

save_result_image(parse_json_response(response))
价格以 LaoZhang 账户实时显示为准,批量调用前先确认余额和模型权限。

请求参数

字段名和 YingTu 工作台、上面的代码示例完全一致。

参数发送方式
model必填。使用本页显示的精确模型 ID。
prompt必填。填写图片指令,不要把 API Key 写进提示词。
输出控制size 从预设的精确尺寸里选。
quality可选。low、medium 或 high。
参考图可选。YingTu 里最多 5 张,以 multipart image 字段传给编辑接口。

响应与超时处理

图片响应
客户端解码 data[0].b64_json(包括 data URL),或下载 data[0].url 并保留其 MIME 类型。
非图片响应
没有 b64_json 或 url 时不会判为成功;如有 API 消息则直接显示。

最长等待 500 秒

YingTu 最多等 500 秒;超时后上游可能仍在生成,是否扣费以账单为准。

不自动重试

YingTu 不会自动重试。想重试前,先查一下调用和计费日志,避免重复扣费。

常见报错怎么处理

认证
确认环境变量中是预期的 Key,并通过 Bearer 认证头发送。
权限或余额
在 LaoZhang 检查模型权限、当前余额、计费和账户限制。
限流
降低并发,并先查看返回的上游或账户消息。
非图片或空结果
检查拦截原因、结束原因、API 消息与 response ID;仅在响应说明原因时再针对性调整提示词。
超时
最终状态可能未知;再次请求前先检查调用与计费日志。

已知限制

用生成结果前,重点检查这几项。

  • 检查下载文件的实际尺寸;配置的输出控制不能替代结果核验。
  • 逐字检查生成图片中的文字、数字和标点。
  • 使用前检查主体身份、Logo、包装、颜色与细小品牌元素。
  • 可用性与延迟会随上游容量变化。
  • 实时价格、余额、权限和扣费以 LaoZhang 账户为准。

这个接口可用的 GPT Image 2 模型 ID

同一个接口、同样的请求格式,只换模型 ID。

模型模型 ID单价尺寸
GPT Image 2 VIPgpt-image-2-vip$0.03/ 张1K / 2K / 4K
GPT Image 2.5 Flaregpt-image-2.5-flare-vip$0.03/ 张1K / 2K / 4K
GPT Image 2.5 Sunburstgpt-image-2.5-sunburst-vip$0.03/ 张1K / 2K / 4K

API 常见问题

GPT Image 2 API 多少钱?

按张计费、没有订阅:GPT Image 2 VIP $0.03,GPT Image 2.5 Flare $0.03,GPT Image 2.5 Sunburst $0.03。每笔扣费都能在 LaoZhang 账户里看到。

怎么获取 GPT Image 2 API Key?

在 laozhang.ai 创建令牌(本页顶部的令牌按钮)。一个 Key 能调用表里所有模型,新账号送 $0.1 用来测试。国内可以直接调用。

接口地址(Base URL)是什么?

https://api2.laozhang.ai/v1,OpenAI Images 格式:/v1/images/generations 和 /v1/images/edits。

GPT Image 2 API 有免费额度吗?

有测试额度:LaoZhang 新账号送 $0.1,约 3 张 GPT Image 2。之后每次调用从余额里按张扣费,没有月费,也不用买套餐额度。

GPT Image 2 API 支持哪些尺寸?

size 传 30 个精确值之一,格式是「宽x高」:1K、2K、4K 每档各 10 种比例,比如 1280x1280、2048x2048(默认)、3840x2160。quality 可选 low、medium、high,所有尺寸和质量都是同一个单价 $0.03。

API Key 放在哪里?

放进代码示例里用的环境变量。不要提交到代码仓库、打印到日志,也不要写进提示词。

超时就是失败了吗?

不一定。500 秒后 YingTu 不再等待,但上游可能仍在生成,也可能已经扣费;重试前先查日志。

参考图数量上限是模型的限制吗?

不是。这是 YingTu 当前的限制,不代表上游模型的最大值。

在哪里看价格和权限?

在 LaoZhang 账户里:当前价格、余额、模型权限和每笔扣费都能查到。

价格与计费

按张计费,页面显示的是 LaoZhang 当前单价;实际扣费、余额和模型权限以 LaoZhang 账户为准。

模型信息
模型 ID
gpt-image-2-vip
单价
$0.03/ 张
输出尺寸
1K / 2K / 4K
精确输出尺寸
30 个可选尺寸
质量档位
low / medium / high
API 类型
OpenAI Images

先在工作台试一张

这些参数在 YingTu 图片工作台里都能直接选,新用户还有 $0.1 免费额度。

YingTuLaoZhang