始めに

サービスを開発したので、サービス紹介動画をAIを使って紹介していきたいと思います。

私の開発環境

windows11

セットアップ

node環境を新しくする

方法は以下からいろいろなやり方が公式として出てる

https://nodejs.org/ja/download

node環境インストール済みチェック

node -v
npm -v

mulmocastインストール

npm install -g mulmocast

動作確認

mulmo --version

ffmpegのインストール

https://www.gyan.dev/ffmpeg/builds/

choco install ffmpeg
# アップデートしたい場合は
choco upgrade ffmpeg -y
ffmpeg -version

最小動画を1本出してみる(Hello World)

本格的にサービス紹介動画を作る前に、最小構成のスクリプトで mp4 が1本出るところまでを先に通しておく。ここがコケると後工程で原因切り分けが面倒になるので、Hello World を1本通してから本番に入る。

動作確認

PowerShell で以下が全部通ることを確認:

node -v
npm -v
mulmo --version
ffmpeg -version

mulmo --version が出れば CLI は入っている。ffmpeg -version が通らない場合は前のセクションに戻ってインストール/PATH 設定を見直す。ffmpeg が無いと音声・画像までは作れても mp4 への結合で必ず転ぶ

作業フォルダを作る

デスクトップに作業フォルダを切る:

cd $env:USERPROFILE\Desktop
mkdir mulmo-service-video
cd mulmo-service-video

.env を作る

mulmocast 公式 README は プロジェクトフォルダに .env を置いて API キーを設定する 方式を採用している。

notepad .env

最低限はこれだけ:

APIキーを作るときは、RestrictKeyをONにする。

有効にするのは、"Text to Speech"だけでよいです。

声の一覧もほしい場合は、"Voices"も有効にする。が、mulmocastでVoice IDを直接指定する使い方なら不要です。

APIの設定でProject Limitsを確認しましょう。

  • gpt-40-mini-tts
  • gpt-image-1

が使える設定にしておきましょう。

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx

オプションは後から追加できる:

# 画像品質を上げる
DEFAULT_OPENAI_IMAGE_MODEL=gpt-image-1

# ElevenLabs の声を使う場合
# https://elevenlabs.io/app/api

ELEVENLABS_API_KEY=xxxxxxxxxxxxxxxx

.env は絶対に Git に上げない.gitignore.env を必ず入れる。値はクォートで囲わない(OPENAI_API_KEY=sk-... の形が正、"sk-..." にすると読めない実装がある)。

最小の test_beats.json を書く

notepad test_beats.json

中身:

{
  "$mulmocast": {
    "version": "1.1"
  },
  "beats": [
    {
      "text": "毎日の予約管理、電話メモと付箋でなんとか回していませんか?"
    },
    {
      "text": "予約くんは、すべての予約をひとつの画面にまとめます。"
    },
    {
      "text": "操作はワンタップ。本来の仕事に集中できる時間が戻ってきます。"
    }
  ]
}

ここでは架空の予約管理サービス「予約くん」を例にしています。以降のサンプルも同じサービスを題材にしますが、実際は自分のサービスの内容に差し替えてください。

MulmoScript の最小単位は $mulmocast バージョンと beats 配列だけ。画像も声もデフォルトで自動生成される。

動画を生成してみる

mulmo movie test_beats.json -l ja -c ja
フラグ 意味
-l ja 日本語音声で生成
-c ja 日本語字幕付き動画を生成

成功すると output/ 配下に成果物ができる:

output/
├── audio/             ナレーション音声(シーンごと)
├── images/            AI生成画像
├── cache/             キャッシュ
└── test_beats.mp4     最終成果物

今日のゴール(チェックリスト)

ここまで通ればセットアップ完了。

[ ] mulmo --version が通る
[ ] ffmpeg -version が通る
[ ] .env に OPENAI_API_KEY を設定済み
[ ] test_beats.json から output/ に mp4 ができた

詰まったときの典型原因は2つ:

  1. ffmpeg の Path が通っていない → choco install してから PowerShell を開き直すと反映される
  2. .env の API キーが空・誤り・クォート付き → クォートなしの素の値で書く

次の一歩:対話モードで30秒版を試す

いきなり90秒の本番動画を組むより、まず対話モードで短い版を作ってツールの感触を掴むのがおすすめ。

mulmo tool scripting -i -o ./ -s story

対話プロンプトに以下のような内容を入力:

中小規模の店舗オーナー向けに、電話やLINEでバラバラだった予約を
ひとつに集約する「予約くん」というサービスの紹介動画を作りたい。

トーンは親しみやすく、信頼感のある日本のB2B SaaS。
対象は飲食店・サロン・クリニックなど。
動画は60秒。
特に「操作が簡単」「ダブルブッキングを防げる」を強調。

mulmocast が MulmoScript の .yaml を生成してくれるので、そのファイル名を mulmo movie {生成されたファイル} に渡せば1分動画が出る。ここまで通れば、次の「1. ChatGPTで営業台本を作る」以降の本番ワークフローに進む準備が整っている。

1. ChatGPTで営業台本を作る

まずは ChatGPT(または Claude)に紹介台本を書かせる。いきなり「動画の台本作って」と投げるとブレるので、対象視聴者・尺・シーン数・トーンを最初に固定するのがコツ。

プロンプト例:

あなたはサービス紹介動画の構成作家です。
以下のサービスについて、90秒・5シーン構成の紹介動画台本を書いてください。

【サービス】(架空の例。実際は自分のサービスの内容に差し替える)
- 名前: 予約くん
- 対象: 中小規模の店舗オーナー(飲食店・サロン・クリニック など)
- 提供価値: 電話・LINE・口頭でバラバラだった予約を1画面に集約し、
  ダブルブッキングや当日連絡の取りこぼしを防ぐ
- 差別化: 大手予約サービスより安価、店舗側の操作が圧倒的に簡単

【出力形式】
各シーンを以下のJSONで出力してください(後続ツールで読み込むため)。
{
  "scene": 1,
  "narration": "ナレーション原稿(口語、20〜30秒で読める長さ)",
  "visual": "画面に映すもの(テキスト指定 or 用意するキャプチャ名)"
}

JSON で吐かせるのは次の MulmoScript 変換ステップに流し込みやすくするため。日本語の口語ナレーションは LLM がやや硬くなりがちなので、最後に「もう少し営業のセリフっぽく、語尾を柔らかく」と1往復してから採用すると馴染む。

2. MulmoScriptに変換する

mulmocast は MulmoScript(YAML/JSON 形式)を入力にとる。Step 1 のJSONを ChatGPT に渡して「これを MulmoScript 形式に変換して」とお願いすれば概ね通る。

最小構成の骨格(script.yaml):

title: "予約くん 紹介"
lang: "ja"
beats:
  - text: "電話、LINE、当日の口頭予約、バラバラに管理していませんか?"
    imagePrompt: "busy small shop owner with phone and notebook, flat illustration"
  - text: "予約くんは、すべての予約をひとつの画面にまとめて見える化します。"
    imagePrompt: "clean reservation dashboard on a tablet, modern flat design"
  - text: "管理者は予約一覧をひとめで確認、変更はワンタップで反映されます。"
    image: "assets/reservation_screen.png"

要点:

  • imagePrompt を入れておくと mulmocast 側で AI 画像生成してくれる
  • 既に用意したキャプチャを使う場合は image: assets/xxx.png を指定
  • 正確なフィールド名・対応プロバイダは mulmocast 本体のサンプルが正:
# 公式サンプルとスキーマを確認
mulmo --help
# scripts/ サンプルは GitHub の mulmocast/mulmocast-cli を参照

最初は公式サンプル .yaml を1本コピーしてきて、beats: だけ自分の台本に差し替えるのが事故が少ない。

3. mulmocast-cliで動画生成

script.yaml が用意できたら、生成は1コマンド。

# 動画ファイル生成(mp4)
mulmo movie script.yaml

# 途中段階で音声だけ確認したい場合
mulmo audio script.yaml

API キーは Hello World セクションで作った .env をそのまま流用する(同じ作業フォルダ内なら自動で読まれる)。別フォルダで動かす場合は .env をコピーするか、PowerShell で一時的に環境変数を立てる:

$env:OPENAI_API_KEY="sk-..."

output/ 配下に mp4 と srt(字幕)が出る。ここで一旦再生して、

  • ナレーションの読み間違い(漢字の誤読、英略語の読み)
  • シーンごとの尺バランス
  • AI生成画像のテイスト

をチェック。読み間違いは台本の該当箇所をカタカナにする / ふりがなを足すだけで直る(例: サービス名「予約くん」が英語っぽく読まれる、「API」が「エーピーアイ」と「アピ」で揺れる → カタカナ表記に置き換える)。

4. 実際のWeb画面キャプチャを差し込む

AI生成画像だけだとサービス紹介としてのリアリティが弱い。実際の管理画面、ダッシュボード、利用者向けの操作フロー画面 — このあたりは実物を見せた方が説得力が段違いに上がる。

撮り方:

  • 静止画: Chrome DevTools → "Capture full size screenshot"、または ShareX
  • 動画: ShareX のスクリーン録画、または Win+G(Xbox Game Bar)で mp4 録画
  • 機密に触れる部分は デモ用のテストアカウント・サンプルデータで撮影。実顧客データは絶対に映さない

MulmoScript への差し込み:

beats:
  - text: "管理画面では、当日の予約状況がひとめで確認できます。"
    image: "assets/dashboard.png"
    # 動きを見せたい場合は動画
    # movie: "assets/dashboard_demo.mp4"

キャプチャは assets/ のような場所にまとめて、script.yaml から相対パスで参照する。後で差し替えが効くので、最初は荒くてもいい。

5. Vrew / Canva / CapCut などで最後だけ微調整

mulmocast の出力はそのままでも使えるが、最後の仕上げだけ GUI ツールが圧倒的に速い

ツール 得意なこと
Vrew 字幕の誤認識修正、テロップのフォント/位置調整
Canva タイトルカード・エンディングカード、ロゴ重ね
CapCut BGM 追加と音量調整、トランジション、効果音、ジャンプカット

私のワークフロー:

  1. mulmo movie script.yaml で本体生成(mp4 + srt)
  2. CapCut に mp4 を取り込み、冒頭3秒に Canva で作ったタイトルカードを追加
  3. BGM を −20 dB で全体に敷く(ナレーションを邪魔しない音量)
  4. キャプチャ差し込み部分だけ 1.1〜1.2倍速にしてテンポを上げる
  5. 1920×1080 / 30fps / H.264 で書き出し

完成した動画は YouTube 限定公開にしておけば、営業資料の表紙ページ、サービス LP のヒーローセクション、SNS の固定投稿など、どこにでも埋め込みリンクで貼れる。

6. やってみて分かったこと — リアル評価

ここまでハウツーとして書いてきましたが、実際に1本通してみて見えた正直な評価を残します。販促ではない実体験ベースの話なので、これから触る人の判断材料に。

出力の実態は「音声付きスライドショー」

「AI動画生成」という言葉から動きのある映像をイメージすると、ギャップがあります。mulmocast の出力は実態として:

  • AI が生成した静止イラスト
  • TTS で読み上げたナレーション
  • ビート間の簡単なフェード

の組み合わせ。動画というより 音声付きスライドショー と呼ぶ方が実態に近いです。

コスト感: 1スライド ≒ $0.5〜$1

OpenAI API で計算すると:

内訳 単価 1スライド分(4-6 beats)
画像 (gpt-image-1) $0.04〜$0.17/枚 $0.16〜$1.02 ← 支配的
音声 (gpt-4o-mini-tts) 約 $0.005/15秒 $0.02〜$0.05

画像生成のクオリティ設定がコストの90%以上を占めます。

10本のスライド動画を作って、満足のいく品質になるまで 4-5 回作り直すと、$20〜$50 飛ぶ計算。$10 の課金がアッという間に切れるのはこのため。

リテイクのループが重い

これが個人向けには致命的:

JSON 編集 → CLI 実行 → API 待つ → mp4 確認 → 違和感あれば戻る
                              ↑ ここで毎回 $0.5〜$1 消える

GUI ツール(Vrew / Canva)なら画面を見ながら何度でも調整できますが、mulmocast は CLI ループのため、1リテイク = $1 + 数分待ち。心理的にも金銭的にも重い。

しかも動画と音声の両方の完成度が高くないと取り直しになるので、リテイク発生率が高い。

ChatGPT Plus は使えない

「サブスクで何とかならんか」と思って調べると、OpenAI Platform API は ChatGPT Plus とは別課金。これは API 開発の常識ですが、初見だとハマります。

代わりに Gemini API の無料枠を使う、ElevenLabs の月額プランで音声だけ賄う、などの逃げ道はあります。

個人向けの代替案

ツール 月額 強み
Canva Pro ¥1,180/月(月払い)または ¥8,300/年(実質 ¥691/月) AI ナレーション込み、スライドアニメ、作り直し放題
PowerPoint 標準 ¥0(Office あれば) スライドショー → 録音 → 動画書き出し
Vrew 約 ¥1,000〜 AI 字幕・ナレーション、GUI 編集快適

B2B 営業動画を一人で作るなら、現時点では Canva Pro が一番バランスが良い が個人的結論。

mulmocast が本当に活きる場面

否定だけだと不公平なので、本領も書いておきます:

  • 大量バッチ生成(業界別 50 本、A/B テスト 30 パターン)
  • CI/CD 組み込み(ドキュメント更新時に動画自動再生成)
  • API 経由でサービスから呼ぶ(社内ポータルからワンクリック生成)

個人の単発制作には過剰サービス組み込み・自動化パイプラインで真価が出るツール。

結論

一回限りの個人制作          → Canva Pro
100本以上のバッチ生成        → mulmocast
サービスへの組み込み          → mulmocast

mulmocast は「使えなくはない」けど、個人の単発制作のためのツールではない

当初の目論見は「mulmocast で 1 本動画を作る」でしたが、ツールの強みと用途のミスマッチでした。これは触ってみないと分からなかったことなので、その記録としてこの記事を残します。

やってみた結果、こうだった」は、検索しても出てこない情報です。次に触る人の試行錯誤を1ステップ減らせれば。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   最終更新のRSS
Last-modified: 2026-05-29 (金) 09:57:25