---
title: "n8n ile Video ve Podcast'i Otomatik Blog Yazısına Çevir"
description: "YouTube veya podcast transkriptini alıp AI ile SEO'lu blog taslağına, başlık ve meta açıklamayla birlikte CMS'e gönderen n8n akışını adım adım kur."
canonical: https://agentroost.app/tr/blog/n8n-video-transkript-blog-yazisi-otomasyon
date: 2026-05-09T20:00:00Z
---

[Canonical URL](https://agentroost.app/tr/blog/n8n-video-transkript-blog-yazisi-otomasyon)

Bir podcast bölümü kaydettiniz, bir YouTube videosu yayınladınız — içerik orada duruyor. Ama aynı içeriği Google'da bulunabilir bir blog yazısına taşımak için ya saatler harcıyorsunuz ya da bir metin yazarına para ödüyorsunuz. Oysa transkript zaten elinizde. Geriye kalan tek iş onu yapılandırılmış bir yazıya dönüştürmek.

Bu yazıda sıfırdan bir n8n akışı kuruyoruz: transkript giriyor, SEO'ya hazır bir blog taslağı — başlık seçenekleri, meta açıklama ve bölüm başlıklarıyla birlikte — çıkıyor. Taslak otomatik olarak CMS'inizde (Ghost, WordPress veya Notion) bekliyor.

---

## Akışın Mantığı

İhtiyacımız olan şey basit: bir tetikleyici, transkript kaynağı, AI dönüşüm adımı ve hedef CMS. n8n bu dört bloğu görsel olarak bağlamanıza izin veriyor. Hiçbir aşamada kod yazmak zorunda değilsiniz.

Genel akış şöyle:

```
Schedule Trigger (ya da Webhook)
  → HTTP Request (transkript al)
  → Code / Set (metni temizle)
  → AI/LLM Düğümü (taslağı üret)
  → IF (kalite kontrolü)
  → HTTP Request (CMS'e gönder)
```

---

## Adım Adım Kurulum

### 1. Tetikleyiciyi Seç

İki seçeneğiniz var:

- **Schedule Trigger**: Her gün saat 09:00'da bir RSS veya YouTube listesini tarıyorsunuz? Cron ifadesini `0 9 * * *` olarak ayarlayın; akış günlük çalışır.
- **Webhook**: Podcastiniz bittikten hemen sonra tetiklemek istiyorsunuz? Üretim ortamınızdan `POST` isteği gönderin; n8n `https://<id>.agentroost.app/webhook/...` adresinde bekler.

Başlangıç için **Schedule Trigger** daha kolay: n8n kanvasına sürükleyin, interval'i `Every Day`, saati `09:00` yapın.

### 2. Transkripti Çek

YouTube altyazısı için en basit yol: **HTTP Request** düğümüyle bir transkript API'si çağırmak.

```json
{
  "method": "GET",
  "url": "https://api.tactiq.io/transcript",
  "headers": {
    "Authorization": "Bearer {{ $env.TACTIQ_API_KEY }}"
  },
  "qs": {
    "videoId": "{{ $node['Schedule Trigger'].json.videoId }}"
  }
}
```

> Alternatif: `youtube-transcript` destekli başka bir servis veya kendi sisteminizden gelen `.txt` dosyası. Podcast için doğrudan `.srt` veya `.vtt` dosyasını okuyabilirsiniz.

Gelen yanıt genellikle zaman damgalı satırlar içerir. Bir sonraki adımda bunları temizleyeceğiz.

### 3. Transkripti Temizle

**Code** düğümü (JavaScript) veya **Set** düğümü ile zaman damgalarını ve tekrar eden satırları atın:

```js
// Code düğümü — items[0].json.transcript üzerinde çalışır
const raw = items[0].json.transcript;
const clean = raw
  .replace(/\[\d{2}:\d{2}:\d{2}\]/g, '')   // zaman damgaları
  .replace(/\n{3,}/g, '\n\n')               // fazladan boş satırlar
  .trim();

return [{ json: { cleanText: clean } }];
```

Kısa podcastlerde bu adımı atlayabilirsiniz; AI modeli zaman damgalarını kendisi yoksayar. Ama 60+ dakikalık içeriklerde token tasarrufu sağlar.

### 4. AI Düğümü ile Taslağı Üret

İşte akışın kalbi burası. n8n'in **AI/LLM** düğümünü kanvasa ekleyin. Bu düğüm normal şartlarda bir API anahtarı ister; AgentRoost'ta bu adımı atlıyorsunuz çünkü AI kredileri aboneliğe dahil.

Sistem mesajını şöyle yazın:

```
Sen deneyimli bir içerik yazarısın. Sana bir video veya podcast transkripti vereceğim.
Şunları üret:
1. SEO odaklı 3 farklı H1 başlık seçeneği (her biri maksimum 65 karakter)
2. 155 karakteri geçmeyen bir meta açıklama
3. Markdown formatında, H2/H3 başlıklı, 800-1200 kelimelik bir blog yazısı taslağı
4. Yazının sonunda 3 maddelik bir "Öne Çıkan Noktalar" özet kutusu

Transkript:
{{ $node['Code'].json.cleanText }}
```

Model seçimi için pratikte Claude 3 Haiku veya GPT-4o mini, uzun transkriptler için iyi bir maliyet-kalite dengesi kurar. AgentRoost'ta 350'den fazla model arasından istediğinizi seçebilir, workspace ayarlarından dilediğiniz zaman değiştirebilirsiniz.

AI düğümünün çıktısı tek bir metin bloğu olarak gelir. Bunu bir sonraki adımda ayırmanız gerekir.

### 5. Çıktıyı Parçalara Ayır

**Set** düğümü ile AI yanıtını parse edin. Modelinize yanıtı JSON olarak döndürmesini söylediyseniz (iyi pratik):

```js
const aiResponse = JSON.parse($node['AI LLM'].json.text);
return [{
  json: {
    title: aiResponse.titles[0],
    metaDescription: aiResponse.metaDescription,
    body: aiResponse.body,
    summary: aiResponse.summary
  }
}];
```

Serbest metin döndürmesini tercih ettiyseniz, başlıkları regex ile çekebilirsiniz — ama JSON formatını şart koşmak çok daha güvenilir.

### 6. Kalite Kontrolü (Opsiyonel ama Önerilen)

**IF** düğümüyle basit bir filtre ekleyin:

- Koşul: `{{ $node['Set'].json.body.length }}` değeri `> 500` ise devam et.
- Değilse: kendinize bir Slack/e-posta bildirimi gönderin; taslağı CMS'e atmayın.

Bu küçük adım, modelin kısmi ya da boş yanıt verdiği durumlarda yarım taslakların CMS'e dolmasını önler.

### 7. CMS'e Gönder

**HTTP Request** düğümü ile hedef platforma taslağı gönderin.

**Ghost için:**
```json
{
  "method": "POST",
  "url": "https://yourblog.ghost.io/ghost/api/admin/posts/",
  "headers": {
    "Authorization": "Ghost {{ $env.GHOST_ADMIN_KEY }}",
    "Content-Type": "application/json"
  },
  "body": {
    "posts": [{
      "title": "{{ $node['Set'].json.title }}",
      "lexical": "{{ $node['Set'].json.body }}",
      "status": "draft",
      "custom_excerpt": "{{ $node['Set'].json.metaDescription }}"
    }]
  }
}
```

**WordPress için:** `/wp-json/wp/v2/posts` endpoint'ini, `status: draft` ile kullanın.

**Notion için:** Notion API'deki `pages.create` çağrısıyla sayfayı bir veritabanına ekleyin.

---

## Bu Akışı AgentRoost'ta Çalıştırmak

Akışı kendi bilgisayarınızda çalıştırabilirsiniz — ama bilgisayarı kapatırsanız Cron tetikleyici durur, Webhook artık dinlemez, kimlik doğrulama oturumları biter.

AgentRoost'ta n8n seçtiğinizde size ait, her zaman açık bir n8n instance'ınız olur: verileriniz, iş akışlarınız ve giriş bilgileriniz yalnızca sizindir.

1. [agentroost.app](https://agentroost.app)'e gidin, hesap oluşturun.
2. "Yeni Workspace" → n8n framework'ü seçin → bir isim verin.
3. Yaklaşık 2 dakika sonra `https://<sizin-id>.agentroost.app` adresinde kendi n8n editörünüz hazır.
4. Yukarıdaki akışı kurun; AI/LLM düğümüne API anahtarı girmenize **gerek yok** — AI kredileri aboneliğe dahil.
5. Workflow'u aktive edin, tarayıcıyı kapatın. Akış çalışmaya devam eder.

Fiyatlandırma $19.99/ay'dan başlıyor; sunucu kurulumu, SSL sertifikası, Docker compose dosyası yok. 14 gün içinde fikriniz değişirse tam iade.

[Planları karşılaştır →](/tr/pricing) | [n8n workspace aç →](/tr/agents/n8n)

---

## Sık Yapılan Hatalar

- **Sistem mesajı çok genel**: "Blog yaz" demek yetmez. Kelime sayısı, başlık formatı, dil tonu (resmi/samimi) ve çıktı yapısını (JSON/Markdown) açıkça belirtin.
- **Çok uzun transkripti tek seferde göndermek**: 3 saatlik bir podcastin ham transkripi 20.000+ token olabilir. Bölüm bölüm ayırın ve her bölüm için ayrı blog yazısı veya alt bölüm üretin. **Split In Batches** düğümü bu iş için var.
- **Taslağı doğrudan yayınlamak**: `status: draft` ile gönderin, editörden bir göz atın. AI taslakları genellikle iyidir ama bazen yanlış vurgu ya da tekrar eden paragraf içerebilir.
- **API anahtarlarını workflow içine gömmek**: n8n'in **Credentials** sistemi var — anahtarları oraya girin, workflow JSON'unda temiz kalır.

---

## Sonuç

Bir video veya podcast bölümü yayınladığınızda aynı içeriği metin olarak da üretmek hem SEO açısından hem de farklı kitlelerle buluşmak açısından değerli. Bu akış o dönüşümü insan müdahalesi olmadan yapıyor: transkript giriyor, düzenlenmiş taslak CMS'e düşüyor, siz sadece gözden geçirip yayınlıyorsunuz.

n8n'in güçlü yanı her adımın görünür ve değiştirilebilir olması. İlerleyen aşamada sosyal medya paylaşımlarını da ekleyebilirsiniz — aynı akışa bir dal daha açmak yeterli.
