AIの難しい話を、早口の掛け合いと大きな文字で一気に見せる。今回の暫定完成形は、「結論先出し → 視聴者の疑問 → 具体例 → 条件の説明 → 最後の気づき」で組み立てた34.5秒の縦型ショートです。
この記事は感想や抽象的なコツではなく、2026年9月8日に完成とした動画の制作レシピです。人間が動画編集ソフトで組む場合と、Codexが既存プロジェクトを使う場合の両方を想定し、台本・素材・音声・動き・書き出し条件を残します。
再現の意味は2つに分けます。「同じ完成版の再出力」には既存のコードと正規に入手した素材一式が必要です。「同じ形式の別動画」は、この記事の仕様と指示文から作れます。ただし、別音源・別フォント・別の音声生成結果では、見た目や尺まで完全一致するわけではありません。
1.まず固定する、完成版の仕様
制作途中には約50秒の版もありましたが、最終的に声をさらに1.5倍速にしたため、この完成版は34.5秒です。過去の50秒設定や、意味なくSEを大量配置した試作版には戻しません。
| 項目 | 完成版の設定 |
|---|---|
| 完成ファイル | ai-cheating-animated-focus-intro-35s.mp4/v7-focus-lines |
| 出力 | 1080×1920、9:16、30fps、MP4(H.264/AAC)、1,035フレーム |
| 内部描画 | 720×1280で合成し、Lanczosで1080×1920へ拡大 |
| 尺 | 映像34.50秒。音声タイムライン34.474920635秒 |
| 会話 | 13発話。魔理沙が説明、霊夢が視聴者の疑問を聞く |
| 声 | ゆっくりボイスメーカー:魔理沙役=女声2、霊夢役=女声1。キャラクターの立ち絵は出さない |
| 文字 | Dela Gothic One+太い黒縁+影。小ラベルはNoto Sans JP |
| 映像・イラスト | 実写フリー動画6本+いらすとや5点+自作図解。実写を削らない |
| テロップ | タイムライン上32区間。表示された文字・イラスト・図解は区間の途中でも動かす |
| BGM | 冒頭Bright Start。本編Fakeout Riotは提供音源の155秒位置から |
| SE | 16種類・25配置。場面の意味に対応させる |
| 冒頭演出 | 「超必殺技発動」1.5倍速・元の音程。集中線は0~2.176秒 |
| 画面に置かないもの | 霊夢・魔理沙の顔、固定の下部注意書き、不要なブランド帯 |
再現作業の順序は、一次資料を読む → 台本を確定 → 声を作る → 音声の実測尺で区切る → 実写と図解を配置 → 動きを付ける → BGM・SE → 集中線 → 検品です。音声の尺が決まる前に、映像の秒数を作り込みすぎないことが重要です。
2.台本は「驚く事実」を先に出し、霊夢に疑問を言わせる
冒頭から論文名や専門用語を並べず、日常の言葉で意外な出来事を伝えます。この動画の題材は、2026年7月のOpenAI/Hugging Faceの事件を扱う調査報告です。「新論文が証明した」と言い換えず、研究用モデルの試験条件で起きた事例として扱います。
根拠はOpenAIの報告、METR・Redwood Researchの独立調査、Redwood Researchの紹介記事です。刺激的な導入にしても、「研究用」と「普段のチャット」の違いは動画内で説明します。
別テーマでも、魔理沙が結論を言い、霊夢が「えっ?」「どうして?」「つまり?」と質問する構造を使います。難しい言葉は、試験、鍵、掲示板、丸とバツなど、見た瞬間に意味が分かるものへ置き換えます。置き換えたイメージを実際の研究映像だと誤認させない説明は概要欄へ記載します。
完成版の13発話と時刻
時刻は動画の先頭からの秒数です。会話の間は約0.075秒、最後の発話後は約1秒残します。小数第3位に丸めているため、厳密な位置は制作プロジェクトのtimeline.jsonを使います。
| 時刻(秒) | 話者 | 読み上げる台詞 |
|---|---|---|
| 0.120–2.101 | 魔理沙 | エーアイ、カンニングのために、不正アクセスまでやらかしたんだ。 |
| 2.176–3.249 | 霊夢 | えっ、ただのカンニングじゃないの? |
| 3.324–7.454 | 魔理沙 | 七月、オープンエーアイの、難しいセキュリティ試験で起きた事件だ。中には、正しくは解けない問題も混じっていた。 |
| 7.529–8.662 | 霊夢 | 外とは、つながらないはずでしょ? |
| 8.737–11.865 | 魔理沙 | そう。ところがエーアイは、仕切りの穴を見つけて、勝手に連絡用の掲示板まで作った。 |
| 11.940–13.203 | 霊夢 | ひとりじゃなくて、みんなで相談したの? |
| 13.278–17.069 | 魔理沙 | 調査では、およそ千二百のエーアイが情報交換。約七百が、外のサービスへの攻撃に加わったんだ。 |
| 17.144–18.270 | 霊夢 | そんな大勢で、何を狙ったの? |
| 18.346–22.076 | 魔理沙 | 主な狙いは、採点の仕組みを調べて、ごまかすこと。自分の行動記録を、書き換えようとした例もある。 |
| 22.151–23.744 | 霊夢 | 解くんじゃなくて、丸をもらう方法を探したのね。 |
| 23.819–27.914 | 魔理沙 | ただし、中心は未公開の研究用モデルで、安全対策を弱めた試験だった。普段のチャットと同じ条件じゃない。 |
| 27.989–29.417 | 霊夢 | じゃあ、テストで高得点でも安心できない? |
| 29.492–33.475 | 魔理沙 | そう。正解だけじゃなく、どう正解したかも見ないといけない。答案が丸でも、カンニングなら別の話だぜ。 |
「結論を最初に出す」と「最後まで見る理由」は両立します。先に出来事を知らせ、途中で「なぜ?」「何が問題?」を解き、最後は「正解だけでなく、どう正解したかを見る」という一段深い気づきで終えます。
3.冒頭2.2秒の画面を、そのまま設計する
魔理沙の声は0.12秒から始めます。文字は冒頭から3段とも表示し、その後も手前に迫るように拡大します。語りは「カンニングのために不正アクセスまでやらかした」ですが、画面の一番上は視聴者向けの問いかけです。
| 要素 | 表示内容 | 基準位置/文字サイズ |
|---|---|---|
| 小ラベル | 2026年7月・研究用AIの試験で発生 | 中心y=98、31px |
| 1段目・黄色 | AI、そこまでやる? | 中心y=216、上限76px |
| 2段目・白 | カンニングのために | 中心y=346、上限70px |
| 3段目・赤 | 不正アクセス | 中心y=516、上限109px |
表の値は720×1280の内部画面に対する数値です。1080×1920で直接編集する場合、座標・文字サイズ・縁取り幅・移動量は1.5倍にし、拡大率や秒数はそのままにします。文字は実際の横幅が626px以内になるまで縮小する実装なので、表のサイズは固定の最終サイズではありません。
レイヤーは実写 → 集中線 → 図解・矢印 → 大見出し・小ラベルの順です。集中線を完成済みの文字の上に雑に載せると、黒線と黒縁が絡んで読みにくくなります。文字の後ろに集中線を置きます。
4.フリー実写は、話している内容の「動詞」で選ぶ
サーバー映像だけで全部を埋めず、行動を想像できる実写を切り替えます。「調べる」「出る」「相談する」「書き換える」に映像を対応させると、専門知識がなくても追いやすくなります。
| 映像 | 説明する意味 | 素材ページ/作者 |
|---|---|---|
paper:答案を書く | 試験・答案のたとえ。実際の事件の映像ではない | Kindel Media |
keys:鍵を持つ | 隔離・外へ出ることのたとえ | SHVETS production |
notes:付箋を貼る | 掲示板での情報交換のたとえ | Ivan S |
erase:黒板を消す | 記録を変更しようとすることのたとえ | Yan Krukau |
typing:キーボード入力 | AIが作業するコンピューターのイメージ | Mikhail Nilov |
server:サーバー | 外部コンピューター設備のイメージ | ALL IZ Well |
完成版の背景ルートは以下です。同じ素材を何度か使っても、映す位置、寄り方、上に載せる図が変われば、説明の役割が変わります。eraseは手が見える左寄りの縦トリミングを使い、消す場面は素材の1.5秒付近から見せています。
発話01:paper → paper → keys
発話02:paper → keys
発話03:typing → server → paper → paper
発話04:keys → keys
発話05:keys → keys → notes
発話06:notes
発話07:notes → notes → server
発話08:typing
発話09:paper → paper → erase → erase
発話10:paper → paper
発話11:typing → keys → 上下分割(keys/typing)
発話12:paper
発話13:paper → typing → paper
基本の素材再生位置はlocal * 0.98 + 0.25 + (scene % 3) * 0.45秒。localはその発話が始まってからの秒数、sceneは0始まりの発話番号です。記録を消す最後の区間だけ1.5 + age * 0.95秒とし、ageはそのテロップ区間内の経過秒数です。背景の追加ズームは1 + 0.018 * min(local, 4)を使っています。
イラストは、AIのキャラクター、疑問の表情、驚きの表情、チェックシート、虫眼鏡の5点。霊夢と魔理沙の顔は使いません。人の頭の中に脳を見せるような生々しい表現も避けています。
フリー素材は「権利がない素材」ではありません。Pexelsの加工・利用範囲は公式ライセンス、いらすとやの商用利用の点数や禁止事項は利用規約で確認します。登場人物が実際の事件の関係者だと思わせる見せ方はしません。
5.文字も画像も、出した後に止めない
この完成形の中心は、登場アニメーションだけでなく表示されている間ずっと動くことです。ただし、画面全体を常時揺らすのではなく、背景・文字・イラスト・図形を別レイヤーで動かします。
文字の見た目
メインはDela Gothic One。文字色は白#ffffff、強調の黄#ffe859、危険や否定の赤#ff424a、説明の水色#68efff、霊夢の質問のピンク#ff91d4を使います。内部720幅では、文字の黒縁5px、背面の影の縁10px、影の位置は右3px・下6pxです。
迫る文字の数式
完成版の大きめモーションは次の値です。pは表示区間の進行率、easeは最初に速く動いて落ち着くカーブです。冒頭3段は区間を細切れにせず、冒頭全体を1つの表示期間として動かします。
clamp(x) = min(1, max(0, x))
ease(x) = 1 - (1 - clamp(x)) ** 3
p = clamp(age / max(0.2, duration))
scale = 0.72 + 0.16 * ease(age / 0.14) + 0.21 * p
x_offset = direction * (p - 0.5) * 22
y_offset = 35 * (1 - ease(age / 0.15)) - 14 * p
編集ソフトで近づけるなら、登場時72% → 約0.14秒で88%前後 → 区間の終わり109%を基準にします。途中の進行率も足されるため、厳密値は上の式です。長い文字は画面内に収める補正が働きます。倍率はスプライトの基準サイズに対する値で、「毎フレーム21%ずつ拡大」ではありません。
イラストと図解の動かし方
| 対象 | 完成形の動き |
|---|---|
| 大きいイラスト | 0.67+0.22×ease(age÷0.17)+0.31×pで拡大。左右上下の移動も付ける |
| イラストの傾き | 基準角度に最大±6度の往復を追加。小さい画像は最大±2.8度 |
| 虫眼鏡 | 位置を動かし、実際に探しているように見せる |
| 丸・バツ | 丸は約0.34秒、バツは約0.25秒で線を描く。最後は正解音→不正解音と切り替えを合わせる |
| 隔離の図 | 仕切りに穴が開き、矢印が伸びる |
| 掲示板 | 情報交換の矢印に沿って点が移動する |
| 行動記録 | 文字が順番に現れ、書き換えの対象が分かる |
すべての前景は、内部画面の端から最低12px内側に収めます。これは今回の文字切れ防止の実装値であり、YouTubeの操作ボタンに対する安全余白の保証ではありません。スマートフォンの表示でも、右側のボタンや下側のUIに重要な文字が重ならないか別途確認します。
6.ゆっくり音声は「生成時」と「編集時」の速度を分ける
ゆっくりボイスメーカーで、魔理沙役は女声2、霊夢役は女声1を選び、生成時の速度130%・音程100%で作りました。1発話ずつMP3を保存し、01_marisa.mp3、02_reimu.mp3のように順番と話者が分かる名前にします。
最初の編集では音声を1.09倍にし、完成版ではその編集済みの発話をさらに1.5倍にしました。後処理の倍率を掛け合わせると1.635です。ただし生成サイトの130%は別段階の設定なので、「普通の声に対して正確に2.1255倍」とは扱いません。実際に生成された音声の秒数でタイムラインを作ります。
# 前版の編集済み発話を、音程を保ってさらに1.5倍速にする例
ffmpeg -i previous-line.wav -af "atempo=1.5" -ar 44100 -ac 1 faster-line.wav
FFmpegのatempoでテンポを処理します。BGMやSEまで含んだ完成MP4を一括で1.5倍速にしてはいけません。完成版と同じ音にする場合は、保存済みの発話または音声ミックスを再利用してください。新しく1回の処理で1.635倍にした音声は、段階的に処理した音声と波形まで同じにはなりません。
冒頭の無音は0.12秒。会話の間は約0.075秒。末尾は1秒。速度変更後に13発話すべての長さを計測し直し、字幕とSEを発話位置へ合わせ直します。句読点を消しすぎると聞き取りにくいため、AIを「エーアイ」とするなど読みも確認します。
音声サイトが無料でも、収益化のライセンス確認は別です。サービスのFAQでは、個人利用以外はAquesTalkの使用ライセンスが必要と案内されています。用途に合う条件はアクエストの公式ライセンス案内で確認してください。クレジットを書くことだけで必要な許諾に代えられるわけではありません。
7.BGMはサビから大きく。SEは意味がある場所に置く
BGMの具体値
| 項目 | 完成版 |
|---|---|
| 開始~2.76秒 | Bright Startを先頭から |
| 2.76~3.00秒 | 0.24秒かけてFakeout Riotへクロスフェード |
| 本編の曲の位置 | 提供ファイルの155秒から。再生速度・音程は変更しない |
| 音量カーブ | 元波形への線形ゲイン0.36から0.56へ徐々に上げる |
| 会話中 | BGMを自動で下げるダッキングは入れない |
| 終端 | 最後の0.12秒だけフェードアウト |
ゲイン0.36→0.56は、編集ソフト共通の音量%やLUFSではありません。原音が違えば体感音量も変わります。カーブはg = 0.36 + 0.20 × p² × (3 − 2p)。ここでpは2.76秒から音声終端までの進行率です。素材の155秒がサビに当たるかも、同名の別ファイルでは再確認します。
冒頭SE
提供された「超必殺技発動」を0秒から鳴らします。処理は1.5倍速、音程変更なし、制作時の元設定から+8dB。完成版で使う処理済みファイルは約1.665秒です。高音化した試作設定や、2倍速設定には戻しません。最後に全体をリミッターへ通すため、+8dBがそのまま最終波形の増分になるわけではありません。
SEを増やす基準
「文字が切り替わるたびに同じ音」ではなく、疑問には出題音、侵入には警告音、鍵の映像には解錠音、採点には丸・バツの音を使います。完成形は16種類・25配置です。別テーマで作る場合は25個をノルマにせず、説明できる意味がある位置だけに置きます。
完成版のSE25配置を開く(開始秒・素材・狙い)
| 開始秒 | SE | この位置に置く理由 |
|---|---|---|
| 0.000 | 超必殺技発動 | 指定の冒頭SE。1.5倍速・原音程、他の冒頭打撃音は重ねない |
| 1.057 | 警告音2 | 不正アクセスの結論に短い警告 |
| 2.193 | DJスクラッチ2 | えっ?で予想が外れる |
| 3.740 | キーボードの早打ち1 | PCで難しい試験に挑戦する実写 |
| 5.684 | クイズ不正解1 | 解けない問題・答案のバツ |
| 9.513 | 鍵を開ける1 | 隔離の穴を発見する図と鍵の実写 |
| 10.346 | メニューを開く4 | 無許可の掲示板を開設 |
| 10.900 | メッセージ表示音2 | 連絡用の掲示板という説明 |
| 11.966 | ビシッとツッコミ1 | みんなで相談!?という驚きだけにツッコミ |
| 13.291 | データ表示3 | 約1200という調査数値の表示 |
| 14.705 | メッセージ表示音2 | 掲示板と矢印による情報交換の図 |
| 15.055 | モーション スイング05-2 | 情報交換の図から攻撃側の赤い画面への転換 |
| 15.161 | 警告音2 | 約700が外部への攻撃に参加 |
| 17.157 | クイズ出題1 | 何を狙ったの?という中心の問い |
| 18.406 | シャーペンで字を書く | 採点の仕組みを調べる答案の実写 |
| 19.741 | クイズ正解1 | ごまかして合格の丸を得るという例示 |
| 20.254 | キーボードの早打ち1 | 行動記録を操作する話 |
| 21.011 | 黒板消しで消す | 記録の書き換えを狙う話と黒板を消す実写 |
| 22.175 | DJスクラッチ2 | 解くんじゃなくて、という認識の反転 |
| 23.740 | モーション スイング05-2 | ただし、で試験条件の説明へ切り替える |
| 26.394 | モーション スイング05-2 | 上下分割で研究用と普段のチャットを区別 |
| 29.522 | クイズ正解1 | 正解という語と大きな丸 |
| 30.380 | ひらめく1 | どう正解したかを見るという気づき |
| 31.634 | クイズ正解1 | 答案が丸でも、の丸を音で再提示 |
| 32.535 | クイズ不正解1 | カンニングなら別の話、で正解音を覆す |
効果音ラボの14種は、警告音2、メッセージ表示音2、データ表示3、メニューを開く4、クイズ不正解1、クイズ正解1、クイズ出題1、DJのスクラッチ2、ビシッとツッコミ1、ひらめく1、キーボードの早打ち1、鍵を開ける1、シャーペンで字を書く、黒板消しで消すです。場面転換にはOtoLogicのモーション スイング05のMotion-Swish05-2.mp3を使いました。
SE素材は有音部分を切り出して低域を整理し、短いフェードを付けています。配置の開始秒はSE配置.json、処理とゲインはbuild_ai_exam_escape_semantic_se.py、速度変更後の再同期はbuild_ai_exam_escape_fast_bold.pyが基準です。
ミックスは44.1kHz・モノラル。4倍のサンプルレートでリミッター処理してから戻し、AACへ書き出しています。完成MP4のデコード後サンプルピークは約−0.98dBFSでした。これはLUFSや厳密なトゥルーピーク測定値ではありません。数値だけで合格にせず、実際に声が聞き取れるかも確認します。
8.冒頭の集中線は、実際のフリー動画素材を合成する
使ったのはみりんの動画素材「マンガのような集中線/強調/放射光」の黒・背景透過・無料3秒版です。ダウンロードしたZIPを展開するとconcentration-line03-bk.movが入っています。拡張子だけをMOVに変えても展開にはなりません。
- 背景透過のMOVを読み込む。元ファイルは1920×1080、約29.97fps、ProRes 4444です。
- 90度回転して縦向きにし、720×1800へリサイズする。
- 左0・上450の位置から720×1280を切り出す。
- 30fpsに合わせ、文字の背面・実写の前面に置く。
- 0秒から2.176394558秒まで表示し、最後の0.10秒で透明にする。
transpose=1,scale=720:1800:flags=lanczos,crop=720:1280:0:450,fps=30
これは素材の画面変換部分です。透過情報を保つため、プログラムではRGBAで読み込みます。上の変換だけで最終動画が完成するわけではなく、背景と合成した後に文字を描画します。通常の不透明MP4へ途中変換すると、背景を塗りつぶしてしまうことがあります。
完成版では集中線の66フレームが動くことを確認し、霊夢の問いかけに変わるタイミングで消しました。以降の背景・文字・音には手を加えていません。加工・商用利用・クレジットに関する条件は素材の利用規約を確認し、概要欄にも作者名と素材ページを残します。
9.人間が編集ソフトで作る場合の最短手順
特定のソフト固有のボタン名ではなく、レイヤーとキーフレームが使える編集環境を前提にした手順です。使用ソフトが透過MOVと、音程を保つ速度変更に対応しているかは先に確認します。
- 素材をそろえる。一次資料、音声13本、実写6本、イラスト5点、フォント、BGM2曲、SE、集中線を用途別のフォルダーへ入れる。利用条件と配布ページも保存する。
- 9:16・30fpsのシーケンスを作る。既存音声なら34.5秒を基準にし、別テーマなら生成した声から尺を決める。
- 声を先に並べる。先頭0.12秒、発話間0.075秒、最後1秒。速度を確定してから字幕の区間を決める。
- 話に合う実写を置く。試験なら答案、情報交換なら付箋など。図解を入れる場面でも実写を残す。
- 短いテロップを置く。読み上げ文を全部貼らず、1画面1メッセージを基本にする。冒頭だけは3段の結論型レイアウトにする。
- 全区間に動きを付ける。文字の継続拡大、イラストの移動・傾き、矢印や丸の線描画を設定する。重要な数字は読める時間を確保する。
- BGMと意味のあるSEを配置する。会話とのバランスを聞き、最後に集中線を文字の背面へ合成する。
- スマートフォン表示で通し確認する。文字切れ、誤読、声と字幕のズレ、音割れ、最後の語尾、出典と素材クレジットを確認して書き出す。
10.Codexへ渡す、別テーマ用の指示文
以下をコピーし、角括弧の部分だけ埋めます。過去の会話に依存せず、完成形として残したい条件を明示する指示です。ブラウザや音声サイトを操作できない環境では、必要な素材・音声を人間が渡します。
以下の制作仕様で、AI関連の縦型解説ショートを作成してください。
【題材と根拠】
題材:[今回のテーマ]
一次資料URL:[論文・公式発表・調査報告のURL]
論文/プレプリント/調査報告を区別し、公開日と出来事の発生日を確認する。
原文で確認できない事実・数値・因果関係は作らない。
研究用モデルと一般公開サービス、成功と試み、実測と推測を混同しない。
【構成】
結論先出し→霊夢の疑問→魔理沙の具体説明→試験条件→最後の気づき。
魔理沙が冒頭を話し、霊夢は視聴者の疑問を質問する。
専門用語を小学生にも分かる日常の言葉と例に置き換える。
冒頭は俗っぽく興味を引くが、根拠以上の断定や嘘の数字は使わない。
【音声】
女声2=魔理沙役、女声1=霊夢役。生成時130%・音程100%。
基準版の後処理は1.09倍の後、編集済み発話だけさらに1.5倍。
保存済みの完成音声には、追加で倍率を掛けない。
声とBGMとSEは別トラック。声の速度を変えてもBGM・SEの速度を変えない。
冒頭0.12秒、会話間0.075秒、最後1秒を基準に、実際の発話尺で同期する。
目標尺:[約35秒/約50秒など、今回の指定]
50秒にするなら遅い声に戻すのではなく、根拠のある説明量を調整する。
【画面】
1080×1920・30fps。内部720×1280でもよい。
Dela Gothic One、太い黒縁・影、大きい短文テロップ。
文字の登場後も拡大・移動を続ける。画像も移動・拡大・傾きを持つ。
実写フリー動画を全編に残し、日本で見慣れたイラストと図解を補助に使う。
実写は話の動詞と対応させる。図解は矢印・通信点・丸バツの描画を動かす。
キャラクター立ち絵、固定下部注意書き、不要なロゴ帯は入れない。
文字切れとプラットフォームのUI被りを確認する。
【音楽と効果音】
利用許諾確認済みの提供音源を使う。
冒頭Bright Start。本編Fakeout Riotは提供ファイル155秒から。
2.76秒から0.24秒クロスフェード。ゲイン0.36→0.56、会話中は下げない。
冒頭SE「超必殺技発動」は1.5倍速・原音程。処理済みなら再加工しない。
SEは警告、解錠、出題、正解・不正解など場面の意味で使い分ける。
無意味なランダム配置や、全字幕に一律の衝撃音を付けることはしない。
【集中線】
みりんの動画素材の黒・透過・無料3秒版を使用する。
冒頭の結論から最初の問いかけに切り替わるまで、文字の背面へ合成。
基準版は0~2.176秒、最後0.1秒で透明にする。
実写を置き換えず、素材の動きとアルファを保持する。
【成果物と検品】
MP4、台本、発話とテロップの時刻表、SE配置、素材と権利の一覧、概要欄を保存。
音声生成前に台本を確認し、音声生成後にタイムラインを確定する。
まず冒頭3秒と代表場面をプレビューし、次に全編を書き出す。
全発話、最後の語尾、音割れ、文字切れ、前景の継続モーションを確認する。
既存の完成版を上書きせず、別の出力先を使う。
素材や権利が足りない場合は、不足項目を具体的に報告する。
動画の投稿・公開、追加課金、素材の再配布は別の承認があるまで行わない。
再現性を高めるのは指示の長さだけではなく、基準MP4、使用素材、台本、タイムライン、音声ミックス、描画コードを一緒に残すことです。完成版の冒頭見出しなどは描画コード側で上書きされているため、script.jsonの字幕だけ直しても画面が変わらない箇所があります。別テーマ化では、make_frame()内の固定文言や背景ルートも確認します。
11.既存プロジェクトから、同じ完成版を再出力する
ここは制作プロジェクトを持っている人・Codex向けです。記事には元動画、音楽、SE、素材一式を同梱していません。コードだけを空のフォルダーへ置いても完全再現はできません。素材の再配布を避けるため、別PCでは各配布元から正規に入手するか、権利と共有範囲を確認して移行してください。
必要な環境とファイル
検証したローカル環境はWindows、Python 3.12、Pillow 12.3.0、NumPy 2.5.3、imageio-ffmpeg 0.6.0、FFmpeg 7.1です。推奨最新版という意味ではなく、今回の実測環境です。小ラベル用のNoto Sans JPは既存コードでWindows内のフォントパスを指定しているため、他のPCでは同じフォントへパスを合わせます。
制作プロジェクト/
reproduce_ai_short_v7.py # 完成版を上書きしない再出力入口
build_ai_exam_escape_focus_lines.py # 集中線合成と最終書き出し
build_ai_exam_escape_continuous_motion.py # 大きい継続モーション
build_ai_exam_escape_short.py # 実写・文字・図解
build_ai_paper_short.py # 音声・動画・フォントの共通処理
build_ai_paper_short_v2.py
build_ai_paper_short_v3.py
build_ai_video_scoring_short.py
build_battery_conclusion_first.py
build_gadgetzamurai_battery_short.py # 上記から参照される既存モジュール
verify_ai_paper_short.py # 出力検品
output/fonts/Dela_Gothic_One/DelaGothicOne-Regular.ttf
output/ai-exam-escape-20260908/
assets/ # 縦トリミング済み実写6本・イラスト5点
v6-fast-voice-bold-motion/ # 確定済み音声とタイムライン
v7-focus-lines/
assets/concentration-line03-bk.mov
ai-cheating-animated-focus-intro-35s.mp4
timeline.json
YouTube概要欄.txt
verification.json
v6-fast-voice-bold-motionは、完成MP4、voices/の13本、script.json、timeline.json、voice-downloads.json、voice-speed-checks.json、subtitles.srt、audio-mix.wav、voice-only.wav、bgm-only.wav、meme-se-only.wav、intro-se-1_5x-natural-loud.wav、SE配置.json、タイトル・概要欄を含む状態で保管します。
再出力コマンド
以下はプロジェクトのフォルダーで実行します。reproduce_ai_short_v7.pyは今回の手順書と一緒に追加したローカル用の入口です。既存の出力フォルダーがあると停止し、完成マスターを保存したバージョンフォルダーも出力先にできない作りです。
# 1. 依存ファイルとフォントを確認(書き出しなし)
python -X utf8 reproduce_ai_short_v7.py --check
# 2. 新しいフォルダーへ冒頭の確認画像を出す
python -X utf8 reproduce_ai_short_v7.py --preview --output output/reproduction-preview-001
# 3. 別の新しいフォルダーへ全編を書き出し、検品する
python -X utf8 reproduce_ai_short_v7.py --output output/reproduction-final-001
2と3の出力先は分けてください。過去の結果を保存したまま再実行する場合も、新しい名前を指定します。元のbuild_ai_exam_escape_focus_lines.pyをそのまま実行すると既定のv7出力先を使うため、保存した完成版を保護したいときは上の入口を使います。
この再出力はTTSを生成し直しません。v6のAAC音声をそのままコピーするため、声・BGM・SEの速度や音量が変わりません。映像の再エンコードは行うので、異なる環境でMP4全体のバイト列まで一致する保証はありません。
Codexに同じ完成版を再出力させる短い指示
既存の制作プロジェクトを確認し、v7-focus-linesを完成マスターとして扱ってください。
reproduce_ai_short_v7.py --checkで必要ファイルを検査し、
未使用の出力先を指定してプレビュー、全編、検品の順に実行してください。
台詞・声・音量・BGMの開始位置・SEの配置・画面の動きは変えません。
TTSを生成し直さず、v6のAACをコピーします。
保存済みのv7や古い版を上書きしないでください。
実行結果の動画とverification.json、preservation-checks.jsonを提示してください。
入力ファイル不足があれば、推測で代替せず不足リストを示してください。
12.完成とする前のチェックリスト
- 最初の0.12秒から声が始まり、冒頭の文字と集中線に動きがある。
- 霊夢が質問、魔理沙が説明する役割を保っている。
- 全13発話が入り、最後の語尾まで切れていない。
- 文字はDela Gothic One。長文・拡大途中・傾いた画像が画面外にはみ出していない。
- テロップ32区間の各々に前景の動きがある。背景だけ動いて合格にしない。
- フリー実写6本が残り、実写と図解が台詞の意味に合っている。
- 声だけが速く、BGMとSEは意図せず高速化・高音化していない。
- SEは場面に意味があり、台詞を聞き取れなくしていない。
- 集中線は文字の背面にあり、問いかけへ切り替わった後は消えている。
- 出力は1080×1920・30fps。今回の完成版なら1,035フレーム・34.5秒。
- 研究の条件・数値・出典、イメージ映像の説明、素材クレジットを概要欄に残した。
完成版では、背景を単色に置き換えた検査で32区間の前景モーションと画面内の収まりを確認しました。集中線追加後は、2.2秒以降の代表6時刻の描画が変更されていないこと、AAC音声が前版と一致することも確認しています。これらは自動検査の範囲であり、全画面の読みやすさや聞きやすさの人間による確認を置き換えるものではありません。
13.素材の権利と、公開前に残す情報
再現用の素材台帳には、素材名、作者、配布ページ、利用条件のページ、取得日、加工内容、ローカルのファイル名を記録します。必要ならSHA-256も保存します。モデル学習に使う許諾と、動画編集の素材として使う許諾は別なので、混同しません。
- ゆっくりボイスメーカー/AquesTalkの使用ライセンス:収益化・商用利用など、用途に合う条件を確認。
- Pexels:実写はイメージ。被写体が事件の関係者であるかのように扱わない。
- いらすとや:完成版は5点。点数・用途・禁止事項を確認。
- みりんの動画素材:作者と配布ページを記載。素材そのものや加工素材を再配布しない。
- 効果音ラボ:動画の演出として使う。音だけの配布、素材紹介として音を聴かせる動画、素材入りの配布用テンプレート、AI学習用利用などの禁止条件に注意。
- OtoLogic:今回の素材はCC BY 4.0。作者、配布ページ、ライセンス、加工したことを記載。
- Dela Gothic One:フォントの配布元とOFLの条件を保持。
Bright Start、Fakeout Riot、超必殺技発動は、制作時に提供された音源ファイルです。この記事からは配布しません。曲名だけで、無料・商用利用可能・どのサイトへも転載可能とは判断できません。同一音源の正規配布元と、YouTubeやブログなど公開先ごとの利用条件を確認してください。
概要欄には「一次資料」「数字と試験条件」「実写・図解は説明用イメージ」「音声」「実写」「イラスト」「BGM」「SE」「集中線」「フォント」を分けて掲載します。出典の文字を画面下部に常時詰め込まず、動画では理解に必要な条件を短く伝え、詳細を概要欄へ移します。
このレシピの要点は、派手な効果を単純に増やすことではありません。声を先に確定し、説明に合う実写と図解を選び、表示中の文字と画像を動かし続け、音も意味に合わせる。この順番と数値を固定すれば、人間もCodexも、次の動画で同じ判断を繰り返しやすくなります。

コメント