
【Gumloop × GPT-4o】爆速簡単YouTube文字起こし&要約
Gumloopとは
Gumloopとは、シンプルなドラッグ&ドロップのインターフェースで、AIを使って複雑な作業を自動化するためのプラットフォームです。
MicrosoftのPower Automateのように、事前にフローを設定することで一連の作業を自動化でき、その中にAI(gpt-4oやClaude)を組み込むことができるのがGumloopです。
この記事ですること
この記事では、特定のYouTube動画の文字起こし及び要約を行ってみます。活用場面は、、、あまり思いついてないです、、、
Gumloopの何か実用的で面白い使い方、あるいは提案がありましたら共有していただけると幸いです。
それでは、やっていきましょう。
ワークフローの全体像
はじめに、この記事で作成するワークフローの全体像を示します。
Gumloopは、ノードを組み合わせることでワークフローを作成していきます。

サインイン
まず、Gumloopにログインします。任意のメールアドレスやGoogleアカウント、GitHubアカウントがあればログイン可能です。
私はGoogleアカウントでログインしました。

フロー作成
ログインした後、画面中央の「New Flow」から新たなフローを作成します。

ノード追加
ノードの追加は画面左上の「+マーク」からできます。

ノードについて
現時点でノードは大きく分けて7種類あります。
細かく見れていませんが、読み込み元や書き込み先、AIのタスクなど、色々選べる感じになっています。
詳しくはドキュメントを!

使用するノードについて
今回使用するノードを1つずつ見ていきます。
Input
その名の通り、ワークフローに入力値を与えるノードです。
Web上から直接ワークフローを実行する際は要らないですが、ワークフローをAPI的に使用する場合は必要と思われます。
今回はdefault valueに直接動画URLを入力します。

Get YouTube Transcript
指定したYouTube動画の文字起こしを行ってくれます。
長尺の動画でもほぼ一瞬(50分弱の動画が約2秒)です。何使ってんだろ、、、

Translate
文字起こしした内容を翻訳します。このノードはあってもなくてもいいですが、日本語以外の言語の動画も要約できるように一応入れました。
検出した言語によって分岐などできれば良いですが、ちょっとわからなかったです。

Ask AI
今回のワークフローの肝になるノードです。
好きなモデルを選んで、プロンプトと文字起こししたテキストを一緒に与えます。
gpt-4oのプロンプトは日本語でも問題なかったです。
先ほどの翻訳もここでいいかもしれません。
私が与えたプロンプトは以下になります。粗雑
テキストを日本語で要約してください。
10文程度を目安に、簡潔にまとめてください。

また、Summarizerという、いかにも要約してくれそうなノードもありました。こちらはプロンプトを与えられませんが、Ask AIと同様にモデルを候補の中から選択できます。今回このノードは使っていません。

Combine Text
入力内容を組み合わせることができます。
今回はinput1に要約内容を、input2に文字起こしした内容を受け取り、format部分を以下のようにしました。

Google Docs Writer
今回は要約と文字起こしの書き込み先をGoogle Documentにしました。特に理由はありません。
初めて使う際はSign In が求められると思うので、指示に従って認証を進めてください。

Gmail Sender
作成したGoogle Document のリンクをGmailアカウント宛に送信します。
下書きとして保存するか、htmlとしてコンテンツを送信するか、複数宛に送信も可能らしいです。

以上で必要なノードの追加は完了です。
あとは、ぽちぽちノード同士を繋げていくだけです。
繋いだ結果はワークフローの全体図を参照してみてください。
ワークフロー実行
ワークフローは画面右上の「▶︎ Run」から実行します。

実行すると、画面右に進捗(?)が出力されます。
どこかのノードで失敗した場合や変な出力になった場合は、こちらから確認できます。

実行後は指定したメールアドレスに以下のようなリンクが送られてきます。
既存のドキュメントを使う以外は、ワークフロー実行のたびに新規ドキュメントが作成されます。(色々触っている間に無題のドキュメントがたくさんに、、、)

おわり
Gumloopを触ってみました。
新しめのツールだと思うので面白い使い方を見つけていきたいですね。
今回は取り上げていないAIタスクやWeb上以外からの実行など、ちょくちょく試していきたいです。スクレイピングも簡単にできて、Pythonなどのコードも動かせるっぽい。
個人的にNotionやPDF認識周りの機能を組み合わせて論文まとめみたいなのできたら〜と思っています。