【第3回】芥川『鼻』を 2 分のミニアニメドラマにしてみた——Colab の A100 と MiniMax H3 で、固定する絵で動きを指示する
前回の口パクの動作確認から一歩進めて、芥川龍之介『鼻』を約 2 分のショートドラマにした。MiniMax H3 で 16 本のカットを作り、声と語りは Irodori-TTS、音楽は ACE-Step。動きは「固定する絵」を何枚も置いて指示した。瞬間移動、同じ動きの繰り返し、抜いた穴に粒が戻る、を越えた作り方と、時間、ユニット、ハマりどころ、ライセンスの読み落とし。
← 前の記事: 【第2回】Google Colab の A100 で MiniMax H3+Pika H3 Flex——ComfyUI で、用意した声どおりにキャラを口パクさせる※ハス画像・微グロ画像注意。鼻の毛穴から脂を抜く場面が、動画と「抜く場面」の節にある。
AI 生成動画(映像: MiniMax H3+Pika H3 Flex/声と語り: Irodori-TTS/音楽: ACE-Step 1.5)。原作は芥川龍之介『鼻』。一部の地域では動画を再生できません(理由は後半の「ライセンスを読み落としていた」に書いた)。
前回は、キャラが用意した声どおりに口を動かすかを確かめた。いわばハローワールドだ。締めに「次は、ショートドラマの会話を切り返しでつないでみる」と書いた。
今回はその続きで、1 本のドラマを最後まで作った。題材は芥川龍之介の『鼻』。あごの下まで垂れた鼻を気に病む僧が、弟子の聞いてきた治療で鼻を短くする。ところが、短くなった鼻をかえって笑われる、という話だ。
長さは 1 分 51 秒。MiniMax H3 で作ったカットを 16 本つなぎ、題名と語りの止め絵を足した。かかったのは 3 日。
作り方の全体像
| 段 | やったこと | 使ったもの |
|---|---|---|
| 1. 原作を読む | 場面の流れ、セリフの話者、どこを動画にするかを決める | 青空文庫の本文 |
| 2. カット表 | 14 カット前後。セリフは今の言葉に直す | — |
| 3. キャラ絵 | 内供(主人公の僧)と弟子。案を何十枚も出して選ぶ | GPT Image、Gemini |
| 4. 絵コンテ | カットごとに「何コマ目にどの絵か」を決め、その絵を描く | GPT Image |
| 5. 声 | 内供と弟子の声、心の声、語り | Irodori-TTS |
| 6. 生成 | Colab の A100 で、絵コンテの絵を固定してカットを作る | MiniMax H3+Pika H3 Flex(ComfyUI) |
| 7. 仮組 | 使う範囲を切ってつなぎ、声と字幕を重ねる | ffmpeg |
| 8. 音楽 | 3 案作って選ぶ | ACE-Step 1.5 |
| 9. 仕上げ | 704×1280 を 1080×1920 に拡大し、字幕を焼く | 4x-UltraSharp(手元の RTX 3090) |
作業は、ほとんど Claude Code に回してもらった。私がしたのは、絵と動画を見て「ここが変」と言うことだ。
作品名や監督名は、絵の指示に書かなかった。「手描きの 2D アニメ、細い線、色鉛筆のようなやわらかい陰」のように、絵の特徴で書いている。
固定する絵で、動きを指示する
前回は、声のトラックを MiniMaxH3AddGuide で 0 コマ目に固定した。同じノードで、絵も決まったコマに固定できる。今回はこれを主役にした。
たとえば、小坊主たちが内供の背中で笑うカット(C12、141 コマ・約 5.9 秒)は、6 枚の絵を固定した。
| コマ | 固定した絵 |
|---|---|
| 0 | 内供が左を向いて立ち、小坊主たちは右で頭を下げている |
| 36 | 背中で小坊主たちが袖で口を隠して笑う |
| 54 | 内供が気づいて、横目で振り返る |
| 72 | 振り向く。小坊主たちは慌てて下を向く |
| 100 | 内供が鼻をかく |
| 最後 | 小坊主たちが逃げ、内供が首をかしげる |
プロンプトには、絵と同じ流れを秒で書く(「0.8 秒から 2 秒まで、背中で笑う」「2 秒ごろ気づく」)。
1 回目: 画面から消えて、急に戻ってきた
内供が左へ歩いて画面から消え、少しして急に戻ってくる。原因は、プロンプトに「左へ歩き去る」と書いたのに、固定した絵では内供が同じ場所に立っていたことだ。モデルは「歩き去る」を守って画面の外へ出し、固定したコマで帳尻を合わせるために、絵の位置へ急に戻した。
2 回目: 同じ動きを繰り返した
最初のコマに「右を向いて言いつける」絵を足した。今度は、振り向いた後にもう一度背を向け、また笑われる。0 コマ目と 72 コマ目に、似た「右を向いた」絵を置いたのが原因だった。似た絵が離れて置かれていると、その間を同じ動きで 2 回つないでしまう。
3 回目: 一つ一つの区切りを絵で押さえる
「左を向いている → 笑う → 気づく → 振り向く → 慌てて下を向く → 鼻をかく → 逃げる」と、区切りごとに絵を置いた。プロンプトには「内供は左の同じ場所から動かない。歩かない」と書いた。これで流れどおりになった。
分かったこと:
- プロンプトの動きと、固定した絵の位置を食い違わせない。歩かせたいなら、絵の位置も動かす
- 似た絵を離れたコマに置かない。置くなら、その間も絵で押さえる
- 固定したコマで、絵が少しだけ「ぽん」と切り替わることがある。止まっている所に置くと目立たない
抜く場面: 全部抜いて、すっきりさせる
真ん中の見せ場は、茹でた鼻を弟子が足で踏み、毛穴から出てきた脂を毛抜きで抜く場面だ。原作では「鳥の羽の茎のような形をして、四分ばかりの長さにぬける」。角栓を抜く動画のような気持ちよさを狙った。
気持ちよさの型は、「気持ち悪い絵 → 障害が全部取り除かれる → すっきり」だと考えた。なので、映した脂は必ず抜く。抜いた脂は消さずに、懐紙に並べて見せる。
続きの絵を描かせると、抜いた穴に粒が戻る
抜いていく様子は、「つまむ」「置く」の絵を交互に固定して作る。その絵は、前の絵を元に次の絵を描かせた。ところが、画像生成に続きを描かせると、抜いたはずの穴に粒が戻ってしまう。
固定する絵がこうなっていると、動画でも抜いた脂がまた生えてくる。
直し方は 2 つ。
- 粒をつまむ絵は、画像の編集で作る。ただし、編集で変わった所だけを元の絵に貼り戻す。ほかの粒や穴は、1 画素も変えない
- 「置いた」絵は、画像生成を使わず、プログラムで作る。抜いた所には、別の穴の絵を周りの肌ごと写して貼る。懐紙の脂は、1 本目を形に沿って切り抜き、少しずらして並べる
11 か所を固定して、4 本抜く
同じ絵を 0 と 12 コマ目、252 と最後のコマにも置いたので、固定したのは 11 か所だ。これで 277 コマ(約 11.5 秒)を 1 本で作った。0.33 秒ごとに並べると、こうなる。
抜いた穴は粒で埋まらず、1 つずつ増えていく。前は 1 本ずつ別のカットで作ってつないでいたので、つなぎ目で手や懐紙がずれていた。1 本にしたら、ずれも消えた。
引きの絵で残りを早回しで抜く案も試した。固定した 11 枚の絵に手が描かれていなかったので、絵と絵の間で毛抜きを持った手が出たり消えたりした。これは使わなかった。
安全チェックとの付き合い
弟子が足で鼻を踏む場面では、絵の安全チェックに何度か止められた。「少年の素足」と「気持ちよさそうな顔」が同じ絵にあると、性的な絵と判断される。そこで、この 2 つは同じ画面に入れない、と決めた。足が画面から出てから、内供の顔がゆるむ。表情も「うっとり」ではなく「かゆい所をかいてもらった」ほっとした顔で頼んでいる。
声と語りと音楽
声は Irodori-TTS(v4.1)で作った。内供は五十過ぎの気難しい僧、弟子は丁寧な少年。候補を何本も作って聞き比べた。同じ意味のセリフを 2 回言わせる所は、言い方を変えて別に作っている。
語りは、内供の心の声と聞き分けられるよう、大人の女性の声にした。最後の語りは原作のままだ。
内供は、心の中でそうささやいた。長い鼻を、明け方の秋風にぶらつかせながら。
音楽は ACE-Step 1.5 で 3 案作った(和風でひょうきん、和風でしっとり、昔話風で明るめ)。選んだのは、三味線と琴と木の笛の、昔話風の曲だ。声が鳴っている間は、音楽を少し下げている。
仕上げ: 拡大と字幕
H3 で作ったカットは 704×1280 だ。第1回の 4x-UltraSharp で、1080×1920 にした。手元の RTX 3090 で、2,645 コマに 3 時間 44 分かかった。
字幕は拡大の後に焼いた。字幕ごと拡大すると、文字の縁が崩れるからだ。
止め絵にゆっくり寄る所では、画面が細かく揺れた。ffmpeg の zoompan は、切り抜く位置を 1 コマごとに整数の画素に丸める。ゆっくり寄るほど、中央が 1〜2 画素行ったり来たりする。1 コマずつ画素より細かい単位で拡大して作り直したら、止まった。
時間とユニット
Colab を借りるたびに、回数・本数・分・ユニットを 1 行ずつ記録している。『鼻』の分はこうなった。
| 回 | 日時 | 本数 | 分 | ユニット | 結果 |
|---|---|---|---|---|---|
| 1 | 11/01 22:13 | 8 | 24 | 3.20 | 成功。ただし、あとで全部作り直し |
| 2 | 11/02 00:26 | 0 | 7 | 0.43 | 失敗(幅 720 で落ちた) |
| 2(やり直し) | 11/02 05:39 | 8 | 25 | 2.97 | 成功 |
| 3 | 11/02 09:27 | 5 | 17 | 1.87 | 成功 |
| 4 | 11/02 10:38 | 4 | 23 | 3.08 | 成功・接続切れ 2 回 |
| 5 | 11/02 11:26 | 2 | 12 | 1.19 | 成功 |
| 6 | 11/02 14:41 | 0 | 53 | 7.70 | 失敗(返事を待ち続けた) |
| 7 | 11/02 16:20 | 8 | 28 | 4.08 | 成功・接続切れ 3 回 |
| 8 | 11/02 17:38 | 3 | 16 | 1.90 | 成功・接続切れ 1 回 |
| 9 | 11/02 17:56 | 0 | 2 | 0.24 | 失敗(Hugging Face の 429) |
| 10 | 11/02 20:31 | 3 | 20 | 2.78 | 成功・接続切れ 2 回 |
| 11 | 11/02 22:56 | 0 | 13 | 1.80 | 失敗(ドライブの上限) |
| 12 | 11/03 04:00 | 2 | 25 | 3.69 | 成功・接続切れ 4 回 |
| 計 | 43 | 265 | 34.93 | 使ったのは 16 本 |
- 失敗した 4 回で 10.17 ユニット。全体の約 3 割だ。そのうち 7.70 は、6 回目の 1 回で消えた
- 成功した回だけなら、43 本で 24.76 ユニット。1 本あたり約 0.58 ユニット
- 1 本の生成は、704×1280・124 コマ・6 段で 130〜145 秒。277 コマ・固定 11 か所の C10 は 454 秒で、VRAM は最大 46,880MiB だった
- 1 回借りるごとに、セットアップ(ComfyUI の導入とモデル 42GB の取得)に 8〜10 分かかる。1〜3 本ずつ小刻みに回したので、その分がかさんだ。長いものを作るなら、絵コンテをまとめて用意し、1 回で 10〜20 本回すほうがよい
失敗の記録
1 回目: お風呂屋さんで、袈裟を着ていた(3.20 ユニット)
最初の 8 本は、プロンプトだけで作った。出来上がりは、湯屋(お風呂屋さん)で内供が袈裟を着たまま鼻を踏まれていた。原作を読み直すと、治療は湯屋ではなく、湯を運んできて僧房で行っている。ほかにも、2 人の位置関係がカットごとに合わない、カットがぶつ切れ、セリフの時間割が合わない、と私の指摘が続いた。
8 本とも捨てて、絵コンテから作り直した。場所、立ち位置(内供は常に左、弟子は右)、カットごとの時間割を先に文字で決め、始まりと終わりの絵を描いて固定する。この記事の「固定する絵」のやり方は、ここから始まった。
2 回目の最初: 幅 720 で落ちた(0.43 ユニット)
前回の口パクと同じ 720×1280 で、絵を固定して流したら、生成が始まってすぐ shape '[1, 24, 1, 1, 40, 2, 22, 2]' is invalid で落ちた。
H3 は画面を 16 画素のマスに分け、絵を固定するときはさらに 2 マスずつまとめる。720 は 45 マスで奇数なので、まとめられない。声だけを固定する前回は、この処理を通らないので動いていた。絵を固定するときは、幅と高さを 32 の倍数にする。縦なら 704×1280 だ。
6 回目: 返事を待ち続けて 53 分(7.70 ユニット)
モデルを取る途中で接続が切れ、16 分待たされた。やっと生成に入ったと思ったら、1 本目が 17% で止まった。手元のスクリプトは VM の返事を待ち続けた。私が「それも長くない?」と聞いて、Claude Code が気づいて手で止めた。0 本で 7.70 ユニット。今回いちばん高くついた失敗だ。
直したのは 3 つ。長い処理は VM の裏で走らせ、手元からは 30 秒ごとに短く様子を聞く。5 分進まなければ止まったと見なして打ち切る。動画は 1 本できるごとに回収する。これ以降、接続は 1 回に 1〜4 回切れているが、作業は止まっていない。
9 回目と 11 回目: モデルを取ってこられない(0.24+1.80 ユニット)
同じ日に 42GB を何度も取っていたら、Hugging Face が 429 Too Many Requests を返した。ログインなしの取得は、IP ごとに 5 分あたりの回数が決まっている。Colab の IP はたくさんの人で共有されているので、こちらの回数が少なくても当たることがあるようだ。
代わりに、モデルを Google ドライブの共有フォルダに置いて取ってみた。10 回目は 6 分で取れた。数時間後の 11 回目は「最近このファイルを見た・取った人が多すぎる」と断られた。共有リンクでのダウンロードには、ファイルごとの上限がある。1 日に何度も借りる使い方には向かなかった。
12 回目は Hugging Face に戻し、429 が返ったら待ってやり直すようにして、通った。
手元でも
- 拡大の最後に、ちらつきを測る段で、メモリが足りなくなって止められた。拡大そのものは終わっていたので、測る段だけ飛ばした
- 止め絵の揺れ(仕上げの節)は、私が見て気づいた。数字で測ると、中央が 192 コマ中 87 回ずれていた
ライセンスを読み落としていた
最後に、反省を一つ。
MiniMax H3 のライセンス(MiniMax H3 Community License、2026 年 8 月 2 日付)には、地域の制限がある。米国、EU、英国、韓国が除外地域で、日本は使える側に入っている。
第2回の時点では、ここまでしか読んでいなかった。今回読み直したら、第 V 条 4 項にこうあった。
You may not use, reproduce, modify, distribute, or display the MiniMax H3 Works or any of their Outputs or results outside the Applicable Territory.
モデルだけでなく、生成物(Outputs)の使用や表示も、除外地域の外に限られている。
一方で、MiniMax のライセンスについての Q&Aは、制限の理由を「オープンウェイトが手を離れたあとの、法令順守を管理できないから」と説明している。除外地域の組織が展開したいなら申請を、とも書いている。利用規定には「生成物を公開の場に出すときは、機械で生成したとはっきり示す」という決まりもある。ネットに出すことは想定されていると読める。
日本にいる私が作って、日本から出す分には問題ないと考えている。それでも、ネットで世界から見られることや、借りた Colab の VM がどの国にあるかについては、条文に書いていない。いま MiniMax に問い合わせている。返事が来たら、ここに書き足す。
それまでは念のため、このサイトの H3 で作った動画(第2回と今回)は、除外地域からは再生できないようにした。記事そのものは、どこからでも読める。
H3 を使う人は、モデルを動かす場所と、生成物を出す先に気をつけてほしい。
まだ分かっていないこと
- 2 人が同じカットで交互に話すカット。今回も 1 カット 1 話者の切り返しで作った
- 固定する絵に何か所まで頼れるか。今回は最大 11 か所で、それより多くは試していない
- ライセンスの地域の制限が無いモデル(Wan、LTX など)で、同じ作り方ができるか。次はこれを確かめる
前回の記事: 【第2回】Google Colab の A100 で MiniMax H3+Pika H3 Flex——ComfyUI で、用意した声どおりにキャラを口パクさせる