西川和久の不定期コラム
ローカル動画生成をSora 2っぽく使う――LLMシナリオ生成を組み込もう
2026年3月26日 06:07
2026年3月5日にリリースされた「LTX-2.3」により、セリフ/ナレーション/BGM/音楽も同時に生成、解像度はHD/フルHD対応、長さは最大20秒……など、ローカルAI生成動画環境がまた一歩先に進んだように思う。
ここまで来れば「Sora 2」っぽいのが作れるのでは?と、その試行錯誤の結果が今回のお題となる。
そもそもSora 2の本質は「ざっくりしたプロンプトから複数シーン/セリフ/音楽を自動で組み立てる」点にある。つまり単なる動画生成ではなく、シナリオを考える部分も含めて自動化されているからこそ、あの使い勝手が生まれるのだ。これをローカルで再現するには、LTX-2.3の前段にシナリオ生成の仕組みが必要だ。それをLLMのパイプラインで実現するのが本記事のテーマである。
まずはシステムプロンプト(System Prompt)を理解しておこう
本題に入る前に、関係する重要なポイントについて先に触れたい。「LM Studio」などチャット系アプリを使うとき、単にそのままチャットを始める人が多いのではないだろうか?意識してシステムプロンプト(System Prompt)を設定しない限り、システムプロンプトは空のままLLMが作動する。
たとえば、
今日はいい天気ですね!
を英訳したいとき、
今日はいい天気ですね! を英語へ
と、プロンプトで入力するのが一般的だ。すると、
It's a nice day today!
と答えが出るのではないだろうか。
しかし、常に英語への翻訳を依頼する場合、「を英語へ」を毎回書くのが面倒だ。こんなとき、システムプロンプトへ以下のような内容を入れると、翻訳系を楽に行なえる。
Translate the input text according to these rules:
- If the input is in Japanese→translate to English
- If the input is in any other language→translate to Japanese
Output only the translation. No explanations, notes, or additional text.
このシステムプロンプトは、簡単な英語なので説明は不要かも知れないが、入力したテキストに対して、ルールが2つ自動的に適用される。
- 日本語なら英語へ
- そのほかの言語なら日本語へ
となっている。ちなみに最後の一文は、不要な解説を排除するための命令だ。尋ねていることに対して(AIが)いろいろと余計な説明を加えてくるケースがよくあるが、この一文でそれを防ぐことができる。
これをLM Studioのシステムプロンプトへ入れ、「翻訳」など名前を付けて保存しておけば、必要なときに呼び出してすぐに使うことができるる。筆者の場合、ほかにもいくつか登録してあるが、このケースが一番多いだろうか。
つまり、システムプロンプトとは、AIとの会話が始まる前に設定される「事前指示」であり、ユーザーのメッセージとは別に、AIの振る舞いや役割をあらかじめ定義するものだ。簡単な例だと、
- 画像生成プロンプトエンジニアとして答える
- 日本語のみで回答
- 医療アドバイスはしない
といった形で、AIの応答のトーン/制約/役割/出力形式などを制御するのに使う。以下にちょっと複雑な例として、後で解説するSora 2化用システムプロンプトの1つを紹介する。
これは、セリフの部分が日本語のままだとLTX-2.3が妙な発音になってしまうため、ローマ字に変換するシステムプロンプトだ。
You are a Japanese-to-romaji converter.
Your only job is to find all Japanese dialogue in the text and convert it to romaji (Hepburn romanization).
RULES:
- Convert ALL Japanese characters (kanji, hiragana, katakana) in dialogue to romaji
- Keep all English text exactly as-is
- Do NOT translate Japanese to English
- Do NOT add parentheses, English translations, or explanations after romaji
- Do NOT remove, add, or modify any other part of the text
- Output the complete text without truncation
EXAMPLES:
"かっこいいでしょ!"→"Kakkoii desho!"
"これすき!"→"Kore suki!"
"さいこうね"→"Saikou ne"
"めっちゃたのしい!"→"Meccha tanoshii!"
"またあしたね!"→"Mata ashita ne!"
筆者の指示でClaudeが考えたものだが、ある意味、緩いプログラミングをしている感じだ。
このシステムプロンプトの指示は複雑なため、どのレベルのLLMで正常に作動するかを確認した。その結果、Qwen3.5 9BはOKだったが、4Bは場合によって変換できないケースがあった。従ってある程度大きい規模のLLMを使わないとうまく動かないことがあるため要注意だ。
LTX-2.3のT2VとI2Vにシナリオ生成機能を付けるには?その1
さてここからが本題。冒頭にも述べたが、実際Sora 2を使ってみると、T2V(テキストからビデオへ)の場合、簡単なプロンプトからいくつかのシーン、セリフ、音楽などを自動的に考え、それを映像に反映させている。もちろん、時間指定やストーリーボードで細かく指示もできるが、何よりこの「ザックリ書いてそれなりの映像を出せること」こそがSora 2らしさといえるだろう。
これをローカルで動画生成するLTX-2.3で実現しようとすると、T2VとI2V(画像からビデオを生成する)とでは、生成されるべきシナリオはまったく異なる。
T2Vの場合は、限られた尺の中でなるべく多くのシーン、異なるファッションなどを詰め込んだ方が面白い映像になる。もちろんユーザーから場所や季節、衣装の指定があればそれに従う。
対して、リファレンス画像(1枚目のフレーム)が存在するI2V場合、T2Vとは真逆のアプローチ。背景や衣装などはリファレンス画像のままを維持し。カメラの寄り引き、アングルの変更などによって尺を埋めることになる。こうしないとリファレンス画像を指定した意味がなくなり、急に背景が違う場所に変わるなど、映像的にも違和感が生じるためだ。
つまり流れ的には、以下の2パターンとなる。
- T2V用シナリオ生成→セリフ/ローマ字変換→T2V用LTX-2.3が理解しやすいプロンプトへ変換
- I2V用シナリオ生成→セリフ/ローマ字変換→I2V用LTX-2.3が理解しやすいプロンプトへ変換
LTX-2.3が理解しやすいプロンプトへ変換とは?これに関しては、ComfyUIのここに、LTX-2.3用プロンプト拡張、TextGenerateLTX2Promptノードが標準対応で入っており、このノードを開くと、「LTX2_T2V_SYSTEM_PROMPT」と「LTX2_I2V_SYSTEM_PROMPT」と2つに分かれているのが分かる。これをそのまま使ってもいいし、必要に応じて追記/変更する。
書かれている内容をザックリ紹介すると、
テキストのみを入力として受け取り、動画生成モデル向けの詳細なプロンプトに拡張
- 入力が曖昧でも、照明・質感・服装・表情などを自分で補完して具体化
- スタイル指定がなければ「cinematic-realistic」をデフォルトとする
- 音響も映像と同期して時系列で記述(BGM・環境音・SFXなど)
- 台詞は要求された場合のみ、声の特徴付きで正確に記述
画像(リファレンス画像)+テキストを入力として受け取り、その画像から続く動画のプロンプトを生成
- 画像を分析してシーン・スタイル・ムードを把握
- 画像からの変化点のみを記述(既存の視覚情報を繰り返さない)
- ユーザー指示と画像が矛盾する場合はユーザー指示を優先
- 音響はプロンプト全体に分散して記述(末尾まとめは禁止)
- カメラワーク・台詞は指示なしに勝手に追加しない
- タイムスタンプ・シーンカット記述は原則禁止
- 大げさな表現を避け、控えめで自然な言葉を使う
- マークダウン・見出し等の書式は一切使わない(LTX-2.3固有?)
と、こんな感じだ。一覧を見るだけでも、それなりに細かい指示をしているのが分かる。また内容的にLTX-2.3専用というわけでもなく、動画生成用全般にも使えそうだ。
LTX-2.3のT2VとI2Vにシナリオ生成機能を付けるには?その2
さて、ここまで来れば、上記のパイプライン、残りはシナリオ生成部分だけ。これもシステムプロンプトで記述できる。長くなるので、T2V用をここ、I2V用をここに置いた。やっていることは、
ユーザーがテーマや概念を入力すると、4〜6シーンの動画プロンプトを1段落の連続した英文で出力
主な特徴:
・出力は英語のみ(台詞・歌・ナレーションは日本語必須)
・シーンごとに場所・衣装・カメラワーク・音響が全て異なる
・全シーンに日本語の台詞/ナレーション/歌を必ず含む
・「1シーン指定」があれば厳密に1シーン・1場所のみ生成
・ユーザー指定の内容を検閲・軟化せずそのまま再現
基本的な役割はT2Vと同じ。画像(リファレンス画像)を受け取る点が異なる
T2V版との主な違い:
・提供された画像を分析し、キャラクター・衣装・場所の視覚的一貫性を維持
・指示がない限り、全シーンで画像と同じキャラクター・衣装・場所を使用
・ユーザーが明示的に変更を指示した場合のみ衣装・場所の変更が許可
・ユーザーが台詞を指定した場合は一字一句そのまま使用(改変禁止)
これからも分かるように、T2Vは「自由にシーンを作る」のに対し、I2V版は「リファレンス画像の世界観を起点にシーンを展開する」と、先に説明した内容と一致している。
ComfyUIやLTX-2.3が作動しない環境でも有効で、LM Studioのシステムプロンプトへセット、何かプロンプトを入力して、出力された英文をGrok Imagineやその他動画生成サービスへコピペすれば、それっぽい映像が出来上がる。前々回、
春、桜の花が咲く季節。
週末明けの月曜日、職場にタイプのイケメン。今週も彼に会えるとワクワクな若い日本人美女OLの一日。もちろんファッションは可愛い系
この映像がまさにこのパターンでGrok Imagineを使いT2V生成したものとなる。同じくGrok Imagineを使ったI2V。
若くて可愛い日本人モデルを使った口紅のCM
## 尺
-10秒
## コンセプト
- 春、桜、可愛い
## ロケーション
-満開に咲くおおきな桜の木の下
## ナレーション
-日本語で春と口紅をキーワードとしたセリフ
## 構成
- アップのままアングルを変える
- 最後、大量の桜の上に置いた口紅のアップ
- BGMあり
いかがだろうか?T2V/I2Vのどちらであっても、LM Studioなどシステムプロンプトが設定できるチャットアプリと、外部の動画生成サービスを組み合わせることで、Sora 2のような映像を生成できることがお分かりいただけただろうか。
LTX-2.3のT2VとI2Vにシナリオ生成機能を付けるには?その3。ワークフロー公開!
以下、今回のシステムプロンプト関連のみ独立したワークフローで掲載/公開する。なぜなら、LTX-2.3本体のワークフローはユーザーの好みによってさまざまだからだ。ComfyUIのテンプレートそのまま使ったり、アップスケールなし、x2アップスケールあり、裏技?でx2x2アップスケールありなど、いろいろ考えられる。なお、シナリオT2V/I2V、ローマ字変換、LTX-2.3用プロンプト変換T2V/I2Vも一式入っている。
基本、このワークフローの最終テキスト出力を、LTX-2.3のCLIP Text Encode (Positive プロンプト)ノードのテキスト入力に接続すればOKということもあり、LTX-2.3のワークフローと分離した。
もちろんこの最終テキスト出力を有料APIノードのGrokやVeoに接続してもいいし、Web版のGrok ImagineやSora 2にコピペしても良い。ある意味、汎用版というわけだ。
まず背景グリーンの部分がこのSora 2化システムプロンプト一式。先に書いたように、シナリオ生成、日本語/ローマ字変換、LTX-2.3が理解しやすいプロンプトへ変換の順に並んでいる。
中央上、紫の小さいノードが2つあるのは生成されたプロンプトに
cinematic, film photography aesthetic, natural color grading,
subtle film grain, muted and desaturated colors,
warm shadows, soft highlights, anamorphic lens flare,
shallow depth of field, organic texture, non-CGI look
を加えている。これがない状態だと非常にクリアな映像となり、フィルムで撮った映画っぽい雰囲気を加えるためのプロンプトだ。Sora 2もこんな感じの映像を出すことが多い。不要なときは外せば良い。
次はT2V/I2Vのシステムプロンプトとその切り替えロジック。赤いノードが切り替え。オンのときにT2V用、オフのときにI2V用となる。
この指定により、上にあるシナリオ生成用の2組と、下にあるLTX-2.3用プロンプトへ変換する2組が、T2V/I2Vでそれぞれ切り替わる。なお日本語/ローマ字変換はT2V/I2V同じなので2段目LLMのシステムプロンプト項目へ固定で入っている。
またI2V作動のときに限り、1段目LLMのimage1入力へリファレンス画像を接続する必要があり、左下の黒いグループはその切り替えロジックになっている。
つまりI2Vを使うとき、LLMはVision対応の必要がある。ここではQwen3.5-9bになっているが、シナリオの質が映像の出来栄えを大きく左右するため、可能であれば大きいモデルを使いたいところ。
おまけでLTX-2.3が使用しているgemma-3-12b-itをLLMとして流用したワークフローも公開。これを使えば外部のLLMを頼る事なく、すべてがLTX-2.3内で完結し省リソースになる。
実際このSora 2化ワークフローを使いLTX-2.3で生成した動画4本掲載する。何も記述がないものはHDで生成、後からツールでフルHDにアップスケールしている。
なお、T2Vしか使わない場合は、gpt-oss-20b(120b)も利用できる。ちょっと試したが、結構シナリオに特徴が出る。Qwen3.5と比較してgpt-ossの方がより魅せようとするし、よりSora 2っぽい雰囲気もある。同じプロンプトでモデルによる個性を楽しむのもありだろう(笑)。以下、Qwen3.5-122b-a10b vs gpt-oss-120b。
日本人美女が遊園地で大はしゃぎ
いかがだろうか?これらがGPU搭載ローカルPCで100%生成できるのだから、Sora 2まであと半歩?というのもあながち嘘ではないことがお分かり頂けたかと思う。
おまけ。これはシナリオ生成を通さず、日本語プロンプトからLTX-2.3が理解しやすいプロンプトへ変換→ローマ字変換した例(順序が逆になっているのは、こうすれば日本語プロンプトが英文に変わるため)。もちろんプロンプトを考えたのはClaude(笑)。最大のフルHD 20秒をダイレクトに生成。さすがに迫力の映像になっている。
以上がノウハウだ。特殊なシステムプロンプトを使い、キーワードからシナリオ生成→日本語/ローマ字変換→LTX-2.3が理解しやすいプロンプト……と、3段のパイプラインをLLMで構成し、LTX-2.3で動画生成、まるでSora 2!? 的な映像を実現している。
LTX-2.3の標準ワークフローでは、指定解像度の半分で8 steps生成、その後2xアップスケール3stepsとし元の解像度へ戻している仕掛け上、どうしても引きの顔など描写が甘くなる。
もちろん半分にせず指定解像度のままでも生成可能であるが、この場合、より時間とリソースがかかり、一長一短。さらに日本語/ローマ字変換している関係上、発音がちょっとたどたどしい……とはいえ、これだけの映像がローカルだけで作れる意味は非常に大きい。
まだ今年(2026年)は第1四半期。第4四半期までに本当にSora 2ができるかも!?と期待が持てる進歩ではないだろうか?

























