画像ファイルに記載された文字情報を、一つひとつ手作業でデータ入力していませんか。
特に、大量の請求書や領収書、アンケート用紙などを扱う業務では、この単純作業が大きな負担となります。
もし、この作業を自動化できたら、あなたの貴重な時間をより創造的な業務に使えるはずです。
この記事では、Googleの強力なAIサービスであるGoogle Cloud Vision APIと、注目の自動化ツールn8n(エヌエイトエヌ)を組み合わせ、画像内の文字を読み取ってGoogleスプレッドシートに自動で転記する方法を、初心者にも分かりやすく解説します。
面倒な手入力を卒業し、業務効率を劇的に向上させる第一歩を、この記事から始めてみましょう。
なぜGoogle Cloud Vision APIとn8nが最強の組み合わせなのか?
画像からの文字認識(OCR)とデータ転記を自動化するツールは数多く存在しますが、なぜ「Google Cloud Vision API」と「n8n」の組み合わせが特に優れているのでしょうか。その理由は、それぞれのツールが持つ圧倒的な「精度」と「柔軟性」にあります。この二つを連携させることで、専門的な知識がなくても、まるで専属のアシスタントがいるかのような高機能な自動化システムを構築できるのです。
Google Cloud Vision APIの驚異的なOCR精度
Google Cloud Vision APIは、Googleが長年の研究で培ってきた機械学習技術を基盤とした画像分析サービスです。その中でも「TEXT_DETECTION」機能、いわゆるOCR(光学的文字認識)は、世界最高レベルの精度を誇ります。印刷された活字はもちろん、手書きの文字や傾いた画像、多少不鮮明な画像からでも、驚くほど正確にテキストを抽出できます。
例えば、スマートフォンのカメラで撮影したレシートの画像から、店名、日付、品目、金額などを個別に認識することが可能です。多言語にも対応しているため、日本語や英語が混在したドキュメントでも問題ありません。一般的な無料OCRツールでは文字化けしてしまったり、レイアウトを正しく認識できなかったりするケースも少なくありませんが、Vision APIならそうしたストレスから解放されます。ビジネスで利用する以上、この「認識精度の高さ」は、後工程のデータ補正の手間を削減し、自動化の信頼性を担保する上で最も重要な要素と言えるでしょう。
自動化のハブとして機能するn8nの柔軟性
一方のn8nは、様々なWebサービスやアプリケーションを繋ぎ合わせ、一連の作業(ワークフロー)を自動化するためのツールです。最大の特徴は、数百種類以上にも及ぶ豊富な連携先(ノード)と、視覚的に分かりやすいエディタ画面にあります。プログラミングの知識がなくても、ノードを線で繋いでいくだけで、まるでパズルを組むように複雑な自動化フローを構築できます。
今回のテーマで言えば、「Google Driveに画像がアップロードされたら」をトリガーに、「Google Cloud Vision APIで文字を読み取り」、「その結果をGoogle Sheetsに書き込む」という一連の流れをn8n上で簡単に実現できます。さらに、処理結果をSlackで通知したり、エラーが発生した場合だけ特定の担当者にメールを送ったりといった、より高度な分岐処理も可能です。n8nは単なるRPAツールではなく、あらゆるAPIを繋ぐ「自動化のハブ」として機能するのです。
n8nの基本的な使い方や、その無限の可能性についてさらに詳しく知りたい方は、ぜひ「n8n完全ガイド記事」をご覧ください。導入方法から実践的な活用事例まで、網羅的に解説しています。
実践!n8nで画像OCR〜スプレッドシート転記ワークフローを構築する全手順
ここからは、実際にn8nを使って「Google Driveにアップロードされた画像から文字を読み取り、Googleスプレッドシートに結果を記録する」ワークフローを構築する具体的な手順を解説します。2026年2月時点の情報を基にしていますが、基本的な流れは今後も大きく変わらないはずです。3つのステップに分けて進めていきましょう。
ステップ1: Google Cloud Platform (GCP) の準備
まず、文字認識の心臓部となるGoogle Cloud Vision APIを利用するための準備を行います。
- GCPプロジェクトの作成とAPIの有効化:
- Google Cloudにログインし、新しいプロジェクトを作成します。
- 作成したプロジェクトのダッシュボードで「APIとサービス」に移動し、「APIとサービスの有効化」をクリックします。
- 検索窓で「Cloud Vision API」を検索し、選択して「有効にする」をクリックします。
- 認証情報(サービスアカウントキー)の作成:
- 次に、n8nからAPIへ安全にアクセスするための「鍵」を作成します。
- 「APIとサービス」メニューから「認証情報」を選択し、「認証情報を作成」→「サービスアカウント」をクリックします。
- アカウント名などを入力してサービスアカウントを作成したら、そのアカウントの詳細画面に移動します。
- 「キー」タブを選択し、「鍵を追加」→「新しい鍵を作成」を選び、キーのタイプとして「JSON」を選択して作成します。
- JSONファイルが自動的にダウンロードされます。このファイルはn8nで認証情報を設定する際に必要になるため、大切に保管してください。このJSONファイルの中身が外部に漏れると、誰でもあなたのGCPプロジェクトを操作できてしまうため、取り扱いには最大限の注意が必要です。
ステップ2: n8nで基本のワークフローを作成する
次にn8nの画面で、自動化の骨格を作っていきます。
- トリガーノードの設定: ワークフローを開始するきっかけを設定します。今回は「手動実行」で試せるように「Manual」トリガーで始めますが、実践的には「Google Drive」ノードの「Trigger」モードを使い、「ファイルが作成された時」に設定するのがおすすめです。
- Google Driveノードでファイルを読み込む: プラスボタンを押し、「Google Drive」ノードを追加します。Actionを「Download」に設定し、認証情報を設定後、読み込みたい画像ファイルのIDを指定します。これにより、n8nワークフローが画像データを取得できるようになります。
- HTTP RequestノードでVision APIを叩く: これが今回の肝です。「HTTP Request」ノードを追加し、以下のように設定します。
- Method: POST
- URL:
https://vision.googleapis.com/v1/images:annotate - Authentication: Bearer Token
- Token: ここで少し工夫が必要です。GCPの認証は単純なBearer Tokenではないため、一度別のノードで認証トークンを生成します。「HTTP Request」ノードの前に「Google API」ノードを挟み、認証情報を設定してアクセストークンを取得し、その値を次のノードに引き渡すのが確実な方法です。
- Body Content Type: JSON
- Body: 以下のようなJSON形式でリクエスト内容を記述します。画像のデータは、前のGoogle Driveノードから受け取ったバイナリデータをBase64形式に変換して埋め込みます。n8nのExpression機能を使えば
{{ $binary.data.toString('base64') }}のように簡単に変換できます。{ "requests": [ { "image": { "content": "{{ $binary.data.toString('base64') }}" }, "features": [ { "type": "TEXT_DETECTION" } ] } ] }
ステップ3: 抽出したテキストをGoogle Sheetsに書き込む
最後に、APIから返ってきた結果をスプレッドシートに保存します。
- Functionノードでデータを整形: Vision APIからのレスポンスは複雑なJSON形式です。そのままではスプレッドシートに書き込みにくいため、「Function」ノードを使って必要な部分だけを抽出します。以下の簡単なコードで、認識された全てのテキストを一つのまとまりとして取り出せます。
const items = $json.responses[0].textAnnotations; if (items && items.length > 0) { // 最初の要素(items[0])が画像全体のテキストを含んでいる return [{ text: items[0].description }]; } return []; - Google Sheetsノードで書き込み: 最後に「Google Sheets」ノードを追加します。
- Action: Append or Update
- Spreadsheet ID: 書き込みたいスプレッドシートのIDを指定します。
- Sheet Name: シート名を指定します。
- Columns: Functionノードから受け取った
textというキーをカラム名にマッピングします。
これでワークフローは完成です。「Execute Workflow」を実行し、指定した画像の内容がスプレッドシートに転記されれば成功です。
応用編:さらに一歩進んだ業務効率化のアイデア
基本的な文字起こしができるようになったら、次はより実践的な業務改善に繋げるための応用テクニックに挑戦してみましょう。n8nの柔軟性を活かせば、単なる転記作業に留まらない、高度な自動化が可能です。
特定のキーワードを含む情報だけを抜き出す
請求書やレシートから「合計金額」や「支払期日」、「請求番号」といった特定の情報だけを抽出したいケースは非常に多いです。Vision APIが返すテキスト全体から、必要な部分だけをフィルタリングするにはどうすればよいでしょうか。
これには、先ほども登場した「Function」ノードが活躍します。JavaScriptの正規表現(RegExp)や文字列検索メソッド(.match(), .includes()など)を使えば、特定のパターンの文字列を簡単に見つけ出せます。例えば、「合計」という文字の後に続く数字を抽出する正規表現を書き、その結果だけをスプレッドシートに転記するようにワークフローを改良します。これにより、単なるテキストの羅列ではなく、構造化されたデータとして情報を蓄積できるようになり、後のデータ分析や会計ソフトへの入力が格段に楽になります。
エラーハンドリングと能動的な通知システム
自動化システムを安定して運用するには、エラーハンドリングが不可欠です。例えば、画像が不鮮明で文字が全く読み取れなかった場合や、APIの調子が悪く一時的にレスポンスが返ってこなかった場合など、予期せぬ事態は起こり得ます。
n8nでは、各ノードに「Error Workflow」を設定できます。これは、そのノードでエラーが発生した時にだけ実行される、もう一つのワークフローです。この機能を利用して、例えば「文字認識に失敗しました」というメッセージと、対象のファイル名をSlackやメールで担当者に通知する仕組みを構築できます。これにより、問題が発生した際にすぐ気づいて対応できるだけでなく、どのファイルでエラーが起きやすいかといった傾向分析にも繋がります。問題を放置せず、能動的に対処する仕組みを組み込むことが、信頼性の高い自動化への鍵となります。
複数ファイルの一括処理で大量作業に対応
月末に大量の請求書が一度に届く、といったシーンも多いでしょう。数十、数百の画像ファイルを一つずつ処理するのではなく、まとめて効率的に処理したい場合、「Split In Batches」ノードが非常に役立ちます。このノードは、大量のデータ(この場合はファイルリスト)を、指定した数の小さなグループ(バッチ)に分割してくれます。
例えば、100個のファイルを10個ずつのバッチに分け、バッチごとに順番にOCR処理とスプレッドシートへの書き込みを行う、といったワークフローを組むことができます。これにより、APIへの同時リクエスト数を制限し、サーバーに過度な負荷をかけるのを防ぎながら、安定して大量のデータを処理することが可能になります。単純なループ処理だけでなく、処理の負荷分散まで考慮できるのが、n8nの優れた点です。この視点を持つことで、スモールスタートした自動化を、全社的な規模の業務フローにまでスケールアップさせることが可能になります。
まとめ:手作業からの解放、今日から始めよう
この記事では、Google Cloud Vision APIの高度なOCR機能と、n8nの柔軟な自動化ワークフローを組み合わせることで、画像からの文字起こしとデータ転記を自動化する具体的な方法を解説しました。この仕組みを導入すれば、これまで単純作業に費やしていた膨大な時間を節約し、より付加価値の高い仕事に集中できるようになります。
最初は難しく感じるかもしれませんが、一つひとつのステップは決して複雑ではありません。まずはこの記事を参考に、手元にある一枚のレシートをテキスト化することから試してみてはいかがでしょうか。その小さな成功体験が、あなたの業務を大きく変えるきっかけになるはずです。
n8nには、今回ご紹介した機能以外にも、あなたのビジネスを加速させる無限の可能性があります。さらに詳しい機能や他のサービスとの連携事例に興味が湧いた方は、ぜひ「n8n完全ガイド記事」も併せてお読みください。
n8nは無料で始められるプランも用意されています。さあ、今すぐ下記のリンクからサインアップして、退屈な手作業から解放される未来への第一歩を踏み出しましょう。