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

# Grok Imagine 图像模型

> xAI 在 WideRouter 上的三个图像模型：各自的定位、分辨率与质量档位、参考图用法，以及实测时延。

Grok Imagine 是 xAI 的生成式媒体模型系列，其中三个出图。三个都走
[异步任务 API](/zh/api/async-tasks)，信封与平台上其他模型完全一致。

模型 ID 一律对齐 xAI 官方名称，WideRouter 不提供别名。

## 系列总览

|              | Grok Imagine 2.0         | Grok Imagine Quality         | Grok Imagine         |
| ------------ | ------------------------ | ---------------------------- | -------------------- |
| **模型 ID**    | `grok-imagine-image-2.0` | `grok-imagine-image-quality` | `grok-imagine-image` |
| 异步任务 API     | 支持                       | 支持                           | 支持                   |
| 同步图像接口       | 支持                       | 支持                           | 支持                   |
| `quality` 参数 | **支持**，`low` / `medium`  | 不支持                          | 不支持                  |
| 分辨率档位        | `1k` / `2k`              | `1k` / `2k`                  | `1k` / `2k`          |
| 默认画幅         | 横向 1248 × 832            | **竖向 864 × 1152**            | 横向 1248 × 832        |
| 单次出图         | 最多 4 张                   | 最多 4 张                       | 最多 4 张               |
| 参考图          | 最多 3 张                   | 最多 3 张                       | 最多 3 张               |

三个模型的参数面**只差一个字段**：只有 `grok-imagine-image-2.0` 认 `quality`，
另外两个会返回 `unknown field`——它们的质量是固定的，不给你调。

选型就看这一点：

* **`grok-imagine-image-2.0`** 是可调的那个。需要在成本和画质之间权衡，
  或者需要指定画幅与分辨率时用它。
* **`grok-imagine-image-quality`** 质量固定在高档，默认出竖图。
  画质比控制力更重要时用它。
* **`grok-imagine-image`** 比另两个便宜一大截。草稿、缩略图、需要批量生成的场景用它。

## 参数

信封就是[异步任务 API](/zh/api/async-tasks) 里说的那三个键——`model`、`input`
和可选的 `callback_url`。下面这些都放在 `input` 里。

| 字段             | 类型        | 默认    | 说明                                               |
| -------------- | --------- | ----- | ------------------------------------------------ |
| `prompt`       | string    | —     | 必填。不能为空，最长 32000 字节。                             |
| `resolution`   | string    | `1k`  | `1k` 或 `2k`，小写。                                  |
| `quality`      | string    | `low` | `low` 或 `medium`。**仅 `grok-imagine-image-2.0`**。 |
| `aspect_ratio` | string    | 各模型默认 | 下面 16 个取值之一，或 `auto`。                            |
| `n`            | integer   | 1     | 1 到 4。每张图在 `outputs` 里是独立一项。                     |
| `images`       | string\[] | —     | 最多 3 张参考图，`https` URL 或 base64 data URI。         |

`input` 内部是严格白名单校验——不认识的键直接以 `invalid_params` 拒绝，
`param` 精确指出是哪个。拼错字段名会立刻报错，不会被静默丢掉。

<Warning>
  `resolution` 的取值是**小写**（`1k`、`2k`），这和 Nano Banana 系列正好相反——
  那边的 `image_size` 用的是大写 `1K` / `2K` / `4K`。两个系列在这里连参数名都不同，
  没有可以沿用的经验，照这张表写。
</Warning>

## 分辨率与质量

在 `grok-imagine-image-2.0` 上这是两个独立维度，都会改变输出。实测像素，每档一个样本：

| `resolution` | `quality` | 输出                   |
| ------------ | --------- | -------------------- |
| `1k`（默认）     | `low`（默认） | 832 × 1248           |
| `1k`         | `medium`  | 1280 × 720（`16:9` 下） |
| `2k`         | `low`     | 1664 × 2496          |
| `2k`         | `medium`  | 2816 × 1584          |

另外两个模型只有 `resolution` 起作用。实测：`grok-imagine-image` 在 `2k` 下出
2816 × 1584，`grok-imagine-image-quality` 在 `2k` 下出 1776 × 2368。

具体像素是模型自己定的，不是一张固定网格——同一个档位在不同画幅下落在不同数字上。
把这张表当量级看，真实尺寸从文件里读。

## 画幅比例

三个模型接受同一组 16 个取值：

|        |        |          |          |
| ------ | ------ | -------- | -------- |
| `auto` | `1:1`  | `16:9`   | `9:16`   |
| `4:3`  | `3:4`  | `3:2`    | `2:3`    |
| `2:1`  | `1:2`  | `19.5:9` | `9:19.5` |
| `20:9` | `9:20` | `21:9`   | `5:2`    |

不传则各模型用自己的默认画幅——`grok-imagine-image` 与 `grok-imagine-image-2.0`
出横图，`grok-imagine-image-quality` 出竖图。`auto` 让模型自己从提示词里判断。

## 参考图

在 `input.images` 里最多放三张图，用来编辑或合成。每一项是 `https` URL 或
base64 data URI：

```json theme={null}
{
  "model": "grok-imagine-image-2.0",
  "input": {
    "prompt": "put the teapot on a marble counter, warm morning light",
    "images": ["https://example.com/teapot.jpg"],
    "resolution": "2k"
  }
}
```

第四张在提交时就会被拒：`input.images` — `must contain at most 3 items`。
格式不对的那一项会带上下标：`input.images[0]` —
`must be an https URL or a base64 image data URI`。

URL 是 WideRouter 在服务端取的，所以必须能从公网访问到。域名解析不了、
或者返回的不是图片，任务会在入队之后失败，而不是在提交时被拒。

## 计价

这几个模型走 **`Grok-Official`** 分组。WideRouter 的标价与 xAI 官方价完全一致——
折扣体现在**分组倍率**上，`Grok-Official` 的倍率是 `0.8`。所以实际扣费是：

```
原价 × 分组倍率 = 扣费
```

每张图的标价如下，全部与接口返回的计费数字核对过：

| 模型                           | `resolution` | `quality` | 标价           |
| ---------------------------- | ------------ | --------- | ------------ |
| `grok-imagine-image`         | `1k` 或 `2k`  | —         | \$0.02——两档同价 |
| `grok-imagine-image-2.0`     | `1k`         | `low`     | \$0.04       |
| `grok-imagine-image-2.0`     | `1k`         | `medium`  | \$0.06       |
| `grok-imagine-image-2.0`     | `2k`         | `low`     | \$0.06       |
| `grok-imagine-image-2.0`     | `2k`         | `medium`  | \$0.08       |
| `grok-imagine-image-quality` | `1k`         | —         | \$0.05       |
| `grok-imagine-image-quality` | `2k`         | —         | \$0.07       |

两条容易漏掉的规则：

* **参考图另外收费**，每张约 \$0.01，加在出图价之上。三图合成按「一张输出 + 三张输入」计。
* **`n` 是乘的。** `2k` / `medium` 出四张就是单张价的四倍，没有批量折扣。

<Info>
  完成的任务里带一个 `usage.cost_in_usd_ticks` 字段，`10000000000` ticks 等于 \$1。
  这个数字是**原价**，还没乘分组倍率。乘上你所在分组的倍率，才是实际从余额里扣掉的数。
</Info>

## 时延

异步接口上从提交到 `completed` 的端到端实测，默认参数各一个样本：

| 模型                           | 端到端   |
| ---------------------------- | ----- |
| `grok-imagine-image`         | 6.6 秒 |
| `grok-imagine-image-quality` | 6.6 秒 |
| `grok-imagine-image-2.0`     | 10 秒  |

快到这个程度，异步那一圈往返——提交，然后每两三秒轮询一次——花掉的墙钟时间
往往比生成本身还多。典型结果是轮询两次就拿到了。

## 同步接口形态

三个模型同样在 `POST /v1/images/generations` 上应答，挂住连接直接把图给你。

```bash theme={null}
curl https://api.widerouter.com/v1/images/generations \
  -H "Authorization: Bearer $WIDEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-image-2.0",
    "prompt": "a small ceramic teapot on a light-grey studio backdrop",
    "resolution": "2k",
    "response_format": "b64_json"
  }'
```

响应是 `data` 加 `usage`。`data[0]` 里装什么取决于 `response_format`：
`b64_json` 直接给字节，`url` 给一个链接。

<Warning>
  **用 `response_format: "url"` 时，链接指向的是 xAI 自己的域名，不是 WideRouter 的
  CDN**，有效期也不在我们的控制之内。实测：一次 `2k` 生成回来的是
  `imgen.x.ai` 上一个 5.2 MB 的 **PNG**；而同一个模型走异步接口，回来的是
  WideRouter CDN 上的 JPEG，且有明确的 24 小时窗口。这里建议用 `b64_json`，
  或者干脆走异步。
</Warning>

同步链路对「只想立刻拿到字节」的脚本更简单，代价是整个生成期间都要挂住连接——
`2k` 实测 19.4 秒。跑在 Serverless 函数、反向代理或移动端后面的场景应当走异步。

## 下一步

<CardGroup cols={2}>
  <Card title="Playground" icon="play" href="/zh/models/grok-imagine/image/playground">
    在浏览器里真实发一次请求，看着任务跑完。
  </Card>

  <Card title="Grok Imagine 视频" icon="film" href="/zh/models/grok-imagine/video/overview">
    这个系列的视频那一半——生成、编辑与延长片段。
  </Card>
</CardGroup>
