Перейти к основному содержанию
POST
/
v1
/
images
/
edits
curl 'https://www.bettertoken.ai/v1/images/edits' \
  -H 'Authorization: Bearer sk-***REDACTED***' \
  -F 'model=gpt-image-2' \
  -F 'prompt=参考这张图片,生成一张更精致的方形产品主视觉,保持主体风格一致。' \
  -F 'n=1' \
  -F 'size=1024x1024' \
  -F 'response_format=b64_json' \
  -F 'output_format=png' \
  -F 'image=@reference.png'
{
  "created": 1710000000,
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSUhEUgAA...(truncated)"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.bettertoken.ai/llms.txt

Use this file to discover all available pages before exploring further.

POST /v1/images/edits Endpoint image-to-image использует тело запроса multipart/form-data. Загрузите одно или несколько референсных изображений и передайте prompt и параметры как поля формы.
Используйте https://www.bettertoken.ai/v1 как Base URL. API Key BetterToken передается через Authorization: Bearer YOUR_API_KEY.
В Playground справа можно заполнить поля формы, загрузить референсные изображения и отправить запрос напрямую на https://www.bettertoken.ai/v1/images/edits.
Не используйте обычное JSON-тело для image-to-image. Передавайте текстовые поля и файлы через multipart/form-data.

Рекомендуемые значения

Передавайте эти поля явно в каждом запросе:
model=gpt-image-2
n=1
response_format=b64_json
output_format=png
Для одного референсного изображения используйте image. Для нескольких референсных изображений используйте повторяющиеся поля image[].

Одно референсное изображение

curl 'https://www.bettertoken.ai/v1/images/edits' \
  -H 'Authorization: Bearer sk-***REDACTED***' \
  -F 'model=gpt-image-2' \
  -F 'prompt=Используй это референсное изображение, чтобы создать более аккуратное квадратное главное изображение продукта, сохранив основной стиль.' \
  -F 'n=1' \
  -F 'size=1024x1024' \
  -F 'response_format=b64_json' \
  -F 'output_format=png' \
  -F 'image=@reference.png'

Несколько референсных изображений

curl 'https://www.bettertoken.ai/v1/images/edits' \
  -H 'Authorization: Bearer sk-***REDACTED***' \
  -F 'model=gpt-image-2' \
  -F 'prompt=Объедини эти референсные изображения в единый промо-постер с согласованным стилем.' \
  -F 'n=1' \
  -F 'size=1024x1024' \
  -F 'response_format=b64_json' \
  -F 'output_format=png' \
  -F 'image[]=@reference-1.png' \
  -F 'image[]=@reference-2.jpg' \
  -F 'image[]=@reference-3.png'

Пример на Python

import requests

url = "https://www.bettertoken.ai/v1/images/edits"
headers = {
    "Authorization": "Bearer sk-***REDACTED***",
}

data = {
    "model": "gpt-image-2",
    "prompt": "Используй это референсное изображение, чтобы создать более аккуратное квадратное главное изображение продукта, сохранив основной стиль.",
    "n": "1",
    "size": "1024x1024",
    "response_format": "b64_json",
    "output_format": "png",
}

with open("reference.png", "rb") as image_file:
    files = {
        "image": ("reference.png", image_file, "image/png"),
    }
    response = requests.post(url, headers=headers, data=data, files=files, timeout=300)

response.raise_for_status()
result = response.json()
b64_json = result["data"][0]["b64_json"]

Рекомендуемые размеры

sizeСоотношениеСценарий
autoAutoАвтоматический выбор размера
1024x10241:1Квадратные изображения, аватары, обложки, assets
1536x10243:2Landscape-постеры, баннеры, сцены
1024x15362:3Portrait-обложки для мобильных и постеры
1536x11524:3Стандартные landscape-изображения, product images, content graphics
1152x15363:4Стандартные portrait-изображения, mobile covers, vertical posters
2048x20481:1High-resolution квадратные изображения
2048x115216:9High-resolution landscape-изображения
3840x216016:94K landscape-изображения
2160x38409:164K portrait-изображения
size задает ожидаемое соотношение сторон и уровень размера. Фактические пиксели в ответе могут быть сопоставлены или скорректированы сервером. Используйте размеры декодированного изображения, а не принудительную обрезку до запрошенного значения.

Сохранение изображения

Успешный ответ следует OpenAI-совместимой форме image response:
{
  "created": 1710000000,
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSUhEUgAA...(truncated)"
    }
  ]
}
Прочитайте data[0].b64_json и сохраните его как base64 image content. Всегда задавайте output_format: "png", чтобы сохранить декодированное изображение как .png.

Поток ответа

Endpoint синхронный. После отправки POST /images/edits держите текущий HTTP-запрос открытым до ответа сервера. При успешной генерации содержимое изображения возвращается в data[0].b64_json. Endpoint не возвращает task_id; отдельного status query или endpoint для скачивания результата нет.

Смежные документы

Авторизации

Authorization
string
header
обязательно

Use your BetterToken API Key as a bearer token. Do not expose API keys in frontend browser code, screenshots, logs, tickets, or Git repositories.

Тело

multipart/form-data
model
enum<string>
по умолчанию:gpt-image-2
обязательно

固定使用 gpt-image-2。

Доступные опции:
gpt-image-2
Пример:

"gpt-image-2"

prompt
string
обязательно

图片编辑或参考图生成说明。

Пример:

"参考这张图片,生成一张更精致的方形产品主视觉,保持主体风格一致。"

image
file

单张参考图字段名。单参考图时使用 image。

image[]
file[]

多张参考图字段名。多参考图时重复提交 image[]。

n
по умолчанию:1

推荐固定为 1。多张图片建议发起多次独立请求。

Пример:

"1"

size
enum<string>
по умолчанию:1024x1024

图片尺寸和比例档位。auto 为自动;1024x1024 和 2048x2048 为 1:1;1536x1024 为 3:2;1024x1536 为 2:3;1536x1152 为 4:3;1152x1536 为 3:4;2048x1152 和 3840x2160 为 16:9;2160x3840 为 9:16。实际返回像素可能由服务端映射或调整,客户端应以解码后的真实图片尺寸为准。

Доступные опции:
auto,
1024x1024,
1536x1024,
1024x1536,
1536x1152,
1152x1536,
2048x2048,
2048x1152,
3840x2160,
2160x3840
Пример:

"1024x1024"

response_format
enum<string>
по умолчанию:b64_json

推荐固定为 b64_json。

Доступные опции:
b64_json
Пример:

"b64_json"

output_format
enum<string>
по умолчанию:png

推荐固定为 png。不要依赖 jpeg 或 webp 直接返回对应格式。

Доступные опции:
png
Пример:

"png"

Ответ

Image generation result.

OpenAI-compatible image response. Clients should read data[0].b64_json and allow additional fields such as revised_prompt.

created
integer
Пример:

1710000000

data
object[]