集客AI · 使い方・仕様・設計の理由

集客AI ハンドブック

使い方注意していただきたいこと中で何が起きているか、 そしてなぜこの作りにしたかまでを1枚にまとめたものです。 最初の5章だけで、実際にお使いいただけます。

2026-08-15 時点の実装にもとづきます。数値はすべて実測です。

第1部

使う

ご利用者向け・ここだけで使えます

1. まず3分で、1本つくる

インストールは要りません。リンクを開いて、動画を選んで、押すだけです。 弊社の作業は要らないので、24時間いつでもお使いいただけます。

すること補足
1 画面を開く https://p1-mock.yo-h2.workers.dev ID・パスワードは共有済みのものです
2 右上の 「+ 新規依頼」 を押す 入力画面が出ます
3 店舗を選ぶ 店名・メニュー名の正しい表記が、この店舗の辞書から自動で使われます
4 動画を選ぶ(まとめて選べます) スマホで撮ったままで構いません。選んだ順が、つなぐ順の候補になります
5 事実メモを書く ここが仕上がりを一番左右します(次章)。空でも作れます
6 「この動画で作る」 を押す あとは自動です。画面を閉じて構いません
7 3〜5分後、上の「制作」から開く 結果が並んでいます(1本あたり数十円)

開いた依頼は、上から順に5つの区画に分かれています。

区画何のためにあるかいつ見るか
1. 出せる状態か機械が12項目を確認した結果最初に必ず
2. できあがりを見る4つの版を切り替えて再生。直すボタンもここ次に
3. 編集する投稿文・ハッシュタグ・声・読み上げ原稿・画面の文字直したいとき
4. 受け取る字幕ファイル(SRT)字幕を別で使うとき
5. どう作ったか来歴(どの素材・どの設定・いつ)普段は不要

2. うまく作るコツ(ここで差がつきます)

同じ仕組みでも、入れるものの違いで仕上がりが変わります。効く順に4つ挙げます。

① 事実メモを書く(いちばん効きます)

空のままだとAIは映像から見て取れることしか書けません。 味・創業・こだわり・受賞歴・アクセスは、根拠が無いので書けず、画面にもその旨が出ます。

書くほど良くなります。長さは気にしないでください。読み方が難しい語はかっこで添えてください。

例)大阪・岸和田の鰻人(うなじん)。炭火で焼き上げた関西風地焼きの鰻重が名物。 看板メニューはタジン鍋で楽しむうな丼「うなタジン」。最寄りは岸和田駅から徒歩8分。

② 縦で撮る

縦9:16に作り直すため、横向きの素材は左右が切れます(中央だけが大きく残ります)。 警告は出ますが処理は止まりません。

迷ったら縦で撮り直すのがいちばん確実です。

③ 素材は3〜6本を目安に

1カットは2〜3秒に整えられます。4本で約11秒、6本で約18秒です。 リールとしては15〜30秒が目安なので、5〜10本あると収まりが良くなります。

上限は15本・合計90秒です。

④ 看板か外観を1本入れる

締めに「どこの店か」を出せます。看板・外観が無いと、画面が 「場所が分かる画がありません」と知らせます。

足りないときは撮った動画をあとから足せます(「外観・看板の動画を足す」)。 いちばん確実で、費用もかかりません。

3. 出す前に必ず見る、3か所

機械が見られるのは「形」だけです。中身が正しいかは人にしか分かりません。 公開の前に、この3つだけ確認してください。

見る所何を確かめるか
1 区画1「出せる状態か」 赤(要修正)が出ていたら公開しない。打つ手と押すボタンが一緒に出ます。 黄(要確認)は、内容を見てご判断ください
2 区画3「画面の文字」の「出る画」 料理の名前が、別の料理の画に乗っていないか。 文字が正しくても、出る画が違うと事実と違って見えます。 機械はここを判定できません
3 区画2「できあがりを見る」で再生 音を出して最後まで。元の音が消えていないか、声と字幕が合っているか。 投稿する版(多くは「テロップ入り」)を選んで確認してください
12項目の中身(機械が何を見ているか)
#項目何を見るか外れたら
1投稿キャプション空でないか要修正
2ハッシュタグ3個以上あるか要確認
3文章の書き分け投稿文と読み上げ原稿が同じ文になっていないか要修正
4字幕A(元の声用)元動画に発話があるのに0件になっていないか要修正
5字幕B(音声付き動画用)1件以上あり、音声の長さに収まっている要修正
6音声の長さ動画の尺の8割以上を埋めているか(無音が続かないか)要確認
7音声の切れ音声が動画より長く、末尾が切れていない要修正
8映像の長さ元の映像と同じ長さか(勝手に切り詰められていないか)要修正
9元の声元動画に発話があるとき、二重に鳴らないよう消せているか要修正
10テロップ1枚20字以内・1.2秒以上・3〜12枚・同じ場所で重なっていないか要確認
11テロップと画の対応全部の文字に「出る画」が決まり、その画の中に収まっているか要確認
12素材の根拠事実メモや発話に根拠があるか/店舗を取り違えていないか要修正

形が壊れているものは、見せる前に機械が直します(字幕のはみ出し・テロップの重なりなど)。 直した内容も画面に出ます。中身が正しいかまでは判定できません——だから上の3か所を人が見ます。

投稿の直前に、もう1つ

いまの出力は音が小さめです(実測 -26.5 LUFS/SNSの目安は -14 前後)。 他の投稿から流れてくると音が小さく感じます。投稿アプリ側で音量を上げるか、 Instagram のトレンド音源を足すとバランスが取れます。こちらは近く直します。

4. 直したいときの早見表

直した内容は、作り直しても消えません。ただし後の版は作り直しが必要です (どれが古いかは画面が教えます)。押すボタンと、そのあと何をすべきかを並べます。

直したいものどこで押すボタンそのあと
素材の順番・使う/使わない構成 「開いて並べ替える」→ 「この並びで動画を作り直す」 映像・文字・音声がこの並びに合わせて作り直されます(1〜3分)
投稿文・ハッシュタグ区画3 直して「保存」動画は作り直しません(文章だけ)
声を変える/原稿を直す区画3 「この声・原稿で作り直す」 音声と音声付き動画が作り直され、テロップ入り・BGM入りは消えます(押せば作り直せます)
店主の肉声を使う区画3 「音声ファイルを選ぶ」 無音を落とし・音量をそろえ・尺に合わせて載ります(30秒〜1分)
画面の文字(文言・時間)区画3 直して 「この内容で動画に焼き込む」 焼き込みは押したときだけ。元の版は残ります
文字の位置・大きさ・色区画3 各行の「見た目」→ 見本の中でつまんで動かす 同上(焼き込みで反映)
文字が乗る画を変える区画3 各行の「出る画」を選び直す 時間もその画に自動で合わせます
BGMを付ける区画2 「BGMを付ける」(曲調の指示は任意) 最後の版になります。Instagram側の音源を使うなら付けないほうが選べます
全部やり直す区画2 「もう一度実行する」 解析からやり直します。人が直した文字は残ります

画面の文字(テロップ)は、押さないと動画に入りません。 焼き込んだ文字はあとから剥がせないためです(映像そのものに描き込みます)。 そのぶん焼く前の動画は消さずに残すので、文字を直して焼き直せます。 Instagram側で文字を足したいときや、字幕ファイルだけ使いたいときにも、焼かずに出せます。

5. 注意していただきたいこと

運用で取り返しがつかないもの、誤解しやすいものを先に挙げます。

取り消せない操作

「元素材を削除して容量を空ける」を押すと、以後この依頼の並びは変えられなくなります (動画と成果物は残ります)。並びを動画に反映する前に押そうとすると画面が止めますが、 押す前に一度ご確認ください

依頼そのものの削除も戻せません。

そのまま公開しないでほしいもの

  • 赤(要修正)が出ている出力
  • 文言と映像が食い違っているテロップ(機械には判定できません)
  • 生成で補った画に、店名や道順の文字が乗っているもの — その画は実在しないお店です。 重なる場合は警告が出ます

いまは「元の音」が消えます

元動画に人の声や歌があると、ナレーションと二重にならないよう自動で消えます。 歌・演奏・お客様の声が主役の動画では、そのまま使えません。

選べるようにする対応を進めています(詳細は「元の音の扱い」の章)。 それまでは、その手の素材はお手元の動画をそのまま投稿いただくのが確実です。

1日の本数に上限があります

外部AIの制限に合わせて、1日に実行できる本数を制限しています。 まとめて多数作られる予定があるときは、事前にお知らせください(上限を調整します)。

1本あたりの費用は数十円です。

言語を増やすとき

プログラムの改修は不要です。対応言語は表の行として持っているので、 1行足せば次の依頼から出ます。読む速さ・字幕の字数も言語ごとに設定できます。

新しい店舗を追加するとき(辞書とNGワード)

店名を渡せば、候補は自動で集まります(Googleマップ・公式サイト・紹介記事)。 店名やメニュー名の表記と読みを抜き出し、一次情報と食い違う語や造語には自動で印が付きます。

ただし確定は人がやります。AIが実在しないメニュー名を作った事故があったため、 ここは意図的に自動化していません。使ってはいけない言葉(NGワード)も同じ場所に持ちます。

弊社側の作業です(御社の操作は不要)。新店1回きりで、 2本目以降の動画には自動で適用されます。

困ったときは

画面が「実行サーバに接続できません」と出る結果が10分以上出ない同じエラーが2回続く ときは、依頼のID(例 c833ad04)を添えてご連絡ください。 来歴から何が起きたかを追えます。

第2部

仕組み

何が起きているか・何が残るか

6. 全体は「1本の製造ライン」です

素材を入れると、下の順に流れます。止まるのは2か所だけで、あとは自動です。 途中で人が手を入れると、その先の工程は作り直しが必要になります(どの版が古いかは画面が教えます)。

素材 動画1〜15本 全部に共通 ① 解析(AIが見る) ② 裏取り ③ 構成・連結 → 映像が1本になる 言語ごと 言語ごとに繰り返す ④ 文章(投稿文・字幕A) ⑤ 読み上げ原稿(字幕B) ⑥ 声にする ⑦ 映像に重ねる ⑧ テロップを書く ここまで自動。 押さなくても出来ている ⑪ 確認 機械が12項目 押したときだけ ⑨ 文字を焼く ⑩ BGMを付ける 人の操作が要る 4つの版 +文章一式 止まる:裏取りNG/連結の検査NG 止めない:赤が出ても保存する (捨てるより人が見る方が安い)
素材1本でも15本でも流れは同じです。①〜③は全言語で1回だけ④〜⑧は言語の数だけ繰り返します。 言語を増やしても①〜③の費用は増えません。

7. 工程ごとの入力・処理・出力

左が「何を受け取るか」、中央が「何をするか(誰が)」、右が「何が出て、どこに残るか」です。 コード表記は保存先の名前で、打ち合わせでは読み飛ばして構いません。

01

受け取る

人が決める
入力
  • スマホの動画 1〜15本(合計90秒まで)
  • 店舗(辞書とNGワードが紐づく)
  • 事実メモ(任意)
  • 対象言語(ONの言語すべて)
処理 画面が動画を倉庫へ直接置き、帳簿に「1本受け付けた」と書きます。
この時点では何も処理していません(受付だけ)。
選んだ順が、そのまま繋ぐ順の候補になります
出力
  • 依頼1件(実行待ち)
帳簿 jobs/倉庫 videos/uploads/…

事実メモがここでの分かれ道です。 空でも作れますが、その場合AIは映像から見て取れることしか書けません。 味・創業・こだわり・受賞歴は根拠が無いので書けず、画面にもその旨が出ます。

02

解析(AIが動画を見る)

機械
入力
  • 連結前の動画
  • 解析の型 analyze@v2
処理 Gemini が動画を見て・聴いて、話している内容の文字起こし、要約、日本語の投稿文、字幕の候補を作ります。
API 1回。動画は一度Googleへ預けて解析します
出力
  • 文字起こし/要約
  • 日本語の下書き
  • 字幕A の候補
この段では帳簿に書かず、次の工程へ渡します
03

裏取り(事実の確認)

機械止まることがある
入力
  • 文字起こし・事実メモ
  • 店舗の辞書
処理 素材に根拠があるか店舗を取り違えていないかを確かめます。 翻訳を始める前に置いてあるので、間違いに気づいた時点でAPIを1回も無駄にしません。
出力
  • 発話の量(この後の音の扱いを決める)
  • 根拠あり/なし/取り違え

取り違えを見つけたら、ここでジョブを止めます。 実例=別の店舗(鰻店)の解析が混じったとき、「この動画には店名もメニューも出てきません」と出して停止しました(2026-08-13)。

04

構成(どの画をどの順で使うか)

機械が下書き人が決める
入力
  • 素材ごとの静止画と長さ
処理 AIが素材の役割(看板・外観・店内・調理・料理・食事)を見分け、順番と使う/使わないを提案します。 決めるのは人です。並べ替え・除外・素材の追加・足りない画の生成ができます。
出力
  • 構成(並び・取捨・冒頭の狙い)
  • 足りない画の指摘
帳簿 jobs.plan_json
05

連結(映像を1本にする)

機械止まることがある
入力
  • 確定した構成
  • 素材の動画
処理 すべてを縦9:16(720×1280)に作り直して繋ぎます。繋いだ直後に 「全区間を再生できるか・解像度が揃っているか」を検査します。
1カットの狙いは 2〜3秒・全体24秒
出力
  • 1本になった映像
  • 時間割=何番目の素材が何秒〜何秒に映るか
帳簿 plan_json.built.timeline

横向きの素材は左右が切れます(中央を切り出すため)。警告は出ますが止めません。 この「時間割」が、あとでテロップを画に合わせる土台になります。

06

文章(投稿文・字幕A・ハッシュタグ)

機械後から直せる
入力
  • 解析の結果
  • 店舗の辞書・NGワード
  • 事実メモ
処理 日本語は清書、他の言語は翻訳します。辞書を必ず添えるので、 店名・メニュー名の表記がぶれません。
言語ごとにAPIを呼びます
出力
  • 投稿キャプション
  • 字幕A=元の声に付ける字幕
  • ハッシュタグ(3個以上)
帳簿 outputs.caption_text / subtitle_srt / hashtags_json
07

読み上げ原稿(字幕B)

機械後から直せる
入力
  • 解析の結果
  • 動画の長さ
  • 言語ごとの読む速さ
処理 投稿文とは別の文を書きます(読む速さも読み方も違うため)。 長すぎたら短く書き直し、短すぎたら書き足して尺の8割以上を埋めます
日本語 5.2字/秒・中国語 3.1字/秒(実測)
出力
  • 読み上げ原稿
  • 字幕B=新しい声に付ける字幕
帳簿 outputs.narration_text / narration_srt

字幕が2種類あるのはこのためです。 元の声のまま出すなら字幕A、声を差し替えた動画なら字幕B。取り違えると声と字幕が食い違います。

08

声にする

機械声を選ぶ・肉声を使う
入力
  • 読み上げ原稿
  • 声(5種から選択)
  • または、録った肉声
処理 合成音声を作ります。長すぎたら原稿を短く書き直してから作り直します(早口にしません)。
肉声を使う場合は前後の無音を落とし・音量をそろえ・動画の長さに合わせてから載せます。
詰められる速度に上限があり、超えるときは人に返します
出力
  • 音声ファイル(言語ごと)
  • 実測の秒数
倉庫 audio/<依頼>/<言語>.wav
09

映像に音を重ねる

機械
入力
  • 連結した映像
  • 作った音声
  • 元動画に入っている音
処理 映像は作り直さず、音のトラックだけ差し替えます(速く、画質も落ちません)。
このとき元の音をどれだけ残すかが自動で決まります(次の章で詳しく)。
出力
  • 音声付き動画(言語ごとに1本)
倉庫 renders/<依頼>/<言語>.mp4
10

テロップ(画面に出す文字)

機械人が直せる
入力
  • 映像の時間割(05で作ったもの)
  • 素材ごとに何が映っているか
  • 辞書・NGワード
処理 AIが1枚ずつ「どの画について書くか」を決めます。文字はその画が映っている間だけ出ます。 画1つにつき1枚で、時間はこちらで割り当てます。
字幕とは別物。声と一致させません
出力
  • テロップ(文言・時間・出る画・見た目)
帳簿 outputs.telop_json

人が直せるのはここが一番多い所です。 文言・表示時間・出る画・色・背景・位置(つまんで動かす)・大きさ・縦書き。 直した内容は作り直しても消えません。

11

焼き込み/BGM

押したときだけ
入力
  • 音声付き動画
  • 確定したテロップ
  • 曲調の指示(任意)
処理 文字を映像に描き込みます(後から直せないので、押したときだけ実行)。
BGMはAIが曲を作って重ねます。元の版は消さずに残すので、やり直せます。
出力
  • テロップ入り動画
  • BGM入り動画
倉庫 renders/…_telop.mp4 / …_bgm.mp4
12

出す前の確認

機械最後は人が決める
入力
  • 出力の一式
  • 映像の時間割
処理 12項目を判定します。形が壊れているものは見せる前に自動で直します (字幕のはみ出し・テロップの重なりなど)。直した内容も画面に出ます。
出力
  • 合格/要確認/要修正
  • 打つ手(どのボタンを押すか)
帳簿 outputs.quality_json

赤が出ても処理は止めません。 文章も音声も出来ているので捨てるのは損で、人が見て決めるほうが安いためです。 ただし赤のまま公開しないでください。

8. 元動画に入っている音は、いまどう扱われるか

ご質問の点です。いまは自動で決まり、選べません。判定の分かれ道は「元動画に人の声があるか」の1つだけです。

元動画の音 歌・声・環境音 機械が判定 人の声・歌がある (文字起こしに1字でも出れば) 元の音を 0 にする =完全に消える 環境音・音楽だけ (喋っていない) 15% で残す =うっすら聞こえる 音声付き動画 + AIナレーション この分かれ道を、画面から選ぶことはできません
なぜ消すのか=ナレーションと二重に喋るのを防ぐためです(2026-08-08 の修正)。 元の声を15%で残していた頃、日本語の声が鳴り続けたまま外国語ナレーションが乗り、外国語版が使えませんでした。

そのため、いまはこうなります

歌・演奏・お客様の声など「その場の音が主役」の動画でも、消えます。 実例=8/13にお作りいただいた「経営者パーティー」(ステージの歌が入った22秒)は、 歌が発話と判定されて完全に消え、英語ナレーションに置き換わりました(実測で確認済み)。

回避する道がいまはありません。 元の音の量を画面から変えることも、ナレーション無しで文字だけ焼くことも、 連結後の映像だけを取り出すこともできません。

9. 実際に3つ作って比べました

お預かりしている「経営者パーティー」の素材(22秒・ステージの歌入り)で、同じ映像・同じ文字のまま音だけを変えて試作しました。 データは書き換えていません。どれも既にある部品だけで作れています。

元の歌ナレーション画面の文字状態
A いまの出力 消える0倍) あり(英語・AIの声) まだ焼いていない いま自動でこうなります
B 元の音を残す そのまま1.0倍) あり(重なって鳴る) まだ焼いていない 試作OK。ただし歌と声が同時に鳴ります
C 元の音のまま文字だけ そのまま(ステレオのまま) 載せない 9枚を焼き込み済み 試作OK。歌が主役の動画はこの形

試作して分かったこと

C は、いまある部品だけでそのまま作れました。 焼き込みの処理は「どの動画に文字を焼くか」を受け取る作りなので、 声を重ねる前の映像を渡せば、元の音のまま文字だけが乗ります(実測22.29秒・元の音はステレオのまま)。

足りないのは画面にその選択肢が無いことだけです。

足すとしたら、この3つ

  • 元の音を消す/小さく残す/そのままを画面で選ぶ
  • ナレーションを載せないを選べるようにする(=C の形)
  • 元の音とナレーションの音量バランス

いずれも工程09の1か所です。先に決めていただきたいのは「この店舗ではどれを既定にするか」で、 店舗ごとに持たせれば毎回選ばずに済みます。

いま(実装前)に元の音を活かすなら

この仕組みを通さず、お手元の素材をそのまま投稿することになります。 その際は字幕A(元の声に付ける字幕・多言語)をダウンロードしてお使いいただけます。 ただし構成・テロップ・BGMは付きません。

10. 出てくる4つの版と、その依存関係

成果物は別々のファイルとして併存します。上書きしないので、いつでも前の版に戻れます。 ただし後ろの版は前の版から作るので、前を直したら後ろは作り直しが必要です。

① 音声だけ 声だけ。映像なし +映像 ② 音声付き動画 文字は入っていない +文字 ③ テロップ入り 焼き込み済み +音楽 ④ BGM入り これが最後の版 前を直すと、後ろは古いまま残る → 画面が「作り直してください」と出す
例=テロップを焼いたあとに声を変えると、テロップ入りは古い声のままです。 画面はどの版が古いかを判定し、押すべきボタンまで案内します

11. データはどこに、どう残っているか

帳簿(表)は4つだけ、倉庫(ファイル置き場)は3つだけです。 言語や型はコードに書かず、表の行として持っていますので、言語を増やすときはプログラムを触りません。

置き場何が入っているか1件の単位
shops(店舗)店名/固有名詞の辞書(表記・読み・訳・出典)/使ってはいけない言葉/テロップの型店舗1つ
languages(言語)言語コード・表示名・ON/OFF・基準言語か・字幕の最大字数・声・読む速さ言語1つ
jobs(依頼)素材の場所/状態/事実メモ/構成と時間割/所要時間/API回数/費用依頼1件
outputs(出力)投稿文・字幕A・字幕B・ハッシュタグ・読み上げ原稿・テロップ・音声と動画の場所・品質判定・来歴依頼×言語
videos(倉庫)お預かりした素材と、連結した映像ファイル
audio(倉庫)作った音声・録っていただいた肉声ファイル
renders(倉庫)音声付き動画・テロップ入り・BGM入りファイル

来歴(あとから辿れること)

1件ごとにどの素材・どの型(版つき)・いつ・何回APIを呼んだかを残しています。 「なぜこの文になったか」を後から説明できます。

人が直した所は上書きしません

テロップ・投稿文・原稿など人が手を入れたものは、作り直しても消えません。 ただし時間と並びだけは映像に合わせ直します(何枚動かしたかを画面に出します)。

12. いまできないこと(聞かれる前に)

実装から確認できている範囲で、正直に並べます。

できないこといまの状態
元動画の音を活かす人の声・歌があると自動で消えます。選べません。ただし試作では作れました(3-2章)
ナレーション無しの動画4つの版すべてが声を載せる前提です。試作では作れました(3-2章のC)
音の大きさ実測 -26.5 LUFS。SNSの目安(-14前後)より12dB以上小さいです。次に直します
ナレーション中にBGMを下げる喋っている間も同じ音量で鳴ります
表紙(カバー)の指定先頭のコマ任せです
カットを音楽に合わせるカットの長さは素材都合で決まり、BGMは最後に載せるだけです
横向き素材左右が切れます(縦での撮影をお願いしています)
文言が画に合っているかどの画に出すかは機械が確かめますが、言葉と映像の中身が合っているかは人が見ます
第3部

なぜこう作ったか

技術の選定理由と、かかった時間

13. 全体の方針 — 先に決めた4つ

個々の技術より先に、この4つを決めてから部品を選びました。 どれも「あとで変えられるようにする」ための決めごとです。

① 質より先に、導管を通す

最初にやったのは「動画1本を入れて、全言語のテキストが出る」を1回通すことだけです。 質を上げる工夫は後回しにしました。

なぜ=通してみないと、どこが本当の詰まりかが分からないためです。実際、詰まったのは 生成の質ではなく音の扱い・文字と画の対応でした。先に質を作り込んでいたら、そこは触れていません。

② 変わるものはデータで持つ

言語・プロンプト・声・テロップの型・辞書は、コードに書かず表の行として持ちます

なぜ=言語を1つ増やすのに開発が要る作りだと、増やすたびに費用と時間がかかるためです。 いまは表に1行足すだけで、プログラムは触りません。

③ 鍵はブラウザに出さない

AIの鍵を持つのは実行サーバだけ。画面にできるのは「依頼を出す」「結果を読む」だけです。

なぜ=ブラウザの中身は誰でも見られます。鍵を置くと、リンクを知った第三者がAIを使い放題になり、 請求だけがこちらに来ます。1日の実行本数にも上限を付けています。

④ 人が直せる口を最初から通す

自動で出したものを、そのまま公開しない作りにしました。あとから足すのではなく、最初から通してあります。

なぜ=生成物は必ず外します。外したときに直せないと、作り直すしかない=そのぶん費用と時間がかかるためです。

14. 技術スタックと、選んだ理由

各カードは「何のために・なぜそれか・代わりに何を見送ったか」の3点セットです。 見送った案も残してあるので、前提が変われば戻せます。

Supabase

動画の倉庫+作業の帳簿(PostgreSQL)
何のために
  • 数百MBの動画を預かる置き場
  • 進捗と結果を書く台帳(4つの表)
  • 画面と実行サーバが同じものを見るための共通の置き場
見送った案 倉庫・DB・権限を別々に契約する
管理も請求も3つに増え、つなぎ込みの手間も3倍になります。

選んだ理由倉庫・帳簿・権限が最初から1つに揃っていること。 加えて、処理に数分かかるので途中経過を書く場所が必須でした。画面を閉じても処理が続き、 あとで開くと終わっているのは、進捗が帳簿に書かれているからです。

Cloudflare Workers

受付(画面を配る・合言葉・依頼の取り次ぎ)
何のために
  • 操作画面を配る
  • 合言葉(ID・パスワード)で入口を守る
  • 「実行して」の依頼を、内部だけで実行サーバへ渡す
見送った案 実行サーバを直接インターネットに出す
公開URLを持つと、鍵の管理と攻撃対策を自前で背負うことになります。

選んだ理由実行サーバに公開URLを持たせないため。 受付を通らないと触れない形にすると、③(鍵を出さない)が構造として守られます。

Cloudflare Containers + Docker

実行サーバ(AIの鍵を持つ唯一の場所)
何のために
  • 動画を取り出し、AIに渡し、結果を帳簿に書く
  • ffmpeg を積んでおくため(音を重ねる・文字を焼く)
  • 弊社のPCを不要にする
見送った案 Render(構成ファイルは残してあります)
Supabase Edge Functions(Deno)はffmpeg を起動できないため、動画処理には使えません。

選んだ理由新規アカウントも鍵の貼り付けも要らず、既に使っている道具だけで完結すること。 コードは1行も変えずに置き場所だけ移しました(Macでもコンテナでも同じ出力になることを実測で確認)。 設定の意図=同時に2つ動かさない(同じ依頼を二重に処理してAPI枠を倍使うため)/使わない間は寝かせる(課金を止めるため)。

Gemini(Google)

動画を見る・訳す・声にする・曲を作る
何のために
  • 動画をそのまま渡して内容を理解させる
  • 言語ごとの翻訳と清書
  • 読み上げ音声(5種の声)
  • BGMの生成
見送った案 用途ごとに別のサービスを組み合わせる
(動画解析+翻訳+音声合成+音楽生成=契約4つ・鍵4つ・請求4つ)

選んだ理由この4役を1つの鍵で賄えること。 特に「動画をそのまま渡して理解させられる」点が大きく、音声を書き起こしてから解析する2段構えが要りません差し替えは想定しています=プロンプトは外部ファイル、言語は表の行なので、 別のAIに替えても土台(倉庫・帳簿・工場・受付)は作り直しになりません。

ffmpeg

映像と音の加工(重ねる・繋ぐ・焼く)
何のために
  • 素材を縦9:16に揃えて繋ぐ
  • ナレーションを映像に重ねる
  • テロップを映像に焼き込む
見送った案 クラウドの動画編集API
1本ごとに費用がかかり、細かい制御(元音の量・文字の位置)が効きません。

選んだ理由これ以外に現実的な手段が無いため。 工夫として映像は作り直さず、音のトラックだけ差し替えます。 小さい箱(1/4 vCPU)でも実時間の何分の一かで終わり、画質も落ちません。

React + Vite(既存モックの流用)

操作画面
何のために
  • アップロード・実行の依頼・進捗表示・結果の編集
見送った案 画面を作り直す
先にお見せしたモックがあり、作り直すと同じ画面をもう一度作ることになります。

選んだ理由既にあるものを流用し、足したのは4つのやり取りだけ (アップロード/実行の依頼/進捗の表示/結果の表示)。 画面を描き直さないと決めたことで、P1の作業を土台づくりに集中できました。

依存ライブラリを増やさない

方針(技術そのものではない)
何のために
  • 資料のMarkdown変換・時間の割り当て・検査などは自前の短いコードで書く
見送った案 汎用ライブラリを都度入れる
動く範囲は広がりますが、更新・脆弱性・仕様変更を抱え込みます。

選んだ理由後から読む人の負担。 使う機能が限られている所にライブラリを入れると、読む対象が増えるだけです。 いま本体が使っている外部の部品は4つだけです(AI・Supabase・React・アイコン)。

15. 途中で変えた判断(変えた理由つき)

やってみて分かったことで、方針を変えた所です。変えた事実と理由を残しておくと、 同じ議論を二度しなくて済みます。

日付変えたことなぜ変えたか
08-02 弊社PCでの実行 → クラウドへ移設 「こちらがPCを開いていないと御社が実行できない」形だと、御社だけで完結しません。 着手前に「誰がいつ触るか」を確認していれば避けられた手戻りです(実測1.6H
08-08 元の声を一律15%残す → 発話があれば消す 元の声が残ったまま新しいナレーションが乗り、2人が別のことを喋る状態になっていました。 外国語版では日本語の声が鳴り続けて使えません
08-08 字幕1種類 → 2種類(元の声用/差し替え用) 「元の音のまま出す」のと「声を差し替える」のとでは、合う字幕が違います。 取り違えると聞こえる声と字幕が食い違います
08-08 目視での確認 → 機械が12項目を判定 見つかった不具合がどれも「出来上がった」と保存されてから人が気づいたものでした。 基準を資料に書くだけでは同じことが起きます
08-11 第4段階「3案から選ぶ」 → 1本を直せるようにする 3案を出しても良いものが無ければ選べません。同じ素材から3本作るより、 1本を直すほうが速く、費用も少なくて済みます
08-13 テロップを全体の要約から作る → 画ごとに作る 文字と映っているものが食い違っていました(チキンの文字が冷麺の画に)。 時間だけを文字数で割っていたのが原因で、画の切り替わりとは無関係でした
08-14 元の音の扱い(これから 歌・演奏が主役の動画でも、いまは自動で消えます。 選べるようにする必要があります(試作では既存の部品だけで作れました)

16. なぜこれだけの時間がかかったのか

まず数字を出します。AIと対話していた時間はログから実測できます(2026-07-19〜08-15)。

実測

AI対話 38.7 H
セッション58回 / 人が打った指示 179件

この数字に入っていないもの

一次情報の裏取り・生成物の目視確認・エラーの再現・外部サービスの設定と課金・テスト待ち・技術選択の判断。 8/5 までの実測では、この「外側」が 13.9H あり、AI対話(14.1H)とほぼ同じでした。

8/5以降は打刻が途切れており、正確な数字がありません(推定値は出しません)。

1) 何に使ったか(段階別・実測)

第1段階を通す8.1H
運用に載せる13.4H
第2段階(音声)6.7H
第3段階(編集)4.6H
修正と報告5.8H

いちばん大きいのは「運用に載せる」13.4Hで、機能を増やした時間ではありません。 弊社PCを外してクラウドへ移す・自動で復帰する・事実の裏取りを機械にやらせる・辞書を自動で作る、 といった毎回発生する人手を先に潰すための時間です。

2) 時間の正体は3つ

① AIが短縮するのは「書く時間」だけ

渡す前(何を作るか決める・素材と事実を揃える)と、受け取った後(見て・直して・確かめる)は減りません。 8/5の実測では、この外側がAI対話と同じ量ありました。

「AIなら3時間」という見立てはコードを書く時間としては正しく、実測でも 第1段階のコア実装は4.7Hでした。差が出るのは外側です。

② 指示の半分は「人が動いた結果」を渡す作業

179件の内訳です。

  • 純粋な実装依頼 … 91件(51%)
  • 生成物・画面を見た結果 … 29
  • 仕様・方針の判断 … 20
  • 外部サービスの設定・課金 … 19
  • エラーの報告(動かして踏んだもの) … 15
  • 事実の訂正(一次情報にもとづく) … 5

③ 実物を作らないと分からない欠陥

下の6つはすべて「出来た」と保存されてから、人が実物を見て気づいたものです。 設計段階では見つけようがありませんでした。

  • 声が二重に鳴る
  • 音が尺の3割で終わる
  • 字幕と声が別物
  • 並べ替えが動画に反映されない
  • 文字が1カットぶんずれる
  • 元の音が消える(対応中)

3) 削れたはずの時間(こちらから出します)

何が実測どうすれば防げたか
手戻り(共有リンクを作った翌日にクラウドへ作り直し)1.6H 着手前に「誰が・いつ・どこから触るか」を確認する
API無料枠による分断(1日3本しか検証できず、修正の確認が翌日へ)1〜2H 制約に気づいた日に課金する(気づいた7/31から有料化8/3まで3日空けた)
資料の作り込み過多(同時期に公開資料を4種類)1〜2H 実装が確定してから1本だけ作る

この期間に何を作っていたか(規模ではなく、目的で)

コア実装以外の大半は、上の「外側13.9H」を次回から機械にやらせるための実装でした。 辞書の自動生成(一次情報からの裏取りを削る)・事実の機械検査(目視を削る)・ 失敗の自動切り分けと再試行(エラー再現を削る)・出す前の12項目判定(見落としを止める)。

店舗が増えるほど、この差は効きます。手間のかかる確認(辞書づくり)は新店1回きりで、 2本目以降の動画には自動で適用されます。

17. 聞かれたときの答え方(3行)

質問答え
なぜこの技術か 鍵を1つに、契約を1つに、置き場を1つに寄せるため。差し替えられる形にしてあるので、 前提が変われば土台を作り直さずに替えられます
なぜ時間がかかったか AIが短縮するのは書く時間だけで、実測ではその外側が同じ量ありました。 いちばん大きい13.4Hはその外側を機械に肩代わりさせるための実装です
次はもっと速くなるか 2店舗目以降は速くなります。辞書づくりは新店1回きり、 土台(倉庫・帳簿・工場・受付)は作り済みで、増えるのは工程だけだからです