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

# 创建图像变体

> 创建给定图像的变体

## 概述

该端点保留给旧版 OpenAI 兼容的变体客户端。它不是当前 image-to-image 工作流的推荐路径；能用新流程时，请使用 `/v1/images/edits` + `gpt-image-2`，或在 `/v1/images/generations` 中使用 `nano-banana-pro` 等 image-to-image 模型。请求必须使用 `multipart/form-data`。

## 请求体

**同步请求超时：** 某些路由到的图片提供商会以内联方式返回最终图片，并等待生成完成。高分辨率或高质量请求可能接近一分钟甚至更久，因此请将 HTTP 客户端超时设置为至少 `120s`。如果创建响应包含 `status: "pending"`、`task_id` 或 `poll_url`，请改为跟随返回的 `poll_url` 轮询。

<ParamField body="image" type="file" required>
  用作变体基础的图像。必须是有效的 PNG 文件，小于 50MB，且为正方形。
</ParamField>

<ParamField body="model" type="string" required>
  旧版变体兼容路由的必填模型 ID。没有隐式默认模型；当前 image-to-image 工作流请优先使用 `/v1/images/edits` 或 `/v1/images/generations` 搭配当前模型。
</ParamField>

<ParamField body="n" type="integer" default="1">
  要生成的图像数量。必须在 1 到 10 之间。
</ParamField>

<ParamField body="size" type="string">
  旧版变体兼容路由生成图片的尺寸。支持的取值取决于所选模型。
</ParamField>

<ParamField body="response_format" type="string" default="url">
  返回生成图像的格式。必须是 `url` 或 `b64_json`。
</ParamField>

<ParamField body="user" type="string">
  代表终端用户的唯一标识符，用于滥用监控。
</ParamField>

## 响应

<ResponseField name="created" type="integer">
  图像创建时间的 Unix 时间戳。
</ResponseField>

<ResponseField name="data" type="array">
  生成的图像变体数组。

  每个对象包含：

  * `url` (string): 变体图像的 URL（如果 response\_format 是 `url`）
  * `b64_json` (string): Base64 编码的图像（如果 response\_format 是 `b64_json`）
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.tokenlab.sh/v1/images/variations" \
    -H "Authorization: Bearer sk-your-api-key" \
    -F "model=your-legacy-variation-model" \
    -F "image=@cat.png" \
    -F "n=2" \
    -F "size=1024x1024"
  ```

  ```python Python theme={null}
  from openai import OpenAI

  client = OpenAI(
      api_key="sk-your-api-key",
      base_url="https://api.tokenlab.sh/v1"
  )

  response = client.images.create_variation(
      model="your-legacy-variation-model",
      image=open("cat.png", "rb"),
      n=2,
      size="1024x1024"
  )

  for image in response.data:
      print(image.url)
  ```

  ```javascript JavaScript theme={null}
  import OpenAI from 'openai';
  import fs from 'fs';

  const client = new OpenAI({
    apiKey: 'sk-your-api-key',
    baseURL: 'https://api.tokenlab.sh/v1'
  });

  const response = await client.images.createVariation({
    model: 'your-legacy-variation-model',
    image: fs.createReadStream('cat.png'),
    n: 2,
    size: '1024x1024'
  });

  response.data.forEach(image => console.log(image.url));
  ```
</RequestExample>

<ResponseExample>
  ```json 响应 theme={null}
  {
    "created": 1706000000,
    "data": [
      {
        "url": "https://..."
      },
      {
        "url": "https://..."
      }
    ]
  }
  ```
</ResponseExample>

## 注意事项

<Note>
  这是旧版兼容端点，不在当前推荐图片模型目录中。新接入请使用 `/v1/images/edits` + `gpt-image-2`，或在 `/v1/images/generations` 中设置 `operation: "image-to-image"` 并选择当前 image-to-image 模型。
</Note>
