Открытый API

Grok Image API

Вызывайте модели изображений Grok через API LMU AI, совместимый с OpenAI Images: текст-в-изображение, редактирование, ввод по URL и Base64, загрузки, выбор модели и устранение ошибок.

LMU AI предоставляет генерацию и редактирование изображений Grok через путь, совместимый с OpenAI Images.

Базовый URL

SDK, совместимый с OpenAI:

https://api.lmuai.com/v1

Полные HTTP-эндпоинты:

POST https://api.lmuai.com/v1/images/generations
POST https://api.lmuai.com/v1/images/edits

1. Обзор API

МетодПутьОписание
GET/v1/modelsЗапрос моделей, доступных вашей текущей группе Grok
POST/v1/images/generationsТекст-в-изображение Grok, синхронный ответ
POST/v1/images/editsРедактирование изображений / изображение-в-изображение Grok, синхронный ответ

В настоящее время нет публично доступного асинхронного задания Grok или API пакетов из нескольких элементов.

2. Рекомендуемые модели

СценарийРекомендуемая модель
Стандартный текст-в-изображениеgrok-imagine-image
Текст-в-изображение с приоритетом качестваgrok-imagine-image-quality
Редактирование изображений / изображение-в-изображениеgrok-imagine-image-quality

Сначала запросите модели с помощью вашего текущего API-ключа:

curl https://api.lmuai.com/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"

Используйте модель качества для редактирования изображений

В примерах редактирования изображений используется grok-imagine-image-quality. Мы не рекомендуем grok-imagine-edit в качестве модели по умолчанию: это совместимое имя может встречаться в некоторых списках моделей, но некоторые вышестоящие каналы возвращают 404 при его вызове.

3. Аутентификация

Authorization: Bearer YOUR_API_KEY

Ваш API-ключ должен принадлежать группе Grok, в которой включена генерация изображений.

4. Текст-в-изображение

POST /v1/images/generations

curl https://api.lmuai.com/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-image",
    "prompt": "A blue ceramic mug, centered on a light-gray studio background, soft side lighting, no text",
    "n": 1,
    "size": "1024x1024"
  }'

JavaScript:

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.LMU_API_KEY,
  baseURL: "https://api.lmuai.com/v1",
});

const result = await client.images.generate({
  model: "grok-imagine-image",
  prompt: "A blue ceramic mug, light-gray studio background, soft side lighting, no text",
  n: 1,
  size: "1024x1024",
});

const url = result.data?.[0]?.url;
if (!url) throw new Error("No image URL in the response");
console.log(url);

Python:

from openai import OpenAI
import requests

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.lmuai.com/v1",
)

result = client.images.generate(
    model="grok-imagine-image",
    prompt="A blue ceramic mug, light-gray studio background, soft side lighting, no text",
    n=1,
    size="1024x1024",
)

url = result.data[0].url
if not url:
    raise RuntimeError("No image URL in the response")

image = requests.get(url, timeout=60)
image.raise_for_status()
with open("grok-output.jpg", "wb") as f:
    f.write(image.content)

5. Параметры текста-в-изображение

ПолеТипОбязательноОписание
modelstringДаРекомендуется: grok-imagine-image или grok-imagine-image-quality
promptstringДаОписание изображения
nintegerНетКоличество изображений; мы рекомендуем начинать тесты с 1
sizestringНетПараметр размера, совместимый с OpenAI; фактический размер вывода определяется вышестоящими возможностями Grok
response_formatstringНетПараметр совместимости формата ответа; Grok обычно возвращает URL

Не полагайтесь на size для принудительного фиксированного размера вывода

Каналы Grok могут принимать size как параметр совместимости или биллинга, но итоговые пиксели и соотношение сторон изображения определяются результатом вышестоящей генерации. Когда вам нужны фиксированные пиксели, загрузите изображение и обрежьте или измените его размер самостоятельно.

6. Редактирование изображений / изображение-в-изображение

POST /v1/images/edits

Редактирование изображений Grok лучше всего выполнять с помощью JSON; передайте одно из следующего в image.url:

  • Публично доступный HTTPS-URL изображения; или
  • Data URL вида data:image/...;base64,....

Использование URL изображения

curl https://api.lmuai.com/v1/images/edits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-image-quality",
    "prompt": "Keep the mug's shape, composition, and lighting; change the mug from blue to yellow; no text",
    "image": {
      "url": "https://example.com/input.jpg",
      "type": "image_url"
    },
    "response_format": "url"
  }'

Преобразование локального изображения в Data URL

Python:

import base64
import mimetypes
import requests

api_key = "YOUR_API_KEY"
image_path = "input.jpg"
mime_type = mimetypes.guess_type(image_path)[0] or "image/jpeg"

with open(image_path, "rb") as f:
    data_url = f"data:{mime_type};base64,{base64.b64encode(f.read()).decode()}"

payload = {
    "model": "grok-imagine-image-quality",
    "prompt": "Keep the subject and composition; change the background to a seaside at dusk; no text",
    "image": {
        "url": data_url,
        "type": "image_url",
    },
    "response_format": "url",
}

response = requests.post(
    "https://api.lmuai.com/v1/images/edits",
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    json=payload,
    timeout=300,
)
response.raise_for_status()
result = response.json()
print(result["data"][0]["url"])

Data URL увеличивают тело запроса

Base64 увеличивает тело запроса примерно на треть. Для больших изображений сначала сжимайте их или загружайте в собственное HTTPS объектное хранилище и передавайте URL. Не используйте адреса, требующие cookie, сессии входа или временной защиты от хотлинкинга.

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

Типичный ответ изображения Grok:

{
  "data": [
    {
      "url": "https://image-host.example/generated.jpg"
    }
  ],
  "usage": {
    "cost_in_usd_ticks": 200000000
  }
}

Клиенты должны:

  1. Проверить HTTP-код состояния;
  2. Проверить, является ли data непустым массивом;
  3. Проверить, является ли data[0].url непустым;
  4. Немедленно загрузить изображение и сохранить его в собственное хранилище;
  5. Не рассматривать временный URL как постоянный адрес ресурса.

Поле usage возвращается вышестоящим каналом, и его структура может отличаться от API изображений GPT. Итоговая стоимость следует вашему счёту LMU AI и деталям использования; не рассматривайте какое-либо отдельное вышестоящее поле как сумму, списанную с вашего счёта.

8. Распространённые ошибки

HTTPРаспространённая причинаРекомендуемое действие
400Отсутствует model / prompt или некорректный Data URL изображенияПроверьте JSON и кодировку изображения
401Недействительный API-ключПроверьте аутентификацию Bearer
403Генерация изображений не включена для группыОбратитесь к администратору для проверки прав группы Grok
404Использован псевдоним модели, несовместимый с каналом, или недоступен вышестоящий путьДля редактирования сначала переключитесь на grok-imagine-image-quality и сохраните ID запроса
429Ограничения параллелизма, RPM или вышестоящей квотыСнизьте параллелизм и повторите с экспоненциальной задержкой
5xxВышестоящая генерация временно не удаласьПовторите ограниченное число раз и предоставьте ID запроса администратору

9. Отличия от других API изображений

ПотребностьРекомендуемая документация
Нативный текст-в-изображение и изображение-в-изображение GeminiGemini Image API
Текст-в-изображение и редактирование GPTGPT Image API
Текст-в-изображение и редактирование GrokЭта страница
Асинхронная обработка нескольких промптов GeminiGemini Batch Image API

Последнее обновление:

На этой странице