3行でいうと
- 画面の場面(画像を作る、写真を編集する、画像を動画にする)は、公式のFAQとストアの説明に、できることは書かれています。ボタン名や画面の順番を並べた手順書は、読んだ範囲では見つかりませんでした。
- APIの場面は、公式のドキュメントに手順があります。画像生成、画像編集(1枚・複数枚)、動画生成(文章から・画像から・参照から)、動画編集、動画延長です。動画は、依頼を出して、状態を何度も確かめて、完成したURLを取る非同期の流れです。
- 例の指示文(プロンプト)は、「この記事の例」と書いたものだけが、この記事で組んだものです。公式のドキュメントの例は、英語で書かれています。日本語の指示でどこまで通じるかは、公式で確認できていません。
- 最初の1時間の順番は、「画面で画像1枚 → 直す → 画面で動画1本 → APIで画像1枚」の案を、最後に書きます。
この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。運営者はGrok Imagineを入れていますが、使い心地はこの記事には書いていません。手順は「公式の手順を順に並べたもの」です。コードは、公式のページの例にもとづく形で載せています(公式ページは要約の形で取得しました。実行前に公式ページの原文と見比べてください)。この記事で組んだ指示文や案は、動作を確かめていません。入れ方とサインインは05、できることの一覧とモデル名は02、料金・権利・データは04を参照してください。
先に結論
- 画面で作るときは、「文章を入れる → 結果を見る → 言葉で直す」の繰り返しです。 この流れは、02が読んだx.aiの記事(画面の側の説明)に書かれています。この記事で今回読んだ公式ページでは、App StoreとGoogle Playの説明文が、文章から画像、音声つきの短い動画、写真の動画化、声だけでの画像生成、物の削除・背景の変更・画風の適用を挙げています。
- 画面の細かい操作(どのボタンで、どの項目か)は、公式で確認できていません。 手元の画面と照らして進めてください。
- APIでは、依頼の形が決まっています。 画像は同期(待てば結果が返る)、動画は非同期(依頼ID→確認→完成)です。
- 動画の編集と延長は、元の動画の長さや形式の条件があります。 編集は元の動画が最大8.7秒、延長は元の動画が2〜15秒です(APIのドキュメント)。
- 費用がかかる使い方です。 動画は、画面では利用枠を多く使い、APIでは秒単位の課金です。最初は短く・小さく作ります。
前提:用語をそろえる
- プロンプト:作りたいものを説明する文章です。
- 同期・非同期:同期は、依頼を出すと、待てばそのまま結果が返る形です。非同期は、依頼を出すと「受付番号(request_id)」が返り、その番号で完成を何度か確かめに行く形です。
- request_id:非同期の依頼の受付番号です。
- ポーリング:完成したかを、数秒おきに確かめに行くことです。公式の例は5秒おきです。
- 参照画像(リファレンス):「この人」「この商品」と見せるために、依頼に添える画像です。
- data URI・base64:画像のデータを、文字列にして依頼に埋め込む書き方です。
- file_id:Files APIに保存したファイルの番号です。使い方は07で扱います。
- モデレーション:生成物がコンテンツポリシーの審査を通ったかの判定です。APIの結果に
respect_moderationという項目があると、公式のページが書いています。
たとえ話:注文書を書き直す
画像や動画づくりは、注文書を書いて、仕上がりを見て、注文書を書き直す作業です(僕らのたとえです)。1回で決めようとせず、「主役は何か」を最初に書き、仕上がりを見てから、足りないところだけ書き足します。公式の画像プロンプトのガイドは、編集では「変えたいことを先頭に書き、変えない点を続ける」と書いています(02で扱いました)。
場面1:画面で、文章から画像を作る
公式で分かること
- 画面(Web・アプリ)で、文章から画像を作れること。ストアの説明文は、テキストから画像を生成し、声だけで画像を生成することもできる、と書いています。
- 生成した画像には「grok」の透かしが入り、消す設定はないこと(FAQ)。
- Imagineは週次の利用枠を消費すること(FAQ)。
この記事の案(公式の画面手順ではありません)
- grok.com/imagineか、アプリを開いてサインインする(05)。
- 入力欄に指示文を入れて送る。例(この記事の例):
木の机の上に、白いマグカップが2つ。左のカップには赤い花が1輪。
斜め45度から、朝の窓の光で撮った写真のように。
- 出てきた画像を見て、足りないところを1つだけ言葉で直す。例(この記事の例):「背景を少しぼかして」。
- 気に入ったら、保存や共有の方法を手元の画面で探す。画面からのダウンロードの手順は、公式のFAQには書かれていませんでした。
書き方の手がかり(公式のドキュメントの考え方、APIのガイド):主題を最初に一文で書く、数と視点を書く、材料や質感を具体的に書く、という考え方が、公式の画像プロンプトのガイドにあります(02で扱いました)。画面向けのプロンプトの案内は、読んだ範囲では見つかっていません。上の例は、そのガイドの考え方に合わせて、この記事で組んだものです。
日本語で指示してよいか:公式のドキュメントの例は、英語です。画面で日本語の指示がどこまで通じるかは、公式で確認できていません。通じにくいと感じたら、英語に直して試すことになります(この記事の案)。
場面2:画面で、手元の写真を渡して編集する
公式で分かること
- ストアの説明文は、既存の画像について、物の削除、背景の変更、アートスタイルの適用ができると書いています。
- FAQが挙げる取り込める形式は、画像がJPEG/JPG、PNG、WebP、HEIC、BMP、動画がMP4とMOVです。GIFとSVGは、プラットフォームによって失敗する場合があります。「150 MB per file」はドキュメント・画像・コード・音声などの「ほとんどのファイル」の上限として書かれていて、動画の上限は、FAQでは確認できていません。同時に添付できる数は、Webが約100、Androidが20、iOSは複数と、FAQが書いています。
この記事の案
- 写真を選んで入力欄に添える(添える方法は、手元の画面で確認)。
- 変えたいことを先頭に書く。例(この記事の例):「背景を無地の白にして。人物と服はそのままで」。
- 結果を見て、変えたくない所が変わっていたら、「変えない点」を増やして書き直す。
写真に人が写っている場合:04で、入力に人物の画像が含まれるときの規約の書き方を扱っています。他人の顔写真は、使う前に04を読んでください。
場面3:画面で、画像を動画にする
公式で分かること
- ストアの説明文は、音声つきの短い動画を作ること、写真を動画に変えることを挙げています。
- 動画は、チャットより多くの計算資源を使い、週次の枠を多く消費します(FAQ)。720pは、枠の上限に達すると480pに自動で切り替わります(FAQ)。
- 動画の長さ、解像度などの数字は、APIのドキュメントにあります(場面7で扱います)。画面で同じ選択肢があるかは、公式の資料では確認できていません。
この記事の案
- 場面1か2で作った画像を選び、「動画にする」に当たる操作を、手元の画面で探す(ボタンの名前は確認できていません)。
- 「その後に何が起きるか」を書く。APIのVideo Generationのページは、画像から動画では、渡した静止画が開始フレームになる、と書いています。プロンプトにその後の動きを書く、という書き方は、02が読んだページの記載で、今回読んだページでは確認できていません(この記事の案)。例(この記事の例):「カップから湯気がゆっくり立ちのぼる。カメラは少し寄る」。
- 最初は短い動画で試す。
場面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)
- 次のファイルを
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)
- ターミナルで
python make_image.pyを実行する。 - 表示された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枚を編集する
- エンドポイント:
POST https://api.x.ai/v1/images/edits - 重要な点:リクエストは
application/jsonです。OpenAIのSDKのimages.edit()はmultipart/form-dataを使うため、使えません(Image Editingのページ)。 - 元画像は
imageに入れます。渡し方は3通りです:公開URL、data:image/jpeg;base64,...のようなdata URI、Files APIのfile_id。
公式の例にもとづく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)
複数枚を合成・編集する
- 元画像は最大5枚で、送った順に扱われます。出力の縦横比は、既定で1枚目の入力画像に従い、
aspect_ratioで上書きできます(Multi-Image Editingのページ)。 - リクエストは
imagesの配列で、各要素は{ "type": "image_url", "url": "..." }の形です。 - 公式ページのcurlとPythonの例は、取得した結果では改行が崩れ、コメントが混じっていたため、写しません。この記事で、ページの説明に合わせて組んだ形を書きます(動作は確かめていません)。
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)
- リクエストは
model、prompt、image({"url": ...})、duration、resolutionです。imageだけで、画像から動画になります。 - 画像の渡し方は、公開URL、base64のdata URI、
file_idの3通りです。 grok-imagine-video-1.5は、ネイティブ1080pに対応します(Image-to-Videoのページ)。- 公式のページは、curl・Python・JavaScriptの例を載せています。この記事では、SDKの形だけを案内します。
client.video.generate(...)にimage_urlなどを渡します。引数の細かい形は、原文で確認してください。
参照から動画(Reference-to-Video)
- 参照画像は
reference_images({"url": "..."}の配列)で渡します。URL、base64、file_idを混ぜられます。 - プロンプトの中で、参照画像を
<IMAGE_0>、<IMAGE_1>のように、並んだ順に指します。imageで最初のフレームを固定すると、その画像が<IMAGE_0>になり、参照画像は<IMAGE_1>から始まります。 - 声の参照は
reference_audiosで、{"voice_id": "eve"}のように、組み込みの音声から選びます。音声は<AUDIO_0>などで指します。自分の音声ファイルは、信頼されたパートナーのみ利用でき、不明なIDは400が返ると、ページが書いています。 - 制限(ページの表):参照画像は
grok-imagine-video-1.5で最大14枚、grok-imagine-videoで最大7枚。音声参照は1.5のみ、最大3件。最大720p。長さは1.5が最大15秒、grok-imagine-videoが最大10秒。参照画像、音声、last_frame、keyframesのいずれか1つ以上が必要です。
この記事で、ページの説明に合わせて組んだ最小の形です(動作は確かめていません)。
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)
POST https://api.x.ai/v1/videos/edits、modelはgrok-imagine-video。video.urlに元動画を渡す(公開URL、data URI、file_id)。duration、aspect_ratio、resolutionは使えません。- 元動画は
.mp4(H.264、H.265、AV1など)で、最大8.7秒。出力は、元と同じ長さ・縦横比・解像度(上限720p)です。 - プロンプトには、変えたい内容と、変えない要素(顔、手、ポーズ、背景など)を書くよう、ページが勧めています。
この記事で組んだ形です(動作は確かめていません)。
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)
POST /v1/videos/extensions。開始するとrequest_idが返り、GET /v1/videos/{request_id}で確かめます。- 元動画は
.mp4で2〜15秒。延長の長さdurationは2〜10秒(既定6)で、延長部分だけを指定します。出力は、元と同じ縦横比・解像度(上限720p)です。 modelは、要件の表と、REST・Python SDK・AI SDKの例のすべてでgrok-imagine-videoです。AI SDKの例は、元動画の生成にgrok-imagine-video-1.5を使い、延長にgrok-imagine-videoを使っています。Python SDKはclient.video.extend(...)(video_urlを渡す)で、確認は自動で行われる、と書かれています。細かい引数は原文で確認してください。- 状態として、
failedのほかにexpiredがあると、curlの例の説明に書かれていました。
場面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秒か(延長) |
気をつけること
- この記事は、実際に使って確かめた記録ではありません。運営者はGrok Imagineを入れていますが、使い心地はこの記事には書いていません。公式の資料を読んだ範囲です。
- 画面の操作の手順(どのボタンを押すか)は、公式のFAQ・ストアの説明に書かれていた範囲しか書けませんでした。この記事の案は、公式の手順ではありません。
- コードは、公式のページの例にもとづく形で、取得は要約を経由しています。複数画像編集、動画編集、参照から動画の最小例は、この記事で組んだ形です。実行前に、必ず公式ページの原文と見比べてください。
- 日本語のプロンプトが通じるかは、確認できていません。
- 動画の生成と編集には、画面の利用枠、またはAPIの課金がかかります。料金・枠は04と公式の料金ページで確かめてください。数字は、この記事には載せていません。
- 人物の写真や声を使う場面は、04で扱う規約の記載を、先に読んでください。この記事は、本人の同意のない人物を題材にする手順を扱いません。
- 画面の表記、モデル名、制限の数字は変わります。公式で最新を確かめてください。
出典
- Grok Imagine(SpaceXSI、確認日 2026-10-25)
- Help & FAQ(docs.x.ai、確認日 2026-10-25)
- The X Subscription Overview(docs.x.ai、最終更新2026-10-12、確認日 2026-10-25)
- Grok(App Store 日本、確認日 2026-10-25)
- Grok AI(Google Play 日本語、確認日 2026-10-25)
- API Quickstart(docs.x.ai、確認日 2026-10-25)
- Imagine Overview(docs.x.ai、2026-10-08更新、確認日 2026-10-25)
- Image Generation(docs.x.ai、確認日 2026-10-25)
- Image Editing(docs.x.ai、確認日 2026-10-25)
- Multi-Image Editing(docs.x.ai、確認日 2026-10-25)
- Video Generation(docs.x.ai、確認日 2026-10-25)
- Image-to-Video(docs.x.ai、確認日 2026-10-25)
- Reference-to-Video(docs.x.ai、確認日 2026-10-25)
- Video Editing(docs.x.ai、確認日 2026-10-25)
- Video Extension(docs.x.ai、確認日 2026-10-25)