ElcamyTECH
Articles
Dify

【Difyで作るシリーズ 6】 名刺の画像を読み取り情報を取得する

Tech生成AIDifyDify2025/02/25

更新日: 2025-09-16

はじめに

Dify というサービスを聞いたことがあるけれど、「何ができるかわからない」、「どう使うのかわからない」などの理由で使ったことがない方は多いのではないでしょうか。

そのような方のために、「Dify で何ができるのか?」や Dify を使った活用事例を紹介する記事をシリーズ化していきます。

今回は第6回目で、名刺の画像を読み取り、情報を取得するワークフローを作成する方法について紹介します。

メモ

この記事の対象者

  • Dify という言葉を聞いたことがあるが、何ができるのかがわからない方
  • Dify を業務に取り入れたいと検討している方
メモ

事前準備

  • Dify へのサインアップ
  • OpenAI APIまたはGemini APIのAPIキーの取得
    • Gemini APIの場合
      1. ここにアクセスし、「APIキーを作成」を選択します。
      2. 「新しいプロジェクトでAPIキーを作成」を押します。
      3. APIキーをコピーします。
        • OpenAI APIの場合
        • サインアップした後、こちらからAPIキーを作成し、保存します。
        • APIキーのセットアップ

環境

  • Dify v1.7.1(2025年08月01日時点)

概要

完成イメージ

メモ

イメージ

:::message alert

前提 サンプルの名刺として、以下を使用しました。

image

  1. 左の「ローカルアップロード」から、名刺の画像をアップロードします。

  2. 「実行」を選択すると、右側に取得した情報が返ってきます。

    image

:::

上記のアプリを構築するためにワークフローを作る説明をします。

メモ

ワークフローとは 一つ一つの処理を小さな**ブロック(ノード)**としてつなぎ合わせて、一連のプロレスを自動化する機能です。

今回作成するワークフローのDifyの画面です。

image このワークフローは、以下のブロックで構成されます。

flowchart LR
	B[開始] --> C[パラメータ抽出<br>Gemini 2.5 Pro]
	C --> D[テンプレート]
	D --> E[終了]
  1. 開始:名刺の画像を受け取ります。
  2. パラメータ抽出:画像内の文字情報をテキストに変換し、会社名、氏名、メールアドレス、親ドメインを抽出し、変数に格納します。
  3. テンプレート:変数をもとに出力形式を整形します。
  4. 終了:結果を出力します。

作業手順

ここからは、ワークフロー構築の手順について説明します。

手順

  1. ワークフローの新規作成
  2. ワークフロー作成画面上での作業
  3. ワークフローの動作確認

1. ワークフローの新規作成

  1. 最初の画面の「最初から作成」を選択します。

    image

  2. 「ワークフロー」を選択し、「アプリのアイコンと名前」を入力してから「作成する」を選択します。

    image

2. ワークフロー作成画面上での作業

  1. **「開始」**ノードを選択します。 「入力フィールド」の「+」ボタンを押します。

    image 下記の表のように各項目を選択または入力した後、「保存」を選択します。

項目備考
フィールドタイプ単一ファイル複数のファイルをアップロードすることもできます。
変数名image任意の値を入力します。
ラベル名image任意の値を入力します。
サポートされたファイルタイプ画像アップロードするファイルの種類を指定します。
アップロードされたファイルのタイプローカルアップロード画像をローカルからアップロードするか、画像のURLを入力するか、その両方を選べます。

image

  1. **「パラメータ抽出」**ノードを追加します。 「モデル」を「Gemini 2.5 Pro」に変更します。 「入力変数」に、「{x}変数を設定」で「開始」の「image」を選択します。 「ビジョン」を有効にし、同様に「開始」の「image」を選択します。

    image

  2. **「パラメータを抽出」**の「+」ボタンを押します。 「名前」に「company」、「説明」に「会社名または所属」を入力し、「追加」を選択します。

    image 同様に、「full_name(氏名)」「mail(メールアドレス)」「parent_domain(親ドメイン)」を追加します。下記の表を参考にしてください。

名前タイプ説明
full_nameString氏名
mailStringメールアドレス
parent_domainString親ドメイン

入力後は画像のようになっているか確認します。

image 「指示」に、以下のようなプロンプトを記述します。

メモ

会社名または所属、氏名(日本語であれば日本語)、メールアドレスを抽出してください。 また、メールアドレスから親ドメインを抽出してください。

image

  1. **「テンプレート」**ノードを追加します。

    image 「入力変数」の既存の値を削除します。 「+」ボタンを押し、「{x}変数を設定」を押した後、「パラメータ抽出」の「company」を選択します。

    image 同様に、「入力変数」に「パラメータ抽出」の「full_name」「mail」「parent_domain」を追加します。 追加後は以下の画像のようになっているか確認します。

    image 「コード」の既存の値を削除し、以下のようにプロンプトを入力します。

    :::message

    会社名:{{ company }} 氏名:{{ full_name }} メールアドレス:{{ mail }} ホームページ:{{ parent_domain }}

    :::

入力後は以下の画像のようになっているか確認します。

image

  1. **「終了」**ノードを追加します。 「変数名」に「output」、「{x}変数を設定」に「テンプレート」の「output」を選択します。

    image 以上でワークフローが完成しました。

3. ワークフローの動作確認

  1. 「公開する」を選択し、「アプリを実行」を選択します。

    image アプリを実行します。

  2. 無事に名刺から情報を取得することができました。

    image

応用

今回は、データベースを使用せず、画像から読み取った情報を解析して表示するワークフローを作成しました。しかし、会社名などの情報は変数に格納されているため、この変数を活用してNotionのデータベースに保存することも可能です。

おわりに

今回の記事では、名刺の画像を読み取り、会社名や氏名などの情報を取得するワークフローを作成しました。今後もDifyを利用したアプリの作成手順を紹介していきます。ぜひ引き続きご覧下さい。

関連記事

Elcamyについて

AI・データエンジニアリング・クラウドを中心に、技術で事業課題を解決しています。 お気軽にご相談ください。