先日の記事に続き、さくらのAI Engineの機能としてリリースされた文字起こし機能を利用して、LINEに話しかけることでTODOリストが登録出来るアプリを作ってみました。
前回同様公式は亀田さんの記事がとても丁寧に書かれていますので合わせてご覧ください。
第二弾で音声の文字起こしです。
— kame (@kameoncloud) September 25, 2025
長いファイルはローカルで分割して文字起こしして、結果を結合。
最後に会議議事録みたいにサマリーを作成、のサンプルです。 https://t.co/xOHpqftUqa
こちらもめちゃくちゃ簡単で、前回の記事が出来ている状態なら10分もかからず出来ます。シンプルですがLINEで登録出来ることで意外と実用的だったりもしますので、ご興味ある方は是非やってみて下さい。
最終的なシナリオは以下のようになります。
準備
Botに話しかけると、「こんにちは〜!」と返ってくる状態まで出来ている状態です。最後まで進めてしまっている方は既存のものを編集ではなく、新しく作成し同じ手順でここまで進めることをオススメします。
ユーザーの発話をファイルとして受け取る
ではまず音声ファイルの受取です。LINE Botの場合は入力窓横のマイクボタンをタップすると音声を録音し送信出来るようになっています。
Makeのシナリオを開き、WebhookとReplyの間に1つHTTP > Make a Request
モジュールを追加しましょう。
ドキュメント記載の通りユーザーの入力が音声ファイルであり、それをサーバー側で取得したい場合はhttps://api-data.line.me/v2/bot/message/{messageId}/content
にアクセスすることでコンテンツを取得出来ます。
モジュールに設定していきましょう。
一度Run Once
し、前述のマイクボタンを押して録音、送信してみましょう。
問題なく終われば、シナリオのモジュール上に処理結果の数字が表示されます。終端のモジュールをクリックし、適当な入力欄をクリックしてみましょう。
追加したモジュールで音声ファイルの取得が行われ、Data
に入っていることが確認出来ます。
さくらのAI Engineに投げ、文字起こしされた結果を取得する
ファイルの取得が出来たので、こちらをさくらのAI Engineに投げ、文字起こしを行います。
公式ドキュメントはこちらです。
curlで実行する場合はこのような形になります。
curl --request POST \
--url https://api.ai.sakura.ad.jp/v1/audio/transcriptions \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: multipart/form-data' \
--form 'file=@sample.mp3' \
--form 'model=whisper-large-v3-turbo'
これをMake上で設定しましょう。同様にHTTP
モジュールを追加し、以下のように設定して下さい。
Run Once
し、挙動を確認します。文字起こしされていることが確認出来ます。
結果を更にさくらのAI Engineに投げ要約と整形を行う
文字起こしが出来たのでこの段階でもそのままLINE Botから返信することでTODOリストとして機能させることはできるのですが、「えーと」などのノイズが入ってしまったり、タスクじゃないことを発言してしまって言い換えてしまったような時にそのまま記録されてしまうと不便ですよね。また、実は文字起こしして入力するだけなら純正キーボードの機能で出来てしまいます。
なので、一度これAIで整形する処理を挟みましょう。
具体的には
- タスクのみを抜き出す
- えーと、あの〜、などのノイズを除去する
- 誤認識を訂正する
- 見やすい箇条書きにする
という処理を与えてAIに処理させます。
system
プロンプトは以下としました。
あなたは要約のスペシャリストです。入力から、タスクとして切り出すべきものを抜き出し、要約しながらテキストで出力して下さい。箇条書きは中黒を行頭に、改行を行尾につけて下さい。ノイズとなるような単語は全て削除して下さい。
Make上でモジュールを更に追加し、設定していきます。
Request contentの全文は以下です。{{4.data.text}}
がハイライトされない場合は一度削除してクリックで選択し直して下さい。
{
"model": "gpt-oss-120b",
"messages": [
{
"role": "system",
"content": "あなたは要約のスペシャリストです。入力から、タスクとして切り出すべきものを抜き出し、要約しながらテキストで出力して下さい。箇条書きは中黒を行頭に、改行を行尾につけて下さい。ノイズとなるような単語は全て削除して下さい。"
},
{
"role": "user",
"content": "{{4.data.text}}"
}
],
"temperature": 0.7,
"max_tokens": 1000,
"stream": false
}
Run Once
し、挙動を確認します。整形されていることが確認できます。
問題なさそうですので、Botからの返信を「こんにちは〜!」から、今追加したモジュールの出力に変更しましょう。
試しにノイズ多めでたくさんのタスクを話しかけてみます。無事に見やすく整形されていることが確認できました。
シナリオの常時起動
最後に、これまではRun Once
で毎回起動させていたシナリオを常時起動に切り替えましょう。シナリオ一覧に戻り、ラジオボタンをON
に切り替えます。
これでBotとして常時入力を受け付けるようになりました。ただし無料枠の場合は制限もありますので本番運用するような場合はご注意下さい。
まとめ
無料でとても簡単にTODOリストアプリを作成できました。しかも制限はありますが無料で利用できます。
高機能なTODOリストとして機能させるにはまだまだ機能追加が必要ですが、LINEを利用することで手軽さという価値があるのではないかと思います。
LINEには他にも様々なAPIがありますので、ご興味ある方は是非公式ドキュメントを見てみて下さい。面白いアプリの登場を心よりお待ちしております。
ちょっとだけコミュニティ宣伝
LINE Developer CommunityではLINEや生成AI、クラウド等の情報が日々アウトプットされております。
皆様によるさくらのAI × LINE Botのノウハウはもちろん、LINEやチャットボットに関する知見のアウトプットを心よりお待ちしております。