Extract and process information directly from PDF using Claude and Gemini
Ready-to-use n8n workflow template for data. This automation connects Google Drive with 11 nodes. Import directly into your n8n instance and customize for your needs.
11 nodesmanual trigger50 views0 copiesData
Google Drive
Workflow JSON
{"meta": {"instanceId": "f4f5d195bb2162a0972f737368404b18be694648d365d6c6771d7b4909d28167"}, "nodes": [{"id": "b6cd232e-e82e-457b-9f03-c010b3eba148", "name": "When clicking 'Test workflow'", "type": "n8n-nodes-base.manualTrigger", "position": [-40, 0], "parameters": {}, "typeVersion": 1}, {"id": "2b734806-e3c0-4552-a491-54ca846ed3ac", "name": "Extract from File", "type": "n8n-nodes-base.extractFromFile", "position": [620, 0], "parameters": {"options": {}, "operation": "binaryToPropery"}, "typeVersion": 1}, {"id": "2c199499-cc4f-405c-8560-765500b7acba", "name": "Google Drive", "type": "n8n-nodes-base.googleDrive", "position": [420, 0], "parameters": {"fileId": {"__rl": true, "mode": "list", "value": "18Ac2xorxirIBm9FNFDDB5aVUSPBCCg1U", "cachedResultUrl": "https://drive.google.com/file/d/18Ac2xorxirIBm9FNFDDB5aVUSPBCCg1U/view?usp=drivesdk", "cachedResultName": "Invoice-798FE2FA-0004.pdf"}, "options": {}, "operation": "download"}, "credentials": {"googleDriveOAuth2Api": {"id": "", "name": "[Your googleDriveOAuth2Api]"}}, "typeVersion": 3}, {"id": "e3031c0c-f059-4f30-9684-10014a277d55", "name": "Call Gemini 2.0 Flash with PDF Capabilities", "type": "n8n-nodes-base.httpRequest", "position": [880, 220], "parameters": {"url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent", "method": "POST", "options": {}, "jsonBody": "={\n \"contents\": [\n {\n \"parts\": [\n {\n \"inline_data\": {\n \"mime_type\": \"application/pdf\",\n \"data\": \"{{ $json.data }}\"\n }\n },\n {\n \"text\": \"{{ $('Define Prompt').item.json.prompt }}\"\n }\n ]\n }\n ]\n}", "sendBody": true, "specifyBody": "json", "authentication": "predefinedCredentialType", "nodeCredentialType": "googlePalmApi"}, "credentials": {"anthropicApi": {"id": "", "name": "[Your anthropicApi]"}, "googlePalmApi": {"id": "", "name": "[Your googlePalmApi]"}}, "typeVersion": 4.2}, {"id": "135df716-32a1-47e8-9ed8-30c830b803d6", "name": "Call Claude 3.5 Sonnet with PDF Capabilities", "type": "n8n-nodes-base.httpRequest", "position": [880, -140], "parameters": {"url": "https://api.anthropic.com/v1/messages", "method": "POST", "options": {}, "jsonBody": "={\n \"model\": \"claude-3-5-sonnet-20241022\",\n \"max_tokens\": 1024,\n \"messages\": [{\n \"role\": \"user\",\n \"content\": [{\n \"type\": \"document\",\n \"source\": {\n \"type\": \"base64\",\n \"media_type\": \"application/pdf\",\n \"data\": \"{{$json.data}}\"\n }\n },\n {\n \"type\": \"text\",\n \"text\": \"{{ $('Define Prompt').item.json.prompt }}\"\n }]\n }]\n}", "sendBody": true, "sendHeaders": true, "specifyBody": "json", "authentication": "predefinedCredentialType", "headerParameters": {"parameters": [{"name": "anthropic-version", "value": "2023-06-01"}, {"name": "content-type", "value": "application/json"}]}, "nodeCredentialType": "anthropicApi"}, "credentials": {"anthropicApi": {"id": "", "name": "[Your anthropicApi]"}}, "typeVersion": 4.2}, {"id": "5b8994d1-4bfd-4776-84ac-b3141aca6378", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [-700, -280], "parameters": {"color": 7, "width": 601, "height": 585, "content": "## Workflow: Extract data from PDF with Claude 3.5 Sonnet or Gemini 2.0 Flash\n\n**Overview**\n- This workflow helps you compare Claude 3.5 Sonnet and Gemini 2.0 Flash when extracting data from a PDF\n- This workflow extracts and processes the data within a PDF in **one single step**, **instead of calling an OCR and then an LLM\u201d**\n\n\n**How it works**\n- The initial 2 steps download the PDF and convert it to base64.\n- This base64 string is then sent to both Claude 3.5 Sonnet and Gemini 2.0 Flash to extract information.\n- This workflow is made to let you compare results, latency, and cost (in their dedicated dashboard).\n\n\n**How to use it**\n- Set up your Google Drive if not already done\n- Select a document on your Google Drive\n- Modify the prompt in \"Define Prompt\" to extract the information you need and transform it as wanted.\n- Get a [Claude API key](https://console.anthropic.com/settings/keys) and/or [Gemini API key](https://aistudio.google.com/app/apikey)\n- Note that you can deactivate one of the 2 API calls if you don't want to try both\n- Test the Workflow\n"}, "typeVersion": 1}, {"id": "616241a9-6199-406b-88dc-0afc7d974250", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [820, 60], "parameters": {"color": 5, "width": 320, "height": 360, "content": "You can output the result as JSON by adding the following:\n```\n\"generationConfig\": {\n \"responseMimeType\": \"application/json\"\n```\nor even use a structured output.\n[Check the documentation](https://ai.google.dev/gemini-api/docs/structured-output?lang=rest)"}, "typeVersion": 1}, {"id": "bbac8d3d-d68f-4aa2-a41a-b06f7de2317b", "name": "Define Prompt", "type": "n8n-nodes-base.set", "position": [180, 0], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "dba23ef5-95df-496a-8e24-c7c1544533d2", "name": "prompt", "type": "string", "value": "Extract the VAT numbers for each country"}]}}, "typeVersion": 3.4}, {"id": "3c2e7265-76e5-4911-a950-7e6b0c89ec5a", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [820, -200], "parameters": {"color": 5, "width": 320, "height": 240, "content": "You can force Claude to output JSON with [Prefill response format](https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/increase-consistency#prefill-claudes-response)"}, "typeVersion": 1}, {"id": "f2b46305-5200-486e-ad4d-ecc0d2a14314", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [380, -120], "parameters": {"color": 5, "width": 380, "height": 280, "content": "These 2 steps first download the PDF file, and then convert it to base64.\nThis is required by both APIs to process the file."}, "typeVersion": 1}, {"id": "e5dff70f-b55a-4c23-9025-765a7cf19c4a", "name": "Sticky Note4", "type": "n8n-nodes-base.stickyNote", "position": [120, -120], "parameters": {"color": 5, "width": 220, "height": 280, "content": "This prompt is used in both Gemini\u2019s and Claude\u2019s calls to define what information should be extracted and processed."}, "typeVersion": 1}], "pinData": {}, "connections": {"Google Drive": {"main": [[{"node": "Extract from File", "type": "main", "index": 0}]]}, "Define Prompt": {"main": [[{"node": "Google Drive", "type": "main", "index": 0}]]}, "Extract from File": {"main": [[{"node": "Call Claude 3.5 Sonnet with PDF Capabilities", "type": "main", "index": 0}, {"node": "Call Gemini 2.0 Flash with PDF Capabilities", "type": "main", "index": 0}]]}, "When clicking 'Test workflow'": {"main": [[{"node": "Define Prompt", "type": "main", "index": 0}]]}}}How to Import This Workflow
- 1Copy the workflow JSON above using the Copy Workflow JSON button.
- 2Open your n8n instance and go to Workflows.
- 3Click Import from JSON and paste the copied workflow.
Don't have an n8n instance? Start your free trial at n8nautomation.cloud
Related Templates
Breakdown Documents into Study Notes using Templating MistralAI and Qdrant
Ready-to-use n8n workflow template for data. This automation connects Qdrant with 42 nodes. Import directly into your n8n instance and customize for your needs.
42 nodes
Convert URL HTML to Markdown Format and Get Page Links
Ready-to-use n8n workflow template for data. This automation connects various tools with 17 nodes. Import directly into your n8n instance and customize for your needs.
17 nodes
Chat with PDF docs using AI (quoting sources)
Ready-to-use n8n workflow template for data. This automation connects Google Drive, Pinecone, OpenAI with 22 nodes. Import directly into your n8n instance and customize for your needs.
22 nodes