目次
2026 年 3 月、AI 活用発信者のベク氏(@beku_AI)が X で**「動画の URL を Claude Code に渡したら、編集が全部終わった状態で返ってきた」**と公開した。
動画の URL を Claude Code に渡したら、編集が全部終わった状態で返ってきた。 所要時間、約 3 分。 今までダウンロードして外注さんに投げて、連絡してとかしてたのに「URL 渡すだけ」で全部完結するようになった。
Loom で撮った動画の URL を渡すだけで、音量調整・ノイズ除去・無音カット・BGM 追加まで自動処理される。
所要時間は約 3 分。
本稿はこの自動化フローの概要、各工程の詳細、そして実装方法を解説する。
自動化の背景
従来のフロー
ベク氏は Loom で動画を撮ることが多い。
Loom で撮った動画はそのまま共有もできるが、YouTube で限定動画に上げたり教材として使ったりする場合は、ちょっとした編集をしたいことが多い。
具体的にはこの 3 つだ。
- 音が小さいから音量を上げたい
- BGM が入ってないから軽く入れたい
- 無音の間が長いからカットしたい
これ、1 つ 1 つは大した作業じゃない。でもやろうとすると編集ソフトを開いて、書き出して、確認して…ってなる。
だから外注さんに投げていた。でもそれすらめんどくさい。
Loom からダウンロードして、ギガファイル便にアップして、チャットで依頼して、納品を待って、確認して、修正があればまた連絡して。
簡単な編集なのに、やり取りのコストが地味にでかい。
自動化の動機
これ、Claude Code に「この動画に BGM つけて、音量調整して、無音カットして」って言うだけでできたらいいのにって思った。
最初の失敗
最初は適当に投げたけど全然ダメだった。
簡単な編集でしょ、と思って最初は Claude Code に「この動画の音量上げて、BGM つけて、無音カットして」くらいの雑な指示で投げた。
返ってきた動画、ひどかった。
- 音量は上がったけどノイズも一緒に爆音になってて「サーーー」って鳴ってる
- BGM は入ったけど音量がでかすぎて喋りが聞こえない
- 無音カットは発話の途中まで切れてて、言葉がブツブツ途切れてる
簡単な編集だからいけると思ったけど、適当な指示じゃ全然ダメだった。
- 音量を上げるならノイズ対策がいる
- BGM の音量は細かく指定しないとうるさくなる
- 無音カットは音量ベースだと精度が出ない
結局、1 つ 1 つの工程をちゃんと調べて、パラメータを詰めていく必要があった。
完成した 5 つの工程
最終的に Claude Code に作らせた処理は 5 つだ。
- 動画のダウンロード
- 音量のノーマライズ
- 背景ノイズの除去
- 無音カット
- BGM の追加
この 5 つを順番に実行するスクリプトを書かせた。
① 動画のダウンロード
yt-dlpっていうコマンドラインツールを使う。
Loom でも YouTube でも、URL を渡せば動画をダウンロードしてくれる。
Claude Code がまずページタイトルを取得して、それをファイル名にしてくれる。地味だけど、あとからファイルを探すときにめちゃくちゃ助かる。
② 音量のノーマライズ
ここが地味に大事な工程。
Loom で撮った動画って、マイクの設定とか環境によって音量がバラバラ。小さすぎて聞こえなかったり、逆にうるさかったり。
最初は単純に最大音量を一定値に合わせようとした。でもこれだとうまくいかない。
- 途中で「パン」って大きい音が 1 回入ると、そこに合わせて全体の音量が下がってしまう
- ノイズが多い動画だと、ノイズごと音量が上がってしまう
で、Claude Code に調べさせたところ、ラウドネスノーマライズという方法が見つかった。
最大音量じゃなくて、音声全体の「平均的な聞こえやすさ」を基準にノーマライズする。
ffmpeg の loudnorm フィルタを使ってる。
ポイントは2 パスで処理すること。
- 1 パス目で音声全体を分析して、入力のラウドネス値を測定する
- 2 パス目でその測定値をもとにノーマライズをかける
1 パスだけでもできるんだけど、突発的に大きい音があるとそっちに引っ張られてしまう。2 パスにすることで、全体を見た上で調整してくれるから仕上がりが安定する。
ターゲットは -14 LUFS。YouTube や Spotify が採用してるのと同じ数値。この値にしておけばどのプラットフォームでも音量が安定する。
③ 背景ノイズの除去
ノーマライズで音量を上げると、今度はノイズが目立つようになる。
エアコンの音とか、PC のファンの音とか。元の音量だと気にならなかったノイズが、音量上げた途端に「サーーー」って聞こえてくる。
だからノーマライズの後にノイズ除去を入れる。この順番が大事。
**ffmpeg の afftdn(FFT ベースのノイズ除去)**を使ってる。
ここのポイントはノイズ除去の強さ。
- 強くかけすぎると、声がこもる。電話越しで喋ってるみたいな、不自然な音になる
- 逆に弱すぎると、ノイズが残ったまま
色々試した結果、nr=10(10dB のノイズ除去)くらいに今落ち着いてる。声の自然さを保ったまま、背景ノイズだけ消えてくれる。
あと 1 つ注意点。ノイズ除去は必ず BGM 追加の前にやること。BGM 追加した後にノイズ除去すると、BGM まで「ノイズ」として消されてしまう。
④ 無音カット
ここが一番試行錯誤したところ。
最初、ffmpeg の silenceremove フィルタを使って、音量が一定以下の部分をカットしようとした。
これがうまくいかなかった。
音量ベースの判定だと、小声で喋ってるところまでカットされたり、逆に無音なのにかすかなノイズが乗っててカットされなかったり。閾値の調整が難しくて、どの値にしても何かしらおかしくなる。
で、Claude Code に別のアプローチを探させたところ、Silero VADというものが見つかった。
VADっていうのはVoice Activity Detection、つまり「人が喋ってるかどうか」を判定する AI モデル。
音量じゃなくて、人間の声のパターンを認識して「ここは喋ってる」「ここは喋ってない」を判定してくれる。
これが精度が良い。
- 小声で喋ってるところはちゃんと「発話中」と判定してくれる
- ノイズが乗ってる無音区間もちゃんと「無音」と判定してくれる
音量ベースとは全然違う。
⑤ BGM の追加
最後に BGM を小音量で追加する。
ポイントは音量のバランス。BGM がうるさすぎると話が聞こえないし、小さすぎると入れてる意味がない。
ベク氏の場合は**3%**くらいに調整してる。少し聞こえるくらいだけど、無音よりは明らかに雰囲気が出る。喋ってる内容の邪魔にならないギリギリのライン。
BGM が動画より短い場合は自動でループ再生される。動画の長さに合わせて自動で切ってくれるから、BGM の長さを気にしなくていい。
完成したフロー
全部まとめるとこう。
① URL または動画ファイルを受け取る
↓
② 動画をダウンロード(ファイルの場合はスキップ)
↓
③ 2 パスのラウドネスノーマライズ(-14 LUFS)
↓
④ 背景ノイズ除去(BGM 追加の前にやる)
↓
⑤ 発話区間を検出 → 無音区間をカット(オプション)
↓
⑥ BGM を音量 3% で追加(自動ループ)
↓
⑦ 中間ファイルを削除して完成品だけ残す
Claude Code のスキルとして登録してあるから、やることはこう打つだけ。
「この動画に BGM つけて、無音カットして」
URL を渡しても、動画ファイルを直接渡しても、同じように処理してくれる。約 3 分で完成品が出てくる。
複数 URL を渡せば一括処理もできる。5 本の動画をまとめて処理、みたいなのも普通にいける。
自動化して変わったこと
外注に出してたときは、1 本の動画に対して「ダウンロード → ギガファイル便にアップ → 連絡 → 待ち → ダウンロード → 確認」で、遅いと何日もかかってた。
というか、正直一番遅かったのは自分自身。
ダウンロードしてギガファイル便に上げて送るっていう最初の作業を後回しにしがちで、そこが一番のボトルネックだった。外注さんは早いのに、自分が投げるまでが遅い。
「だって Loom の動画を 1 本ずつダウンロードするの地味にめんどいんだよ、、、わかる人いるかな?」
でも今は URL を渡すだけでいい。時間も 3 分。投げるまでの手間がゼロだから、後回しにする理由がなくなった。
しかも仕上がりが毎回同じ。ノーマライズの値、ノイズ除去の強さ、BGM の音量、全部固定だから品質がブレない。
正直、簡単な動画編集はもう外注に出す理由がない。もちろん凝った編集(テロップ入れとかカット編集とか凝ったエフェクトとか)は別だけど、音量調整・BGM・無音カットくらいの作業なら、Claude Code で十分すぎる。
結論:URL を渡すだけで動画編集が完了
Claude Code を使った動画編集自動化は、以下のメリットがある。
- URL を渡すだけ - ダウンロードの手間がゼロ
- 約 3 分で完了 - 外注より圧倒的に速い
- 品質が安定 - 毎回同じパラメータで処理
- コストゼロ - 外注費がかからない
動画編集めんどいなーって思ってる人はぜひ試してみてほしい。
参考:
引用元・参考リンク
免責事項 — 掲載情報は執筆時点のものです。料金・機能は変更される場合があります。最新情報は各公式サイトをご確認ください。