اتصال n8n به OpenAI از داخل ایران — راهنمای گامبهگام
آموزش کامل اتصال n8n به OpenAI از ایران بدون VPN: تنظیم Credential، ساخت AI Agent، خلاصهساز ایمیل، چتبات تلگرام و کنترل هزینه.
CONTENTS · در این مقاله (۲۶)
- چرا node رسمی OpenAI در n8n از ایران کار نمیکند؟
- پیشنیازها
- گام ۱: ساخت Credential در n8n
- گام ۲: اولین workflow — خلاصهساز ایمیل
- ۲.۱ Trigger: Gmail
- ۲.۲ Process: OpenAI
- ۲.۳ Output: Telegram
- گام ۳: AI Agent — یک ربات پشتیبانی واقعی
- ۳.۱ ساختار
- ۳.۲ تنظیم Chat Model
- ۳.۳ تعریف Tools
- گام ۴: تولید تصویر و صوت در همان workflow
- تولید تصویر با DALL-E 3
- تبدیل صوت به متن با Whisper
- هزینهٔ یک workflow معمولی — یک نمونهٔ واقعی
- چند trick حرفهای برای n8n + OpenAI
- ۱. Caching با Redis
- ۲. Retry با backoff
- ۳. کنترل هزینه با sub-workflow
- ۴. استفاده از Responses API
- اشکالزدایی: مشکلات رایج
- خطای ۴۰۱ Unauthorized
- خطای ۴۲۹ Too Many Requests
- خطای ۴۰۰ Invalid Model
- پاسخ خیلی کند
- جمعبندی
n8n در دو سال اخیر به یکی از محبوبترین ابزارهای اتوماسیون بدون-کد در ایران تبدیل شده است. ترکیب n8n با OpenAI به تو اجازه میدهد از چتباتهای هوشمند تا agentهای ایمیل و خلاصهساز محتوا را در چند دقیقه بسازی. اما اگر یکبار سعی کرده باشی node رسمی OpenAI را در n8n با IP ایرانی اجرا کنی، یا با خطای ۴۰۳ Country Not Supported روبهرو شدهای یا با Connection Timeout. این راهنما گامبهگام نشان میدهد چطور این مشکل را برای همیشه حل کنی، و یک workflow کامل n8n + OpenAI بسازی که از داخل ایران، روی سرور خودت یا n8n cloud، بدون VPN و بدون قطعی کار کند.
چرا node رسمی OpenAI در n8n از ایران کار نمیکند؟
node OpenAI در n8n بهصورت پیشفرض درخواست را به https://api.openai.com میفرستد. اگر سرور n8n تو در ایران است (یا حتی روی n8n cloud با IP ای که OpenAI آن را شناسایی میکند)، پاسخ این است:
{
"error": {
"message": "Country, region, or territory not supported",
"type": "request_forbidden",
"code": "unsupported_country_region_territory"
}
}
راهحل ساده است: بهجای api.openai.com، از یک OpenAI-compatible base URL استفاده کن که از کشوری پشتیبانیشده درخواست را فوروارد میکند. n8n در نسخههای اخیر این قابلیت را در node رسمی OpenAI قرار داده است.
پیشنیازها
- n8n نسخهٔ ۱.۵۰ یا بالاتر (self-hosted یا cloud).
- یک حساب در یک پروکسی API ایرانی مانند 1xAi با کلید
1xai-.... - حداقل ۱۰۰ هزار تومان شارژ (کمتر از یک قهوه).
اگر هنوز با مفهوم پروکسی API آشنا نیستی، اول مقالهٔ دسترسی به ChatGPT از داخل ایران را بخوان.
گام ۱: ساخت Credential در n8n
به مسیر Settings → Credentials → New برو، نوع OpenAi API را انتخاب کن، و این مقادیر را وارد کن:
| فیلد | مقدار |
|---|---|
| API Key | کلید 1xAi تو، مثلاً 1xai-abcdefghijklmnopqr |
| Organization ID (Optional) | خالی بگذار |
| Base URL | https://1xai.ir/v1 |
روی Save کلیک کن. n8n خودکار یک تست انجام میدهد. اگر سبز شد، آمادهای. اگر قرمز شد، چک کن:
- کلیدت با
1xai-شروع میشود (نهsk-). - پشت سر API Key فاصلهٔ اضافی نباشد.
- Base URL دقیقاً
https://1xai.ir/v1باشد، بدون اسلش انتهایی. - حساب 1xAi شارژ مثبت داشته باشد.
گام ۲: اولین workflow — خلاصهساز ایمیل
یک workflow کاربردی بسازیم: ایمیل ورودی Gmail → خلاصه با GPT → پیام در تلگرام. این الگو روزانه ساعتها در وقت تو صرفهجویی میکند.
۲.۱ Trigger: Gmail
node Gmail Trigger را اضافه کن، event را روی Message Received بگذار، و اعتبار Google خودت را وصل کن. یک filter ساده مثل label:Important اضافه کن تا فقط روی ایمیلهای مهم اجرا شود.
۲.۲ Process: OpenAI
node OpenAI را اضافه کن. تنظیمات:
- Resource: Chat
- Operation: Message a model
- Model: gpt-4o-mini یا gpt-5-nano (برای خلاصهسازی، مدل ارزان کافی است)
- Messages:
System: تو دستیار خلاصهساز ایمیل هستی. ایمیل فارسی یا انگلیسی را در ۲ تا ۳ جمله به فارسی خلاصه کن. اگر اقدامی لازم است، آن را در یک bullet جدا کن.
User: موضوع: {{ $json.subject }}
از: {{ $json.from.value[0].name }}
متن:
{{ $json.text }}
۲.۳ Output: Telegram
node Telegram را اضافه کن، operation روی Send Message، Chat ID خودت را بگذار، و text را به این شکل بساز:
📧 ایمیل جدید از {{ $('Gmail Trigger').item.json.from.value[0].name }}
موضوع: {{ $('Gmail Trigger').item.json.subject }}
خلاصه:
{{ $json.message.content }}
workflow را activate کن. از این لحظه، هر ایمیل مهم تو خودکار به فارسی خلاصه شده و در تلگرام برایت میآید.
گام ۳: AI Agent — یک ربات پشتیبانی واقعی
n8n از نسخهٔ ۱.۲۰ یک node فوقالعاده به نام AI Agent اضافه کرده که LangChain.js را داخل خود اجرا میکند. این node به تو اجازه میدهد agentهایی با tool use بسازی. بیایم یک ربات پشتیبانی بسازیم که:
- پیام مشتری را از تلگرام میگیرد.
- اگر دربارهٔ وضعیت سفارش است، از API فروشگاه پرسوجو میکند.
- اگر سؤال عمومی است، از یک vector database پاسخ میدهد.
- اگر نتوانست، تیکت را به انسان ارجاع میدهد.
۳.۱ ساختار
workflow این شکل را خواهد داشت:
Telegram Trigger → AI Agent ─┬─ Chat Model: OpenAI (gpt-5-mini)
├─ Memory: Buffer Window
└─ Tools:
├─ HTTP Request (Order API)
├─ Vector Store (Pinecone/Qdrant)
└─ HTTP Request (Create Ticket)
۳.۲ تنظیم Chat Model
در زیرگرهٔ Chat Model، باز هم credential 1xAi را انتخاب کن. مدل پیشنهادی gpt-5-mini است — برای agentهای ساده کافی است و قیمت بسیار مناسب دارد. اگر agentت تصمیمگیری پیچیده انجام میدهد، روی gpt-5 سوئیچ کن.
System prompt پیشنهادی:
تو دستیار پشتیبانی فروشگاه «نمونه» هستی. به فارسی پاسخ بده.
قواعد:
1. اگر مشتری دربارهٔ وضعیت سفارش پرسید، از ابزار get_order_status استفاده کن.
2. اگر سؤال عمومی دربارهٔ محصول/گارانتی/ارسال است، از ابزار search_kb استفاده کن.
3. اگر بعد از دو تلاش پاسخ مناسب نداشتی، از ابزار create_ticket یک تیکت بساز.
4. هرگز قیمت یا اطلاعات حساس را حدس نزن — فقط از ابزارها استفاده کن.
۳.۳ تعریف Tools
برای هر tool، یک HTTP Request Tool اضافه کن. مثلاً برای get_order_status:
| فیلد | مقدار |
|---|---|
| Name | get_order_status |
| Description | وضعیت سفارش را با شمارهٔ سفارش برمیگرداند |
| Method | GET |
| URL | https://api.myshop.ir/orders/{order_id} |
| Schema (placeholder) | {"order_id": {"type": "string", "description": "شماره سفارش"}} |
n8n خودکار این schema را بهصورت function calling به OpenAI میفرستد و agent تصمیم میگیرد چه زمانی از این ابزار استفاده کند.
گام ۴: تولید تصویر و صوت در همان workflow
یکی از قدرتهای 1xAi این است که تمام endpointهای OpenAI را پشتیبانی میکند. میتوانی در یک workflow بعد از تولید متن، تصویر بسازی یا متن را به صوت تبدیل کنی.
تولید تصویر با DALL-E 3
node OpenAI با تنظیمات:
- Resource: Image
- Operation: Generate Image
- Model: dall-e-3 یا gpt-image-1
- Prompt: {{ $json.image_description }}
- Size: 1024x1024
خروجی یک URL است که میتوانی در پیام تلگرام، ایمیل، یا CMS خود استفاده کنی.
تبدیل صوت به متن با Whisper
برای پردازش پیامهای صوتی تلگرام:
- Resource: Audio
- Operation: Transcribe a recording
- Model: whisper-1 یا gpt-4o-transcribe
- Binary Property: data (فایل صوتی از node قبلی)
- Language: fa
برای جزئیات بیشتر دربارهٔ کیفیت Whisper در فارسی، مقالهٔ تبدیل صوت فارسی به متن با Whisper را ببین.
هزینهٔ یک workflow معمولی — یک نمونهٔ واقعی
فرض کن یک کسبوکار کوچک هستی و workflow پشتیبانی روزانه ۲۰۰ مکالمه را پاسخ میدهد. هر مکالمه میانگین ۱۵۰۰ توکن ورودی + ۵۰۰ توکن خروجی با gpt-5-mini دارد:
| آیتم | محاسبه | هزینهٔ روزانه (تومان) |
|---|---|---|
| ورودی | 200 × 1500 × ۱۵٬۰۰۰ ÷ 1M | ۴٬۵۰۰ |
| خروجی | 200 × 500 × ۱۲۰٬۰۰۰ ÷ 1M | ۱۲٬۰۰۰ |
| مجموع | ~۱۶٬۵۰۰ | |
| ماهانه | ~۵۰۰٬۰۰۰ |
۵۰۰ هزار تومان در ماه برای جایگزینی یک نیروی پاسخگو ۸ ساعت در روز، عدد کاملاً منطقیای است. اگر میخواهی اعداد را برای پروژهٔ خودت دقیق محاسبه کنی، راهنمای محاسبهٔ هزینهٔ ChatGPT API فرمولها را گامبهگام دارد.
چند trick حرفهای برای n8n + OpenAI
۱. Caching با Redis
برای سؤالهای تکراری (مثل «ساعت کاری شما؟»)، یک node Redis قبل از node OpenAI بگذار. اگر پاسخ کش شده، آن را برگردان؛ وگرنه از OpenAI بپرس و کش کن. میتواند ٪۳۰ تا ٪۵۰ هزینه را کم کند.
۲. Retry با backoff
در تنظیمات node OpenAI، Retry On Fail را فعال کن، Max Tries را روی ۳ و Wait را روی ۲۰۰۰ms بگذار. اگر بار شبکه بالا بود، n8n خودکار retry میکند.
۳. کنترل هزینه با sub-workflow
اگر چند workflow داری، یک sub-workflow بساز که قبل از هر فراخوانی OpenAI، مصرف ماهانه را چک کند. اگر از سقف بودجه گذشتی، fallback به مدل ارزانتر یا پیام «در حال حاضر در دسترس نیست» بده.
۴. استفاده از Responses API
n8n از نسخهٔ ۱.۶۰ به بعد از endpoint جدید /v1/responses هم پشتیبانی میکند که برای agentها بهینهتر است (state داخلی، tool use بهتر، reasoning مرئی). اگر روی n8n قدیمی هستی، میتوانی با node HTTP Request مستقیم به https://1xai.ir/v1/responses بزنی.
اشکالزدایی: مشکلات رایج
خطای ۴۰۱ Unauthorized
کلید اشتباه است یا حذف شده. به داشبورد 1xAi برو و یک کلید جدید بساز.
خطای ۴۲۹ Too Many Requests
به سقف rate-limit حسابت رسیدهای. در 1xAi میتوانی از طریق فرم تماس سقف را افزایش دهی.
خطای ۴۰۰ Invalid Model
نام مدل اشتباه است. لیست مدلهای دقیق را با درخواست GET به /v1/models بگیر.
پاسخ خیلی کند
مدل سنگین استفاده میکنی. روی gpt-5-mini یا gpt-4o-mini سوئیچ کن، یا max_tokens را محدودتر کن.
جمعبندی
n8n + OpenAI ترکیبی است که میتواند یک تیم اتوماسیون چند نفره را در یک نفر خلاصه کند. تنها چالش جدی برای کاربر ایرانی، دسترسی به API بود — که با تغییر یک فیلد در Credential و وصل شدن به 1xAi یا یک پروکسی API بومی دیگر کاملاً حل میشود. حالا که زیرساخت آماده است، تنها محدودیت تخیل تو است: از ربات پشتیبانی تا عامل خرید خودکار، از خلاصهساز جلسه تا مولد محتوای روزانه — همه چیز در دسترس است. اگر میخواهی به سراغ ابزارهای پیچیدهتر مثل LangChain هم بروی، راهنمای اتصال LangChain و LangGraph از ایران قدم بعدی منطقی است.
ABOUT THE AUTHOR · نویسنده
تیم 1xAi
تیمِ 1xAi پروکسیِ تخصصیِ مدلهای OpenAI، Claude و Gemini برای کاربرانِ ایرانی را اداره میکند — از زیرساختِ شبکه تا صورتحسابِ تومانی. هرچه اینجا مینویسیم بر اساسِ تجربهٔ روزانه با APIهای OpenAI، Anthropic و Google و نیازهای واقعیِ توسعهدهندگانِ داخلِ ایران است.
۱۲ دقیقه
اتصال LangChain و LangGraph به OpenAI از ایران
آموزش گامبهگام اتصال LangChain و LangGraph به OpenAI از داخل ایران: ساخت RAG، tool agent، LangGraph حالتمند با کد Python آماده.
۸ دقیقه
تبدیل صوت فارسی به متن با Whisper — دقت، هزینه، آموزش
همه چیز دربارهٔ Whisper و gpt-4o-transcribe برای فارسی: دقت واقعی، هزینهٔ تومانی، کد آماده، رفع محدودیت ۲۵MB و ترفندهای افزایش دقت.
۸ دقیقه
هزینهٔ واقعی ChatGPT API چقدر است؟ محاسبه با تومان
محاسبهٔ دقیق هزینهٔ ChatGPT API به تومان: قیمت مدلهای GPT-5، GPT-4o، Whisper و DALL-E با چهار سناریوی واقعی و چهار راه کاهش هزینه.
