Grok Imagine Image 2.0
Создавайте или редактируйте одно изображение по тексту и с использованием до 5 референсных изображений, по единой цене за изображение.
- Асинхронная обработка: запрос создания быстро возвращает ID задачи. Изображение будет доступно после её успешного завершения.
- Одна задача создаёт одно изображение. Для нескольких изображений создайте несколько задач.
- Генерация по тексту либо редактирование и объединение до 5 референсных изображений по общедоступным HTTPS-ссылкам.
- Запрос содержит четыре поля:
model,prompt,images,aspect_ratio. Настроек разрешения, качества, seed и формата результата нет. - Задача, завершившаяся ошибкой, не оплачивается: резерв возвращается полностью.
Открывает модель в API Explorer. Введите свой API-ключ BeatAPI, чтобы создать задачу. Это настоящий запрос: его стоимость спишется с вашего баланса.
Адрес API и авторизация
POST https://api.beatapi.io/v1/images/tasks
Authorization
string
Обязательно
Передавайте API-ключ BeatAPI как Bearer <BEATAPI_API_KEY>. Создать ключ можно в панели управления. Храните ключи на сервере, а не в коде браузерного или мобильного приложения.
Передавайте тело запроса в JSON с заголовком Content-Type: application/json. Idempotency-Key необязателен. Для каждого логического запроса используйте уникальное значение длиной не более 255 символов и повторно используйте его только для отправки точно такого же тела. В течение 24 часов повтор с тем же ключом и телом возвращает первый ответ с заголовком Idempotent-Replayed: true. Тот же ключ с другим телом возвращает 409 idempotency_conflict. Ответы, отличные от 2xx, не сохраняются, поэтому повтор после 400 или 402 выполняется заново.
Как выполняется запрос
Создайте задачу
Отправьте перечисленные ниже параметры методом POST на указанный адрес. Ответ 201 означает, что задача принята, а её стоимость зарезервирована на балансе. Обработка идёт в фоновом режиме. Сохраните data.id.
Дождитесь завершения
Вызывайте GET /v1/tasks/{task_id}, выдерживая между вызовами data.poll_after_seconds (5 с для изображений, 8 с для видео), пока status не станет succeeded или failed. Можно также настроить вебхук для событий task.succeeded и task.failed. Сохраняйте опрос как резервный способ проверки: задача, остановленная по тайм-ауту обработки, не отправляет событие.
Сохраните результат
При succeeded скачайте файлы по всем ссылкам data.output.media[].url и сохраните нужные результаты у себя. BeatAPI не гарантирует срок доступности этих ссылок. При failed прочитайте data.error_code и data.error_message: зарезервированная сумма возвращена на баланс, а data.retryable показывает, может ли повтор того же запроса завершиться успешно.
Режимы ввода
Параметры запроса
model
string
Обязательно
Модель, которую нужно вызвать.
Значение: grok-imagine-image-2.0
Если значение неверно
- Поле отсутствует:
"model" is required - Неизвестный ID модели:
"model" grok-imagine-image-9 is not catalogued - На этот адрес API отправлена видеомодель:
"model" grok-imagine-video-1.5 is served by POST /v1/videos/tasks, not this endpoint
prompt
string
Обязательно
Что нарисовать либо изменить в референсных изображениях. Лучше писать обычным языком: объект, стиль, освещение, композиция и текст, который должен появиться на изображении.
Длина: 1–5000 символов
- Длина измеряется в символах. Иероглиф CJK считается одним символом.
- При передаче
imagesукажите назначение каждого изображения, например «Сохрани товар с первого изображения и измени окружение».
Если значение неверно
- Поле отсутствует:
"prompt" is required - Пустое значение или превышена допустимая длина:
"prompt" has an unsupported length - Значение не является строкой:
"prompt" must be a string
images
string[]
Необязательно
Референсные изображения для редактирования или объединения. Поле переключает запрос с генерации по тексту на редактирование; отдельного переключателя режима нет.
Число элементов: 1–5
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Каждый элемент должен быть общедоступной ссылкой
https://на файл изображения. При создании задачи BeatAPI проверяет форму ссылки, но не скачивает изображение и не проверяет формат или размер; см. примечания под ограничениями. - Ссылки на веб-страницы, страницы входа, просроченные подписанные URL или защищённые от скачивания серверы не возвращают изображение и вызывают ошибку уже созданной задачи.
- Индексы в сообщениях об ошибках начинаются с 0:
images[0]— первая ссылка.
Если значение неверно
- Превышено максимальное число элементов:
"images" accepts at most 5 items - Пустой массив:
"images" requires at least 1 item - Ссылка не начинается с https://:
"images[0]" must be a public HTTPS URL - Значение не является массивом:
"images" must be an array
Пример
aspect_ratio
string
НеобязательноПо умолчанию: 1:1
Запрашиваемое соотношение ширины и высоты изображения.
Допустимые значения: auto, 1:1, 2:3, 3:2, 16:9, 9:16
По умолчанию: 1:1
autoоставляет выбор пропорций модели. Значение принимается только при передачеimages.- Если поле не задано, используется
1:1, в том числе при передачеimages.
Если значение неверно
- Значение отсутствует в списке допустимых:
"aspect_ratio" must be one of: [auto 1:1 2:3 3:2 16:9 9:16] autoбезimages:Grok Imagine Image 2.0 aspect_ratio=auto requires at least one image
Ограничения входных материалов
До создания задачи шлюз проверяет каждый входной материал. Если ограничение нарушено, возвращается 400 bad_request с указанием материала. Средства не списываются.
- Референсные изображения: от 1 до 5 общедоступных HTTPS-ссылок.
- При создании задачи BeatAPI не скачивает файлы по этим ссылкам и не проверяет формат, размер файла или размеры в пикселях. Поэтому плохая ссылка не отклоняется заранее. Модель скачивает материалы самостоятельно.
- Если модель не может скачать или прочитать материал, созданная задача завершается ошибкой, обычно
bad_request, с возвратом средств. Используйте прямые ссылки на обычные файлы изображений с сервера, который отвечает на серверные запросы без входа в аккаунт. - Файл находится на вашем устройстве? Загрузите его через
POST /v1/filesи передайте полученныйdata.url.
Параметры, которые модель не принимает
API изображений знает несколько полей других моделей. Здесь они не игнорируются, а отклоняются, чтобы вы не платили за настройку без эффекта:
resolution,output_format,quality,seed,background,size,enhance_prompt→field "resolution" is not supported by model grok-imagine-image-2.0(с именем переданного поля).- Любое другое неизвестное поле, например
n→unknown field: n. Поляnнет: одна задача создаёт одно изображение.
Если неверных полей несколько, сообщение указывает только одно. Исправьте его и повторите запрос.
Поскольку поля output_format нет, сохраняется формат, возвращённый моделью. Проверьте его в output.media[].mime_type.
Примеры запросов
Изображение по тексту
Горизонтальное изображение 3:2 по промпту.
Редактирование одного изображения
Сохранение товара с изменением окружения. Здесь auto разрешено, поскольку передано изображение.
Объединение нескольких изображений
Укажите каждый референс в промпте по его порядку.
Вертикальное изображение
Изображение 9:16 для экрана телефона.
Ответы
Создание задачи (201)
Объект задачи. Поле output равно null, пока задача не завершится успешно. Поля с пометкой «во время выполнения» исчезают после завершения задачи.
Успешно завершённая задача
GET /v1/tasks/{task_id} возвращает HTTP 200 со status: "succeeded" и результатом в data.output.
Поля результата
Задача, завершившаяся ошибкой
Если задача завершилась ошибкой, GET /v1/tasks/{task_id} всё равно возвращает HTTP 200: сведения об ошибке находятся в теле ответа. Зарезервированная сумма возвращается полностью, поэтому списания нет.
Полный пример
Создайте задачу, дождитесь её завершения с интервалом опроса, указанным сервером, и выведите ссылки на результаты. Задайте BEATAPI_API_KEY в переменной окружения и установите requests.
Оплата
- Одна задача создаёт одно изображение по единой базовой цене ниже. В прайс-листе для модели одна строка; параметров, меняющих цену, нет.
- Стоимость резервируется при создании задачи на балансе и в лимите ключа, если он установлен. Запрос, отклонённый до создания задачи, не оплачивается.
- При успешном завершении резерв списывается. При ошибке возвращается полностью:
credits_refundedравноcredits_reserved, аcredits_chargedиcredits_settledравны 0.
Текущие базовые цены совпадают с указанными на странице цен. Если для аккаунта согласована скидка, стоимость будет ниже. Фактически списанная сумма всегда указана в data.usage задачи.
Частые ошибки
Краткий справочник HTTP-ошибок
Ошибки до создания задачи возвращаются с HTTP-статусом, отличным от 2xx, без списания средств. Обрабатывайте error.code или error.retryable; причина указана в message. Полный список и правила повторов приведены в разделе ошибок.
Аутентификация
Передавайте API-ключ в виде Authorization: Bearer <BEATAPI_API_KEY>.
Заголовки
Передавайте тело запроса в JSON с заголовком Content-Type: application/json. Idempotency-Key необязателен. Для каждого логического запроса используйте уникальное значение длиной не более 255 символов и повторно используйте его только для отправки точно такого же тела. В течение 24 часов повтор с тем же ключом и телом возвращает первый ответ с заголовком Idempotent-Replayed: true. Тот же ключ с другим телом возвращает 409 idempotency_conflict. Ответы, отличные от 2xx, не сохраняются, поэтому повтор после 400 или 402 выполняется заново.
Запрос
Модель, которую нужно вызвать.
Значение: grok-imagine-image-2.0
Если значение неверно
- Поле отсутствует:
"model" is required - Неизвестный ID модели:
"model" grok-imagine-image-9 is not catalogued - На этот адрес API отправлена видеомодель:
"model" grok-imagine-video-1.5 is served by POST /v1/videos/tasks, not this endpoint
Что нарисовать либо изменить в референсных изображениях. Лучше писать обычным языком: объект, стиль, освещение, композиция и текст, который должен появиться на изображении.
Длина: 1–5000 символов
- Длина измеряется в символах. Иероглиф CJK считается одним символом.
- При передаче
imagesукажите назначение каждого изображения, например «Сохрани товар с первого изображения и измени окружение».
Если значение неверно
- Поле отсутствует:
"prompt" is required - Пустое значение или превышена допустимая длина:
"prompt" has an unsupported length - Значение не является строкой:
"prompt" must be a string
Запрашиваемое соотношение ширины и высоты изображения.
Допустимые значения: auto, 1:1, 2:3, 3:2, 16:9, 9:16
По умолчанию: 1:1
autoоставляет выбор пропорций модели. Значение принимается только при передачеimages.- Если поле не задано, используется
1:1, в том числе при передачеimages.
Если значение неверно
- Значение отсутствует в списке допустимых:
"aspect_ratio" must be one of: [auto 1:1 2:3 3:2 16:9 9:16] autoбезimages:Grok Imagine Image 2.0 aspect_ratio=auto requires at least one image
Референсные изображения для редактирования или объединения. Поле переключает запрос с генерации по тексту на редактирование; отдельного переключателя режима нет.
Число элементов: 1–5
Каждый элемент — общедоступная ссылка https://. Если файл находится на вашем устройстве, сначала загрузите его через POST /v1/files, затем передайте полученный data.url.
- Каждый элемент должен быть общедоступной ссылкой
https://на файл изображения. При создании задачи BeatAPI проверяет форму ссылки, но не скачивает изображение и не проверяет формат или размер; см. примечания под ограничениями. - Ссылки на веб-страницы, страницы входа, просроченные подписанные URL или защищённые от скачивания серверы не возвращают изображение и вызывают ошибку уже созданной задачи.
- Индексы в сообщениях об ошибках начинаются с 0:
images[0]— первая ссылка.
Если значение неверно
- Превышено максимальное число элементов:
"images" accepts at most 5 items - Пустой массив:
"images" requires at least 1 item - Ссылка не начинается с https://:
"images[0]" must be a public HTTPS URL - Значение не является массивом:
"images" must be an array
Пример
"images": [
"https://cdn.beatapi.io/samples/smart-bottle.png"
]
Ответ
Объект задачи. Поле output равно null, пока задача не завершится успешно. Поля с пометкой «во время выполнения» исчезают после завершения задачи.

