Перейти к основному содержанию
POST
Image editing: edit a reference image or fuse several
🔒 Недоступно по умолчанию: Grok Imagine 2 не входит в группу Default. Модель находится в отдельной группе Grok_imagine_Reverse, и доступ к ней необходимо запросить перед отправкой вызовов (включая Playground на этой странице). Без этого каждый вызов возвращает 503.Политика безопасности контента для этого семейства существенно отличается от других моделей на платформе, и некоторые категории не фильтруются. Поэтому для снижения комплаенс-рисков мы предоставляем доступ выборочно: действующие клиенты с совокупными расходами от $1,000+ могут включить его, описав свой сценарий использования службе поддержки; все остальные подают заявку через поддержку WeCom с описанием сценария использования и применяемых мер модерации контента. Полный процесс описан в разделе: Обзор Grok Imagine 2 — Настройка группы.
Интерактивный Playground справа поддерживает загрузку локальных файлов. Введите ваш API Key в поле Authorization (формат: Bearer sk-xxx), выберите файл image, заполните prompt и model и отправьте запрос.
🔴 Этот эндпоинт требует загрузки файлов через multipart/form-dataОтправка JSON в /v1/images/edits всегда возвращает 400:
Это особенно важно, если вы выполняете интеграцию по документации xAI или вышестоящего провайдера: в этой документации описано тело JSON с публичным URL изображения ({"image": {"type": "image_url", "url": "..."}}), и такой формат не работает через шлюз APIYI. Вместо этого следуйте инструкциям на данной странице.Преимущество: загрузка файлов означает, что хостинг изображений не требуется — достаточно просто отправить локальный файл, что проще, чем подготавливать публичный URL.Поле файла должно называться image или image[]; при использовании images / image_file возвращается 415. Поле prompt обязательно — его пропуск возвращает 400.
Когда использовать эту страницу: для редактирования одного референсного изображения или объединения нескольких. Для генерации только по текстовому prompt используйте эндпоинт Text-to-Image.
⚠️ Размеры результата определяются ПЕРВЫМ референсным изображением и не могут быть измененыПараметры resolution и aspect_ratio принимаются здесь без ошибок, но не дают эффекта — размеры отредактированного результата всегда соответствуют размерам первого референсного изображения (1280x720 на входе дает 1280x720 на выходе; 1024x1024 на входе дает 1024x1024 на выходе).То же самое относится к объединению: изменение порядка 4 референсов на обратный изменило результат с 1280x720 на 1024x1024, в соответствии с новым первым изображением.Чтобы изменить размер результата, обрежьте или измените размер первого референсного изображения перед загрузкой.
Порядок при объединении имеет значение: image[] принимает от 1 до 4 референсных изображений (проверенный максимум — 4; пятое возвращает 400), и именно порядок загрузки определяет, к чему относятся обозначения «image 1 / image 2 / image 3» в prompt. Указывайте это явно, например: «поместите объект из image 1 в сцену из image 2, сохранив художественный стиль image 2».Проверено на 2 / 3 / 4 референсах: каждое дополнительное изображение добавляет соответствующий объект в результат, сохраняя характерные черты каждого из них — объединение действительно работает.

Примеры кода

Python (OpenAI SDK, одно изображение)

Python (сырые запросы, одно изображение)

Python (объединение нескольких изображений, 1-4 файла)

cURL

Node.js (нативный fetch + FormData)

JavaScript в браузере

Справочник параметров

Это семейство не поддерживает mask inpainting. Чтобы ограничить область изменения, опишите его в prompt точно — например: «измените только шарф на красный, всё остальное оставьте точно таким же». Модель строго следует таким ограничениям.

Поведение редактирования и стиль prompt

Эндпоинт редактирования сохраняет художественный стиль, композицию, палитру и идентичность объекта входного изображения, изменяя только то, что указано в prompt. Для стабильных результатов:
Явное указание «оставьте всё остальное без изменений» — это самый эффективный приём для этой модели. Для слияния всегда используйте «изображение 1 / изображение 2», соответствующие порядку загрузки image[].Также ставьте самый важный объект первым: первое изображение не только задаёт размеры результата, но и в ходе тестирования обратный порядок приводил к тому, что идентичность второстепенного объекта смешивалась с другим.

Формат ответа

Подводные камни полей ответа
  • Каждая запись data[] содержит либо url или b64_json в зависимости от response_format — никогда оба.
  • revised_prompt не возвращается — не предполагайте, что оно существует.
  • b64_json — это необработанный base64 без префикса data:image/...;base64, — декодируйте его напрямую.
  • created всегда 0 и не может использоваться как временная метка.
  • Размеры вывода определяются входным изображением, поэтому не определяйте ширину/высоту по параметрам запроса.
usage не может использоваться для сверки: prompt_tokens всегда 1000 x n, это заполнитель. Редактирование стоит столько же, сколько text-to-image, по фиксированной ставке за изображение; используйте записи тарификации в APIYI Console для фактических списаний.

Авторизации

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

API Key created in the APIYI Console

Тело

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

Model ID

Доступные опции:
grok-imagine-image,
grok-imagine-image-quality
prompt
string
обязательно

Editing instruction. State what to change and explicitly ask for everything else to stay put, e.g. Change the scarf color to bright RED. Keep everything else exactly the same.

Пример:

"Change the scarf color to bright RED. Keep everything else exactly the same."

image
file
обязательно

Reference image file. For multi-image fusion repeat the image[] field (1-4 files); upload order is what "image 1 / image 2 / image 3" refers to in the prompt, and the first file also determines output dimensions. Each added image contributes a subject in testing. Accepted formats: png / jpg / webp.

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

Number of output images, 1-10. Independent of the number of reference images

Требуемый диапазон: 1 <= x <= 10
Пример:

1

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

Response format. url returns a direct link; b64_json returns raw base64 (no data: prefix)

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

"url"

Ответ

Image generated successfully

created
integer

Creation timestamp. Always 0 for this model — do not use it for timing

Пример:

0

data
object[]

Array of image results, length equals the requested n

usage
object

Placeholder values — do not use for billing reconciliation. prompt_tokens is always 1000 x n