はじめに
xAI が 2026年2月1日に公開した Grok Imagine 1.0 は、テキストや画像を入力として受け取り、高品質な画像や動画を生成するマルチモーダル生成APIです。公開からわずか1ヶ月で累計12.45億本の動画が生成されており、エンジニアの注目度は急速に高まっています。
本記事では、公式ドキュメントと公開情報をもとに以下の内容を解説します。
この記事で学べること
- Grok Imagine API の全体像とモデル体系
- Python SDK を使った画像生成・編集の実装
- 動画生成(テキスト→動画・画像→動画)の実装
- 料金体系と他サービスとのコスト比較
- 利用時の留意事項
対象読者
- xAI / Grok Imagine API の概要を把握したいエンジニア
- Python で画像・動画生成を自動化したい方
- OpenAI Images API や Gemini Imagen との比較検討をしている方
前提条件
- Python 3.10 以上
- xAI アカウント・API キー(xAI Console で取得可能)
TL;DR
- Grok Imagine には画像用
grok-imagine-image($0.02/枚) と動画用grok-imagine-video($0.05/秒) の2モデルがある - Python SDK
xai-sdkで数行から実装できる - 動画は最大15秒・720p に対応し、テキスト→動画・画像→動画の両ワークフローを提供
- 生成 URL は一時的に有効なため、ダウンロードは速やかに行う必要がある
Grok Imagine の概要
Grok Imagine は xAI が開発したマルチモーダル生成システムで、4つのワークフローをサポートしています。
| ワークフロー | 入力 | 出力 | モデル |
|---|---|---|---|
| テキスト→画像 | テキストプロンプト | 静止画像 | grok-imagine-image |
| 画像→画像(編集) | テキスト + ソース画像(最大3枚) | 編集済み画像 | grok-imagine-image |
| テキスト→動画 | テキストプロンプト | 動画(最大15秒) | grok-imagine-video |
| 画像→動画 | テキスト + ソース画像 | アニメーション動画 | grok-imagine-video |
ベースは FLUX.1 アーキテクチャに xAI 独自のカスタマイズを加えており、リアルフォト・アニメ・油絵・スケッチなど多様なスタイルに対応しています。
モデルと料金
| モデル | 料金 | RPM上限 | 特徴 |
|---|---|---|---|
grok-imagine-image |
$0.02 / 枚 | 300 | スタンダード品質 |
grok-imagine-image-pro |
$0.07 / 枚 | 30 | 高品質・高精度 |
grok-imagine-video |
$0.05 / 秒 | 60 | 動画生成・編集 |
動画は秒単位の課金であるため、例えば10秒の動画を1本生成すると $0.50 になります。
セットアップ
SDK のインストール
pip install xai-sdk
API キーの設定
xAI Console の「API Keys」タブから API キーを生成し、環境変数に設定します。
export XAI_API_KEY="xai-..."
または .env ファイルに記載して python-dotenv で読み込む方法も利用できます。
from dotenv import load_dotenv
load_dotenv()
画像生成 API の実装
テキスト→画像の基本実装
import xai_sdk
client = xai_sdk.Client()
response = client.image.sample(
prompt="A futuristic Tokyo cityscape at night with neon lights, cyberpunk style",
model="grok-imagine-image",
aspect_ratio="16:9",
resolution="2k",
n=1,
)
print(response.url) # 一時URLを出力
主なパラメータ
| パラメータ | 型 | デフォルト | 説明 |
|---|---|---|---|
prompt |
str | 必須 | 生成内容のテキスト説明 |
model |
str | 必須 |
grok-imagine-image または grok-imagine-image-pro
|
n |
int | 1 | 生成枚数(最大10枚) |
aspect_ratio |
str | "1:1" |
"16:9", "4:3", "9:16" 等 |
resolution |
str | "1k" |
"1k" または "2k"
|
image_format |
str | "jpeg" |
"jpeg" または "png"
|
生成された URL は一時的に有効期限があります。使用するデータは速やかにダウンロードして保存してください。
画像のダウンロード保存
import xai_sdk
import httpx
from pathlib import Path
client = xai_sdk.Client()
response = client.image.sample(
prompt="A minimalist illustration of a robot reading a book",
model="grok-imagine-image",
aspect_ratio="1:1",
)
# ダウンロードして保存
image_data = httpx.get(response.url).content
Path("output.jpg").write_bytes(image_data)
print("保存完了: output.jpg")
画像編集(画像→画像)
既存の画像を入力として、テキスト指示で編集を加えられます。最大3枚の画像を同時に参照できます。
import xai_sdk
import base64
from pathlib import Path
client = xai_sdk.Client()
# ローカル画像をbase64エンコード
image_bytes = Path("source.jpg").read_bytes()
image_b64 = "data:image/jpeg;base64," + base64.b64encode(image_bytes).decode()
response = client.image.sample(
prompt="Add cherry blossoms to the background of this image",
model="grok-imagine-image",
image_urls=[image_b64], # base64 data URI または公開URL
)
print(response.url)
動画生成 API の実装
動画生成は非同期処理です。リクエスト送信後に request_id を受け取り、生成完了までポーリングして動画 URL を取得する設計になっています。Python SDK はこのポーリング処理を自動で行います。
テキスト→動画の基本実装
import xai_sdk
client = xai_sdk.Client()
response = client.video.generate(
prompt="A timelapse of clouds moving over Mount Fuji at sunset",
model="grok-imagine-video",
duration=10, # 秒数(1〜15)
aspect_ratio="16:9", # デフォルト
resolution="720p", # "480p" または "720p"
)
print(response.url) # 生成完了後に動画URLが返る
主なパラメータ
| パラメータ | 型 | デフォルト | 説明 |
|---|---|---|---|
prompt |
str | 必須 | 生成内容または編集指示 |
model |
str | 必須 | grok-imagine-video |
duration |
int | — | 動画の秒数(1〜15)。編集時はソース動画の長さを保持 |
aspect_ratio |
str | "16:9" |
"16:9", "9:16", "1:1", "4:3" 等 |
resolution |
str | "480p" |
"480p" または "720p"
|
image_url |
str | 任意 | 画像→動画の場合のソース画像URL |
video_url |
str | 任意 | 動画編集の場合のソース動画URL |
ポーリングのデフォルトタイムアウトは10分、ステータス確認間隔は100msです。長時間の生成タスクには
timeoutパラメータで延長可能です。
画像→動画の実装
静止画像にモーションを付けて動画化できます。
import xai_sdk
client = xai_sdk.Client()
response = client.video.generate(
prompt="Camera slowly panning left, gentle wind blowing through the trees",
model="grok-imagine-video",
image_url="https://example.com/landscape.jpg", # ソース画像
duration=8,
resolution="720p",
)
print(response.url)
動画のダウンロード保存
import xai_sdk
import httpx
from pathlib import Path
client = xai_sdk.Client()
response = client.video.generate(
prompt="A drone flying over a futuristic city skyline",
model="grok-imagine-video",
duration=10,
resolution="720p",
)
video_data = httpx.get(response.url).content
Path("output.mp4").write_bytes(video_data)
print("保存完了: output.mp4")
料金の比較
主要な画像・動画生成 API との料金比較です(2026年3月時点の公開情報に基づく)。
画像生成
| サービス | モデル | 料金 |
|---|---|---|
| xAI Grok Imagine | grok-imagine-image |
$0.02 / 枚 |
| xAI Grok Imagine Pro | grok-imagine-image-pro |
$0.07 / 枚 |
imagen-4 |
$0.04 / 枚(標準) | |
| OpenAI | gpt-image-1 |
$0.04 / 枚(標準) |
動画生成
| サービス | モデル | 料金 |
|---|---|---|
| xAI Grok Imagine | grok-imagine-video |
$0.05 / 秒 |
| OpenAI | sora-2 |
参考: $0.10 / 秒(標準) |
Grok Imagine の標準画像モデルは主要サービスと比較してコスト競争力があります。動画についても秒単位課金で他社と同水準の価格帯に収まっています。
留意事項
生成 URL の有効期限
response.url で返される URL は一時的なものです。APIドキュメントによれば速やかにダウンロードすることが推奨されており、長期保存が必要なコンテンツはローカルまたはストレージサービスに保存してください。
コンテンツモデレーション
すべての生成リクエストにコンテンツモデレーションが適用されます。respect_moderation フラグで動作を調整可能です。規約に反するコンテンツは生成されません。
レートリミット
-
grok-imagine-image: 300 RPM -
grok-imagine-image-pro: 30 RPM -
grok-imagine-video: 60 RPM
高スループットが必要なバッチ処理では AsyncClient を使った並列リクエストが有効です。
API キーの管理
API キーは環境変数 XAI_API_KEY で管理し、ソースコードへの直接記述は避けてください。本番環境では AWS Secrets Manager や GCP Secret Manager 等のシークレット管理サービスの利用を推奨します。
まとめ
Grok Imagine 1.0 API の主なポイントを整理します。
-
画像生成 (
grok-imagine-image): $0.02/枚で最大10枚の一括生成・編集が可能 -
動画生成 (
grok-imagine-video): $0.05/秒で最大15秒・720p の動画生成に対応 -
Python SDK
xai-sdkを使えば数十行で画像・動画生成パイプラインを構築できる - 生成 URL の有効期限に注意し、速やかにコンテンツを保存する必要がある
画像・動画生成を必要とするアプリケーションやオートメーションパイプラインへの組み込み候補として、Grok Imagine API は十分に実用的な選択肢です。



