Open API

Grok Image API

LMU AI の OpenAI Images 互換 API 経由で Grok 画像モデルを呼び出す:テキストから画像、編集、URL および Base64 入力、ダウンロード、モデル選択、エラー修正。

LMU AI は OpenAI Images 互換パス経由で Grok 画像生成と画像編集を提供します。

Base URL

OpenAI 互換 SDK:

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/generationsGrok テキストから画像、同期レスポンス
POST/v1/images/editsGrok 画像編集 / 画像から画像、同期レスポンス

現在、公開されている 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. テキストから画像のパラメータ

フィールド必須説明
modelstringYes推奨:grok-imagine-image または grok-imagine-image-quality
promptstringYes画像の説明
nintegerNo画像の枚数;テストは 1 から始めることを推奨します
sizestringNoOpenAI 互換のサイズパラメータ;実際の出力サイズは Grok 上流の能力によって決まります
response_formatstringNoレスポンス形式の互換パラメータ;Grok は通常 URL を返します

size で固定の出力ピクセルを強制することに依存しないでください

Grok チャネルは互換または課金パラメータとして size を受け付ける場合がありますが、最終的な画像のピクセルとアスペクト比は上流の生成結果によって決まります。固定ピクセルが必要な場合は、画像をダウンロードしてご自身でクロップまたはリサイズしてください。

6. 画像編集 / 画像から画像

POST /v1/images/edits

Grok の画像編集は JSON で行うのが最適です;image.url に以下のいずれかを渡してください:

  • 一般公開されている HTTPS 画像 URL;または
  • data:image/...;base64,... の Data URL。

画像 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 はリクエストボディを約 3 分の 1 増加させます。大きな画像は先に圧縮するか、ご自身の 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 フィールドは上流チャネルによって返され、その構造は GPT 画像 API と異なる場合があります。最終的なコストは LMU AI の請求と使用量の詳細に従います;いかなる単一の上流フィールドも、アカウントに課金される金額として扱わないでください。

8. よくあるエラー

HTTPよくある原因推奨される対応
400model / prompt の欠落、または無効な画像 Data URLJSON と画像エンコーディングを確認
401無効な API キーBearer 認証を確認
403グループで画像生成が有効化されていない管理者に連絡して Grok グループの権限を確認
404チャネル非互換のモデルエイリアスを使用、または上流パスが利用不可編集の場合はまず grok-imagine-image-quality に切り替え、リクエスト ID を保存
429並列、RPM、または上流のクォータ制限並列数を下げ、指数バックオフでリトライ
5xx上流の生成が一時的に失敗限られた回数リトライし、リクエスト ID を管理者に提供

9. 他の画像 API との違い

ニーズ推奨ドキュメント
Gemini ネイティブのテキストから画像および画像から画像Gemini Image API
GPT のテキストから画像および編集GPT Image API
Grok のテキストから画像および編集このページ
複数の Gemini プロンプトの非同期処理Gemini Batch Image API

最終更新:

このページの目次