[開発者向け]xAI「Grok Imagine Quality Mode」API解説——高リアリズム画像生成と編集機能の実装ガイド

目次

はじめに

 xAIが2026年5月4日、画像生成APIの新モデル「Grok Imagine Quality Mode(grok-imagine-image-quality)」をエンタープライズ開発者・チーム向けに公開しました。本稿では、公式発表および技術ドキュメントをもとに、Quality Modeの特徴、独立ベンチマークの結果、APIによる実装方法を詳しく解説します。

参考記事

メイン記事:

関連情報:

関連記事

あわせて読みたい
[開発者向け]xAI「Custom Voices」全解説——声をクローンしてVoice Agent APIに組み込むまでの実装ガイド はじめに  xAIは2026年4月30日、Grok TTSおよびVoice Agent APIに対応するカスタム音声クローン機能「Custom Voices」と、ボイスカタログを一元管理する「Voice Librar...
あわせて読みたい
[開発者向け]xAI、Grok音声APIを公開——高精度STTとSpeech Tags対応TTSが競合比最安値で登場 はじめに  xAI(イーロン・マスク氏が設立したAI企業)が2026年4月17日、音声認識(STT)と音声合成(TTS)の2種類のスタンドアロンAPIを公開しました。Grok Voiceやテ...
あわせて読みたい
[AIツール利用者向け]OpenAIが「ChatGPT Images 2.0」発表——Thinking機能搭載で画像生成は新局面へ はじめに  OpenAIが2026年4月21日、新世代の画像生成モデル「ChatGPT Images 2.0」(API名: gpt-image-2)を発表しました。精度・多言語対応・テキストレンダリングが...

要点

  • Grok Imagine Quality Modeは、リアリズムの大幅向上・テキストレンダリング強化・プロンプト追従精度の改善の3点を主な特徴とする画像生成・編集モデルである
  • LMArena Text-to-Image Arenaの独立評価(2026年5月4日時点)でスコア1223を記録し、xAIは上位5社のうち3位にランクインした
  • テキスト生成・画像編集・複数画像合成・スタイルトランスファーなど多彩な機能をxAI SDKの統一されたAPIで利用できる
  • モデル名は grok-imagine-image-quality であり、旧モデル grok-imagine-image-pro は2025年5月15日をもって廃止予定である
  • 価格はトークン課金ではなく画像1枚あたりの固定単価制で、プロンプトの長さに関係なく課金される

詳細解説

Quality Modeの3つの改善点

 xAIの発表によれば、Quality Modeは以下の3点を前モデルから大きく改善しています。

 リアリズムの向上: 細部のテクスチャ表現、正確な素材感、リアルな人物・シーンの描写が強化されました。公開されたサンプルでは、肌のきめや自然光の反射など、従来モデルでは難しかった細密な表現が確認できます。

 テキストレンダリングの強化: 画像内のテキスト生成精度が向上し、多言語対応も改善されています。「High end simple menu of french chocolate deserts」のようなビジネス用途のデザイン生成で効果が高いと考えられます。

 創造的制御の向上: プロンプトへの追従精度が上がり、シーンや世界観の理解が深まっています。ブランドの一貫性を保ったアセット生成など、企業利用で重要な再現性の高い出力が可能になりました。

独立ベンチマークでの評価

 LMArena Text-to-Image Arenaの2026年5月4日時点のランキングによれば、xAIはスコア1223で3位にランクインしています。1位はOpenAI(1398)、2位はGoogle(1268)で、4位Luma AI(1193)、5位Microsoft AI(1181)と続いています。また、xAIの前モデルはスコア1177で掲載されており、Quality Modeへの移行で約46ポイントの向上が確認できます。

 LMArena(旧LMSys Chatbot Arena)は、ユーザーの盲目的な比較投票によってモデルを評価する独立プラットフォームです。企業が自社ベンチマークで発表するスコアと異なり、第三者の評価という性格があります。ただし、投票者の属性や提示されたプロンプトの傾向によってスコアが変動する可能性はある点に留意が必要だと思います。

エンタープライズユースケース

 xAIは以下のビジネス活用例を紹介しています。

 商品可視化とマーケティング資産: 参照画像を組み合わせてブランドスタイルを維持した商品画像、ヒーロービジュアル、SNS用アセットをスケールで生成できます。公開例では、Cybertruckのイベント広告に参照ブランドスタイルを適用し、日時・場所情報を付加した事例が示されています。

 UGCスタイルコンテンツ: 参照画像から人物・服装・撮影スタイルを維持しながら、シーンや状況を変えた画像を生成できます。ファッションEC、インフルエンサーマーケティングなどでの活用が想定されます。

 動画生成との連携: xAIによれば、Quality ModeをxAIの動画生成機能と組み合わせることで、SNS動画素材や商品紹介動画のアセット制作ができるとのことです。

前提条件・環境構成

 Grok Imagine APIを利用するには以下が必要です。

  1. xAI APIキーの取得(xAI Console でサインアップ)
  2. Python 3.8以上(バージョン確認: python –version)
  3. xAI SDKのインストール

 以下のコマンドでSDKをインストールします。pip(Pythonのパッケージ管理ツール)が利用可能な環境で実行してください。

pip install xai-sdk

注意: 仮想環境(python -m venv .venv で作成)の使用を推奨します。グローバル環境への直接インストールは依存関係の競合が起きる場合があります。

 インストール後、APIキーを環境変数に設定します。

# APIキーを環境変数として設定します(Mac/Linux)
export XAI_API_KEY="your-api-key-here"

Windowsの場合はコマンドプロンプトで set XAI_API_KEY=your-api-key-here を使用してください。

基本的な画像生成

 以下は、テキストプロンプトから画像を1枚生成する最小構成のコードです。参考記事のサンプルコードをもとにしています。

import xai_sdk

# xAI SDKのクライアントを初期化します
client = xai_sdk.Client()

# 画像を生成します。modelにQuality Modeのモデル名を指定します
response = client.image.sample(
    prompt="A collage of London landmarks in a stenciled street-art style",
    model="grok-imagine-image-quality",  # 旧モデル名(grok-imagine-image-pro)からの変更点
)

# 生成された画像の一時URLを出力します
print(response.url)

注意: 生成されたURLは一時的なものです。必要な場合はダウンロードまたはbase64形式での取得(後述)を行ってください。

画像編集

 既存の画像をもとに編集を行う場合は、image_url パラメータを追加します。元画像はURLまたはbase64形式で渡せます。

import base64
import xai_sdk

client = xai_sdk.Client()

# ローカルファイルをbase64エンコードして読み込みます
with open("photo.png", "rb") as f:
    image_data = base64.b64encode(f.read()).decode("utf-8")

# 元画像と編集内容を指定して画像を生成します
response = client.image.sample(
    prompt="Render this as a pencil sketch with detailed shading",
    model="grok-imagine-image",
    image_url=f"data:image/png;base64,{image_data}",  # base64データURIとして渡します
)

print(response.url)

注意: OpenAI SDKの images.edit() メソッドはxAI APIでサポートされていません(フォームデータ形式の違いによる)。xAI SDK、Vercel AI SDK、または直接のHTTPリクエストを使用してください。

複数画像を使った編集(最大5枚)

 参照画像を複数枚指定して合成する場合は、image_urls パラメータにリストとして渡します。

import xai_sdk

client = xai_sdk.Client()

# 複数の参照画像URLを指定して合成します
response = client.image.sample(
    prompt="Show all subjects sitting together on the grass in a sunny park. Casual relaxed mood, natural daylight.",
    model="grok-imagine-image",
    image_urls=[
        "https://example.com/person1.jpg",  # 1枚目の参照画像URL
        "https://example.com/person2.jpg",  # 2枚目の参照画像URL
    ],
    aspect_ratio="3:2",  # 出力画像のアスペクト比を指定します(省略時は1枚目の画像に合わせて自動選択)
)

print(response.url)

マルチターン編集

 生成した画像を次のリクエストの入力画像として使うことで、段階的な編集が可能です。「リビングルームを生成→家具を変更→照明を調整」のような反復的なワークフローに適しています。

import xai_sdk

client = xai_sdk.Client()

# Step 1: ベース画像を生成します
response_1 = client.image.sample(
    prompt="A modern living room with large windows overlooking the city",
    model="grok-imagine-image",
)

print(f"Step 1: {response_1.url}")

# Step 2: Step 1の出力を入力として家具を変更します
response_2 = client.image.sample(
    prompt="Replace the sofa with a minimalist leather couch",
    model="grok-imagine-image",
    image_url=response_1.url,  # 前のステップの出力URLをそのまま渡します
)

print(f"Step 2: {response_2.url}")

並行リクエスト(AsyncClient)

 複数の異なるプロンプトを並行処理する場合は、AsyncClient と asyncio.gather を使用します。同一プロンプトで複数バリエーションを生成する場合は、後述の sample_batch() の方が効率的です。

import asyncio
import xai_sdk

async def generate_concurrently():
    # 非同期クライアントを初期化します
    client = xai_sdk.AsyncClient()
    source_image = "https://example.com/photo.jpg"

    # 異なるスタイルを並行処理するためのプロンプトリストです
    prompts = [
        "Render this image as an oil painting in the style of impressionism",
        "Render this image as a pencil sketch with detailed shading",
        "Render this image as pop art with bold colors and halftone dots",
    ]

    # すべてのリクエストを同時に送信します(直列処理より大幅に高速)
    tasks = [
        client.image.sample(
            prompt=prompt,
            model="grok-imagine-image",
            image_url=source_image,
        )
        for prompt in prompts
    ]
    results = await asyncio.gather(*tasks)

    for prompt, result in zip(prompts, results):
        print(f"{prompt[:30]}...: {result.url}")

# 非同期関数を実行します
asyncio.run(generate_concurrently())

設定オプション

複数バリエーションの生成(sample_batch)

import xai_sdk

client = xai_sdk.Client()

# 同一プロンプトから4枚のバリエーションを一度のリクエストで生成します
responses = client.image.sample_batch(
    prompt="A futuristic city skyline at night",
    model="grok-imagine-image",
    n=4,  # 生成枚数(最大10枚)
)

for i, image in enumerate(responses):
    print(f"Variation {i + 1}: {image.url}")

アスペクト比の指定

比率主な用途
1:1SNSサムネイル
16:9 / 9:16ワイドスクリーン・縦型動画
4:3 / 3:4プレゼン・ポートレート
3:2 / 2:3写真
2:1 / 1:2バナー・ヘッダー
autoモデルが自動選択

解像度の指定(1k / 2k)

# 2K解像度で生成します
response = client.image.sample(
    prompt="An astronaut performing EVA in LEO.",
    model="grok-imagine-image",
    resolution="2k",  # "1k" または "2k" を指定します
)

Base64出力(URLを使わず直接保存)

# URLではなくbase64データとして画像を取得します
response = client.image.sample(
    prompt="A serene Japanese garden",
    model="grok-imagine-image",
    image_format="base64",
)

# ファイルにそのまま保存します
with open("garden.jpg", "wb") as f:
    f.write(response.image)

コンテンツモデレーションの確認

# 生成画像がモデレーションを通過したかを確認します
if response.respect_moderation:
    print(response.url)

else:
    print("この画像はコンテンツポリシーによりフィルタリングされました")

価格体系

 xAIの技術ドキュメントによれば、画像生成はテキストモデルのようなトークン課金ではなく、画像1枚あたりの固定単価制を採用しています。プロンプトの長さに関係なく一定の課金となる点が特徴です。画像編集の場合は入力画像と生成画像の両方が課金対象となります。具体的な単価はモデルページで確認できます。

 なお、xAIはここ数カ月で音声STT/TTS APIやカスタムボイス機能のAPIも相次いで提供しており(xAI Grok音声APIの解説)、マルチモーダルなAPI展開を加速させていることがわかります。

まとめ

 xAIのGrok Imagine Quality Modeは、リアリズム・テキストレンダリング・創造的制御の3点を強化した画像生成・編集APIです。LMArenaでは上位3位に入るスコアを記録しており、商業利用を想定した実用性は高いと考えられます。画像単価固定の価格体系も、コスト予測のしやすさという点で開発・運用面のメリットになりそうです。画像生成AIの競合状況については、OpenAI「ChatGPT Images 2.0」の解説もあわせてご覧いただければと思います。

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!
目次