{/* آخر تحديث: 2026-04-24 | بُنيت واستوردت ونُفذت مباشرة على nerdleveltech.app.n8n.cloud | gpt-5-mini عبر أرصدة n8n المجانية */}
كل عقدة في هذا الدليل وُصِّلت مباشرة على n8n cloud. ملف JSON الذي ستُنزله هو نفسه الذي استوردناه وحفظناه وشغّلناه. لا عقد وهمية، ولا
TODOstubs — ألصق بيانات OpenAI وسيعمل فوراً.
ما الذي ستبنيه
بحلول نهاية هذا الدليل سيكون لديك سير عمل n8n:
- يستقبل رابط فيديو يوتيوب + نص التفريغ + النمط عبر نموذج ويب قابل للمشاركة (بدون كود، بدون نشر)
- يستعلم عن عنوان الفيديو الحقيقي واسم القناة عبر نقطة نهاية oEmbed العامة من يوتيوب
- يبني كائن سياق منظم يدمج مدخلات المستخدم مع بيانات oEmbed
- يمرّر كل ذلك إلى سلسلة LLM من LangChain مدعومة بـ
gpt-5-mini - يُعيد تدوينة Markdown جاهزة للنشر — مع H1 وملخص TL;DR بطول 160 حرفاً و 3-5 أقسام H2 وبنية صديقة للكود وقائمة خلاصات
هذا هو السير الكامل بعد الاستيراد — خمس عقد بالإضافة إلى عقدة AI فرعية واحدة:
تخطَّ البناء اليدوي — استورد السير
لا تريد توصيل العقد يدوياً؟ نزِّل ملف JSON الكامل والصقه في أي لوحة n8n فارغة. كل ما ستحتاجه هو فتح عقدة OpenAI Chat Model الفرعية واختيار بياناتك.
للاستيراد: أنشئ سير عمل جديداً → انقر على اللوحة الفارغة → اضغط Cmd+V (ماك) أو Ctrl+V (ويندوز). يكتشف n8n السير الملصوق ويحمّل العقد الخمس مع وصلاتها.
المتطلبات المسبقة
| المتطلب | التفاصيل |
|---|---|
| حساب n8n | تجربة مجانية 14 يوماً على n8n.io/cloud — بدون بطاقة ائتمان |
| أرصدة OpenAI | 100 رصيد مجاني مدمج في n8n — بدون الحاجة لمفتاح OpenAI |
| فيديو يوتيوب بترجمات | أي فيديو يمكنك فتح لوحة "Show transcript" له |
| الوقت | حوالي 15 دقيقة |
أنواع عقد الذكاء الاصطناعي في n8n المستخدمة هنا
| العقدة | الغرض |
|---|---|
| Form Trigger | نموذج ويب عام يبدأ السير |
| HTTP Request | يستدعي نقطة oEmbed من يوتيوب للميتاداتا |
| Set | يبني كائن سياق نظيف من عدة عقد سابقة |
Basic LLM Chain (chainLlm) | يُشغّل استدعاء LLM مع مطالبة منظمة |
| OpenAI Chat Model | عقدة نموذج اللغة الفرعية — متصلة بالسلسلة |
الخطوة 1 — استيراد السير
1أ. إنشاء سير جديد
من لوحة n8n الرئيسية اضغط + Create workflow. تُفتح لوحة فارغة بـ placeholder-ين: Add first step… و Build with AI.
1ب. لصق ملف JSON للسير
نزّل n8n-youtube-to-blog.json وانسخ محتواه إلى الحافظة. انقر مرة على اللوحة الفارغة للتركيز عليها، ثم ألصق بـ Cmd+V / Ctrl+V.
يتعرف n8n على اللصق كاستيراد سير ويعرض العقد الخمس فوراً مع وصلاتها. يُعيد السير تسمية نفسه إلى "YouTube to AI Blog Post".
لماذا اللصق بدلاً من "Import from file"؟ منتقي الملفات في n8n هو حوار النظام الأصلي — أبطأ من اللصق، ويُزيل webhook IDs التي يعتمد عليها Form Trigger. استيراد اللصق يحافظ على الحالة الكاملة بما في ذلك تسجيلات webhook.
الخطوة 2 — ضبط مُشغّل النموذج
انقر نقراً مزدوجاً على عقدة On form submission. لوحة العقدة تحتوي على ثلاث مناطق تهمك:
- Form URLs — رابط الاختبار العام + رابط الإنتاج
- Form Title / Description — ما يراه المستخدمون عند فتح النموذج
- Form Elements — الحقول التي يملؤها المستخدمون
2أ. التحقق من أنواع الحقول
السير المستورد يأتي بثلاثة حقول نموذج. تأكد من كل منها:
| الحقل | نوع العنصر | مطلوب |
|---|---|---|
| YouTube URL | Text Input | ✓ |
| Transcript | Textarea | ✓ |
| Blog Style | Dropdown (4 خيارات) | ✓ |
انتبه: إذا استوردت JSON قديماً يستخدم
fieldType: "url"، سيُظهر n8n مؤشراً أحمر بجانب قائمة Element Type لأنurlلم يعد نوع عنصر نموذج صالحاً. انقر القائمة واختر Text Input بدلاً منه.
2ب. الحصول على رابط الاختبار
حقل Test URL يُظهر رابطاً مثل https://<مساحة-عملك>.app.n8n.cloud/form-test/<uuid>. انسخه — ستفتحه في الخطوة 6 لتشغيل السير من البداية للنهاية. Production URL يُفعَّل فقط بعد نشر السير.
الخطوة 3 — جلب بيانات الفيديو عبر oEmbed
لماذا نستدعي oEmbed بدلاً من scraping صفحة يوتيوب؟ ثلاثة أسباب:
- بدون مصادقة. نقطة oEmbed من يوتيوب عامة ولا تحتاج مفتاح API.
- مخطط مستقر. الاستجابة لها نفس الشكل (
titleوauthor_nameوthumbnail_url) منذ 2012. - رخيصة. طلب GET صغير واحد لكل تدوينة — بدون حدود معدل للاستخدام المعقول.
انقر نقراً مزدوجاً على عقدة Fetch Video Metadata. تحقق من تعبير URL:
https://www.youtube.com/oembed?url={{ encodeURIComponent($json['YouTube URL']) }}&format=json
استدعاء encodeURIComponent() حاسم — بدونه، روابط URL مع سلاسل استعلام (مثل ?v=aircAruvnKk&list=PL...) تكسر استدعاء oEmbed.
لماذا خيار "neverError"?
تحت Options → Response → Never Error، المفتاح مضبوط على true. هذا يعني إذا فشل استدعاء oEmbed (فيديو خاص أو محذوف أو محجوب إقليمياً)، يستمر السير مع كائن ميتاداتا فارغ بدلاً من التوقف بخطأ. عقدة Set التالية تتعامل مع الحالة الفارغة بـ title || 'Untitled video'.
الخطوة 4 — بناء سياق المطالبة
Form Trigger يُعيد عنصراً واحداً بحقول مسماة "YouTube URL" و "Transcript" و "Blog Style". استدعاء oEmbed يُعيد title و author_name وغيرهم. عقدة Build Context تُسطِّح هذه في كائن نظيف يمكن لـ LLM Chain الإشارة إليه بدون escaping لعلامات الاقتباس في كل مكان.
انقر نقراً مزدوجاً على Build Context. ستجد خمسة تعيينات:
| حقل المخرجات | التعبير | لماذا |
|---|---|---|
title | {{ $json.title || 'Untitled video' }} | قيمة احتياطية إذا أعاد oEmbed فارغاً |
channel | {{ $json.author_name || 'Unknown channel' }} | نفس الشيء — نسب الفضل في السطر الافتتاحي |
url | {{ $('On form submission').item.json['YouTube URL'] }} | مرجع متقاطع لمدخل النموذج |
transcript | {{ $('On form submission').item.json['Transcript'] }} | النص الخام |
style | {{ $('On form submission').item.json['Blog Style'] }} | "Technical tutorial" / إلخ |
صيغة $('Node Name').item.json[...] تتيح لك الوصول إلى مخرجات أي عقدة سابقة، حتى لو لم تكن الأب المباشر. هكذا تسحب عقدة Build Context من كل من Form Trigger و Fetch Video Metadata.
الخطوة 5 — مطالبة سلسلة التدوينة
هنا يحدث السحر. انقر نقراً مزدوجاً على Blog Post Chain. حقل Text يحتوي على المطالبة الكاملة — حوالي 350 كلمة من التعليمات المنظمة. هنا عمودها الفقري (بإعادة صياغة مختصرة):
You are a senior tech editor. Convert the raw YouTube video transcript
below into a publish-ready blog post in the style: {{ $json.style }}.
VIDEO METADATA
- Title: {{ $json.title }}
- Channel: {{ $json.channel }}
- URL: {{ $json.url }}
TRANSCRIPT
"""
{{ $json.transcript }}
"""
OUTPUT REQUIREMENTS (strict)
1. Return pure Markdown only.
2. First line: # <SEO-friendly H1 under 60 chars>
3. Second block: > <One-sentence TL;DR under 160 chars>
4. Third block: 2-sentence intro that hooks the reader.
5. Body: 3-5 ## H2 sections with meaningful subheadings.
6. Include an inline linked credit to the video.
7. End with a 3-item Takeaways list.
لماذا هذه القواعد تحديداً؟
- "Pure Markdown only — no preamble" يلغي ميل gpt-5-mini لإضافة "Sure! Here is the blog post:" في البداية. تريد المخرجات قابلة للاستخدام بدون معالجة لاحقة.
- "TL;DR under 160 chars" مصمم لحقل meta description في Google وأيضاً لمقتطفات الاقتباس في AI Overviews.
- "3-5 H2 sections" يُحدد طول المقال. بدون هذا، gpt-5-mini يُعيد غالباً ملخصاً من 400 كلمة بدلاً من مقال منظم.
- "No emojis unless Casual explainer" يطابق النغمة مع النمط. الإيموجي في درس تقني يُشير إلى جهد منخفض.
توصيل النموذج
لـ Blog Post Chain موصل Model إجباري في الأسفل (معلم بنجمة حمراء). السير المستورد يربط هذا مسبقاً بعقدة OpenAI Chat Model الفرعية — تحتاج فقط للتحقق من البيانات.
انقر نقراً مزدوجاً على عقدة OpenAI Chat Model الفرعية. يجب أن تبدو هكذا:
| الحقل | القيمة | لماذا |
|---|---|---|
| Credential | n8n free OpenAI API credits | أُنشئت تلقائياً عند المطالبة بالـ 100 رصيد المجاني |
| Model | gpt-5-mini | أفضل نسبة سرعة/جودة لتوليد المحتوى |
| Use Responses API | true | يُفعّل نقطة OpenAI الأحدث — أسرع وأرخص |
| Sampling Temperature | 0.4 | منخفض بما يكفي للاتساق الهيكلي، عالٍ بما يكفي للنثر الحيوي |
الخطوة 6 — تشغيل خط الأنابيب الكامل
6أ. فتح نموذج الاختبار
افتح Test URL الذي نسخته في الخطوة 2 (أو اضغط Test this trigger من لوحة عقدة Form Trigger). يُحمَّل النموذج العام:
6ب. الحصول على تفريغ حقيقي
افتح أي فيديو يوتيوب لديه ترجمات مفعّلة. تحت وصف الفيديو، انقر قائمة "..." → Show transcript. تُفتح لوحة جانبية يمنى بأسطر مع أوقات. انقر قائمة النقاط الثلاث داخلها → Toggle timestamps للحصول على نص نثري، ثم اضغط select-all والنسخ.
6ج. إرسال النموذج
ألصق رابط يوتيوب في الحقل الأول، ألصق التفريغ في صندوق النص، اختر نمطاً من القائمة المنسدلة، واضغط Submit.
النموذج يُظهر "Form Submitted — Your response has been recorded." خلف الكواليس، n8n يُشغّل سلسلة العقد الخمس بالتتابع. مع gpt-5-mini، التنفيذ الكامل يستغرق 15-40 ثانية حسب طول التفريغ.
6د. فحص المخرجات
ارجع إلى محرر n8n، اضغط تبويب Executions في الشريط العلوي. سترى التشغيل الذي أطلقته للتو. اضغط عليه لفتح عرض التنفيذ، ثم اضغط عقدة Blog Post Chain لرؤية مخرجات text — تدوينة Markdown الكاملة.
في اختبارنا الحقيقي، أنتج تفريغ من 3Blue1Brown عن الشبكات العصبية درساً تقنياً من 900 كلمة بأربعة أقسام H2 وجدول هيكلي وقائمة خلاصات — كل ذلك في 31.2 ثانية و ~1,028 رمز عبر gpt-5-mini.
التوسعات وملاحظات الإنتاج
جلب التفريغ تلقائياً (إزالة اللصق اليدوي)
استبدل حقل Transcript في Form Trigger بجلب مؤتمت. بعد Form Trigger، أدخل عقدتين:
- HTTP Request — GET
https://youtubetotranscript.com/transcript?v={{ videoId }}(أو أي واجهة تفريغ تثق بها) - Code — حلّل الاستجابة إلى نص عادي
ثم وصل مخرجات عقدة Code إلى Build Context بدلاً من حقل النموذج. توقع إرجاعات فارغة أحياناً للمحتوى الخاص أو المحصور بالعمر أو الإقليمي — احتفظ بحقل Transcript في Form Trigger كمدخل احتياطي.
النشر مباشرة إلى WordPress
أضف عقدة WordPress بعد Blog Post Chain. اربط بيانات WordPress (تحتاج application password، ليس تسجيل دخولك الرئيسي). اعمل خريطة:
- Title →
{{ $json.text.match(/^# (.+)/)[1] }} - Content →
{{ $json.text }} - Status →
draft - Categories / Tags → افتراضياتك
الجدولة للمحتوى المدفوع بـ RSS
استبدل Form Trigger بـ RSS Feed Read Trigger يوجّه إلى تغذية قناة يوتيوب المفضلة (https://www.youtube.com/feeds/videos.xml?channel_id=<ID>). كل فيديو جديد يمرّ تلقائياً عبر خط الأنابيب ويُسقط مسودة في CMS الخاص بك. ادمج مع webhook إلى Slack لإشعار "مسودة جديدة جاهزة".
ضوابط قبل النشر
لا تنشر أبداً مخرجات LLM بدون مراجعة بشرية:
| الفحص | كيف |
|---|---|
| هلوسات واقعية | اقرأ المقال مقابل التفريغ. أشّر أي ادعاء غير موجود في المصدر. |
| النسب | تحقق من أن اسم القناة وعنوان الفيديو يطابقان الواقع. oEmbed يُعيد أحياناً عناوين مخزنة قديمة. |
| تعفن الروابط | تأكد أن رابط يوتيوب يُحل — الفيديوهات الخاصة تعيد 404. |
| صوت العلامة التجارية | إذا لم يطابق نمط التدوينة علامتك، أعد التشغيل بنمط مختلف. |
تكلفة الرموز لكل تدوينة
| النموذج | تكلفة الإدخال / 1M | تكلفة الإخراج / 1M | التكلفة لكل تدوينة ~900 كلمة |
|---|---|---|---|
gpt-5-mini | $0.25 | $2.00 | ~$0.003 |
gpt-5 | $1.25 | $10.00 | ~$0.015 |
gpt-4.1-mini | $0.40 | $1.60 | ~$0.004 |
⚠ Prices change frequently. The values above are for illustration only and may be out of date. Always verify current pricing directly with the provider before making cost decisions: Anthropic · OpenAI · Google Gemini · Google Vertex AI · AWS Bedrock · Azure OpenAI · Mistral · Cohere · Together AI · DeepSeek · Groq · Fireworks AI · Perplexity · xAI · Cursor · GitHub Copilot · Windsurf.
الأرقام تقريبية وتتغير بطول التفريغ. n8n يسجل tokenUsage الدقيق في كل تنفيذ — افحص مخرجات العقدة لترى تكلفة تشغيل حقيقي.
ما التالي
أصبح لديك الآن خط أنابيب قابل للتكرار لتحويل أي محتوى منطوق إلى مقالات جاهزة للنشر. النمط نفسه يعمل لـ:
- حلقات البودكاست (ألصق التفريغ من Descript / Otter)
- محاضرات المؤتمرات (يوتيوب لديه كل شيء)
- تسجيلات Zoom الداخلية (صدّر caption
.vtt، ألصق التفريغ)
اقرأ الدليل المصاحب ← ملخص الأخبار التقنية متعدد المصادر لجدولة نفس سلسلة LLM مقابل تغذيات يومية، أو اقفز إلى كاتب خيوط تويتر بالذكاء الاصطناعي لتحويل مخرجات التدوينة إلى خيط X فيروسي.