> ## 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-Hant/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-Hant/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-Hant/models/grok-imagine/image/playground">
    在瀏覽器裡真實發一次請求，看著任務跑完。
  </Card>

  <Card title="Grok Imagine 影片" icon="film" href="/zh-Hant/models/grok-imagine/video/overview">
    這個系列的影片那一半——生成、編輯與延長片段。
  </Card>
</CardGroup>
