1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Grok Imagine API入門 — 画像・動画生成をPythonで実装する

1
Last updated at Posted at 2026-03-09

Grok Imagine API — 画像・動画生成パイプライン

はじめに

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の4ワークフロー

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 / 枚
Google 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 は十分に実用的な選択肢です。

参考リンク

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?