n8n YouTube otomasyonu nasıl kurulur: video üret, planla, yükle
Formdan konu alıp viral videoları bulan, içerik takvimi çıkaran, sahne promptu yazan ve videoyu YouTube'a yükleyen akışı adım adım kuruyoruz.
n8n YouTube otomasyonu; bir formdan aldığın konu, dil ve haftalık paylaşım sayısıyla çalışan tek bir iş akışıdır. Akış önce yapay zekayla 10 arama terimi üretir, Apify'daki YouTube Scraper ile o konuda çok izlenen videoları bulur ve Google Sheets'e kaydeder. Sonra her video için yeni fikir yazar, başlık ve açıklamalı bir içerik takvimi çıkarır, uzun video için detaylı sahne promptları hazırlar. Son aşamada zamanlanmış tetikleyici o günün içeriğini alır, video üretim API'sine gönderir, video bitince YouTube'a yükler.
Bu rehberin videosu: Video üret, planla, yükle: hepsi tek yerde (ÜCRETSİZ N8N OTOMASYONU) (00:42:19).
Bu otomasyon ne yapıyor?
Biz bu akışı sıfırdan n8n içinde kuruyoruz. Sen sadece bir konu veriyorsun, örneğin tarih. Gerisini akış yapıyor: YouTube'da tutan içerikleri araştırıyor, içerik analizi yapıyor, konu fikirleri çıkarıyor, başlık ve açıklama yazıyor, tarih planlıyor ve hepsini Google Sheets'e ekliyor.
Akış normalde hem short hem uzun video üretebilecek şekilde kurulu. Bu rehberde uzun formata odaklanıyoruz. Uzun videoları 8 dakikanın üzerinde tutmayı hedefliyoruz.
Bu akışı kendi kanalların için kullanabilirsin. Form yapısı sayesinde müşterine de sunabilirsin: müşteri formu doldurur, videolar onun kanalında planlı şekilde paylaşılır.
- Girdi: video konusu, video dili, haftalık paylaşım sayısı
- Araştırma: yapay zekayla 10 arama terimi ve Apify ile viral video taraması
- Kayıt: Google Sheets'te analiz ve içerik takvimi sayfaları
- Üretim: sahne promptlarıyla video oluşturma ve YouTube'a yükleme
- Konuşmasız, sadece ses efektli videolar dil engeline takılmadan daha geniş kitleye gösterilebiliyor
1. Bölüm: Video bulucu
Akış bir n8n Form ile başlıyor. Formda video konusu, video dili ve haftalık paylaşım sayısı alanları var. Hemen ardından bir Edit Fields node'u koyuyoruz. Böylece form verisi sonraki adımlarda dinamik olarak kullanılıyor; başında json yazan her alan girdiye göre değişiyor.
Sonra bir Basic LLM Chain ekliyoruz ve model olarak Gemini seçiyoruz. Sistem mesajında modele 'YouTube anahtar kelime üreticisisin, verilen konu için 10 arama terimi üret' diyoruz. Structured Output Parser ile çıktının 10 terimlik bir liste olmasını sağlıyoruz.
Bu terimleri Apify'daki YouTube Scraper ile aratıyoruz. API sayfasındaki HTTP bilgisini HTTP Request node'una yapıştırıyor, sonuna kendi Apify token'ını ekliyorsun. Body kısmında JSON kullanıyor, arama terimi alanına önceki adımda üretilen terimleri bağlıyorsun.
- İlk istek her zaman POST: bilgiyi gönderiyorsun
- Ardından Wait ile bekliyorsun
- Aynı URL ile GET isteği atıp 'bitti mi' diye kontrol ediyorsun
- IF node'unda statü succeeded ise devam, değilse tekrar bekle
- Bittiyse aynı URL'den GET ile sonuç videolarını alıyorsun
- API'ı nasıl kullanacağını bilmiyorsan sayfayı ChatGPT'ye yapıştırıp n8n için curl olarak isteyebilirsin
2. Bölüm: Analiz, konu yazarı ve içerik takvimi
Gelen videoları Google Sheets'e yazmadan önce bir Code (JavaScript) node'u ile veriyi düzenliyoruz. Bu kodu ChatGPT'ye sorarak hazırlayabilirsin. Sonra Google Sheets node'unda 'Analizler' dosyasına başlık, video URL'si, görüntülenme, beğeni, açıklama, altyazı, kanal URL'si, abone sayısı ve yapay zeka önerisi gibi kolonları dolduruyoruz. Thumbnail URL'sini de alabilirsin.
Ardından Edit Fields ile başlık ve açıklamayı ayırıp bir Loop koyuyoruz. Loop gelen videoları tek tek işliyor. İçine 'Konu yazarı' adında bir Basic LLM Chain (Gemini) ekliyoruz. Prompt'ta konu ve referans videonun başlığı ile açıklaması var. Sistem mesajı 'YouTube video fikri üreticisisin' diyor. Çıkan öneriyi Google Sheets'te update row ile 'yapay zeka önerisi' kolonuna yazıyoruz.
Loop bitince Aggregate ile tüm önerileri 'AI önerisi' adında tek alanda topluyoruz. Alan adı ile sonra kullandığın ad birebir aynı olmalı. Sonra yeni bir LLM Chain, önerilerden haftalık paylaşım sayısı ve video diline göre plan çıkarıyor. Burada Auto-fixing Output Parser kullanıyoruz; çıktı bozuk gelirse yapay zeka kendisi düzeltiyor. İçine Structured Output Parser koyup başlık, yayın zamanı gibi alanları tanımlıyoruz.
- İçerik takvimi kolonları: tarih, başlık, açıklama, format, ana tema, sahne promptu, onay durumu
- Onay kolonu sana kontrol veriyor; istemediğin içeriği silebilirsin
- Her aşamayı ayrı ayrı çalıştırıp test edebilirsin, tüm akışı her seferinde baştan başlatman gerekmiyor
3. Bölüm: Sahne promptları
Takvimdeki her içerik için yine bir Loop ve içinde 'Sahne oluşturucu' LLM Chain kuruyoruz. Tema, ana tema kolonundan; dil, form'daki video dilinden geliyor.
Sistem promptunda modele 'yapay zeka video senaryo yazarısın, ana tema doğrultusunda 41 sahnelik uzun format video üreteceksin' diyoruz. Karakter tutarlılığı, detay seviyesi, özne, eylem, ortam ve atmosfer bu promptun en önemli kısımları.
Çıktı için yine Auto-fixing ve Structured Output Parser kullanıyoruz. Tema, kullanılacak model, dil ve anlatım ayarı gibi video üretiminde lazım olacak alanları burada tanımlıyoruz. Sonuçları Google Sheets'te update row ile ana temaya göre eşleştirip sahne promptu kolonuna yazıyoruz.
- Sahne sayısı arttıkça video uzar
- Her sahnede kamera, zoom, konuşma ve aksiyon bilgisi yer alıyor
- İlk satırın boş kalması gibi durumlara karşı tabloyu kontrol et
4. Bölüm: Zamanlama, video üretimi ve YouTube'a yükleme
Son kısım ayrı bir Schedule Trigger ile başlıyor. Örneğin her gün saat 07:00'de çalışacak şekilde ayarlıyoruz. Ardından bir Code node'u gün, ay, yıl formatında bugünün tarihini kontrol ediyor. Google Sheets get row ile içerik takviminden o günün satırını ve sahne promptunu alıyoruz.
Video üretimi için Prototip Bal kullanıyoruz; bizim kendi girişimlerimizden biri. Ayarlar > API key management bölümünden bir key oluşturuyorsun. Burada abonelik yerine kullandığın kadar öde mantığındaki API kredisi gerekiyor.
'Video oluştur' HTTP Request node'u POST ile çalışıyor. Header'a Authorization ekleyip değerin başına Bearer yazıyorsun. Body'de JSON ile sahne promptunu gönderiyorsun; içinde en-boy oranı, ses ayarı, model ve sahneler var. Sonra Wait, ardından dönen ID ile durum kontrolü, IF ile statü completed mi diye bakıyoruz. Bittiyse videoyu alıp YouTube node'unda Upload a Video ile başlık, bölge kodu ve kategoriyle yüklüyoruz.
- Bekleme süresini 60 saniye yapabilirsin; çok sahneli videolar en az bir saat sürebiliyor
- Videoyu alma isteğine de aynı Authorization header'ını ekle
- İpucu: IF içinde {{ $json.status }} gibi bir ifade yazıp önceki node'un çıktısını bağlayabilirsin
- Başlığı içerik takvimindeki başlık kolonundan al
Adım adım
- n8n'de yeni bir workflow aç; video konusu, video dili ve haftalık paylaşım sayısı alanlarıyla bir Form ekle, ardından Edit Fields ile bu alanları tanımla.
- Gemini modelli bir Basic LLM Chain ile 10 arama terimi ürettir ve Structured Output Parser ile listeyi sabitle.
- Apify YouTube Scraper'ı HTTP Request ile çağır: POST gönder, bekle, GET ile durumu kontrol et, IF ile succeeded olunca sonuçları al.
- Code node'u ile veriyi düzenle, Google Sheets 'Analizler' dosyasına yaz; Loop içinde konu yazarıyla her video için yeni fikir üretip update row ile kaydet.
- Aggregate ile önerileri topla, Auto-fixing Output Parser'lı bir LLM Chain ile içerik takvimini oluştur ve Google Sheets'e yaz.
- Loop içinde 41 sahnelik sahne promptlarını ürettir ve ana temaya göre eşleştirerek içerik takvimine kaydet.
- Schedule Trigger ile günlük çalıştır; o günün sahne promptunu Prototip Bal API'sine gönder, video tamamlanınca YouTube node'u ile yükle.
Kontrol listesi
- Form alanları Edit Fields'ta aynı adlarla tanımlı mı?
- Apify ve video üretim isteklerinde ilk metot POST, kontrol ve sonuç alma metodu GET mi?
- Aggregate'te verdiğin alan adı sonraki prompt'ta birebir aynı mı?
- Google Sheets'te içerik takvimi kolonları (tarih, başlık, açıklama, format, ana tema, sahne promptu, onay) hazır mı?
- Authorization header'ında token'ın başında Bearer var mı?
- Onay kolonuna bakıp istemediğin içerikleri üretimden önce ayıkladın mı?
Sıkça Sorulan Sorular
n8n YouTube otomasyonu için hangi araçlar gerekiyor?
Videoda n8n, Gemini modeli, Apify'daki YouTube Scraper, Google Sheets, video üretimi için Prototip Bal API'si ve n8n'in YouTube node'u kullanılıyor.
Viral videoları nasıl buluyoruz?
Yapay zeka verilen konu için 10 arama terimi üretiyor. Bu terimler Apify YouTube Scraper ile aratılıyor ve görüntülenme, beğeni, kanal gibi bilgilerle Google Sheets'e kaydediliyor.
Neden Auto-fixing Output Parser kullanıyoruz?
Yapay zekanın çıktısı istenen formatta gelmezse parser yapay zekayla bu çıktıyı düzeltiyor. Böylece sonuç her zaman Google Sheets'e yazılabilecek yapıda kalıyor.
Video uzunluğunu ne belirliyor?
Sahne sayısı. Videoda sahne promptu 41 sahne olarak kurgulanıyor. Sahne sayısı arttıkça video uzuyor; videoda üst limit olmadığı söyleniyor.
Bu akışı müşteriye sunabilir miyim?
Evet. Form yapısı bunun için seçildi. Müşteri formu doldurur, akış içerikleri planlar ve onun kanalında paylaşır.
5 maddede özet
- Girdi: n8n Form ile konu, dil ve haftalık paylaşım sayısını alıyoruz.
- Araştırma: Gemini 10 arama terimi üretiyor, Apify YouTube Scraper viral videoları buluyor.
- Planlama: Konu yazarı ve planlayıcı, Google Sheets'te başlık, açıklama ve tarihli bir içerik takvimi oluşturuyor.
- Sahne: 41 sahnelik, karakter tutarlılığına dikkat eden detaylı sahne promptları yazılıyor.
- Yayın: Schedule Trigger günlük çalışıyor, video Prototip Bal API'siyle üretilip YouTube'a yükleniyor.