API d'extraction de données d'image basée sur Gemini AI

Intermédiaire

Ceci est unAIworkflow d'automatisation du domainecontenant 9 nœuds.Utilise principalement des nœuds comme Set, Webhook, HttpRequest, ExtractFromFile, RespondToWebhook, combinant la technologie d'intelligence artificielle pour une automatisation intelligente. API d'extraction de données basée sur des images avec l'IA Gemini

Prérequis
  • Point de terminaison HTTP Webhook (généré automatiquement par n8n)
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "YKZBEx4DTf0KGEBR",
  "meta": {
    "instanceId": "f5267db717c7383a3924a6083f6b9950be64cf36e2b4e9421d42eb2121922a14"
  },
  "name": "Image-Based Data Extraction API using Gemini AI",
  "tags": [],
  "nodes": [
    {
      "id": "e3448003-5c62-4da6-8fcc-6817915dcbb8",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        40,
        40
      ],
      "webhookId": "18118afb-7fd2-47a5-a474-50813c5b20c8",
      "parameters": {
        "path": "data-extractor",
        "options": {},
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "3682c6bf-3442-4fba-ab6c-ae29e361ef93",
      "name": "Répondre à Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1180,
        40
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "bfa352d0-68a9-4f33-be54-254a5df22664",
      "name": "Obtenir l'image depuis l'URL",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        280,
        40
      ],
      "parameters": {
        "url": "={{ $json.body.image_url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "c6c8de12-08dc-42e8-9c0e-86e04c7cacc0",
      "name": "Appeler Gemini API (Flash Lite) avec l'image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        760,
        40
      ],
      "parameters": {
        "url": "=https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-lite:generateContent",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"contents\": [\n    {\n      \"role\": \"user\",\n      \"parts\": [\n        {\n          \"inlineData\": {\n            \"data\": \"{{$json.data1}}\",\n            \"mimeType\": \"image/jpeg\"\n          }\n        }\n      ]\n    },\n    {\n      \"role\": \"user\",\n      \"parts\": [\n        {\n          \"text\": \"check this\"\n        }\n      ]\n    }\n  ],\n  \"systemInstruction\": {\n    \"role\": \"user\",\n    \"parts\": [\n      {\n        \"text\": \"{{ $('Webhook').first().json.body.Requirement}}\"\n      }\n    ]\n  },\n  \"generationConfig\": {\n    \"temperature\": 1,\n    \"topK\": 40,\n    \"topP\": 0.95,\n    \"maxOutputTokens\": 8192,\n    \"responseMimeType\": \"application/json\",\n    \"responseSchema\": {\n      \"type\": \"object\",\n      \"properties\": {{ $('Webhook').first().json.body.properties.toJsonString()}}\n    }\n  }\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "googlePalmApi"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "MhMVz0OkKPSPX2Wn",
          "name": "Gemini API Srinivasan Online"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "06b0f807-aeba-44d6-bb1d-dfa1d50e1082",
      "name": "Modifier les champs pour exporter uniquement les données requises",
      "type": "n8n-nodes-base.set",
      "position": [
        980,
        40
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "4a2f1343-4b5d-4de8-b04b-5640e0a38d27",
              "name": "result",
              "type": "string",
              "value": "={{ $json.candidates[0].content.parts[0].text.parseJson()}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8c69dba2-f67c-4f8b-be18-02a414fd2ead",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        20,
        280
      ],
      "parameters": {
        "color": 5,
        "width": 820,
        "height": 420,
        "content": "## Sample API Call (cURL) \n```\ncurl --request GET \\\n  --url https://your_domain.com/webhook/data-extractor \\\n  --data '{\n  \"image_url\":\"https://www.immihelp.com/nri/images/sample-pan-card-front.jpg\",\n  \"Requirement\":\"extract the details from the image\",\n  \"properties\": {\n        \"PAN Number\": {\n          \"type\": \"string\"\n        },\n        \"Name\": {\n          \"type\": \"string\"\n        },\n        \"Date of Birth\": {\n          \"type\": \"string\"\n        },\n        \"Valid\": {\n          \"type\": \"boolean\"\n        }\n      }\n}'\n```"
      },
      "typeVersion": 1
    },
    {
      "id": "8839f0d7-306f-4dc2-aca5-6ca529e1a2ff",
      "name": "Note adhésive 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        20,
        740
      ],
      "parameters": {
        "color": 5,
        "width": 1240,
        "height": 140,
        "content": "## Sample Output\n```\n{\n  \"result\": \"{\\\"Date of Birth\\\":\\\"23/11/1974\\\",\\\"Name\\\":\\\"RAHUL GUPTA\\\",\\\"PAN Number\\\":\\\"ABCDE1234F\\\",\\\"Valid\\\":true}\"\n}\n```"
      },
      "typeVersion": 1
    },
    {
      "id": "df733e11-f194-4878-a514-47ddc9811281",
      "name": "Note adhésive 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        40,
        -520
      ],
      "parameters": {
        "width": 940,
        "height": 440,
        "content": "## Convert the workflow into an Endpoint\n\nThis n8n workflow provides a ready-to-use API endpoint for extracting structured data from images. The API takes an image URL as input, processes it using an AI-powered OCR model, and returns relevant extracted details in a structured JSON format.\n\n- The workflow converts the image to base64 before processing.\n- It utilizes an AI-powered model (Gemini API) for text extraction.\n- The output is formatted to include only the required fields.\n- You can customize the extraction criteria by modifying the request parameters.\n- Supports integration with various applications for automated data entry and processing.\n\nIt can be used for various use cases, such as:\n\n- Document OCR (ID cards, invoices, receipts)\n- Text Extraction from Images\n- Automated Form Processing\n- Business Card Data Extraction\n\nSimply send a GET request with an image URL, define the extraction requirements, and receive structured JSON data in response.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "aecf7331-6341-411e-8906-e42fc0ef264a",
      "name": "Convertir l'image en base64",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        520,
        40
      ],
      "parameters": {
        "options": {
          "encoding": "ascii"
        },
        "operation": "binaryToPropery",
        "destinationKey": "data1"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "b1fad586-998c-47ce-9921-e59527da029a",
  "connections": {
    "e3448003-5c62-4da6-8fcc-6817915dcbb8": {
      "main": [
        [
          {
            "node": "bfa352d0-68a9-4f33-be54-254a5df22664",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bfa352d0-68a9-4f33-be54-254a5df22664": {
      "main": [
        [
          {
            "node": "aecf7331-6341-411e-8906-e42fc0ef264a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "aecf7331-6341-411e-8906-e42fc0ef264a": {
      "main": [
        [
          {
            "node": "c6c8de12-08dc-42e8-9c0e-86e04c7cacc0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c6c8de12-08dc-42e8-9c0e-86e04c7cacc0": {
      "main": [
        [
          {
            "node": "06b0f807-aeba-44d6-bb1d-dfa1d50e1082",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "06b0f807-aeba-44d6-bb1d-dfa1d50e1082": {
      "main": [
        [
          {
            "node": "3682c6bf-3442-4fba-ab6c-ae29e361ef93",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Intermédiaire - Intelligence Artificielle

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds9
Catégorie1
Types de nœuds6
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34