3行でいうと

  • 画面の場面(画像を作る、写真を編集する、画像を動画にする)は、公式のFAQとストアの説明に、できることは書かれています。ボタン名や画面の順番を並べた手順書は、読んだ範囲では見つかりませんでした。
  • APIの場面は、公式のドキュメントに手順があります。画像生成、画像編集(1枚・複数枚)、動画生成(文章から・画像から・参照から)、動画編集、動画延長です。動画は、依頼を出して、状態を何度も確かめて、完成したURLを取る非同期の流れです。
  • 例の指示文(プロンプト)は、「この記事の例」と書いたものだけが、この記事で組んだものです。公式のドキュメントの例は、英語で書かれています。日本語の指示でどこまで通じるかは、公式で確認できていません。
  • 最初の1時間の順番は、「画面で画像1枚 → 直す → 画面で動画1本 → APIで画像1枚」の案を、最後に書きます。

この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。運営者はGrok Imagineを入れていますが、使い心地はこの記事には書いていません。手順は「公式の手順を順に並べたもの」です。コードは、公式のページの例にもとづく形で載せています(公式ページは要約の形で取得しました。実行前に公式ページの原文と見比べてください)。この記事で組んだ指示文や案は、動作を確かめていません。入れ方とサインインは05、できることの一覧とモデル名は02、料金・権利・データは04を参照してください。

先に結論

前提:用語をそろえる

たとえ話:注文書を書き直す

画像や動画づくりは、注文書を書いて、仕上がりを見て、注文書を書き直す作業です(僕らのたとえです)。1回で決めようとせず、「主役は何か」を最初に書き、仕上がりを見てから、足りないところだけ書き足します。公式の画像プロンプトのガイドは、編集では「変えたいことを先頭に書き、変えない点を続ける」と書いています(02で扱いました)。

場面1:画面で、文章から画像を作る

公式で分かること

この記事の案(公式の画面手順ではありません)

  1. grok.com/imagineか、アプリを開いてサインインする(05)。
  2. 入力欄に指示文を入れて送る。例(この記事の例):
木の机の上に、白いマグカップが2つ。左のカップには赤い花が1輪。
斜め45度から、朝の窓の光で撮った写真のように。
  1. 出てきた画像を見て、足りないところを1つだけ言葉で直す。例(この記事の例):「背景を少しぼかして」。
  2. 気に入ったら、保存や共有の方法を手元の画面で探す。画面からのダウンロードの手順は、公式のFAQには書かれていませんでした。

書き方の手がかり(公式のドキュメントの考え方、APIのガイド):主題を最初に一文で書く、数と視点を書く、材料や質感を具体的に書く、という考え方が、公式の画像プロンプトのガイドにあります(02で扱いました)。画面向けのプロンプトの案内は、読んだ範囲では見つかっていません。上の例は、そのガイドの考え方に合わせて、この記事で組んだものです。

日本語で指示してよいか:公式のドキュメントの例は、英語です。画面で日本語の指示がどこまで通じるかは、公式で確認できていません。通じにくいと感じたら、英語に直して試すことになります(この記事の案)。

場面2:画面で、手元の写真を渡して編集する

公式で分かること

この記事の案

  1. 写真を選んで入力欄に添える(添える方法は、手元の画面で確認)。
  2. 変えたいことを先頭に書く。例(この記事の例):「背景を無地の白にして。人物と服はそのままで」。
  3. 結果を見て、変えたくない所が変わっていたら、「変えない点」を増やして書き直す。

写真に人が写っている場合:04で、入力に人物の画像が含まれるときの規約の書き方を扱っています。他人の顔写真は、使う前に04を読んでください。

場面3:画面で、画像を動画にする

公式で分かること

この記事の案

  1. 場面1か2で作った画像を選び、「動画にする」に当たる操作を、手元の画面で探す(ボタンの名前は確認できていません)。
  2. 「その後に何が起きるか」を書く。APIのVideo Generationのページは、画像から動画では、渡した静止画が開始フレームになる、と書いています。プロンプトにその後の動きを書く、という書き方は、02が読んだページの記載で、今回読んだページでは確認できていません(この記事の案)。例(この記事の例):「カップから湯気がゆっくり立ちのぼる。カメラは少し寄る」。
  3. 最初は短い動画で試す。

場面4:画面で、使用量・透かし・消し方を見る

やること 公式に書かれている場所
利用状況を見る grok.com/dashboard(The X Subscriptionのページが案内)。次のリセット日が出る、と書かれている
アップロードしたファイルを消す grok.com/files(FAQ)
データの管理 プロフィール → 設定 → Data Controls(FAQ)
透かしを確かめる 生成した画像・動画に「grok」の透かしが入る(FAQ)

ここからAPI:使う前にそろえるもの

05のステップ7(アカウント、クレジット、APIキー、環境変数 XAI_API_KEY、pip install xai-sdk)が済んでいる前提です。以降のコードは、公式の例にもとづく形です。

場面5:APIで、画像を生成する

エンドポイント:POST https://api.x.ai/v1/images/generations。ヘッダは Content-Type: application/json と Authorization: Bearer $XAI_API_KEY です。

項目 内容(Image Generationのページ)
model grok-imagine-image-2.0(例)
prompt 画像の説明文
n 1〜10。省略すると1
aspect_ratio 1:1、16:9、auto など。省略すると auto
resolution 1k(省略時)か 2k
quality low、medium、auto。省略すると auto。grok-imagine-image-2.0 のみ
response_format url(既定)か b64_json
deferred true で、すぐに request_id を返し、GET /v1/images/{request_id} で結果を取る(url のみ対応)

手順(Python、xAI SDK)

  1. 次のファイルを make_image.py などの名前で作る。公式の例にもとづく形です。
import xai_sdk

client = xai_sdk.Client()

response = client.image.sample(
    prompt="A collage of London landmarks in a stenciled street-art style",
    model="grok-imagine-image-2.0",
)

print(response.url)
  1. ターミナルで python make_image.py を実行する。
  2. 表示されたURLをブラウザで開く。URLは一時的なので、すぐ保存する(公式のページの注意)。

複数枚:2枚以上は、xAI SDKでは sample_batch(n=...) を使う、とページが書いています。引数の細かい形は、原文で確認してください。

base64で受け取る:response_format を b64_json(xAI SDKでは image_format="base64")にすると、画像のデータが結果に入ります。

結果の見方(ページの記載):xAI SDKでは response.url、base64のときは response.image、モデレーションを通ったかは respect_moderation です。

この記事の例のプロンプト(日本語。通じるかは確認できていません):

夕方の商店街の写真。手前に自転車が1台、奥に赤い提灯。横長。

縦横比は、プロンプトではなく aspect_ratio で指定します("16:9" など)。

場面6:APIで、画像を編集する

1枚を編集する

公式の例にもとづくcurlです(公開URLの例)。

curl -X POST https://api.x.ai/v1/images/edits \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -d '{
    "model": "grok-imagine-image-2.0",
    "prompt": "Render this as a pencil sketch with detailed shading",
    "image": {"url": "https://docs.x.ai/assets/api-examples/images/style-realistic.png", "type": "image_url"}
  }'

手元の写真を使うときは、Python SDKの例にもとづく形で、ファイルを読み込み、base64にして渡します。

import base64
import xai_sdk

client = xai_sdk.Client()
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-2.0",
    image_url=f"data:image/png;base64,{image_data}",
)
print(response.url)

複数枚を合成・編集する

curl -X POST https://api.x.ai/v1/images/edits \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -d '{
    "model": "grok-imagine-image-2.0",
    "prompt": "Show both subjects sitting together on grass in a sunny park",
    "images": [
      {"type": "image_url", "url": "<IMAGE_URL_1>"},
      {"type": "image_url", "url": "<IMAGE_URL_2>"}
    ],
    "aspect_ratio": "3:2"
  }'

<IMAGE_URL_1> などは、自分の画像のURLに置き換えます。プロンプトで画像を番号で指す書き方は、このページには説明がありませんでした。

連続して直す(マルチターン):前の出力を次の入力にして段階的に直す方法が、ページに書かれています。ただし、そのページの連続編集のコード例は、説明と合っていない(画像入力のない生成のエンドポイントを呼んでいる)と読めたため、この記事では例を書きません。

編集の制限:画像のサイズ、形式、枚数の制限は、Image Editingのページには書かれていませんでした。元画像は、複数枚編集のページが「最大5枚」と書いています。

場面7:APIで、動画を生成する(文章から)

エンドポイント:開始は POST https://api.x.ai/v1/videos/generations、確認は GET https://api.x.ai/v1/videos/{request_id} です。

項目 内容(Video Generationのページ)
model grok-imagine-video-1.5(例)。低価格版として grok-imagine-video-1.5-lite もある
prompt 文章から作る場合は必須
duration 1〜15秒。既定は8秒
resolution 1080p、720p、480p。既定は 480p
aspect_ratio 16:9(既定)、9:16、1:1 など。画像から作るときは入力画像の比率になり、この項目は無視される
generate_audio false で無音。既定では音声つき

状態名:pending(生成中)、done(完了)、failed(失敗。error.code と error.message が付く)。error.code は、invalid_argument、permission_denied、failed_precondition、service_unavailable、internal_error のどれかと、ページが書いています。

手順(Python、xAI SDK):SDKの generate() は、確認を自動で行います。既定のタイムアウトは10分です。公式の例にもとづく形です。最初は短く(duration=5、resolution="480p" など)してください(この記事の案)。

import os
import xai_sdk

client = xai_sdk.Client(api_key=os.getenv("XAI_API_KEY"))

response = client.video.generate(
    prompt="Timelapse of a flower blooming in a sunlit garden",
    model="grok-imagine-video-1.5",
    duration=10,
    aspect_ratio="16:9",
    resolution="720p",
)

print(f"Video URL: {response.url}")
print(f"Duration: {response.duration}s")

手順(curl):開始して、done か failed になるまで5秒おきに確かめる、公式の例の流れです。jq が必要です。

REQUEST_ID=$(curl -s -X POST https://api.x.ai/v1/videos/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -d '{
    "model": "grok-imagine-video-1.5",
    "prompt": "Timelapse of a flower blooming in a sunlit garden",
    "duration": 10,
    "aspect_ratio": "16:9",
    "resolution": "720p"
  }' | jq -r '.request_id')

while true; do
  RESULT=$(curl -s https://api.x.ai/v1/videos/$REQUEST_ID \
    -H "Authorization: Bearer $XAI_API_KEY")
  STATUS=$(echo "$RESULT" | jq -r '.status')
  if [ "$STATUS" = "done" ]; then
    echo "$RESULT" | jq -r '.video.url'
    break
  elif [ "$STATUS" = "failed" ]; then
    echo "Request $STATUS"; echo "$RESULT" | jq .
    break
  fi
  sleep 5
done

完成時のJSONは、status が done、video.url、video.duration、video.respect_moderation、model の形と、ページが示しています。URLは「一時的」で、有効期限の数字は書かれていません。完成したらすぐ保存してください。生成には「数分かかることがある」と書かれています。

この記事の例のプロンプト(動画向け。Video Generation・Imagine Overviewのページには、動画プロンプトの書き方の記載は見つかりませんでした。構図、カメラの動き、照明、音を入れたのは、この記事の案です):

A paper boat floats down a small stream in a quiet forest. Slow camera follow, soft morning light, gentle water sounds.

場面8:APIで、画像から動画/参照から動画を作る

画像から動画(Image-to-Video)

参照から動画(Reference-to-Video)

この記事で、ページの説明に合わせて組んだ最小の形です(動作は確かめていません)。

curl -s -X POST https://api.x.ai/v1/videos/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -d '{
    "model": "grok-imagine-video-1.5",
    "prompt": "The person from <IMAGE_0> walks along a beach at sunset, slow camera follow",
    "reference_images": [{"url": "<IMAGE_URL_1>"}],
    "duration": 5,
    "resolution": "720p"
  }'

返ってくる request_id を使って、場面7と同じ要領で確認します。人物の写真を参照に使うときは、04を読んでください。

場面9:APIで、動画を編集する/延長する

動画の編集(Video Editing)

この記事で組んだ形です(動作は確かめていません)。

curl -X POST https://api.x.ai/v1/videos/edits \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -d '{
    "model": "grok-imagine-video",
    "prompt": "Make the car red. Keep the road, the background and the camera motion unchanged.",
    "video": {"url": "<VIDEO_URL>"}
  }'

編集のcurlの応答の形やポーリングの手順は、このページには書かれていませんでした。Python SDKでは response.url で取れます。

動画の延長(Video Extension)

場面10:Playgroundで試す

Imagine Overviewは、console.x.aiの画像のページ(mode=generate)の「Try in playground」から画像を、動画のページから動画を、試せると書いています。APIキーは、同じコンソールの「Create API key」から作ります。Playgroundの画面の項目は、読んだページには書かれていませんでした。コードを書く前に、指示文を試す場所として使えるのでは、というのが僕らの見立てです(公式の説明ではありません)。

最初の1時間でやる順番(この記事の案)

公式の手順ではありません。動作は確かめていません。

順 やること 見るもの
1 05でサインインし、grok.com/dashboardで利用状況を見る 枠とリセット日が出るか
2 画面で、短い指示を1つ送って画像を1枚作る(場面1) 透かし、出来、枠の減り方
3 同じ画像に、直しを1つだけ言葉で頼む 変えたくない所が保たれるか
4 画面で、短い動画を1本だけ作る(場面3) 枠の減り方(動画が重いことの確認)
5 grok.com/dashboardで、使用量をもう一度見る 1〜4でどれだけ減ったか
6 APIを使うなら、場面5の画像1枚をPythonで出す URLが開くか、respect_moderation
7 動画のAPIは、場面7の短い設定(5秒、480p)で1本だけ 完成までの時間、status の変化

6と7は、APIのクレジットを使うので、最後に置きました。

うまくいかないとき

症状 確認すること
画像が思った構図にならない 主題を最初の一文で、数と視点を入れて書いたか(02の公式ガイドの表)
編集で全体が変わってしまう 全文を貼り直していないか。変えたいことを先頭に、変えない点を後ろに書く(02)
動画が480pになる プランの上限に達すると、720pから480pに自動で切り替わる(FAQ)
画面で動画が作れない・止まる 週次の枠を使い切っていないか。動画は枠を多く使う(FAQ)
API invalid_argument duration が範囲内か(1〜15秒)、aspect_ratio と resolution が許される値か。モデルによって対応が違う
API permission_denied コード名だけが書かれていて、原因の説明は、読んだページには見つからなかった。キーとモデル名を見直す(この記事の案)
APIの動画が pending のまま 数分かかることがある。SDKの generate() は、既定で10分待つ
画像編集で images.edit() が失敗する OpenAIのSDKの images.edit() は使えない。JSONで送る
URLが開けなくなった 返るURLは一時的。完成後すぐに保存する
動画編集で元動画が受け付けられない .mp4で最大8.7秒か(編集)、2〜15秒か(延長)

気をつけること

出典