AutomationFlowsContent & Video › YouTube to Podcast Script with GPT-4o and Airtable

YouTube to Podcast Script with GPT-4o and Airtable

Original n8n title: Auto-create Podcast From Youtube Transcript Using Dumpling AI and Gpt-4o

ByYang @yang on n8n.io

This workflow is designed for podcast creators, content marketers, and video producers who want to convert YouTube videos into podcast-ready scripts. It's perfect for anyone repurposing long-form content to reach audio-first audiences without manual effort.

Event trigger★★☆☆☆ complexityAI-powered5 nodesRss Feed Read TriggerHTTP RequestOpenAIAirtable
Content & Video Trigger: Event Nodes: 5 Complexity: ★★☆☆☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #4887 — we link there as the canonical source.

This workflow follows the Airtable → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "I4j3HnFGPa5UWkIO",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Auto-Create Podcast from YouTube Video Transcript using Dumpling AI and GPT-4o",
  "tags": [],
  "nodes": [
    {
      "id": "d95bcf10-2bb4-4bfd-a8ad-4128a792deb8",
      "name": " Watch for New YouTube Video via RSS",
      "type": "n8n-nodes-base.rssFeedReadTrigger",
      "position": [
        -500,
        -20
      ],
      "parameters": {
        "feedUrl": "https://rss.app/feeds/Vw076Uzh7bIinpci.xml",
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a5492dab-f400-48d9-abd7-6c832d9d6816",
      "name": "Get Transcript from YouTube Video using Dumpling AI",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -280,
        -20
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/get-youtube-transcript",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"videoUrl\": \"{{ $json.link }}\",\n  \"preferredLanguage\": \"en\"\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "bce2bb18-c9ee-4165-ac27-5d300e354c7e",
      "name": "Transform Transcript into Podcast Script using GPT-4o",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -60,
        -20
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "chatgpt-4o-latest",
          "cachedResultName": "CHATGPT-4O-LATEST"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=Instructions:\nYou are a professional transcript editor and podcast summarizer. For the transcript below, complete these tasks:\n\nLabel each speaker (e.g., Speaker 1:) and remove all filler words such as \"um,\" \"uh,\" \"you know,\" \"like,\" \"basically,\" \"actually,\" \"so.\"\n\nCombine the cleaned speaker labels and their text into one single string, clearly formatted.\n\nSummarize the key points of the conversation in 2\u20134 concise sentences.\n\nExtract or infer a short, relevant title based on the content.\n\nReturn your response strictly in the following JSON format:\n{\n  \"title\": \"Relevant podcast title here\",\n  \"cleaned_transcript\": \"Speaker 1: Cleaned text. Speaker 2: Cleaned text. (Continue in this format.)\",\n  \"summary\": \"Concise summary of the key points here.\"\n}"
            },
            {
              "content": "=\nHere\u2019s the transcript:{{ $json.transcript }}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "7782b5a6-c842-41be-a5c5-9eaa28a0abd0",
      "name": "Save Podcast Script and Metadata to Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        300,
        -20
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://airtable.com/appPSvSKdA6075xJC",
          "cachedResultName": "Testing n8n"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://airtable.com/appPSvSKdA6075xJC/tbl4MDOqdNZweqXU9",
          "cachedResultName": "podcast"
        },
        "columns": {
          "value": {
            "Title": "={{ $json.message.content.title }}",
            "summary": "={{ $json.message.content.summary }}",
            "podcast transcript": "={{ $json.message.content.cleaned_transcript }}"
          },
          "schema": [
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "podcast transcript",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "podcast transcript",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "summary",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "af143efd-be64-48fc-a405-173575289ed3",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -500,
        -220
      ],
      "parameters": {
        "width": 640,
        "height": 280,
        "content": "### \ud83c\udf99\ufe0f Auto-Create Podcast Script from YouTube Videos\n\nThis workflow starts by monitoring a YouTube RSS feed for new uploads. Once a new video is detected, Dumpling AI extracts the full transcript. GPT-4o then converts that transcript into a well-formatted podcast script, ensuring it\u2019s clean, structured, and engaging. The final script along with the video title and summary is saved into Airtable, where it can be reviewed, edited, or used to produce an actual podcast episode.\n\nIdeal for creators repurposing video content into audio format.\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "0c39768f-93c9-42d7-8b9f-ca4e0ede2312",
  "connections": {
    " Watch for New YouTube Video via RSS": {
      "main": [
        [
          {
            "node": "Get Transcript from YouTube Video using Dumpling AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Transcript from YouTube Video using Dumpling AI": {
      "main": [
        [
          {
            "node": "Transform Transcript into Podcast Script using GPT-4o",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transform Transcript into Podcast Script using GPT-4o": {
      "main": [
        [
          {
            "node": "Save Podcast Script and Metadata to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow is designed for podcast creators, content marketers, and video producers who want to convert YouTube videos into podcast-ready scripts. It's perfect for anyone repurposing long-form content to reach audio-first audiences without manual effort.

Source: https://n8n.io/workflows/4887/ — original creator credit. Request a take-down →

More Content & Video workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Content & Video

This workflow automates the entire process of creating, managing, and publishing AI-generated videos using OpenAI Sora2 Pro, Google Sheets, Google Drive, and YouTube.

HTTP Request, Google Sheets, Google Drive +1
Content & Video

This workflow automates the end-to-end process of creating, optimizing, and publishing content on WordPress.

Form Trigger, WordPress, HTTP Request +6
Content & Video

This template is ideal for creators, bloggers, and automation enthusiasts who want to auto-generate blog posts from AI-generated content — without lifting a finger. Whether you're running a tech blog,

HTTP Request, WordPress, Rss Feed Read Trigger +4
Content & Video

This workflow is designed for content creators, news publishers, and social media managers who share updates on Telegram and want to automatically republish them as formatted articles on WordPress. It

OpenAI, HTTP Request, Rss Feed Read Trigger
Content & Video

Youtube Instalation Instructions

HTTP Request, Rss Feed Read Trigger, OpenAI