「Sora2 Frame Splitter」はSora2の生成動画をカット割りに使えるツール、しかも無料でオープンソース!

Cover Image for 「Sora2 Frame Splitter」はSora2の生成動画をカット割りに使えるツール、しかも無料でオープンソース!
AICU media
AICU media

「Sora2 Frame Splitter」はSora2の生成した動画をカット割りに使うツール、しかも無料でオープンソース!

編集部より:yachimat氏(@yachimat_manga)より許諾をいただきました

この記事は、AIアニメクリエイターのyachimat氏がご自身の制作フローを劇的に効率化するために開発したツールと、そのワークフローをご紹介するものです。発端は、yachimat氏のX(旧Twitter)への投稿でした。

Sora2のカット割りを一括抽出するツールを作ってみた

やっぱりSora2のカット割り優秀ですよね。最近はこれを他のAIにi2vするっていうのをやってるんですが、地味にフレーム抽出が面倒。なので、自動フレーム抽出するツールをつくって使っています

需要があったらちゃんと整えて公開します… pic.twitter.com/kaR6uGPa2i

— yachimat - AI Short Anime (@yachimat_manga)

この革新的なツールにAICU編集部しらいはかせ(X@o_ob)が注目し、ぜひ紹介したいとお声がけしたところ、快く許諾をいただきました。

え、AICUで紹介したいかも

— Dr.(Shirai)Hakase - しらいはかせ (@o_ob)

どうぞどうぞ!

— yachimat - AI Short Anime (@yachimat_manga)

AICUは「つくる人をつくる」AIクリエイターのためのコミュニティマガジンです。

ここからは、yachimat氏ご本人による、Sora2時代の新しい動画制作ワークフロー解説を(許諾のもと)再構成してお届けします。


Sora2の登場は衝撃的でした。圧倒的な構図センス、自然なカメラワーク、そして“映像としての説得力”。しかし、実際に「作品」を作ろうとすると、多くのクリエイターが壁にぶつかります。

  • 12秒という制約

  • 高いコスト(APIは12秒で500円越え)

  • 部分修正の難しさ

「すごいけど使いづらい」。このジレンマを解決するのが、AIの「分業」という考え方です。

この記事では、Sora2を「カット割り・構図生成ツール」として割り切り、他の動画生成AIと連携させて長尺動画を高速で制作するツールを紹介します。しかもこのツールはブラウザで動き、オープンソースです。

Sora2の真価は「カット割り」にある

Sora2が変えたのは「動き」だけではありません。それまでAIが苦手としていた、カメラワークと構図設計を一気に飛び越えました。

Sora2に「おまかせ」のtext2videoの生成にも関わらず、プロンプトを工夫すると、カメラが寄り、引き、回り込む。照明が自然に動き、カットのリズムまで感じられる。これが12秒の中で完結する映像の完成度は、もはや実験段階を超えています。しかし、前述の通り、12秒では物語が作れず、コストや修正の難しさから「作品」として繋ぐのは困難です。この課題を乗り越えるには、AIを分業させる発想が必要でした。

AIを分業させる「最適ワークフロー」の構築

“万能AIで全部やる”という考え方には限界があります。それよりも、「得意分野ごとにAIを組み合わせて使う」ほうが、ずっと安定して高品質な作品を高速に生み出せます。現在、yachimat氏が採用している最適ルートがこちらです。

1. Midjourney / Nanobanana(キャラリファレンス作成)
   ↓
2. Sora2(構図・カット割り生成)
   ↓
3. 自作フレーム抽出ツール(素材化)
   ↓
4. 他の動画生成AI(尺拡張・修正)

各工程の役割

  • 1. Nanobanana(キャラデザ): キャラクターの一貫性を保つための「基準」を作ります。

  • 2. Sora2(監督): 全体の構図とカメラワークを設計。最もセンスが問われる部分をSora2に任せます。

  • 3. 自作ツール(素材化): Sora2の映像をカットごとにフレーム分解し、"素材"にします。

  • 4. 他AI (Vidu / Hailuo / Grokなど)(撮影チーム): 尺を伸ばし、リップシンクさせ、部分修正を行います。

Sora2のセンスを骨格として利用しつつ、他AIで肉付け・調整する。これにより、一つのAIに頼るよりも、はるかに速く、柔軟な制作が可能になります。

実例

まずキャラクターシートを作成します。

https://note.com/yachimat/n/nb81efb00aefc

https://note.com/yachimat/n/nb81efb00aefc

[事例多数] Sora2で神作画に近づく!たった一行のプロンプト
https://note.com/yachimat/n/n23ce7ba0db5d

高速なカット割り、作画枚数多め、24fps

編集部注:本当にこのプロンプトだけで良くなります。Sora2のfpsは30fpsです。実際には「高速なカット割り、1秒ごとにシーン変更」などでも効果を得ることができます。逆に、これを指定しないと「全く動かない動画」を生成することもあります。

次に、このリファレンスをSora2のスタート画像にして動画を生成します。

これを自作ツールでフレーム抽出します。

最後に、これらのフレームを使い、GrokやViduなどで尺を伸ばし、必要なカットを生成していきます。

動画生成はモデル選びが8割!AIアニメ制作におけるモデル選定ガイド(2025/8/15追記)
https://note.com/yachimat/n/n6a37e3991d99

最大の壁:面倒な「フレーム抽出」を自動化する

このワークフローにも大きな問題がありました。それが「フレーム抽出」です。Sora2で生成した12秒の映像を、カットの頭ごとにフレーム分解する。この単純作業が、一番面倒で時間のかかる工程でした。既存ツールでは動作が重かったり、カット単位での抽出が難しかったりします。AIがどんなに進化しても、この一点でワークフロー全体が詰まってしまう。そこで、yachimat氏は自分で作りました。

ツール概要:Sora2 Frame Splitter

Sora2 Frame Splitter**
**https://sora2-frame-splitter.vercel.app/

このツールは、動画ファイルをドラッグ&ドロップするだけで、数秒で全カットの主要フレームを自動抽出し、フォルダに出力します。

主な機能:

  • カット変化点の自動検出

  • 各カットの代表フレームを抽出

  • ワンクリック保存

一度試せば、「あの地味な手作業がもう不要」と感じるはずです。

使い方(超シンプル)

  1. 動画をアップロード

  2. 「抽出」ボタンをクリック

  3. 数秒後に全フレームがフォルダ出力

これで、Sora2の優れたカット割りをフレーム単位の「素材」として扱えるようになります。

👉 GitHubリポジトリはこちら
https://github.com/yazoo1220/sora2-frame-splitter

"自由にパクってください。改造も歓迎です"
とのことなので、ソースコードを分析してみました。

Sora2-frame-splitterソース解説

Sora2 Frame Splitter は、動画をドラッグ&ドロップして「抽出」を押すだけで、各カットの主要フレームを自動抽出し、ZIPで一括保存できます。すべてブラウザ内処理で安全です。

使い方:
①動画をアップロード → 感度スライダーで調整(推奨0.20) → 抽出 → 各フレームをクリック保存 or ZIP一括ダウンロード。
②画像だけでなく、オプションで各カット範囲の「動画クリップ」書き出しも可能(FFmpeg.wasm)。

実装の検証(ソースコードと照合)

  • ブラウザ内処理・言語切替

    • 多言語文言は lib/translations.ts:1 に定義。ブラウザ内完結の注意書きも明記(hint)。

    • 言語切替は app/page.tsx:7language state とボタンで実装、文言は translations 経由で反映(app/page.tsx:25)。

  • カット変化点の検出と主要フレーム抽出

    • 画素差分アルゴリズムは lib/frame-difference.ts:7calculateFrameDifference。RGB差分の正規化平均をサンプリング(sampleRate=4)で高速化。

    • 抽出処理は components/scene-detector.tsx:159 以降。fps=10components/scene-detector.tsx:160)で frameInterval ごとに diff > threshold を判定し、変化点でキャンバスを複製して代表フレーム化(components/scene-detector.tsx:227-246)。

    • 感度スライダーの初期値は threshold=0.2components/scene-detector.tsx:34)。UIは Radix Slider を components/ui/slider.tsx で提供。

  • 出力(画像/動画)

    • 単体保存は toBlob<a download> で即時保存(components/scene-detector.tsx:272-287)。

    • 一括保存は JSZip で ZIP を生成(components/scene-detector.tsx:349-377)。出力名は extracted_frames.zip

    • 動画クリップは FFmpeg.wasm を遅延ロードして -ss -t 切り出し(components/scene-detector.tsx:297-346)。初回は outputFormat === "video" 選択時にロード(components/scene-detector.tsx:57-74)。

  • UI/操作性

    • ドラッグ&ドロップ、ファイル入力、エラーハンドリングは components/scene-detector.tsx:76-107

    • ヒントやボタン、一覧プレビューなどのUIは同ファイル下部に実装。

  • テストとCI

    • 単体/コンポーネントテスト: Jest + Testing Library(jest.config.js)。UIプリミティブの検証例は components/**tests** /slider.test.tsx

    • E2E: Playwright(e2e/app.spec.ts)でタイトル表示、言語切替、スライダー表示、抽出ボタン状態等を確認。

    • CI: .github/workflows/test.yml でユニット/コンポーネント/E2E/ビルドを GitHub Actions 上で実行。Node 20・npm を使用。Vercel も npm を指定(vercel.json)。

以上より、記事中の主張(ブラウザ内完結、カット検出による主要フレーム抽出、ZIP一括出力、動画クリップ切り出し、シンプルな操作、言語切替、CI整備)は実装と整合しています。

開発メモ(オープンソースとして)

  • 技術スタック: Next.js 16 / React 19 / TypeScript / Tailwind / Radix UI。

  • 必要条件: Node 18+(package.jsonengines)。ローカルは npm run dev

  • ライセンス: MIT(README.md に明記)。改造歓迎。

まとめとリンク

Sora2の“シーン構成力”を骨格に、他AIで肉付けする分業ワークフローは実践的。ボトルネックだった「フレーム抽出」を本ツールが数秒で解消し、制作を加速します。特にSora2アプリ版は無料で生成できますし、AICUがすでに公開している「Sora2Gen」のようにスプレッドシート+GASでAPIを利用するツールと連携することもできますね。

[ GoogleスプレッドシートでSora2を動かす!動画制作を効率化する管理ツール[Sora2Gen]先行リリース! OpenAIの画期的な動画生成AI「Sora2」のAPIが公開され、誰もがプログラムから高品質な動画を生成できるようになり www.aicu.jp ](https://www.aicu.jp/post/sora2gen?srsltid=AfmBOoorAYIR6RhOKkszcl61AG3GYGqjO7uS- yV8aSNEvGb- YWz_v38l)[](https://www.aicu.jp/post/sora2gen?srsltid=AfmBOoorAYIR6RhOKkszcl61AG3GYGqjO7uS- yV8aSNEvGb-YWz_v38l)

さらに今後問題になるであろうSora2の著作権に関するサービス停止や改変についても、比較的影響を受けづらい点も未来に向かっていると考えます。

AICUは「つくる人をつくる」AIクリエイターのためのコミュニティマガジンです。これからも「つくる人」を応援します!
ご寄稿のお礼として、yachimatさんにチップをお送りさせていただきます。