> ## Documentation Index
> Fetch the complete documentation index at: https://docs.geeknow.top/llms.txt
> Use this file to discover all available pages before exploring further.

# gpt-image-2 生成图像 API

> 使用 `POST /v1/images/generations` 调用 `gpt-image-2` 生成图像。

# gpt-image-2 生成图像 API

`gpt-image-2` 用于提交图像生成请求。请求体使用 JSON 格式，按模型名、提示词、输出尺寸和返回格式描述本次生成任务。

* 请求路径为 `POST /v1/images/generations`。
* 通过 `model = "gpt-image-2"` 选择目标模型。
* `prompt` 描述要生成的图像内容。
* `size` 传实际输出尺寸，例如 `1024x1024`、`1536x1024`、`1920x1080`。
* 支持 `url` 和 `b64_json` 两种返回格式。
* 可在 JSON 中附带 `image` 作为参考图。
* `n` 不传或显式传 `0` 时会按 `1` 处理。

## 方法与路径

```http theme={null}
POST /v1/images/generations
```

## 请求示例

<CodeGroup>
  ```bash theme={null}
  curl -X POST https://www.geeknow.top/v1/images/generations \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "gpt-image-2",
      "prompt": "一张现代 API 平台首页插图，白底，青蓝色块，干净留白",
      "n": 1,
      "size": "1536x1024",
      "response_format": "url"
    }'
  ```

  ```python theme={null}
  import requests

  resp = requests.post(
      "https://www.geeknow.top/v1/images/generations",
      headers={
          "Authorization": "Bearer YOUR_API_KEY",
          "Content-Type": "application/json",
      },
      json={
          "model": "gpt-image-2",
          "prompt": "一张现代 API 平台首页插图，白底，青蓝色块，干净留白",
          "n": 1,
          "size": "1536x1024",
          "response_format": "url",
      },
      timeout=60,
  )
  print(resp.json())
  ```

  ```javascript theme={null}
  const response = await fetch("https://www.geeknow.top/v1/images/generations", {
    method: "POST",
    headers: {
      Authorization: "Bearer YOUR_API_KEY",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "gpt-image-2",
      prompt: "一张现代 API 平台首页插图，白底，青蓝色块，干净留白",
      n: 1,
      size: "1536x1024",
      response_format: "url",
    }),
  });

  console.log(await response.json());
  ```
</CodeGroup>

## 响应示例

<ResponseExample>
  ```json 200 - URL theme={null}
  {
    "created": 1735689600,
    "data": [
      {
        "url": "https://.../images/img-abc123.png",
        "revised_prompt": "一张现代 API 平台首页插图，白底，青蓝色块，干净留白"
      }
    ]
  }
  ```

  ```json 200 - Base64 theme={null}
  {
    "created": 1735689600,
    "data": [
      {
        "b64_json": "iVBORw0KGgoAAAANSUhEUgAA...",
        "revised_prompt": "一张现代 API 平台首页插图，白底，青蓝色块，干净留白"
      }
    ]
  }
  ```
</ResponseExample>

## 认证

```http theme={null}
Authorization: Bearer YOUR_API_KEY
```

## Body

<ParamField body="model" type="string" required>
  固定传 `gpt-image-2`。
</ParamField>

<ParamField body="prompt" type="string" required>
  生成提示词，用于描述想要生成的图片。
</ParamField>

<ParamField body="n" type="integer">
  生成数量。若不传或显式传 `0`，按 `1` 处理。
</ParamField>

<ParamField body="size" type="string">
  输出尺寸。常见值为 `1024x1024`、`1536x1152`、`1536x1024`、`1024x1536`、`1920x1080`、`1080x1920`。
</ParamField>

<ParamField body="image" type="string | array<string> | object">
  可选参考图输入。常见写法是 Base64 字符串或 Base64 数组。
</ParamField>

<ParamField body="response_format" type="string">
  返回格式，常见值为 `url`、`b64_json`。
</ParamField>

<ParamField body="quality" type="string">
  质量字段。是否真正生效取决于最终命中的渠道。
</ParamField>

<ParamField body="style" type="string | object">
  风格字段，原样透传给支持的上游。
</ParamField>

<ParamField body="background" type="string | object">
  背景控制字段，原样透传给支持的上游。
</ParamField>

<ParamField body="watermark" type="boolean">
  显式水印开关。`false` 与不传语义不同。
</ParamField>

## 尺寸表

| 预设     | 实际目标尺寸      |
| ------ | ----------- |
| `1:1`  | `1024x1024` |
| `4:3`  | `1536x1152` |
| `3:2`  | `1536x1024` |
| `2:3`  | `1024x1536` |
| `16:9` | `1920x1080` |
| `9:16` | `1080x1920` |

<Info>
  请求体中的 `size` 传“实际目标尺寸”这一列。
</Info>

## Response

<ResponseField name="created" type="integer">
  生成时间戳。
</ResponseField>

<ResponseField name="data[].url" type="string">
  `response_format = url` 时返回的图片 URL。
</ResponseField>

<ResponseField name="data[].b64_json" type="string">
  `response_format = b64_json` 时返回的图片 Base64 数据。
</ResponseField>

<ResponseField name="data[].revised_prompt" type="string">
  部分上游会改写提示词并返回在这个字段里。
</ResponseField>

## 异步调用

如需提交后异步查询结果，可以使用图像异步生成入口：

```http theme={null}
POST /v1/images/generations/async
```

异步请求仍传 `model = "gpt-image-2"`。提交成功后读取返回的 `id` / `task_id`，再通过 `GET /v1/images/generations/async/{taskId}` 查询状态和结果。

## 相关页面

* [图像模型支持矩阵](/api-reference/images/model-matrix)
* [图像异步生成 API](/api-reference/images/gpt-image-async/generation)
* [图像异步任务查询](/api-reference/images/gpt-image-async/query)
* [OpenAI Images 兼容概览](/api-reference/images/gpt-image-1/overview)
