Создаёт изображения по текстовому описанию и редактирует загруженные картинки по вашей инструкции. Цена за 1 изображение - от 7 до 14,5 ₽: зависит от разрешения 1K или 2K и количества загруженных изображений.
Общая документация Public API · API-ключ можно создать в настройках аккаунта
Grok Image Pro - старшая версия генератора картинок Grok: фотореалистичные кадры, рекламные и fashion-снимки, иллюстрации, разрешение до 2K и широкий выбор форматов кадра, включая сверхширокие 20:9 и вертикальные 9:20 для сторис. Модель одинаково хорошо создаёт изображения по тексту и редактирует загруженные фотографии: меняет одежду, фон, сезон, объединяет до трёх изображений в один кадр с сохранением внешности людей.
Через API доступны оба сценария:
prompt;image_urls и описываете, что с ними сделать.Каждый вызов создаёт асинхронную операцию: вы получаете id, а результат забираете отдельным запросом статуса.
POST /api/v1/operationsAuthorization: Bearer brth_...id и стартовый статус queued.Сценарии, которые поддерживает модель:
{
"tool": "grok-image-pro",
"input": {
"...": "..."
}
}
tool - slug нейросети, здесь всегда "grok-image-pro".input - параметры конкретного запуска.input, без дополнительного вложенного объекта input.| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
prompt | string | Да | Что нарисовать или как изменить исходные изображения, от 3 до 4000 символов. Для генерации описывайте сцену, стиль, свет и композицию. Для редактирования перечислите, что поменять и что оставить как есть. |
image_urls | string[] (url) | Нет | От 1 до 3 внешних URL изображений. Без этого поля модель работает в режиме генерации. Только http/https ссылки, форматы .jpg, .jpeg, .png, .webp. |
aspect_ratio | enum | Нет | Формат кадра: auto, 2:1, 20:9, 19.5:9, 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16, 9:19.5, 9:20, 1:2. По умолчанию auto: с изображениями это пропорции первого из них, без изображений - 1:1. |
resolution | enum | Нет | Разрешение результата: 1k (по умолчанию) или 2k. Влияет на цену. |
output_format | enum | Нет | Формат файла результата: jpeg (по умолчанию), png или webp. PNG удобен для иллюстраций и логотипов, JPEG - для фотографий. |
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "grok-image-pro",
"input": {
"prompt": "Сверхширокая панорама ночного мегаполиса будущего с летающими машинами и голографическими вывесками, дождь, отражения, кинематографичное освещение, фотореализм",
"aspect_ratio": "20:9",
"resolution": "2k",
"output_format": "jpeg"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'grok-image-pro',
input: {
prompt:
'Сверхширокая панорама ночного мегаполиса будущего с летающими машинами и голографическими вывесками, дождь, отражения, кинематографичное освещение, фотореализм',
aspect_ratio: '20:9',
resolution: '2k',
output_format: 'jpeg',
},
}),
})
const data = await response.json()
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
'tool': 'grok-image-pro',
'input': {
'prompt': 'Сверхширокая панорама ночного мегаполиса будущего с летающими машинами и голографическими вывесками, дождь, отражения, кинематографичное освещение, фотореализм',
'aspect_ratio': '20:9',
'resolution': '2k',
'output_format': 'jpeg',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
С aspect_ratio: "auto" результат сохраняет пропорции исходного изображения.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "grok-image-pro",
"input": {
"prompt": "Сделай из этого портрета зимнюю сцену: девушка в вязаной шапке и шарфе, за окном снегопад, тёплый свет свечей, лицо и позу сохранить",
"image_urls": [
"https://cdn.example.com/source-image-1.jpg"
],
"aspect_ratio": "auto",
"resolution": "2k",
"output_format": "jpeg"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'grok-image-pro',
input: {
prompt:
'Сделай из этого портрета зимнюю сцену: девушка в вязаной шапке и шарфе, за окном снегопад, тёплый свет свечей, лицо и позу сохранить',
image_urls: ['https://cdn.example.com/source-image-1.jpg'],
aspect_ratio: 'auto',
resolution: '2k',
output_format: 'jpeg',
},
}),
})
const data = await response.json()
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
'tool': 'grok-image-pro',
'input': {
'prompt': 'Сделай из этого портрета зимнюю сцену: девушка в вязаной шапке и шарфе, за окном снегопад, тёплый свет свечей, лицо и позу сохранить',
'image_urls': ['https://cdn.example.com/source-image-1.jpg'],
'aspect_ratio': 'auto',
'resolution': '2k',
'output_format': 'jpeg',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
В prompt скажите, кого или что взять с каждого изображения, и попросите сохранить внешность.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "grok-image-pro",
"input": {
"prompt": "Собери групповой кадр: девушка с первого изображения, девочка со второго и парень с третьего сидят вместе на диване в уютной гостиной и смеются, внешность каждого сохранить, единый фотореалистичный стиль",
"image_urls": [
"https://cdn.example.com/source-image-1.jpg",
"https://cdn.example.com/source-image-2.jpg",
"https://cdn.example.com/source-image-3.jpg"
],
"aspect_ratio": "16:9",
"resolution": "1k",
"output_format": "jpeg"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'grok-image-pro',
input: {
prompt:
'Собери групповой кадр: девушка с первого изображения, девочка со второго и парень с третьего сидят вместе на диване в уютной гостиной и смеются, внешность каждого сохранить, единый фотореалистичный стиль',
image_urls: [
'https://cdn.example.com/source-image-1.jpg',
'https://cdn.example.com/source-image-2.jpg',
'https://cdn.example.com/source-image-3.jpg',
],
aspect_ratio: '16:9',
resolution: '1k',
output_format: 'jpeg',
},
}),
})
const data = await response.json()
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
'tool': 'grok-image-pro',
'input': {
'prompt': 'Собери групповой кадр: девушка с первого изображения, девочка со второго и парень с третьего сидят вместе на диване в уютной гостиной и смеются, внешность каждого сохранить, единый фотореалистичный стиль',
'image_urls': [
'https://cdn.example.com/source-image-1.jpg',
'https://cdn.example.com/source-image-2.jpg',
'https://cdn.example.com/source-image-3.jpg',
],
'aspect_ratio': '16:9',
'resolution': '1k',
'output_format': 'jpeg',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
{
"id": "op_uuid-123",
"status": "queued",
"tool": "grok-image-pro",
"cost": 10,
"balance_after": 495,
"created_at": "2026-09-17T12:00:00Z"
}
{
"id": "op_uuid-123",
"status": "completed",
"tool": "grok-image-pro",
"cost": 10,
"created_at": "2026-09-17T12:00:00Z",
"completed_at": "2026-09-17T12:00:28Z",
"result": {
"type": "image",
"urls": [
"https://storage.bratuha.ru/results/grok-image-pro/image-1.jpg"
]
},
"error_message": null
}
{
"id": "op_uuid-123",
"status": "failed",
"tool": "grok-image-pro",
"cost": 10,
"created_at": "2026-09-17T12:00:00Z",
"completed_at": "2026-09-17T12:00:12Z",
"result": null,
"error_message": "Произошла ошибка, сервис временно недоступен. Попробуйте повторить запрос позже."
}
После создания операции сохраните id и проверяйте её статус запросом:
GET /api/v1/operations/{id}
curl -H "Authorization: Bearer brth_ваш_ключ" \
https://bratuha.ru/api/v1/operations/op_uuid-123
const response = await fetch(
'https://bratuha.ru/api/v1/operations/op_uuid-123',
{
headers: {
Authorization: 'Bearer brth_ваш_ключ',
},
}
)
const data = await response.json()
Пока операция выполняется, status будет queued или processing. Опрашивайте статус раз в несколько секунд.
После успешного завершения result содержит одно готовое изображение:
{
"type": "image",
"urls": [
"https://storage.bratuha.ru/results/grok-image-pro/image-1.jpg"
]
}
type всегда равен "image".urls содержит одну ссылку. Расширение файла соответствует output_format: .jpg, .png или .webp.Цена зависит от разрешения и количества загруженных изображений:
| Разрешение | Без изображений | 1 изображение | 2 изображения | 3 изображения |
|---|---|---|---|---|
1k | 7 ₽ | 8,5 ₽ | 10 ₽ | 11,5 ₽ |
2k | 10 ₽ | 11,5 ₽ | 13 ₽ | 14,5 ₽ |
cost ответа. Если операция завершилась с ошибкой, деньги возвращаются на баланс автоматически.POST /api/v1/operations не идемпотентен: каждый повторный запрос создаёт новую операцию и списывает деньги.queued проверяйте статус по id.image_urls подходят только внешние http/https ссылки, без localhost и приватных адресов; форматы .jpg, .jpeg, .png, .webp. HEIC/HEIF принимаются только при загрузке через форму сайта, по URL в API - нет.image_urls можно передать не больше 3 ссылок.aspect_ratio: "auto": результат повторит пропорции первого изображения. Если задать другой формат, модель перекомпонует сцену под него.9:16 или 9:20, для широких баннеров - 20:9 или 2:1.output_format: "png"; для фотографий jpeg даёт файлы меньшего размера.