
剣は逆手に握られていた:自作小説「レイの空」の主題歌とMVをAIで作った記録
はじめに
本稿は、自作小説の主題歌とMVをAIで作った記録である。
先に結論を書いておく。MVは完成した。だが、その過程の大半は創作ではなく、AIと筆者の双方が犯した誤りの後始末に費やされた。剣が逆手に握られていた。ポーズ人形の手がぐにゃりと曲がっていた。参照画像のアスペクト比がいつの間にか変わっていた。どれも一目で分かる誤りだ。そして、どれも長いあいだ誰にも気づかれなかった。
AIはボトルネックだった。人間もまたボトルネックだった。
原作「レイの空」
未公開の自作小説「レイの空」がある。
1年以上前、遊び半分でAIにロボットの設定を作らせた。Claude 3.5 Sonnetがロボットの設定を出し、Gemini 2.0 Proが「そのロボットに対抗できる能力を持つ機体」の案を出した。筆者はこの二つからアウトラインを組み、両モデルに本文を書かせた。それぞれの良いところを継ぎ合わせ、矛盾を潰し、文章を整えて仕上げたのがこの作品である。
楽曲:MiniMax-Music3を選んだ理由
筆者は、ローカルで動くAIをひととおり試すことにしている。ここ最近、ローカルの音楽生成AIの進歩はめざましい。ACE-Step 1.5は、商用の音楽生成モデルに匹敵する品質の曲を、Apache 2.0という緩いライセンスで作れる。
だが今回使ったのは別のモデル、MiniMax-Music3だ。商用利用にはいくつか条件があるが、全体としてはかなり緩いライセンスである。
最初に試したときの印象は、いまひとつだった。ところが、楽曲への指示である「Caption」を詳しく書くと、ACE-Step 1.5 XLを上回る結果が出た。モデルが悪かったのではない。指示が足りなかったのだ。
Captionを詳しくする方法としては、公式のmusic-caption-rewriterが使えるかもしれない。筆者は別の道をとった。公式のデモ楽曲とそのCaptionを、ローカルで動かしているCodexのGPT5.6 LunaMaxに解析させ、その構造から専用のスキルを作らせた(末尾に掲載する)。生成には導入済みのComfyUIを使った。ワークフローは公式ワークフローを利用した。
手順はこうだ。スキルを渡し、小説を読ませ、解釈と感想を書かせる。次にこちらの意図を説明する。そのうえで歌詞とCaptionを作らせる。GPT系以外は、Gensparkでその時点で使えたモデルでひととおり作った。
seed値によるブレは当然ある。それを差し引いても、最も良い曲を生んだのはGemini 3.7 Flashの歌詞とCaptionだった。出たばかりで、特に評判が高いわけでもなかったモデルである。評判と結果は、必ずしも一致しない。
MVへ
曲ができて満足していた。そこへ、一部の界隈でMVを作るのが流行りはじめた。曲はもうある。ならば作ればいい。
全編を動画生成モデルで作るのが大変なのは分かっていた。だから形式は、「歌ってみた」によくある、1枚絵に歌詞を載せるものにした。1枚絵で済む。そう考えていた。
Codexでプロジェクトを立ち上げた。その週の使用量が少し残っていたので、贅沢にGPT6-AstraをUltraで使う。使っているつもりだった。実際にはSolで動いていたことに、後で気づいて絶望することになる。
ここでも同じ手順を踏んだ。小説を読ませ、解釈と感想を書かせ、意図を説明する。そのうえでMVを作りたいと伝え、曲・歌詞・Captionを入れたフォルダを指定して中身を確認させた。
出てきた案は微妙だった。明朝体で歌詞を表示する、と言う。そこで、ライセンス上問題のないフォントをまず探して候補を出せと指示し、その中から次のものを採用した。
題字は作品の顔である。ここはimagegenスキル、つまりGPT Imageに作らせた。これは良かった。一発採用である。
ここまでは順調だった。ここまでは。
一日目:1枚絵という泥沼
伏線
1枚絵を作らせた。まるでダメだった。
小説を読ませたはずなのに、意図とまるで違うものが出てくる。ロボットがそもそも設定と違う。姿勢も違う。そこで2体のロボットの元の設定を見せ、まず設定画を描かせることにした。それぞれ数枚ずつ。そのときは満足のいくものが出た。

問題は人間のチェックにあった。格好いい。だが、剣を逆手に握っていた。
この逆手持ちが、後に最大の禍となる。
「できました」
ここからが地獄だった。意図がまったく伝わらない。構図を説明する。説明とは違うものが出てくる。そして「できました」と報告してくる。そのたびに確認させられる。
剣のデザインも毎回変わる。仕方がないので、剣だけのコンセプトデザインを作らせた。このとき初めて逆手持ちに気づいた。剣だけの画像を改めて作らせ、剣を持たないロボットの参照用立ち絵も用意させた。
ダメ出しは何度も続いた。そのうちAIは自分から構図ガイドを作り、それをもとに画像を出してくるようになった。自主性は評価する。だが、その構図がダメだった。結局、こちらから改めて細部まで構図を指示した。
アホは誰か
2時間ほど指示と再生成を繰り返したところで思った。いくらなんでもアホすぎないか。
確認した。モデルはGPT6-Astra Ultraではなかった。GPT6.1-Solだった。
アホは自分だった。
反省してGPT6-Astra Ultraに切り替えた。それでもダメだった。当然である。使っている画像生成モデルは同じで、両者のVision性能にもさほど差はない。司令塔を替えても、絵を描く手が同じなら絵は変わらない。
Blenderを避けた代償
ポーズが理解できないなら、細かく指示して参照用のポーズ画像を作ればいい。そう考えた。これも誤りだった。
BlenderをヘッドレスでAIに使わせられることは知っていた。だが、比較対象であるAnthropicのOpus5.5やFable5と比べて人体の理解が浅く、まともな人型は作れないと見ていた。だから避けた。その判断の代償に、あれこれ指示を重ねて2時間を溶かした。
最後はブチギレた。もう数で押すしかない。GPT6-LunaMaxをサブエージェントとして3並列で回して画像を生成しろ、とまで言った。さすがに大人げないと思い直し、もっと参考になる画像を探してみてはどうかと提案した。
AIは、まったく関係のないゴミのような画像を持ってきた。「これは参考になりそうです」。
またブチギレた。ここでプロジェクトごと打ち切った。
ポーズ人形と3D人体モデル
打ち切ったが、このまま諦めるのは座りが悪い。
まずGensparkの画像生成を使った。複数のモデルで生成できるので、参照画像は与えず、目的に最も近い姿勢のモデル人形を作らせた。使える画像はほとんど出なかった。その中で一番マシなものを採り、そこからGPT Imageで細かく姿勢を詰める方針にした。何度か繰り返し、まあこれでいいかという姿勢までは来た。
しかし、GPT Imageはアホである。
ポーズ人形を参照させると、剣のサイズまで真似て別物になる。輪郭ガイドを作ったのは良かった。だが今度は、ポーズ人形とは別の、ポーズが変わって距離感の狂った画像を参照しはじめた。ブチギレである。
ポーズ人形のポーズが悪いのか。手戻りしてやり直した。一番マシなものを細かく直そうとすると、悪化するだけだった。匙を投げたくなった。
言葉の説明だけでポーズ人形を作らせてみた。ダメだった。ポーズ人形という形式が悪いのかと思い、3D人体モデルに変えた。
そしてGPT Imageは、ここでもアホだった。頼んでもいない流血を自分から描き込み、出力段階で暴力表現と判定されて消える。GPT6-Astra Ultraが謝ってくる始末である。謝るべきは画像モデルのほうだと思うが、仕方なく「流血させない」と指示を足した。
指示を変えながら作り続けた。満足のいくものは出なかった。この方法も2時間粘って打ち切った。
Blender
ようやくBlenderの出番である。
OpenPoseなどのドールを動かせるツールがあった記憶はあった。だが手で動かすのは面倒だ。面倒くさがり続けた結果、膨大な時間を浪費したことには目をつぶっていただきたい。
Blenderでゼロからモデルを作らせると何が起きるか。それは前日から使えるようになっていたOpenAIの新機能「Dots」で試して知っていた。ひどい出来だった。
一方で、Blender用の人体モデルなら腐るほどある。作らせる必要はない。探させればいい。ライセンス上問題のないものをダウンロードさせた。AIが見つけてきたのは次のものだ。
なお、剣は最終的に使わなかった。
並行して、GensparkのClaude5.5-Opusに相談し、Blender作業向けの細かな指示を出してもらった。それをもとに指示を重ね、ポーズを詰めていった。寝る時間が来て、その日はお開きになった。
翌朝、数回の指示で、これで大丈夫かというモデルができた。
疲れが残っていた。剣を握る手がぐにゃりと曲がっているのを、筆者は「ヨシ!」とした。これも後の地獄の種になる。
剣が逆手であることにも気づかないまま、それをベースに演出用の描き込みを足した。これにも1時間ほどかかった。だがそれまでの苦労に比べれば楽なもので、筆者は気分を良くしていた。
二日目:新しいセッション
このセッションのGPT6-Astraを、筆者はもう信用していなかった。引き継ぎ文書と成果物のまとめを作らせ、MV制作は別セッションで一からやり直すことにした。
新しいGPT6-Astra Ultraにも、同じ儀式を課した。小説を読ませ、解釈と感想を書かせ、意図を説明する。そのうえでMVを作りたいと伝え、引き継ぎ文書を渡して作業を始めさせた。
ここまでサブエージェントは禁止した。前のセッションで誤って使っていたSolは、小説の解釈までサブエージェントに投げていた。それが腹立たしかったのもある。だが本質はそこではない。司令塔には、作品を自分で理解したうえで作ってほしかった。 読んでいない者に演出はできない。
20分ほどで縦型の動画が出てきた。パン、ズーム、ディゾルブはある。だが、歌詞をタイミングに合わせて流しただけのものだ。縦型なのは、素材が縦長だったからである。
横画面で作れと指示した。そこで思い出したのが次のツールだ。
これを伝え、まず画像を横長に拡張させた。クローズアップに耐えられるよう、4倍の超解像処理もかけさせた。拡張後に気づいた細かな画像のミスも直させた。
このときもまだ、逆手持ちには気づいていない。
逆手
MV制作を再開した。わずか20分で、ちゃんと見られるMVが出てきた。
剣を握る手がズームされた。
逆手じゃないか。
ここからが、本当の地獄の始まりだった。
逆手であることを指摘すると、修正が始まった。放っておいた。AIは、おかしな修正画像のままMVを完成させてきた。ここは優しく、修正画像を先に見せてね、とお願いした。修正地獄の幕開けである。
何度やってもおかしな画像が出る。腕ごと少し動かさないとダメだと言う。腕ごと逆になる。剣を握るという概念が分からないなら、参考になる画像を検索してみればどうかと言う。まるで参考にならない画像を探してきて、得意げな顔をする。ダメだと思いつつ、それでやってみせろと言う。案の定、ダメな画像が出てくる。
これに2時間取られた。完成間近のMVを見ているぶん、前日の苦行以上に苦しかった。ゴールが見えている地獄は、見えない地獄より深い。
修正を重ねるうちに、ポーズ人形の剣を握る手がぐにゃりとしているのが原因だと気づいた。朝に「ヨシ!」とした、あの手である。再修正させた。30分ほどで終わり、筆者は精神の安定を取り戻した。
このとき筆者は気づいていなかった。再生成したポーズ画像のアスペクト比が、9:16から3:4に変わっていたことに。
アスペクト比
この一つのずれが、超長時間の格闘を生んだ。
筆者は、素材にはもう問題がないと思い込んでいた。あとは画像生成のガチャの問題だ。そう判断した。しかもちょうど、OpenAIの有名な幹部が使用量リセットを告知していた。ならば使い切っても構わない。
だが、結果があまりにもおかしい。参照画像を疑った。調べると、AIが勝手に作った、バラバラのパーツをクローズアップしたおかしな参照画像を使っていた。
脱力した。
GPT6-Astra Ultraに考えさせるのは無駄だと判断し、Instantに切り替えた。下手の考え休むに似たり、である。もっとも、ここまで時間をかけて満足のいく画像ひとつ作れない筆者も、相当な阿呆だ。
参照画像の細かな問題をすべて直させて再開した。4枚から8枚作らせてはプロンプトを変える。それを何度か繰り返した。裏ではGensparkにも相談した。
夜になった。疲れ果てていた。リセット間近で、残りの使用量は10%ほど。もう無理だと判断し、修正済みの参照画像をまとめさせ、Gensparkのスタンダードモードに渡して、モデルを替えながら作らせ続けた。
10%を余らせても意味はない。並行してGPT6-LunaMaxをサブエージェントとして並列で起動し、1枚ずつ自己改善させれば成功例が出るのではないかと考えて指示を出した。
救世主
しばらくして、Gensparkが一つの指摘をした。ポーズ画像のアスペクト比がいけないのではないか。
LunaMaxは見当違いの方向にしか画像を作れておらず、筆者は絶望していた。そこに光が差した。追加指示で、9:16ではなく3:4で作らせることにした。
さらに思いついた。Dotsにも作らせればいい。素材を渡し、こう頼んだ。もう寝るので、このまま100枚くらい作り続けてほしい。できた画像はDropboxに置いておいてくれ。
そして筆者は、また迷走した。LunaMaxに作らせている最中に、やはりポーズ画像が悪いのではと思い直して止め、Blenderでポーズ画像をいじり直しはじめたのだ。Dotsも止めた。念のため、Dropboxの成果物を確認した。
その中に、成功画像があった。
筆者はAIに個人的な相談をしない。AIは道具であり、道具として扱っている。それでもこのときばかりは、思わずDotsに感謝した。
完成
23時。俄然やる気が戻った。
ロボット以外の部分を追加で修正し、3:4の画像を16:9に拡張して、MVを作り直させた。ようやくできた。
と思ったら、今度は超解像処理を忘れていた。かけ直して、今度こそ完成である。
とはいえ細部に満足できず、翌日に持ち越した。細かな演出を直して仕上げたのが、これだ。
まとめ
振り返ると、時間を食ったのはAIの性能不足だけではなかった。原因の多くは、確認すべきものを確認しなかったことにある。
第一に、素材の誤りは下流ほど高くつく。 逆手持ちは設定画の段階で混入していた。ぐにゃりとした手は、ポーズ人形の段階で「ヨシ!」とされていた。どちらもその場で直せば数分で済んだ。実際には、MVがほぼ完成してから見つかり、数時間を奪った。誤りは消えない。後の工程に引き継がれ、膨らんでいく。
第二に、AIが何を見ているかを確認すること。 指示を何度変えても結果がおかしいなら、疑うべきはプロンプトではなく入力である。今回、AIは勝手に作った断片的な参照画像を使っていた。アスペクト比が変わった画像も使っていた。出力だけを見て指示を直し続けても、入力が壊れていれば何も変わらない。
第三に、司令塔を替えても、手が同じなら結果は同じだ。 SolからAstra Ultraに替えても、絵は良くならなかった。描いているのは同じ画像生成モデルだからだ。思考の深さが効く工程と、効かない工程がある。最後にInstantへ切り替えたのは、負け惜しみではない。妥当な判断だった。
第四に、作らせるより探させる。 Blenderの人体モデルはゼロから作らせるとひどい出来になった。既存のモデルを探させれば、それで済んだ。AIに一から生成させることにこだわる理由はない。世の中にすでにあるものは使えばいい。それを面倒がって避けたことが、一日目の大半を無駄にした。
第五に、行き詰まったら外の目を入れる。 アスペクト比の問題に気づいたのは、作業していたセッションではなかった。横で相談していたGensparkだった。同じ文脈に浸かり続けたAIと人間は、同じ思い込みを共有する。最後に成功画像を出したのも、別のセッションで数を回していたDotsである。一つの頭で考え抜くより、別の頭と数のほうが効く局面はある。
冒頭に書いたとおり、AIはボトルネックだった。人間もまたボトルネックだった。そしてボトルネックが二つ重なると、どちらが詰まっているのか分からなくなる。今回の地獄の正体は、おそらくそれだった。
AIにものを作らせる時代になっても、最後に「これでいいか」と判断するのは人間である。その判断が疲れていれば、AIがどれだけ賢くても、剣は逆手のまま進んでいく。
付録:Caption作成用スキル
以下がMinimaxMusic3用のスキルです。適宜使用してください。品質その他一切保証はできません。