Yyatmita

【第6回】Grok の CLI にお題だけ渡した——カット割りも、そろえ方も、効果音も自分で決めた

前回のエチュード No.1「プリン残ってた」と同じお題とキャラクターの参照画像だけを、xAI の Grok Build(CLI)に渡した。Grok は基準画を先に作り、8 カット・20 秒の 1 本を、効果音まで付けて仕上げた。前回の手元の Wan で破綻したキャラクターと冷蔵庫のそろい方は、全カットで保たれた。動画の道具を 1 つずつ確かめた結果と、動画が「ゼロデータ保持」で止まった件・CLI が手元の Claude Code の設定を読み込む件・使える量が尽きた件も含めた記録。

AI動画制作#ai-video#grok#xai#etude
← 前の記事: 【第5回】同じお題を Muse・Gemini・手元の Wan で作り比べた——Wan は「低級言語」だった

この記事の動画は、すべて AI 生成動画(映像: Grok Build の CLI から呼んだ Grok の画像と動画の道具。お題の版の効果音: Grok が ffmpeg で合成したもの。道具を確かめた分の開始画: 前回 GPT-image-2 で描いたもの。声: Grok の用意された声)。比べるために載せた Gemini 版と agy 版は、前回の記事のもの。

前回は、同じお題を Muse・Gemini・手元の Wan で作り比べ、「Wan は低級言語、Muse と Gemini は高級言語」と書いた。手元の Wan では、カット割り・キャラクターと物のそろえ方・表情のタイミングを全部こちらが書き、書き損じがそのまま破綻になった。

今回は、xAI の Grok を CLI(Grok Build)から使った。Grok Build は、画像と動画を作る道具を持ったエージェントだ。前回の言い方なら高級言語寄りなので、前回 agy に渡したのと同じお題とキャラクターの参照画像だけを渡し、あとは任せた。

先に結論を書いておく。どれも 1 回ずつ作っただけの結果だ。

  • お題と参照画像だけで、Grok は 8 カット・20.25 秒の 1 本を仕上げた。基準画・カット割り・各カットの動画・つなぎ・効果音まで、全部 Grok が決めた
  • キャラクター・服・冷蔵庫・プリンのカップ・扉の開く向きが、8 カットを通してそろった。前回の手元の Wan で破綻した所だ
  • Grok は自分の動画のコマを見て、扉を開ける途中で手が二重になった所を切り、使わなかった
  • 気になったのは 1 か所だけで、驚きの寄りのカットの頭 0.2 秒だけ目を閉じている
  • 約 21 分。CLI の cost 欄は合計 $2.34
  • 高級言語なのに、基準画・各カットの動画・つなぎ方・カット割りの表が全部手元に残った。1 カットだけ直す、といった手が打てる

渡したもの

  • お題: 前回 agy に渡したのと同じ文(状況・感情の弧・評価基準・形式・キャラクター)。感情の弧は「疲労(無表情)→ 発見の驚き(柔らかい驚き)→ 至福(目を閉じて噛みしめる)→ 喜びの保持(抱えて笑顔で止まる)」、形式は縦 9:16・15〜25 秒・セリフなし・音は編集で合成した効果音だけ
  • キャラクターの参照画像: 前回と同じ 1 枚(服だけ部屋着に替える、とお題に書いてある)
  • 指示文: 次の 4 行だけ。頭の /imagine-video は、Grok 同梱の画像と動画の手引き(skill)を読み込ませるもの

/imagine-video odai.md のお題に沿って、エチュードの動画を 1 本作ってください。カット割り・開始画・各カットの動画・つなぎ方は、すべてあなたが決めてください。

  • 入力: odai.md(お題)、in/chara_ref.png(キャラクターの参照画像)
  • 完成品: out/etude01_grok.mp4(縦 9:16)。途中の素材も out/ に置いてかまいません
  • シェルで使えるコマンドは ffmpeg と ffprobe だけです
  • 最後に、決めたカット割り(カットごとの画角・長さ・狙った感情)を out/plan.md に書いてください

許したのは、画像と動画の生成の道具、作業フォルダの中の読み書き、ffmpeg と ffprobe だけ。途中で 2 回止まった。どちらも、こちらが許していない形でコマンドを使おうとしたためで(シェルの変数、/tmp への書き込み)、「ffmpeg か ffprobe で始まる 1 行だけ」「書けるのは作業フォルダの中だけ」と伝えて続けさせた。

Grok がやったこと

最初に、部屋着の全身・プリンのカップ・台所の配置の基準画を作り、そこから全カットの絵を作った。配置は「冷蔵庫が画面の左、彼女がその右」に固定している。

Grok が最初に作った基準画 3 枚。左は部屋着(クリーム色の T シャツと濃紺の短パン)の全身、中は透明なグラスに入ったカラメルのプリン、右は夜の台所で左に冷蔵庫、右に立つ彼女

静止画は 14 枚、動画は 7 本作った。そこから使う区間を切り出し、8 カットにつないだ。Grok が plan.md に書いたカット割りは次のとおり。

カット画角長さ狙った感情
1胸から上1.2 秒至福の先出し(目を閉じて、カップは顎の下)
2膝上3.6 秒疲労(無表情のまま目を閉じる)
3腰上1.4 秒疲労のまま、右手を取っ手に
4腰上1.2 秒扉が開き、冷気の光と棚のプリン
5顔の寄り3.4 秒柔らかい驚き(目と唇が少し開く)
6腰上2.7 秒驚きがほどけ、カップを胸元へ(棚は空)
7胸から上4.0 秒至福(カップを顎の下へ、目を閉じる)
8もも上2.8 秒喜びの保持(抱えたまま、目を開けて笑顔で止まる)
Grok が決めた 8 カットの真ん中のコマを並べた図。1 至福の先出し、2 疲れ、3 取っ手に手、4 扉が開く、5 驚きの顔の寄り、6 カップを手に取る、7 目を閉じて噛みしめる、8 抱えて笑顔。どのコマも冷蔵庫が左にある

plan.md にはほかに、つなぎは全部ハードカット、扉を開ける動画の途中で手が二重になったので、取っ手に手をかけた画から開ききった画へ切った、と書いてあった。実際、Grok は書き出した動画からコマを抜き出して並べ、自分で見ていた。前回、この確かめは Claude Code がやっていて、しかも見落とした。

効果音は、ffmpeg のノイズや波形の生成で合成していた。部屋の低いノイズを全体に敷き、疲れで目を閉じるあたりに短い息、扉が開く切れ目に扉の音、冷蔵庫の低い音、カップを持つ切れ目に短いガラスの音を置いている。音量は小さめだった。

完成品

前回の Gemini 版(1 回の生成)と agy 版(agy がカット割りを決め、手元の Wan で作ったもの)を並べる。

Grok 版(お題だけ・20.25 秒)

Gemini 版(前回・10 秒)

agy+Wan 版(前回・21.0 秒)

お題の評価基準に沿って、各カットの頭と尻のコマと、顔・手の拡大で確かめた。全コマを見たわけではない。

評価基準Grok 版
1. 音なしで感情の変化が段階的に読めるか読める。疲れ(2〜4)→ 柔らかい驚き(5)→ 目を閉じて噛みしめる(7)→ 抱えて笑顔(8)。冒頭 1.2 秒に至福を先に出している
2. 視線・手の到達点・対象物の位置と同一性冷蔵庫はいつも左、プリンは扉の内側の棚に透明なカップ 1 つ。取っ手にかけたのは右手で、左右も合っていた
3. 大げさすぎず真剣すぎず、別人にならないかカットの間では、顔の寄りでも別人にならなかった。驚きは目と唇が少し開く程度。ただ、参照画像と比べると、髪が白っぽく、冷蔵庫の光が当たるカットでは灰色がかって見える
4. 手・髪型・衣装・背景が崩れないか使われた区間では崩れは見つからなかった。手が二重になった区間は Grok が外していた。驚きの寄りの頭 0.2 秒だけ目を閉じている

高級言語の中身が見える

前回の表に当てはめると、Grok は高級言語の側の仕事を全部やった。

前回、高級言語が裏でやっていたことGrok
短い文から、カット割りを決めるお題から 8 カットを決め、表にして残した
キャラクターと物を同じに保つ基準画を先に作り、全カットの絵をそこから作った
表情の変化のタイミング至福の先出し、驚きの寄り、目を閉じる至福を、カットの長さで決めた

前回 Claude Code がやった編集(使う区間を選ぶ、崩れた所を外す、効果音を足す)も、Grok がやった。

違うのは、作った物が全部手元に残ることだ。Gemini は 1 回の生成で動画だけが返ってくる。Grok は、基準画・14 枚の静止画・7 本の動画・つなぎ方の指定・カット割りの表を作業フォルダとセッションに残した。高級言語でも、コンパイルした結果を開いて読める。気になった驚きの寄りのカットだけを作り直す、といった直し方ができそうだ(まだ試していない)。

道具を 1 つずつ確かめた分

お題の版の前に、Claude Code に動画の道具を 1 つずつ確かめさせていた。動画の道具は reference_to_video の 1 つだけで、同梱の生成の手引きには、引数がこう並んでいた。

できること道具・引数試したか
画像を作るimage_gen(/imagine)試した
画像を直す・組み合わせるimage_edit単体では試していない(お題の版で Grok が使った)
画像から動画にするreference_to_video の first_frame試した
最初と最後のコマを決めるfirst_frame+last_frame試した(3 秒)
途中のコマを決める(4 つまで)keyframes試せなかった(残高切れ)
参照画像でキャラクターと場所をそろえる(14 枚まで)images1 カットだけ
台詞をしゃべらせる(用意された声 3 つまで)voices試した(日本語 1 文)
長さを決める(1〜15 秒)・480p か 720pduration・resolution_name3〜6 秒だけ
文字だけから動画にする(道具は無い)Grok が静止画を作ってからつないだ

前回の開始画を渡して、2 本作った。1 本目は、冷蔵庫の前で嬉しそうな c5 を最初のコマにして、「プリン、残ってた!」と言わせた。2 本目は、ぼんやりした顔の寄り(c4)を最初のコマ、目を閉じた至福(c6)を最後のコマにした。

渡した開始画 3 枚。左は正面の顔の寄りでぼんやりした顔(c4)、中は冷蔵庫の前で嬉しそうに口を開けた中サイズ(c5)、右は正面の顔の寄りで目を閉じて微笑む顔(c6)

c5 から・声つき(5 秒)

c4 → c6(3 秒・声なし)

声つきの 1 本は、文字起こし(faster-whisper)で 0.9〜2.2 秒に「プリン残ってた」と出た。その間の口は、開いて、閉じて、また開いている。

声つきの動画の 0.8 秒から 2.3 秒までの口元を 0.3 秒ごとに並べた図。1.1 秒で口が閉じ、ほかのコマでは開いている。2.3 秒で目に星が入る

最初と最後のコマを決めた 3 秒は、1 秒あたりまでぼんやりした目のまま、1.5 秒までに目が閉じて口角が上がり、最後のコマで終わった。前回の Wan は 1.25 秒で目を開けてしまい、目を閉じた至福が出せなかった。

最初と最後のコマを決めた 3 秒の動画から、0.5 秒ごとに目と口元を切り出した図。0 から 1 秒はぼんやりした目、1.5 秒以降は目を閉じて微笑んでいる

ほかに、文字だけで頼んだ紙の舟(Grok が開始と終了の静止画を作ってからつないだ)と、前回 agy が作った設定画 2 枚だけを参照にした引きのカットも作った。引きのカットは、キャラクターは設定画どおりだったが、冷蔵庫が片開きから両開きに描き変わり、「右手で開ける」と書いたのにカメラから遠い左手で開けた。

道具の層だけ見れば、reference_to_video は高級言語と低級言語の間にある。最初と最後のコマ・参照画像・長さはこちらが決め、間の演技は Grok が埋める。ただ、それは Claude Code がそう使ったからで、エージェントとしての Grok は、お題の版のとおり高級言語だった。

つまずいたところ

動画が「ゼロデータ保持」で止まった

最初に動画を頼んだときは、こう返ってきた。

Video generation tools are unavailable under zero data retention (ZDR). To enable, either turn off /privacy mode to disable ZDR or supply a user-hosted storage bucket (see https://docs.x.ai/build/settings/zdr-video-storage).

ZDR を切るか、動画を置く場所(ストレージのバケット)を自分で用意するか、のどちらかが要るという。

CLI で /privacy を開くと、出てくるのは「Coding data, retention, and training」の選択だけだった。説明はこう書かれている。

Opt-in to provide SpaceXAI the ability to retain and train on coding data, e.g., prompts, traces, & metrics, for training and debugging purposes.

つまり Opt in は、プロンプトや処理の記録を残し、学習に使ってよいという同意だ。これが動画を止めている ZDR と同じものなのかは、CLI 同梱の説明書と公式ドキュメントからは読み取れなかった。

試しに Opt in にしたら、動画が作れた。分かったのは「この 1 アカウント・この日は、Opt in で通った」ところまでで、プランが関係ないとまでは言えない。動画が作れるようになる代わりに、Opt in の間に送ったもの(お題・指示文・参照画像・開始画)は学習に使われうる。

手元の Claude Code の設定を読み込んでいた

Grok Build は、ほかのエージェントの設定も読み込む(説明書の「Harness compatibility」)。既定では、ホームフォルダにある Claude Code の CLAUDE.md・rules・skills・MCP サーバーの設定も読む(grok inspect の一覧で確かめた)。最初の動画の試し(5 往復)では、入力のトークン(キャッシュから読んだ分を除く)が約 9.3 万だった。

Opt in のまま、手元の指示文を送りたくなかった。説明書にある Claude 用の環境変数を切ると、grok inspect の表では「off」になった。ところが、読み込む指示文の一覧には CLAUDE.md と rules が残っていた。そこで、.grok だけを置いた空のフォルダを HOME にして走らせた。読み込む指示文は 0、skills は Grok 同梱のものだけ、MCP サーバーは 0 になった。同じ 5 往復の入力(同じ数え方)は約 2.1 万トークンになった。

人が操作しないと、道具が承認待ちで止まる

ヘッドレス(grok -p)で動かすと、生成の道具を呼ぶところで「承認が要るが、聞けないので実行しなかった」と止まった。--allow で許す物を足していった。最後の形は、生成の道具(imagine・image_gen・image_edit・reference_to_video)、作業フォルダの中だけの Read・Edit・Write、Bash(ffmpeg *) と Bash(ffprobe *)。

説明書には、読み書きできる場所を絞る --sandbox もある。いちばん狭い strict を試したが、起動を拒まれた。空の HOME に置いた .grok がリンクだと受け付けず、そのため仕切り(bwrap)の準備ができない、というエラーだった。

8 回目で使える量が尽きた

道具の確かめで CLI を 7 回走らせたあと、8 回目でこう止まった。

API error (status 402 Payment Required): Grok Build usage balance exhausted

7 回の cost 欄の合計は約 $0.28 だった。これがサブスクの使える量からそのまま引かれているのか、別に請求されるのかは分からない。同じ日に対話の画面でも Grok を使っていた。次の節のとおり、新しいプランでは使える量がチャットとも共有なので、その分も同じ残高から引かれていたのかもしれない。

そこで X Premium+ に入った。残高切れの約 1 時間後にお題の版を走らせ、cost 欄で $2.34 使っても止まらなかった。入ったから増えたのか、時間で戻ったのかは分からない。CLI のログイン情報の表示は、最後まで「X Premium」のままだった。

プランと使える量(2026-11-04 時点)

xAI のお知らせ(X Subscription)では、Grok のサブスクは次の 5 つになっている。

プラン月額使える量
Free$0—
Plus$8基準
Premium$30Plus の 4 倍
Super$100Plus の 15 倍
Ultra$200Plus の 50 倍
  • 使える量は、チャット・Imagine・Grok Build などで共有
  • Premium には、SuperGrok・Cursor Pro・X Premium+ の特典が入る
  • それまでの SuperGrok・Cursor・X Premium の契約は、そのまま続けられる
  • プランごとに、Grok Build や動画の生成がどこまで使えるかは、このお知らせには書かれていない

時間とコスト

実行中身かかった時間cost 欄出来上がり
お題の版 1お題から基準画・静止画・動画まで約 10 分$0.70静止画 14 枚・動画 3 本(シェルの変数で止まる)
お題の版 2続き約 7 分$0.65動画 7 本まで(/tmp への書き込みで止まる)
お題の版 3つなぎ・効果音・カット割りの表約 5 分$1.00720x1280・20.25 秒・効果音つき
確かめ 1〜7画像 1 枚・紙の舟・c5+声・c4→c6・参照画像だけの引き ほか1 本 20 秒〜1.5 分計 $0.285 秒前後の動画 4 本など
確かめ 8・9参照画像だけの寄り・途中のコマ+15 秒——残高切れ(402)

動画はどれも 24fps。お題の版の往復は 3 回で合わせて 28。

まだ分かっていないこと

  • 毎回こうなるか(お題の版は 1 回だけ)。驚きの寄りの頭の目閉じを、そのカットだけ直させられるか
  • 典型でないカット割りを頼んだら、どこまで聞くか
  • 途中のコマ(keyframes)と、15 秒の長さ。参照画像だけで、複数のカットのキャラクターがそろうか
  • cost 欄が何を表し、請求されるのか。使える量の大きさと、いつ戻るか。このアカウントが新しいプランのどれに当たるか
  • Opt in と ZDR の関係。プランやログインの形でも変わるのか

前回の記事: 【第5回】同じお題を Muse・Gemini・手元の Wan で作り比べた——Wan は「低級言語」だった