پردازش تصاویر و PDF با Gemini AI در n8n: ۵ روش کاربردی

پردازش تصاویر و PDF با Gemini AI در n8n: ۵ روش کاربردی

13 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۱۸

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 3078 · منبع: کاتالوگ Axeto

# ۵ روش پردازش تصاویر و PDFها با Gemini AI در n8n

این راهنما پنج روش متمایز را برای پردازش و تجزیه و تحلیل تصاویر و اسناد PDF با استفاده از Google Gemini AI در n8n بررسی می‌کند. این روش‌ها نیازهای مختلف ادغام را پوشش می‌دهند، از تجزیه و تحلیل ساده یک تصویر تکی گرفته تا تعاملات پیشرفته مستقیم API با دستورات سفارشی.

گردش کار به بخش‌های زیر تقسیم شده است:

- **۱. نمای کلی گردش کار:** خلاصه‌ای سطح بالا از پنج روش پردازش.
- **۲. تریگر و مقداردهی اولیه:** راه‌اندازی نقطه ورود گردش کار و داده‌های اولیه.
- **۳. روش ۱: تصویر تکی با عبوردهی خودکار باینری:** ساده‌ترین رویکرد برای تجزیه و تحلیل یک تصویر.
- **۴. روش ۲: تصاویر متعدد با دستورات سفارشی:** مدیریت چندین تصویر، هر کدام با دستورالعمل‌های خاص خود.
- **۵. روش ۳: پردازش استاندارد آیتم n8n با فراخوانی مستقیم API:** استفاده از جریان آیتم به آیتم n8n برای تجزیه و تحلیل تصویر.
- **۶. روش ۴: تجزیه و تحلیل PDF از طریق API مستقیم:** پردازش اسناد PDF مستقیماً از طریق API Gemini.
- **۷. روش ۵: تجزیه و تحلیل تصویر از طریق API مستقیم:** انجام تجزیه و تحلیل تصویر با استفاده از فراخوانی مستقیم API با پارامترهای سفارشی.

هر روش برای موارد استفاده متفاوت طراحی شده است و عواملی مانند حجم داده، نیازهای سفارشی‌سازی و سطح کنترل مورد نیاز بر روی تعاملات API را در نظر می‌گیرد.

---

## ۱. نمای کلی گردش کار

این گردش کار پنج روش متمایز را برای پردازش و تجزیه و تحلیل تصاویر و اسناد PDF با استفاده از Google Gemini AI در n8n نشان می‌دهد. این گردش کار برای کاربرانی طراحی شده است که می‌خواهند الگوهای مختلف ادغام را برای تجزیه و تحلیل رسانه، از پردازش ساده یک تصویر گرفته تا فراخوانی‌های پیشرفته مستقیم API با دستورات سفارشی، بررسی کنند.

گردش کار به صورت منطقی به بلوک‌های زیر تقسیم می‌شود:

- **۲. تریگر و مقداردهی اولیه:** نقطه ورود و راه‌اندازی URLها و دستورات برای تصاویر و PDFها.
- **۳. روش ۱: تصویر تکی با عبوردهی خودکار باینری:** ساده‌ترین رویکرد: یک تصویر را دریافت کرده و مستقیماً با مدیریت خودکار باینری به AI Agent ارسال کنید.
- **۴. روش ۲: تصاویر متعدد با دستورات سفارشی:** تصاویر متعدد را که هر کدام دستورات خاص خود را دارند، با استفاده از تقسیم‌بندی و فیلتر کردن آیتم‌های n8n و سپس پردازش متوالی هوش مصنوعی مدیریت می‌کند.
- **۵. روش ۳: پردازش استاندارد آیتم n8n با فراخوانی مستقیم API:** از پارادایم پردازش آیتم به آیتم n8n با تبدیل صریح base64 و درخواست‌های HTTP مستقیم به Gemini API استفاده می‌کند.
- **۶. روش ۴: تجزیه و تحلیل PDF از طریق API مستقیم:** یک PDF را دریافت کرده، آن را به base64 تبدیل می‌کند و برای تجزیه و تحلیل سند به Gemini API ارسال می‌کند.
- **۷. روش ۵: تجزیه و تحلیل تصویر از طریق API مستقیم:** یک تصویر را دریافت کرده، آن را به base64 تبدیل می‌کند و مستقیماً با پارامترهای سفارشی به Gemini API فراخوانی می‌کند.

هر روش بسته به حجم، نیازهای سفارشی‌سازی و کنترل بر پارامترهای API، برای موارد استفاده متفاوتی مناسب است.

---

## ۲. تریگر و مقداردهی اولیه

این بخش نقطه شروع گردش کار را تنظیم می‌کند و داده‌های اولیه، از جمله URL تصاویر و PDFها، همراه با دستورات (prompts) سفارشی را تعریف می‌کند.

**گره‌های (Nodes) مورد استفاده:**

*   **Manual Trigger:** نقطه ورود برای شروع دستی گردش کار.
*   **Set (URLs and Prompts):** آرایه‌ای از اشیاء را تعریف می‌کند که هر کدام شامل URL تصویر، دستور سفارشی و یک پرچم پردازش است.
*   **Set (Multiple Image URLs):** آرایه‌ای ساده از URL تصاویر را برای پردازش دسته‌ای تعریف می‌کند.
*   **HTTP Request (Get PDF file):** یک سند نمونه PDF را از یک URL عمومی دریافت می‌کند.
*   **HTTP Request (Get image from Unsplash):** یک تصویر تکی را از یک URL مشخص Unsplash دریافت می‌کند.
*   **HTTP Request (Get image from Unsplash4):** تصویر تکی دیگری را از Unsplash برای استفاده در روش ۲ دریافت می‌کند.
*   **Sticky Note:** مروری بر روش‌های گردش کار ارائه می‌دهد.

**جزئیات گره‌ها (Nodes):**

*   **Manual Trigger**
    *   **نوع:** `n8n-nodes-base.manualTrigger`
    *   **نقش:** اجرای گردش کار را آغاز می‌کند.
    *   **پیکربندی:** تنظیمات پیش‌فرض.
    *   **ورودی‌ها:** ندارد.
    *   **خروجی‌ها:** گره‌های بعدی را فعال می‌کند.
    *   **موارد مرزی:** ندارد.

*   **Set (URLs and Prompts)**
    *   **نوع:** `n8n-nodes-base.set`
    *   **نقش:** آرایه‌ای از اشیاء تصویر را ایجاد می‌کند که هر کدام دارای URL، دستور و پرچم `process` است.
    *   **پیکربندی:** آرایه کدگذاری شده با داده‌های نمونه (مثلاً ۲ مورد برای پردازش تنظیم شده، ۱ مورد نادیده گرفته شده).
    *   **عبارات کلیدی:** از عبارات جاوا اسکریپت برای تعریف ساختار آرایه استفاده می‌کند.
    *   **ورودی‌ها:** Manual Trigger.
    *   **خروجی‌ها:** آرایه را برای پردازش بیشتر به پایین دست منتقل می‌کند.
    *   **موارد مرزی:** URLها یا دستورات نامعتبر ممکن است باعث خطا در گره‌های پایین دست شوند.

*   **Set (Multiple Image URLs)**
    *   **نوع:** `n8n-nodes-base.set`
    *   **نقش:** آرایه‌ای ساده از URL تصاویر را که برای پردازش دسته‌ای در نظر گرفته شده‌اند، تعریف می‌کند.
    *   **پیکربندی:** آرایه کدگذاری شده حاوی چندین URL تصویر.
    *   **ورودی‌ها:** Manual Trigger.
    *   **خروجی‌ها:** آرایه URLها را به پایین دست منتقل می‌کند.
    *   **موارد مرزی:** مشابه مورد بالا، URLهای نامعتبر می‌توانند مشکلاتی ایجاد کنند.

*   **HTTP Request (Get PDF file)**
    *   **نوع:** `n8n-nodes-base.httpRequest`
    *   **نقش:** یک فایل نمونه PDF را از یک URL عمومی بازیابی می‌کند.
    *   **پیکربندی:** از درخواست GET به یک URL ثابت W3C dummy PDF استفاده می‌کند.
    *   **ورودی‌ها:** Manual Trigger.
    *   **خروجی‌ها:** داده‌های باینری فایل PDF.
    *   **موارد مرزی:** خطاهای شبکه، خطای ۴۰۴ یافت نشد (Not Found)، یا داده‌های خراب PDF.

*   **HTTP Request (Get image from Unsplash)**
    *   **نوع:** `n8n-nodes-base.httpRequest`
    *   **نقش:** یک تصویر تکی را از یک URL مشخص Unsplash دریافت می‌کند.
    *   **پیکربندی:** درخواست GET با استفاده از URL ارائه شده در پارامترهای گره.
    *   **ورودی‌ها:** Manual Trigger.
    *   **خروجی‌ها:** داده‌های باینری تصویر.
    *   **موارد مرزی:** خرابی شبکه، خطاهای ۴۰۴، یا محدودیت نرخ (rate limiting) API Unsplash.

*   **HTTP Request (Get image from Unsplash4)**
    *   **نوع:** `n8n-nodes-base.httpRequest`
    *   **نقش:** یک تصویر تکی اضافی را از Unsplash دریافت می‌کند که در روش ۲ استفاده می‌شود.
    *   **پیکربندی:** URL ثابت با پارامترهایی برای کیفیت و اندازه تصویر.
    *   **ورودی‌ها:** Manual Trigger.
    *   **خروجی‌ها:** داده‌های باینری تصویر.
    *   **موارد مرزی:** مشابه گره HTTP Request قبلی برای تصاویر.

*   **Sticky Note**
    *   **نوع:** `n8n-nodes-base.stickyNote`
    *   **نقش:** توضیحات متنی در مورد پنج روش پردازش گردش کار و موارد استفاده مربوط به آن‌ها ارائه می‌دهد.
    *   **محتوا:** خلاصه رویکردهای مختلف.

---

## ۳. روش ۱: تصویر تکی با عبوردهی خودکار باینری

این روش ساده‌ترین راه برای تجزیه و تحلیل یک تصویر تکی را نشان می‌دهد. این روش شامل دریافت تصویر و ارسال مستقیم آن به گره AI Agent است که از قابلیت عبوردهی خودکار باینری آن استفاده می‌کند.

**گره‌های درگیر:**

*   **HTTP Request (Get image from Unsplash2):** تصویر را دریافت می‌کند.
*   **Split In Batches (Loop Over Items):** آیتم‌ها را به صورت متوالی پردازش می‌کند.
*   **LangChain Agent (AI Agent):** داده‌های تصویر را با فعال بودن عبوردهی باینری به Gemini AI ارسال می‌کند.
*   **LangChain LM Chat Google Gemini (Google Gemini Chat Model):** مدل زبانی که AI Agent را پشتیبانی می‌کند.
*   **Sticky Note1:** این روش را توضیح می‌دهد.

**جزئیات گره:**

*   **HTTP Request (Get image from Unsplash2)**
    *   **نوع:** `n8n-nodes-base.httpRequest`
    *   **نقش:** تصویر را بر اساس URL ارائه شده توسط یک گره بالادستی دریافت می‌کند.
    *   **پیکربندی:** از یک عبارت URL از یک فیلد JSON ورودی به نام `url` استفاده می‌کند.
    *   **ورودی‌ها:** یک گره بالادستی (مانند گره Filter، اگرچه در نمودار این روش به صراحت نشان داده نشده است).
    *   **خروجی‌ها:** داده‌های باینری تصویر.
    *   **موارد مرزی:** خطاهای شبکه یا URLهای نامعتبر.

*   **Split In Batches (Loop Over Items)**
    *   **نوع:** `n8n-nodes-base.splitInBatches`
    *   **نقش:** آیتم‌های ورودی را در دسته‌ها پردازش می‌کند. برای این روش، پردازش متوالی یک تصویر تکی را تضمین می‌کند.
    *   **پیکربندی:** اندازه دسته پیش‌فرض استفاده می‌شود.
    *   **ورودی‌ها:** خروجی گره HTTP Request.
    *   **خروجی‌ها:** دسته‌هایی از آیتم‌ها به AI Agent.
    *   **موارد مرزی:** اندازه‌های دسته بزرگ می‌تواند منجر به timeout شود.

*   **LangChain Agent (AI Agent)**
    *   **نوع:** `@n8n/n8n-nodes-langchain.agent`
    *   **نقش:** تعامل با Gemini AI را تسهیل می‌کند و به طور خودکار داده‌های باینری تصویر را مدیریت می‌کند.
    *   **پیکربندی:**
        *   **Text input:** برای دریافت تمام آیتم‌ها از گره "Loop Over Items" تنظیم شده است.
        *   **PassthroughBinaryImages:** برای فعال کردن مدیریت خودکار داده‌های باینری روی `true` تنظیم شده است.
        *   **Prompt type:** برای استفاده از یک دستور سفارشی که در داخل گره پیکربندی شده است، روی `define` تنظیم شده است.
    *   **ورودی‌ها:** آیتم‌های دسته‌بندی شده از "Loop Over Items".
    *   **خروجی‌ها:** نتایج تجزیه و تحلیل هوش مصنوعی.
    *   **اعتبارنامه‌ها:** نیاز به اعتبارنامه‌های Google Gemini API دارد که برای گره LangChain پیکربندی شده است.
    *   **موارد مرزی:** خطاهای احراز هویت API، مشکلات در انتقال داده‌های باینری، یا timeoutها.

*   **LangChain LM Chat Google Gemini (Google Gemini Chat Model)**
    *   **نوع:** `@n8n/n8n-nodes-langchain.lmChatGoogleGemini`
    *   **نقش:** مدل زبان خاص Google Gemini که توسط AI Agent استفاده می‌شود.
    *   **پیکربندی:** مدل روی `"models/gemini-2.0-flash"` تنظیم شده است.
    *   **اعتبارنامه‌ها:** نیاز به کلید API Google Gemini دارد.
    *   **ورودی‌ها:** به صورت داخلی به گره AI Agent متصل است.
    *   **موارد مرزی:** محدودیت‌های سهمیه API یا مشکلات اتصال شبکه.

*   **Sticky Note1**
    *   **محتوا:** این روش را به عنوان ساده‌ترین رویکرد برای تجزیه و تحلیل تصویر تکی با عبوردهی خودکار باینری توضیح می‌دهد.

---

## ۴. روش ۲: تصاویر متعدد با دستورات سفارشی

این روش چندین تصویر را پردازش می‌کند که هر کدام با دستور (prompt) مخصوص به خود همراه است. این روش از قابلیت‌های تقسیم‌بندی و فیلتر کردن آیتم‌ها در n8n برای مدیریت داده‌های ورودی قبل از ارسال هر تصویر و دستور آن به عامل هوش مصنوعی (AI Agent) استفاده می‌کند.

**گره‌های (Nodes) مورد استفاده:**

*   **Set (URLs and Prompts):** (همچنین در بخش ۲ استفاده شده است) آرایه داده ورودی را تعریف می‌کند.
*   **Split Out (Split Out to multiple items):** آرایه اشیاء تصویر را به آیتم‌های مجزا تقسیم می‌کند.
*   **Filter (Optional):** آیتم‌ها را بر اساس پرچم `process` فیلتر می‌کند.
*   **HTTP Request (Get image from Unsplash2):** داده‌های تصویر را دریافت می‌کند.
*   **Split In Batches (Loop Over Items):** آیتم‌ها را به صورت متوالی پردازش می‌کند.
*   **LangChain Agent (AI Agent):** تصویر و دستور را به Gemini AI ارسال می‌کند.
*   **LangChain LM Chat Google Gemini (Google Gemini Chat Model):** مدل زبان.
*   **Sticky Note2:** این روش را توضیح می‌دهد.

**جزئیات گره‌ها:**

*   **Split Out (Split Out to multiple items)**
    *   **نوع:** `n8n-nodes-base.splitOut`
    *   **نقش:** آرایه اشیاء تصویر را به آیتم‌های مجزا در گردش کار (workflow) تجزیه می‌کند.
    *   **پیکربندی:** فیلد `urls` (آرایه‌ای از اشیاء) را به عنوان فیلد مورد نظر برای تقسیم‌بندی مشخص می‌کند.
    *   **ورودی‌ها:** خروجی گره "Set (URLs and Prompts)".
    *   **خروجی‌ها:** آیتم‌های مجزا، که هر کدام یک شیء تصویر با URL و دستور آن را نشان می‌دهد.
    *   **موارد خاص:** یک آرایه ورودی خالی منجر به خروجی نخواهد شد.

*   **Filter (Optional)**
    *   **نوع:** `n8n-nodes-base.filter`
    *   **نقش:** آیتم‌ها را به صورت انتخابی بر اساس مقدار فیلد `process` پردازش می‌کند.
    *   **پیکربندی:** یک شرط بولی که در آن `process` باید برابر با `true` باشد.
    *   **ورودی‌ها:** خروجی گره "Split Out".
    *   **خروجی‌ها:** آیتم‌های فیلتر شده.
    *   **موارد مرزی:** اگر هیچ آیتمی شرط را برآورده نکند، خروجی خالی خواهد بود.

*   **HTTP Request (Get image from Unsplash2)**
    *   **نوع:** `n8n-nodes-base.httpRequest`
    *   **نقش:** تصویر را بر اساس URL ارائه شده توسط گره "Split Out" (یا "Filter") دریافت می‌کند.
    *   **پیکربندی:** از فیلد `url` آیتم فعلی به عنوان URL درخواست استفاده می‌کند.
    *   **ورودی‌ها:** خروجی گره "Split Out" یا "Filter".
    *   **خروجی‌ها:** داده‌های باینری تصویر.
    *   **موارد مرزی:** خطاهای شبکه یا URLهای نامعتبر.

*   **Split In Batches (Loop Over Items)**
    *   **نوع:** `n8n-nodes-base.splitInBatches`
    *   **نقش:** پردازش متوالی هر تصویر و دستور آن را تضمین می‌کند.
    *   **پیکربندی:** اندازه دسته پیش‌فرض استفاده می‌شود.
    *   **ورودی‌ها:** خروجی گره HTTP Request.
    *   **خروجی‌ها:** دسته‌هایی از آیتم‌ها به AI Agent.
    *   **موارد مرزی:** اندازه‌های دسته بزرگ می‌تواند منجر به timeout شود.

*   **LangChain Agent (AI Agent)**
    *   **نوع:** `@n8n/n8n-nodes-langchain.agent`
    *   **نقش:** تصویر و دستور مربوطه را به Gemini AI ارسال می‌کند.
    *   **پیکربندی:**
        *   **Text input:** برای دریافت تمام آیتم‌ها از گره "Loop Over Items" تنظیم شده است.
        *   **PassthroughBinaryImages:** روی `true` تنظیم شده است تا داده‌های باینری تصویر را مدیریت کند.
        *   **Prompt type:** روی `define` تنظیم شده است تا از دستور سفارشی پیکربندی شده در گره استفاده کند.
    *   **ورودی‌ها:** آیتم‌های دسته‌بندی شده از "Loop Over Items".
    *   **خروجی‌ها:** نتایج تجزیه و تحلیل هوش مصنوعی.
    *   **اعتبارنامه‌ها:** نیاز به اعتبارنامه‌های Google Gemini API دارد.
    *   **موارد مرزی:** خطاهای احراز هویت API، مشکلات در انتقال داده‌های باینری، یا timeoutها.

*   **LangChain LM Chat Google Gemini (Google Gemini Chat Model)**
    *   **نوع:** `@n8n/n8n-nodes-langchain.lmChatGoogleGemini`
    *   **نقش:** مدل زبان خاص Google Gemini که توسط AI Agent استفاده می‌شود.
    *   **پیکربندی:** مدل روی `"models/gemini-2.0-flash"` تنظیم شده است.
    *   **اعتبارنامه‌ها:** نیاز به کلید API Google Gemini دارد.
    *   **ورودی‌ها:** به صورت داخلی به گره AI Agent متصل است.
    *   **موارد مرزی:** محدودیت‌های سهمیه API یا مشکلات اتصال شبکه.

*   **Sticky Note2**
    *   **محتوا:** این روش را به عنوان پردازش چندین تصویر با دستورات سفارشی، با استفاده از تقسیم‌بندی و فیلتر کردن آیتم‌ها، توضیح می‌دهد.

---

## ۵. روش ۳: پردازش استاندارد آیتم n8n با فراخوانی مستقیم API

این روش یک الگوی رایج در n8n برای پردازش چندین تصویر را نشان می‌دهد. این روش شامل دریافت تصاویر، تبدیل آن‌ها به فرمت base64 و سپس انجام فراخوانی‌های مستقیم HTTP POST به API Gemini است.

**گره‌های درگیر:**

*   **Set (Multiple Image URLs):** (همچنین در بخش ۲ استفاده شده است) لیستی از URLهای اولیه تصاویر را تعریف می‌کند.
*   **Split Out (Split Out to multiple items):** آرایه URLها را به آیتم‌های مجزا تقسیم می‌کند.
*   **HTTP Request (Get image from Unsplash3):** هر تصویر را دریافت می‌کند.
*   **Extract From File (Transform to base):** داده‌های باینری تصویر را به رشته base64 تبدیل می‌کند.
*   **HTTP Request (Call Gemini API1):** یک فراخوانی مستقیم POST به API Gemini انجام می‌دهد.
*   **Sticky Note3:** این روش را توضیح می‌دهد.

**جزئیات گره‌ها:**

*   **Split Out (Split Out to multiple items)**
    *   **نوع:** `n8n-nodes-base.splitOut`
    *   **نقش:** آرایه URLهای تصاویر را به آیتم‌های مجزا تقسیم می‌کند.
    *   **پیکربندی:** فیلد `urls` را به عنوان آرایه مورد نظر برای تقسیم مشخص می‌کند.
    *   **ورودی‌ها:** خروجی گره "Set (Multiple Image URLs)".
    *   **خروجی‌ها:** URLهای مجزا.
    *   **موارد مرزی:** آرایه ورودی خالی منجر به خروجی نمی‌شود.

*   **HTTP Request (Get image from Unsplash3)**
    *   **نوع:** `n8n-nodes-base.httpRequest`
    *   **نقش:** هر تصویر را به صورت جداگانه بر اساس URL دریافتی از گره قبلی دریافت می‌کند.
    *   **پیکربندی:** از فیلد `urls` آیتم فعلی به عنوان URL درخواست استفاده می‌کند.
    *   **ورودی‌ها:** خروجی گره "Split Out to multiple items".
    *   **خروجی‌ها:** داده

Nodeهای استفاده‌شده

سوالات متداول

چگونه می‌توانم تصاویر را با Gemini AI در n8n پردازش کنم؟

شما می‌توانید تصاویر را با استفاده از گره‌های مختلف n8n و اتصال به Gemini API پردازش کنید. این راهنما پنج روش مختلف را از تجزیه و تحلیل ساده یک تصویر تکی تا پردازش دسته‌ای و فراخوانی مستقیم API با دستورات سفارشی ارائه می‌دهد.

آیا پردازش فایل‌های PDF با Gemini AI در n8n امکان‌پذیر است؟

بله، این راهنما روشی را برای پردازش اسناد PDF با استفاده از Gemini AI در n8n از طریق API مستقیم توضیح می‌دهد. فایل PDF ابتدا به فرمت base64 تبدیل شده و سپس برای تجزیه و تحلیل به API ارسال می‌شود.

چه تفاوتی بین روش‌های مختلف پردازش تصویر در n8n وجود دارد؟

روش‌های مختلف بسته به نیازهای شما متفاوت هستند: از ساده‌ترین روش برای یک تصویر تکی با عبوردهی خودکار باینری، تا مدیریت تصاویر متعدد با دستورات سفارشی، پردازش استاندارد آیتم n8n با فراخوانی مستقیم API، و تجزیه و تحلیل تصویر از طریق API مستقیم با پارامترهای سفارشی.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.