自社が配信するポッドキャストの音声を文字に起こし、番組の紹介文・章立て・SNSの告知文を下書きして、固有名詞の確認に回す
編集済みのポッドキャストの音声を時刻つきで文字に起こし、番組の紹介文・章立て・SNS の告知文を下書きします。出演者名や社名などの固有名詞は、辞書と照らした確認の一覧にして担当に回します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- IT・SaaS/人材/広告
- 対象部門
- マーケティング
- 対象業務
- 書類作成/要約
- 主な課題
- 人手が足りない/書類作成に時間がかかる/確認ミスが多い
- AIで行う処理
- 生成
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 編集済みの音声が Google ドライブに置かれたら、担当者が通しで聞き直す
- 聞きながら、話題が変わったところの時刻と、要点をメモする
- メモから章立てを作り、時刻を「12:30」のように書きそろえる
- 番組の紹介文を書く。ゲストの肩書きと話題の要点を入れる
- SNS の告知文を書く。印象に残った発言を1つ入れる
- ゲストの名前、会社名、製品名の表記を、名刺やゲストの会社のサイトで確かめる
- 配信の管理表に書き、上長の確認を経て配信ページに載せる
- 人編集者が編集済みの mp3 を Google ドライブの「配信前」フォルダに置く
- 自動Make のシナリオがファイルを見つけ、サイズを確かめてダウンロードする
- 自動OpenAI の文字起こしの API が、区切りごとの時刻つきで文字に起こす
- 自動配信の管理表から番組の情報を、固有名詞の辞書から登録済みの名前を引く
- 自動Claude API が、紹介文・章立て・告知文を下書きし、固有名詞の一覧を作る
- 自動ワークフローが章の始まりの区切りの番号を時刻に置き換える
- 自動下書きを Google ドライブに文書として置き、配信の管理表に1行書き、担当者にメールで知らせる
- 人担当者が固有名詞の一覧を確かめ、表記を直す
- 人担当者が章立てを音声で数か所聞いて確かめ、紹介文と告知文を整える
- 人ゲストの発言を告知に使うときはゲストに確かめ、上長の確認を経て配信ページに載せる
各工程の詳しい説明を読む
- 編集済みの音声が Google ドライブに置かれたら、担当者が通しで聞き直す
- 聞きながら、話題が変わったところの時刻と、要点をメモする
- メモから章立てを作り、時刻を「12:30」のように書きそろえる
- 番組の紹介文を書く。ゲストの肩書きと話題の要点を入れる
- SNS の告知文を書く。印象に残った発言を1つ入れる
- ゲストの名前、会社名、製品名の表記を、名刺やゲストの会社のサイトで確かめる
- 配信の管理表に書き、上長の確認を経て配信ページに載せる
(a)聞き直すだけで番組の長さの時間がかかる。 40分の回なら40分、聞き直しのために手が止まります。倍速で聞くと、話題の変わり目の時刻を取りこぼします。 結局、戻って聞き直すことになります。
(b)章の時刻の書き間違いが起きる。 メモの時刻を書き写すときに、分と秒を取り違えたり、前の章の時刻を残したりします。配信ページの章立ての時刻がずれていると、聞き手が飛んだ先で話が途中から始まります。
(c)名前の表記の誤りが配信後に見つかる。 「斉藤」と「齋藤」、「株式会社」の前後、製品名の大文字と小文字。ゲストから「名前の字が違う」と連絡が来て、配信ページと告知の投稿を直すことが、何か月かに一度起きます。
(d)忙しい週は告知文が後回しになる。 紹介文と章立てで時間を使い切ると、告知文は配信の当日に慌てて書くことになります。番組ごとに告知文の調子がばらつく原因になっています。
- 【人】 編集者が編集済みの mp3 を Google ドライブの「配信前」フォルダに置く
- 【自動】 Make のシナリオがファイルを見つけ、サイズを確かめてダウンロードする
- 【自動】 OpenAI の文字起こしの API が、区切りごとの時刻つきで文字に起こす
- 【自動】 配信の管理表から番組の情報を、固有名詞の辞書から登録済みの名前を引く
- 【自動】 Claude API が、紹介文・章立て・告知文を下書きし、固有名詞の一覧を作る
- 【自動】 ワークフローが章の始まりの区切りの番号を時刻に置き換える
- 【自動】 下書きを Google ドライブに文書として置き、配信の管理表に1行書き、担当者にメールで知らせる
- 【人】 担当者が固有名詞の一覧を確かめ、表記を直す
- 【人】 担当者が章立てを音声で数か所聞いて確かめ、紹介文と告知文を整える
- 【人】 ゲストの発言を告知に使うときはゲストに確かめ、上長の確認を経て配信ページに載せる
8番目が、この設計の分かれ目です。 下書きはできていますが、名前の表記を確かめるのは人です。 AIが辞書に無いと印を付けた名前を、名刺や相手の会社のサイトで確かめます。
9番目で、章立てを全部聞き直すことはしません。 章の始まりの時刻は文字起こしの区切りから取っているので、数か所を飛んで聞き、話題の頭から始まっているかを確かめれば足ります。
02今回想定するシステム構成
編集済みの mp3(外部の編集者が置く) ▼【トリガー】Google Drive:Watch Files in a Folder(配信前フォルダ) Make のシナリオ ├──▶ Google Drive:Download a File ├──▶ HTTP:Make a request(multipart/form-data) │ OpenAI の文字起こしの API(whisper-1、区切りごとの時刻) ├──▶ Google Sheets:Search Rows(番組の情報/固有名詞の辞書) ├──▶ Claude API(Make an API Call):紹介文・章立て・告知文・固有名詞の一覧 ├──▶ 区切りの番号を時刻に置き換える ├──▶ Google Drive:Create a File from Text(下書きの文書) ├──▶ Google Sheets:Add a Row(配信の管理表) └──▶ Gmail:Send an email(担当者に知らせる) ▼【人】固有名詞の確認と、章立て・文面の確認
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make(シナリオ。Google Drive、HTTP、Google Sheets、Gmail) | Zapier、n8n、Power Automate |
| 生成AI | Claude API(Messages API、構造化出力) | OpenAI API、Gemini API |
| 文字起こし | OpenAI の Transcriptions API(whisper-1) | gpt-transcribe(時刻が要らない場合)、Google Cloud Speech-to-Text |
| 保管 | Google ドライブ(音声と下書き)、Google スプレッドシート(管理表・辞書) | Microsoft SharePoint |
新しく足すのは、シナリオと固有名詞の辞書だけです。 音声の置き場所、配信の管理表は、いま使っているものをそのまま使います。この構成は配信ページにも SNS にも書き込みません。 載せるのも投稿するのも担当者です。
入口は Google Drive の Watch Files in a Folder です。 公式のページでは、作成の日時で新しいファイルを、または更新の日時で変わったファイルを見張るかを選べ、1回の実行で扱う件数の上限と、ファイルの種類の絞り込みを設定できます。音声は Download a File で取り出します。
文字起こしは、HTTP の Make a request で OpenAI の Transcriptions API を呼びます。 公式のページでは、Make a request の本文の形に multipart/form-data(ファイルの送信に対応) があり、前のモジュールのファイルをそのまま当てられます。応答を待つ時間は 1〜300秒 で設定します。
文字起こしのモデルに whisper-1 を選ぶのは、区切りごとの時刻が要るからです。 OpenAI の公式のガイドでは、語や区切りの時刻が要るときは whisper-1 を使うとされ、timestamp_granularities[] は whisper-1 だけが受け付けます。 推奨のモデルとして gpt-transcribe があり、keywords で専門の語を渡せますが、時刻は返しません。章立てに時刻が要るこの構成では、whisper-1 を使います。
03どうやって実装するのか
処理の起点を決める
編集済みの mp3 が「配信前」フォルダに置かれたことを起点にします。 見張るのは作成の日時で、ファイルの種類は音声に絞ります。担当者が手でシナリオを動かす運用にはしません。 編集者が置いた時刻から下書きができるまでを、人の手が空くのを待たずに進めます。
実行の間隔は1時間にします。 配信は週に数回で、編集済みの音声が届くのは配信日の前日か前々日です。15分ごとに見張る必要はありません。 1回で扱う件数の上限は3にします。1話ごとの処理が重いので、まとめて置かれたときは次の実行に回します。
ファイル名の決まりを編集者と決めておきます。 「番組の略号_回の番号.mp3」の形にし、シナリオはファイル名から番組と回を読みます。決まりに合わないファイル名のものは処理せず、担当者に知らせます。 番組を取り違えると、辞書も紹介文の型も別の番組のものが使われます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 編集済みの音声 | mp3。番組の略号と回の番号がファイル名にある | Google ドライブ |
| 文字起こし | 全文と、区切りごとの番号・開始と終了の時刻・文 | OpenAI の Transcriptions API |
| 番組の情報 | 番組名、聞き手の名前、紹介文の型、告知文の調子、ハッシュタグ | 配信の管理表 |
| 回の情報 | ゲストの名前と所属・肩書き(担当者が収録の前に書く)、公開しない話題 | 配信の管理表 |
| 固有名詞の辞書 | 正しい表記、読み、よくある誤りの表記、種類(人・会社・製品) | Google スプレッドシート |
質を決めるのは、回の情報と辞書です。 ゲストの名前と所属を収録の前に管理表に書いておけば、文字起こしの名前と照らす先ができます。 辞書には、自社の社名、番組名、聞き手の名前、自社と取引先の製品名、業界でよく出る語を入れ、「よくある誤りの表記」の列も持たせます。 一度誤った表記が見つかったら、ここに足します。
公開しない話題の欄は、編集で落としきれなかったときの備えです。 収録で「ここはオフレコで」と言った話題を担当者が書いておき、紹介文と告知文にその話題が入っていないかを、AIに印を付けさせます。 落とすのは編集者と担当者です。
データの取得方法を決める
| 取るもの | どこから | どうやって |
|---|---|---|
| 音声のファイル | Google ドライブ | Watch Files in a Folder → Download a File |
| 時刻つきの文字起こし | OpenAI | HTTP の Make a request(multipart/form-data) |
| 番組と回の情報 | 配信の管理表 | Search Rows(番組の略号と回の番号で探す) |
| 固有名詞の辞書 | 辞書のシート | Search Rows(番組の略号と「共通」で探す) |
文字起こしの呼び出しには、次の項目を付けます。 model は whisper-1、response_format は verbose_json、timestamp_granularities[] は segment です。verbose_json で返ってくる区切りごとの開始の時刻が、章立ての時刻の元になります。
prompt には、その回の固有名詞を並べます。 OpenAI のガイドでは、プロンプトは名前・略語・その収録に特有の語の認識を助けるとされ、whisper-1 では 224トークンまで とされています。全部の辞書は入らないので、その回のゲストの名前と所属、番組名、聞き手の名前、自社の社名に絞ります。 取りこぼした名前は、後の段の照合で拾います。
ファイルは25MBまでです。 OpenAI のガイドでは、Transcriptions API が受け付けるファイルは25MBまでで、それを超えるものは圧縮した形式にするか、25MB以下に分けるとされています。分けるときは文の途中で切らないようにとも書かれています。編集者に、書き出しの設定を話し声に足りるビットレートにしてもらうのが先です。 1話50分を超える回だけ、編集者に前後半の2ファイルで置いてもらいます。
AIへ渡す前に整形する
- ファイル名の確認 … 番組の略号と回の番号を読み、管理表に回の行があるかを確かめます
- サイズの確認 … 25MBを超えるものは処理せず、担当者に知らせます
- 文字起こしの区切りに番号を振る … 返ってきた区切りに 0 から順に番号を付け、番号・開始の時刻・文の表にします
- 辞書の絞り込み … 番組の略号と「共通」に当たる行だけを渡します
- 区切りの表を渡す形に整える … 「[12] 734.2 今日は採用の話を…」のように、番号と開始の秒と文を1行にします
- 前後半の2ファイルのとき … 後半の区切りの開始の時刻に、前半の長さを足してからつなぎます
3番目と5番目が、章の時刻をAIに数えさせないための準備です。 AIには区切りの番号を選ばせ、番号から時刻を引くのはワークフローです。 AIに「12:30」と書かせると、秒を分に読み替えたり、近い時刻を丸めたりします。
6番目を忘れると、後半の章の時刻が全部ずれます。 後半のファイルの時刻は後半の頭から数えられているからです。
AIに処理させる
させるのは、1回の呼び出しで4つの下書きと1つの一覧を作ることです。
| 項目 | させること | 判断できないときの扱い |
|---|---|---|
| 紹介文 | 番組の型に沿って、話題の要点とゲストの紹介を書く | ゲストの情報が管理表に無ければ、肩書きを書かない |
| 章立て | 話題の変わり目の区切りの番号と、章の見出しを選ぶ | 変わり目が分からなければ章を減らす |
| 告知文 | 番組の調子に沿って書き、文字起こしにある発言を1つ引く | 引ける発言が無ければ引かない |
| 引いた発言の出どころ | 引いた発言の区切りの番号 | 番号が示せなければ発言を引かない |
| 固有名詞の一覧 | 文字起こしに出た人・会社・製品の名前と、辞書との照合の結果 | 辞書に無ければ not_in_dictionary |
| 公開しない話題 | 下書きに、管理表の「公開しない話題」が入っていないか | 迷えば true にして人が見る |
引いた発言には、区切りの番号を必ず付けさせます。 告知文に入れる発言は、ゲストの言葉として世に出ます。ワークフローは番号の区切りの文に、引いた発言がそのまま含まれるかを確かめ、含まれなければ告知文に印を付けます。
固有名詞は、照合の結果を3つに分けます。 辞書の表記と一致した matched、辞書の「よくある誤りの表記」に当たった known_misspelling、辞書に無い not_in_dictionary です。2つ目は辞書の正しい表記に置き換えてよいものとし、3つ目は人が確かめます。
| させないこと | 理由 |
|---|---|
| 辞書に無い名前を正しそうな字に直す | 誤りが見えなくなる。一覧に出して人が直す |
| 章の時刻を書く | 区切りの番号を選ばせ、時刻はワークフローが入れる |
| 文字起こしに無い発言を作る | ゲストの言葉として世に出る |
| ゲストの肩書きを補う | 管理表に書かれたものだけを使う |
| 配信してよいかを判断する | 担当者と上長が決める |
1行目がいちばん起きやすい誤りです。 文字起こしに「さいとう」と出ても、AIは文脈から「斉藤」と書きがちです。ゲストが「齋藤」なら、その一字の違いが(c)の連絡になります。 直させずに、一覧に出させます。
指示内容を固定する
あなたは自社のポッドキャスト番組の制作担当です。
下の文字起こしだけを使って、配信ページと SNS の下書きを作ってください。
文字起こしに無いことを書かないでください。
【作るもの】
1. 紹介文:番組の型に沿って、話題の要点とゲストの紹介を書く。
ゲストの名前・所属・肩書きは、回の情報に書かれたものだけを使う。
2. 章立て:話題が変わったところの区切りの番号(segment_id)と、
章の見出しを選ぶ。最初の章は区切り 0 から始める。
時刻は書かないでください。番号だけを選んでください。
3. 告知文:番組の調子に沿って書く。発言を引く場合は、
文字起こしの文をそのまま引き、その区切りの番号を quote_segment_id に入れる。
言い換えた発言を、かぎかっこで引かないでください。
4. 固有名詞の一覧:文字起こしに出た人・会社・製品・サービスの名前を、
文字起こしの表記のまま並べ、辞書と照らして status を付ける。
- matched ............ 辞書の正しい表記と一致する
- known_misspelling .. 辞書の「よくある誤りの表記」に当たる
- not_in_dictionary .. 辞書に無い
【厳守事項】
- 辞書に無い名前を、正しそうな字に直さないでください。
紹介文と告知文には、文字起こしの表記のまま入れ、一覧に出してください。
- known_misspelling に当たった名前は、紹介文と告知文で辞書の正しい表記を使ってください。
- 下書きに、回の情報の「公開しない話題」が入っていないかを見て、
入っていれば contains_off_record を true にしてください。迷う場合も true。
- 配信してよいかどうかは書かないでください。
【番組の情報】{show}
【回の情報(ゲスト・公開しない話題)】{episode}
【固有名詞の辞書】{dictionary}
【文字起こし([番号] 開始の秒 文)】{segments}
「時刻は書かないでください。番号だけを」と明記しないと、両方を書きます。 番号と時刻の両方があると、ワークフローがどちらを使うかで迷い、時刻のほうが間違っていても気づけません。 書かせるものを1つにします。
「言い換えた発言を、かぎかっこで引かない」は、告知文のためです。 告知文は短く切れのある文が好まれるので、AIは発言を短く言い換えて引きがちです。かぎかっこの中は、ゲストが実際に言った言葉でなければなりません。
出力形式を固定する
{
"episode_id": "",
"description": "",
"chapters": [
{ "segment_id": 0, "title": "" }
],
"social_post": "",
"quote_segment_id": null,
"proper_nouns": [
{ "as_transcribed": "", "kind": "person | company | product | other",
"status": "matched | known_misspelling | not_in_dictionary",
"dictionary_form": "" }
],
"contains_off_record": false
}
構造化出力にする1つ目の理由は、章立てを番号のまま受け取れることです。 chapters の segment_id を、ワークフローが区切りの表で開始の秒に引き、「12:14」の形に直して見出しの前に付けます。Claude API の構造化出力では、スキーマを output_config.format に渡すと、その形の JSON が応答の本文に入ります。
2つ目は、固有名詞の一覧を配列で受け取れることです。 not_in_dictionary のものだけを抜き出して、担当者へのメールの一番上に並べます。 担当者は下書きを全部読む前に、確かめる名前を知ることができます。
3つ目は、応答の終わり方を確かめられることです。 公式のページでは、stop_reason が max_tokens のときは出力が途中で切れてスキーマに合わないことがあるとされています。50分の回は文字起こしが長いので、max_tokens には余裕を持たせ、通常の終わり方でなければ下書きを作らずに担当者に知らせます。
下書きの文書は、次の順に並べます。
| 順 | 中身 |
|---|---|
| 1 | 確かめる名前の一覧(not_in_dictionary)と、公開しない話題の印 |
| 2 | 紹介文 |
| 3 | 時刻つきの章立て |
| 4 | 告知文と、引いた発言の区切りの文 |
| 5 | 時刻つきの文字起こしの全文 |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Google ドライブ | Watch Files in a Folder/Download a File/Create a File from Text | 音声を受け取り、下書きを文書で置く |
| OpenAI の Transcriptions API | HTTP の Make a request | 時刻つきの文字起こし |
| 配信の管理表・辞書 | Google Sheets の Search Rows/Add a Row | 番組と回の情報を引き、下書きの場所を記録する |
| Claude API | Anthropic Claude の Make an API Call | 紹介文・章立て・告知文・固有名詞の一覧 |
| Gmail | Send an email(社内の担当者だけ) | 下書きができたことと、確かめる名前を知らせる |
Claude API は、Anthropic Claude のアプリの Make an API Call で呼びます。 Make のアプリには Create a Prompt もありますが、アプリの説明に構造化出力の設定が書かれていないため、Messages API の本文に output_config.format を自分で書きます。
配信ページと SNS には書き込みません。 載せるのは担当者です。自動で載せる設計にすると、名前の表記の誤りがそのまま公開されます。 メールを送る先も社内の担当者だけで、ゲストには送りません。
人が確認する
担当者が、すべての下書きを配信の前に確かめます。
- 確かめる名前の一覧を先に見る …
not_in_dictionaryの名前を、名刺やゲストの会社のサイトで確かめ、紹介文と告知文の表記を直します。正しい表記が分かったら辞書に足し、誤りの表記も「よくある誤りの表記」の列に足します - 公開しない話題の印を見る … 印が付いていれば、該当の文を削り、編集者に音声の側も確かめてもらいます
- 章立てを数か所聞く … 章の時刻に飛んで、話題の頭から始まっているかを確かめます
- 告知文の発言を確かめる … 引いた発言を区切りの文と見比べ、ゲストの言葉を告知に使ってよいかをゲストに確かめます
- 上長の確認を経て載せる … 管理表の状態を「確認済み」にして、配信ページに載せます
1番目で辞書に足すのが、この構成を育てる作業です。 同じゲストの会社の名前は、次の回にも出てきます。辞書が育つほど、not_in_dictionary の件数が減ります。
例外に対処する
| 起きること | 対応 |
|---|---|
| ファイルが25MBを超える | 処理せず担当者に知らせ、編集者に書き出しの設定を直すか前後半に分けてもらう |
| 文字起こしの応答が300秒以内に返らない | 管理表に「未処理」と書き、担当者に知らせる。前後半に分けて置き直す |
| ファイル名が決まりに合わない | 処理せず担当者に知らせる |
| 管理表に回の行が無い | 処理せず担当者に知らせる。ゲストの情報なしでは紹介文を作らない |
| 引いた発言が区切りの文に含まれない | 告知文に「発言の確認が要る」と印を付ける |
segment_id が区切りの表に無い | その章を落とし、担当者に知らせる |
stop_reason が通常の終わり方でない | 下書きを作らず、文字起こしだけを文書で置いて担当者に知らせる |
| 英語など日本語以外の話が長く続く | 文字起こしの精度が落ちうる。その区間の章立てと発言の引用は担当者が確かめる |
| 同じファイルが置き直される | 管理表の回の行に下書きがあれば、上書きせずに新しい版として置く |
上の2行が大半を占めます。 どちらも、音声の書き出しの設定と長さの問題です。編集者と書き出しの設定を一度決めれば、ほとんど起きなくなります。
記録を残す
- 元の音声のファイル名と、置かれた日時
- 文字起こしの JSON の全文(区切りごとの時刻を含む)と、渡した
prompt - Claude API の応答の JSON の全文と、
stop_reason - 下書きの文書の場所と、担当者が配信の前に直した箇所
- 辞書に足した名前と、足した日・足した人
- 配信ページに載せた最終の紹介文と章立て
4つ目を残すのは、指示を直す材料にするためです。 担当者が毎回同じように紹介文の書き出しを直しているなら、番組の型の書き方が足りていません。
5つ目は、辞書の質を保つためです。 誤った表記を正しい表記として足してしまうと、以後の回でその誤りが matched として通ります。 誰がいつ足したかが分かれば、見直せます。
04実装レベルの3段階
最小構成では、時刻の扱いが手作業のまま残ります。 時刻つきの文字起こしを貼り付けても、章の時刻をAIに書かせることになるので、時刻の書き間違いは減りません。確かめるための段階です。 半自動化で、1話120分が40分になり、この段階が本記事の想定です。 聞き直し、時刻の書き写し、紹介文と告知文の下書きが自動になり、人に残るのは、名前の確認と数か所の聞き直しと文面の手直しです。
05工数削減シミュレーション
導入後 12件 × 40分 ÷ 60 = 8 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 自社のマーケティングとして複数のポッドキャスト番組を毎週配信していて、配信のたびに担当者が音声を聞き直して紹介文と章立てを書き、SNS の告知文まで作っている広告会社・IT企業・人材サービスの会社。編集済みの音声を Google ドライブに置いていて、出演者や取り上げた会社の名前の表記の誤りが配信後に見つかることが気になっている場合。
- 配信が月に1〜2回で、担当者が聞き直しながら書いて間に合っている場合。台本どおりに読み上げる番組で、台本から紹介文を作れる場合。音楽や効果音が中心で、話している部分が短い番組の場合。なお、配信してよい内容かの判断、出演者の発言の公開の可否、ゲストへの確認は、この構成では代替できません。
07最小構成で試す方法
- 先月配信した回から4話を選ぶ(ゲストの名前に珍しい字が入る回を1話は入れる)
- その4話の配信ページの紹介文と章立てを、手元に書き出しておく
- 4話の音声を、手元の文字起こしの機能で文字にし、時刻つきの文を手元の Claude の画面に貼り付ける
- 「この文字起こしから、話題が変わったところの時刻と章の見出しを選び、紹介文を書いてください。出てくる人・会社・製品の名前を、文字起こしの表記のまま一覧にしてください。名前を直さないでください」と指示する
- 出てきた章立てと名前の一覧を、実際の配信ページと突き合わせる
4話は必ずやってください。 シナリオを組む前に、文字起こしで名前がどれくらい崩れるかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 章の区切りが実際とほぼ同じ | シナリオの組み立てに進む |
| 名前が別の字で起こされている | 辞書と prompt で拾う。構成は有効 |
| 話者が重なる場面の文が崩れる | 収録のマイクの設定を見直す。AIの問題ではない |
2行目は必ず出ます。 それがこの構成で固有名詞の一覧を作る理由で、崩れた名前がどれくらいあるかを見て、辞書に最初に入れる名前を決めます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 名前が正しそうな別の字に直される | 直させずに一覧に出す。 指示に明記する |
| 章の時刻がずれる | 時刻を書かせず、区切りの番号を選ばせる |
| 後半のファイルの章の時刻がずれる | 後半の区切りに前半の長さを足してからつなぐ |
| 告知文の発言が言い換えられる | 区切りの番号を付けさせ、原文に含まれるかをワークフローで確かめる |
| ファイルが25MBを超える | 書き出しの設定を決める。超える回は前後半に分ける |
| 文字起こしが300秒以内に返らない | HTTP の応答待ちの上限を確かめ、長い回は分ける |
prompt に辞書を全部入れて切れる | whisper-1 は224トークンまで。その回の名前に絞る |
| 誤った表記を辞書に足してしまう | 足した人と日を残し、月に一度見直す |
| オフレコの話題が紹介文に入る | 管理表に書き、印を付けさせる。落とすのは人 |
| gpt-transcribe に替えて時刻が消える | 時刻が要るのは whisper-1。モデルを替えるときは章立ての作り方も替える |
上の2行が、この構成の失敗のほとんどです。 どちらも、AIに任せると見た目は整うのに中身がずれるところです。名前は一覧に、時刻は番号に、とAIに書かせないものを決めておくのが要です。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 編集済みの音声、ゲストと聞き手の声と発言、ゲストの名前・所属・肩書き、取引先や製品の名前、公開しない話題のメモです。
- 編集済みの音声だけを渡す … 収録の生の音声には、オフレコの話や雑談が入っています。外部の API に渡すのは、編集者が落とした後の音声だけにします
- ゲストの発言の使い方をゲストと決める … 告知文に発言を引くか、どの範囲を使うかは、収録の前にゲストと取り決めておきます。 この構成は引いた発言の出どころを示すだけで、使ってよいかは判断しません
- 下書きを自動で公開しない … 配信ページも SNS も、載せるのは担当者です。名前の表記の誤りと、オフレコの話題の混入は、公開してからでは消しきれません
- 公開しない話題のメモの扱い … 管理表の「公開しない話題」には、表に出せない話が書かれます。管理表を見られる人を番組の担当に絞ります
- 外部の API の利用の条件を確かめる … 文字起こしの API と Claude API に音声と文字起こしを渡すことになるので、各社の利用規約とデータの取り扱いを導入の前に確かめます
- 辞書の変更を残す … 誤った表記が正しい表記として登録されると、以後の回で誤りが通ります。足した人と日を残します
誤りが起きた場合のリスクは、名前の表記の誤りを公開することと、ゲストが言っていない言葉を告知に載せることの2つです。 前者は名前を直させると起き、後者は発言を言い換えさせると起きます。どちらも、AIに書き換えさせないことで防ぎます。
10まず何から始めるか
1週目:固有名詞の辞書を作る
自社の社名、番組名、聞き手の名前、過去のゲストと所属、自社と取引先の製品名を辞書に入れます。過去の配信ページの紹介文から拾うと早く集まります。 「よくある誤りの表記」の列も作っておきます。
2週目:4話で試す
先月の4話を文字に起こし、手元の Claude の画面で章立てと名前の一覧を作らせます。実際の配信ページと突き合わせ、名前がどれくらい崩れるかを最優先で見ます。
3週目:編集者と決まりを作る
ファイル名の決まり、書き出しの設定、長い回を前後半に分けるときの区切り方を、編集者と決めます。 配信の管理表に、ゲストの情報と公開しない話題の欄を足します。
4週目:文字起こしまでをつなぐ
Make で Watch Files in a Folder から文字起こしまでを作り、時刻つきの文字起こしを文書に置くところまでを動かします。この時点では下書きを作りません。
2か月目: 下書きと固有名詞の一覧を足し、担当者が確かめて載せる運用を始めます。辞書に足した名前の数を毎週数えます。3か月目以降: 1話120分が何分になったかを実測し、not_in_dictionary の件数が回を追うごとに減っていることを確かめた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Google Drive のモジュールに Watch Files in a Folder、Download a File、Create a File from Text、Upload a File などがあること。Watch Files in a Folder で作成の日時か更新の日時かを選べ、1回の上限とファイルの種類の絞り込みを設定できること | Make: Google Drive modules | 2026-10-14 |
| HTTP のモジュールに Make a request があり、本文の形に multipart/form-data(ファイルの送信に対応)があること。応答を待つ時間が1〜300秒で設定できること | Make: HTTP | 2026-10-14 |
| Google Sheets のモジュールに Search Rows、Add a Row などがあること | Make: Google Sheets modules | 2026-10-14 |
| Gmail のモジュールに Send an email、Create a draft email などがあること | Make: Gmail modules | 2026-10-14 |
| Anthropic Claude のアプリに Create a Prompt と Make an API Call などがあり、アプリの説明に構造化出力の記載が無いこと | Make: Anthropic Claude | 2026-10-14 |
Transcriptions API が25MBまでのファイル(mp3、mp4、mpeg、mpga、m4a、wav、webm)を受け付け、超えるものは圧縮か25MB以下に分け、文の途中で切らないこと。語や区切りの時刻が要るときは whisper-1 を使い、timestamp_granularities[] が whisper-1 だけで使え、時刻つきの出力が verbose_json であること。プロンプトが名前や略語の認識を助け、whisper-1 では224トークンまでであること。gpt-transcribe が推奨のモデルで keywords と languages を使えること。Whisper は98言語に対応し、言語ごとに精度が違うこと | OpenAI: Speech to text | 2026-10-14 |
構造化出力がスキーマを output_config.format(type: json_schema)に渡して使い、一般提供されていること。stop_reason が max_tokens のときは出力が途中で切れてスキーマに合わないことがあること | Claude: Structured outputs | 2026-10-14 |
配信してよい内容か、ゲストの発言を使ってよいかは、担当者と上長がゲストと確かめて判断してください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1463)についてのご相談はこちらから。
