AutomationFlowsSocial Media › Repurpose Youtube Videos Into Blogs and Social Posts with Gpt-4o, Wordpress,…

Repurpose Youtube Videos Into Blogs and Social Posts with Gpt-4o, Wordpress,…

Original n8n title: Repurpose Youtube Videos Into Blogs and Social Posts with Gpt-4o, Wordpress, Linkedin, X and Instagram

ByAdem Tasin @ademtasin on n8n.io

This workflow turns a single YouTube video into multiple content formats and publishes them across different platforms with an optional human approval step.

Event trigger★★★★★ complexityAI-powered42 nodesHTTP RequestStop And ErrorOpenAIGoogle GeminiSlackWordPressLinkedInTwitter
Social Media Trigger: Event Nodes: 42 Complexity: ★★★★★ AI nodes: yes Added:
Repurpose Youtube Videos Into Blogs and Social Posts with Gpt-4o, Wordpress,… — n8n workflow card showing HTTP Request, Stop And Error, OpenAI integration

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

This workflow follows the Googlegemini → 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": "LQdECYGUF9VC5yVP",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "YouTube to Omnichannel Content Repurposing Workflow",
  "tags": [],
  "nodes": [
    {
      "id": "14208d06-91be-4211-a4f6-f9d6cf5c96b7",
      "name": "\u25b6\ufe0f Start",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1040,
        96
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c9ee03c8-61f8-43bd-abd1-cc420dd0e421",
      "name": "\ud83d\udcdd Fetch Transcript",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -816,
        96
      ],
      "parameters": {
        "url": "https://api.supadata.ai/v1/youtube/transcript",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.youtube_url }}"
            },
            {
              "name": "text",
              "value": "true"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-api-key",
              "value": "sd_cf253474b34036bbad4c45d32e42931a"
            }
          ]
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "0a0cd15f-e667-4a12-8a65-b49a3f0e68ed",
      "name": "\u2714\ufe0f Check Transcript",
      "type": "n8n-nodes-base.if",
      "position": [
        -592,
        96
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.content }}",
              "operation": "isNotEmpty"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "7d62376d-4325-4b48-856f-fdb75703cde1",
      "name": "\u274c Error Stop",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        -368,
        0
      ],
      "parameters": {
        "errorMessage": "\u274c No transcript found"
      },
      "typeVersion": 1
    },
    {
      "id": "b819b9d6-faf6-4814-aa65-21def9137204",
      "name": "\ud83d\udd27 Prepare Data",
      "type": "n8n-nodes-base.set",
      "position": [
        -368,
        192
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1",
              "name": "transcript_text",
              "type": "string",
              "value": "={{ $json.content }}"
            },
            {
              "id": "2",
              "name": "video_url",
              "type": "string",
              "value": "={{ $('\u25b6\ufe0f Start').item.json.youtube_url }}"
            },
            {
              "id": "3",
              "name": "revision_count",
              "type": "number",
              "value": "0"
            },
            {
              "id": "4",
              "name": "blog_approved",
              "type": "boolean",
              "value": "false"
            },
            {
              "id": "5",
              "name": "linkedin_approved",
              "type": "boolean",
              "value": "false"
            },
            {
              "id": "6",
              "name": "twitter_approved",
              "type": "boolean",
              "value": "false"
            },
            {
              "id": "7",
              "name": "instagram_approved",
              "type": "boolean",
              "value": "false"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "0c4d60c7-38ec-48fa-b490-3f549bc76d50",
      "name": "\ud83e\uddd9 AI Content",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -144,
        288
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o"
        },
        "options": {
          "maxTokens": 4000,
          "textFormat": {
            "textOptions": {
              "type": "json_object"
            }
          },
          "temperature": 0.7
        },
        "responses": {
          "values": [
            {
              "content": "=You are a Content Repurposing Expert.\n\n{% if $json.revision_count > 0 %}\n\ud83d\udd04 REVISION #{{ $json.revision_count }}\nRegenerate only unapproved platforms.\n{% endif %}\n\nTranscript: {{ $json.transcript_text }}\n\nGenerate JSON with:\n- blog_title, blog_meta_description, blog_content (1000+ words Turkish), blog_keywords\n- linkedin_post\n- twitter_thread (5 tweets: \"1/5\", \"2/5\", etc)\n- instagram_reels: {script: {hook, main_content, scenes, music_mood, cta}, caption, duration}\n- image_prompts: {blog_image, reels_thumbnail}\n\nJSON only, no markdown."
            }
          ]
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "3a6c4595-03ff-44a7-8f13-1cdb55326389",
      "name": "\ud83d\udd0d Parse JSON",
      "type": "n8n-nodes-base.set",
      "position": [
        144,
        288
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1",
              "name": "content_data",
              "type": "object",
              "value": "={{ JSON.parse($json.output[0].content[0].text) }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "624bf9b5-a46d-419a-b64e-dc19af3864a2",
      "name": "\ud83c\udfa8 Blog Image",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        304,
        288
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "options": {
          "temperature": 0.8
        },
        "messages": {
          "values": [
            {}
          ]
        },
        "builtInTools": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "237bf1f4-43f8-40b3-a9b1-4c4cddafb46e",
      "name": "\ud83d\udcac Slack Approval",
      "type": "n8n-nodes-base.slack",
      "position": [
        592,
        288
      ],
      "parameters": {
        "text": "=\ud83c\udfac **REVIEW** (Attempt #{{ $('\ud83d\udd27 Prepare Data').item.json.revision_count + 1 }})\n\n\ud83d\udcf9 {{ $('\ud83d\udd27 Prepare Data').item.json.video_url }}\n\n\ud83d\udcdd BLOG {% if $('\ud83d\udd27 Prepare Data').item.json.blog_approved %}\u2705{% endif %}\n{{ $('\ud83d\udd0d Parse JSON').item.json.content_data.blog_title }}\n\n\ud83d\udcbc LINKEDIN {% if $('\ud83d\udd27 Prepare Data').item.json.linkedin_approved %}\u2705{% endif %}\n{{ $('\ud83d\udd0d Parse JSON').item.json.content_data.linkedin_post.substring(0,200) }}...\n\n\ud83d\udc26 TWITTER {% if $('\ud83d\udd27 Prepare Data').item.json.twitter_approved %}\u2705{% endif %}\n{{ $('\ud83d\udd0d Parse JSON').item.json.content_data.twitter_thread[0] }}\n\n\ud83d\udcf8 INSTAGRAM {% if $('\ud83d\udd27 Prepare Data').item.json.instagram_approved %}\u2705{% endif %}\n{{ $('\ud83d\udd0d Parse JSON').item.json.content_data.instagram_reels.script.hook }}",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "bdfba945-5c27-4b7b-8d0b-7a62d018671a",
      "name": "\ud83d\udd14 Wait Approval",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1040,
        912
      ],
      "parameters": {
        "path": "approval-webhook",
        "options": {},
        "responseMode": "lastNode"
      },
      "typeVersion": 2
    },
    {
      "id": "bc32bab9-2ee1-482b-b508-3387def143be",
      "name": "\ud83d\udd04 Process Action",
      "type": "n8n-nodes-base.code",
      "position": [
        -816,
        912
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "const action = $input.item.json.body.actions[0].action_id;\nconst prev = $('\ud83d\udd27 Prepare Data').item.json;\n\nlet result = {\n  blog_approved: prev.blog_approved,\n  linkedin_approved: prev.linkedin_approved,\n  twitter_approved: prev.twitter_approved,\n  instagram_approved: prev.instagram_approved,\n  action: action.startsWith('approve_') ? 'approve_platform' : action,\n  content_data: $('\ud83d\udd0d Parse JSON').item.json.content_data,\n  transcript_text: prev.transcript_text,\n  video_url: prev.video_url,\n  revision_count: prev.revision_count\n};\n\nif (action === 'approve_blog') result.blog_approved = true;\nif (action === 'approve_linkedin') result.linkedin_approved = true;\nif (action === 'approve_twitter') result.twitter_approved = true;\nif (action === 'approve_instagram') result.instagram_approved = true;\n\nreturn result;"
      },
      "typeVersion": 2
    },
    {
      "id": "bbca262e-ae13-4c5b-bcfa-a251392c832a",
      "name": "\ud83d\udce4 Publish?",
      "type": "n8n-nodes-base.if",
      "position": [
        -624,
        1280
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.action }}",
              "value2": "publish",
              "operation": "equals"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "9fdad173-ae5a-4dbc-af93-2c4f1743c8d3",
      "name": "\ud83d\udd04 Revise?",
      "type": "n8n-nodes-base.if",
      "position": [
        -592,
        992
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.action }}",
              "value2": "revise",
              "operation": "equals"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "53ccd488-e263-49e2-b587-41f5f82e1bd7",
      "name": "\u274c Cancel?",
      "type": "n8n-nodes-base.if",
      "position": [
        -592,
        816
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.action }}",
              "value2": "cancel",
              "operation": "equals"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "19510330-eb60-4be3-9a57-30801151f9f7",
      "name": "\ud83d\udcac Ask Feedback",
      "type": "n8n-nodes-base.slack",
      "position": [
        -352,
        976
      ],
      "parameters": {
        "text": "=\ud83d\udd04 **REVISION REQUESTED**\n\nProvide feedback:",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "8e9527ad-240a-456e-a179-2d7a10860f2b",
      "name": "\ud83d\udce5 Get Feedback",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -592,
        384
      ],
      "parameters": {
        "path": "feedback-webhook",
        "options": {},
        "responseMode": "lastNode"
      },
      "typeVersion": 2
    },
    {
      "id": "7989778f-5c97-4a30-9faa-9a6fd71432e4",
      "name": "\ud83d\udd27 Prep Revision",
      "type": "n8n-nodes-base.set",
      "position": [
        -368,
        384
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1",
              "name": "revision_count",
              "type": "number",
              "value": "={{ $('\ud83d\udd04 Process Action').item.json.revision_count + 1 }}"
            },
            {
              "id": "2",
              "name": "revision_feedback",
              "type": "string",
              "value": "={{ $json.body.event.text }}"
            },
            {
              "id": "3",
              "name": "transcript_text",
              "type": "string",
              "value": "={{ $('\ud83d\udd04 Process Action').item.json.transcript_text }}"
            },
            {
              "id": "4",
              "name": "video_url",
              "type": "string",
              "value": "={{ $('\ud83d\udd04 Process Action').item.json.video_url }}"
            },
            {
              "id": "5",
              "name": "blog_approved",
              "type": "boolean",
              "value": "={{ $('\ud83d\udd04 Process Action').item.json.blog_approved }}"
            },
            {
              "id": "6",
              "name": "linkedin_approved",
              "type": "boolean",
              "value": "={{ $('\ud83d\udd04 Process Action').item.json.linkedin_approved }}"
            },
            {
              "id": "7",
              "name": "twitter_approved",
              "type": "boolean",
              "value": "={{ $('\ud83d\udd04 Process Action').item.json.twitter_approved }}"
            },
            {
              "id": "8",
              "name": "instagram_approved",
              "type": "boolean",
              "value": "={{ $('\ud83d\udd04 Process Action').item.json.instagram_approved }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "db816e65-decb-41aa-beaf-a668f9e6653f",
      "name": "\ud83d\udeab Cancel Notify",
      "type": "n8n-nodes-base.slack",
      "position": [
        -368,
        800
      ],
      "parameters": {
        "text": "\u274c Cancelled",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a3ddec83-469a-43bb-b50b-8ca0a38f5367",
      "name": "\ud83d\uded1 Stop",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        -160,
        800
      ],
      "parameters": {
        "errorMessage": "Cancelled by user"
      },
      "typeVersion": 1
    },
    {
      "id": "81288a9e-a82c-465a-abbf-29a20046e1c1",
      "name": "\u2714\ufe0f Blog?",
      "type": "n8n-nodes-base.if",
      "position": [
        144,
        944
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "boolean": [
            {
              "value1": "={{ $json.blog_approved }}",
              "value2": true
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "6b5bb6da-8bba-41f4-ba1e-e84c5c825517",
      "name": "\ud83d\udcdd WordPress",
      "type": "n8n-nodes-base.wordpress",
      "position": [
        416,
        928
      ],
      "parameters": {
        "title": "={{ $('\ud83d\udd0d Parse JSON').item.json.content_data.blog_title }}",
        "additionalFields": {
          "tags": "={{ $('\ud83d\udd0d Parse JSON').item.json.content_data.blog_keywords.join(',') }}",
          "status": "draft"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "65a98c07-7d1a-4702-8213-f3ab75a03e84",
      "name": "\u2714\ufe0f LinkedIn?",
      "type": "n8n-nodes-base.if",
      "position": [
        160,
        1120
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "boolean": [
            {
              "value1": "={{ $json.linkedin_approved }}",
              "value2": true
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "cb7c9d4a-0ea6-4faa-a71e-505e1f2c251e",
      "name": "\ud83d\udcbc LinkedIn",
      "type": "n8n-nodes-base.linkedIn",
      "position": [
        432,
        1104
      ],
      "parameters": {
        "text": "={{ $('\ud83d\udd0d Parse JSON').item.json.content_data.linkedin_post }}",
        "additionalFields": {
          "visibility": "PUBLIC"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f27b1ca4-5cf8-4f29-afd7-8d259269f2ac",
      "name": "\u2714\ufe0f Twitter?",
      "type": "n8n-nodes-base.if",
      "position": [
        -336,
        1568
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "boolean": [
            {
              "value1": "={{ $json.twitter_approved }}",
              "value2": true
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "5ca171ce-b747-4cd9-8b4f-1e6cc724d2c7",
      "name": "\ud83d\udc26 Tweet 1/5",
      "type": "n8n-nodes-base.twitter",
      "position": [
        -64,
        1552
      ],
      "parameters": {
        "text": "={{ $('\ud83d\udd0d Parse JSON').item.json.content_data.twitter_thread[0] }}",
        "additionalFields": {}
      },
      "typeVersion": 2
    },
    {
      "id": "ccde5f7c-c3e0-4b57-ac75-331e4ec4d102",
      "name": "\ud83d\udc26 Tweet 2/5",
      "type": "n8n-nodes-base.twitter",
      "position": [
        144,
        1552
      ],
      "parameters": {
        "text": "={{ $('\ud83d\udd0d Parse JSON').item.json.content_data.twitter_thread[1] }}",
        "additionalFields": {
          "inReplyToStatusId": "={{ $('\ud83d\udc26 Tweet 1/5').item.json.id_str }}"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "5890a844-a075-404e-9b3f-5605691c821f",
      "name": "\ud83d\udc26 Tweet 3/5",
      "type": "n8n-nodes-base.twitter",
      "position": [
        320,
        1552
      ],
      "parameters": {
        "text": "={{ $('\ud83d\udd0d Parse JSON').item.json.content_data.twitter_thread[2] }}",
        "additionalFields": {
          "inReplyToStatusId": "={{ $('\ud83d\udc26 Tweet 2/5').item.json.id_str }}"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "bdbad27a-efba-4a11-925d-a198d02538e3",
      "name": "\ud83d\udc26 Tweet 4/5",
      "type": "n8n-nodes-base.twitter",
      "position": [
        544,
        1552
      ],
      "parameters": {
        "text": "={{ $('\ud83d\udd0d Parse JSON').item.json.content_data.twitter_thread[3] }}",
        "additionalFields": {
          "inReplyToStatusId": "={{ $('\ud83d\udc26 Tweet 3/5').item.json.id_str }}"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "83cf696e-73cf-461b-8682-99266be774b0",
      "name": "\ud83d\udc26 Tweet 5/5",
      "type": "n8n-nodes-base.twitter",
      "position": [
        784,
        1552
      ],
      "parameters": {
        "text": "={{ $('\ud83d\udd0d Parse JSON').item.json.content_data.twitter_thread[4] }}",
        "additionalFields": {
          "inReplyToStatusId": "={{ $('\ud83d\udc26 Tweet 4/5').item.json.id_str }}"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "a3cfb410-44a6-4886-adba-ad4ba1afe943",
      "name": "\u2714\ufe0f Instagram?",
      "type": "n8n-nodes-base.if",
      "position": [
        -320,
        2032
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "boolean": [
            {
              "value1": "={{ $json.instagram_approved }}",
              "value2": true
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "e365d7b1-277b-4f25-b683-24af82e5750a",
      "name": "\ud83c\udfa5 Gen Reels",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        -112,
        2000
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "options": {
          "temperature": 0.9
        },
        "messages": {
          "values": [
            {}
          ]
        },
        "builtInTools": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "32e63d62-eb15-480e-b2d5-9be472816ab7",
      "name": "\u23f1\ufe0f Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        176,
        2000
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "3007e53c-feae-4b03-9550-e2c7ccaf8785",
      "name": "\ud83d\udcca Notion",
      "type": "n8n-nodes-base.notion",
      "position": [
        1136,
        1248
      ],
      "parameters": {
        "options": {},
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "2ce9e1e0-0586-80ad-bb90-fbaa84df66ef"
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Video Title|title",
              "title": "={{ $('\ud83d\udd0d Parse JSON').item.json.content_data.blog_title }}"
            },
            {
              "key": "Video URL|url",
              "urlValue": "={{ $('\ud83d\udd04 Process Action').item.json.video_url }}"
            },
            {
              "key": "Status|select",
              "selectValue": "Published"
            },
            {
              "key": "Blog|checkbox",
              "checkboxValue": "={{ $('\ud83d\udd04 Process Action').item.json.blog_approved }}"
            },
            {
              "key": "LinkedIn|checkbox",
              "checkboxValue": "={{ $('\ud83d\udd04 Process Action').item.json.linkedin_approved }}"
            },
            {
              "key": "Twitter|checkbox",
              "checkboxValue": "={{ $('\ud83d\udd04 Process Action').item.json.twitter_approved }}"
            },
            {
              "key": "Instagram|checkbox",
              "checkboxValue": "={{ $('\ud83d\udd04 Process Action').item.json.instagram_approved }}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "9fcf94c1-cfd6-4a36-96ef-ef618d2b3dd0",
      "name": "\ud83c\udf89 Success",
      "type": "n8n-nodes-base.slack",
      "position": [
        1328,
        1248
      ],
      "parameters": {
        "text": "=\u2705 **PUBLISHED**\n\n{% if $('\ud83d\udd04 Process Action').item.json.blog_approved %}\u2705 Blog{% endif %}\n{% if $('\ud83d\udd04 Process Action').item.json.linkedin_approved %}\u2705 LinkedIn{% endif %}\n{% if $('\ud83d\udd04 Process Action').item.json.twitter_approved %}\u2705 Twitter{% endif %}\n{% if $('\ud83d\udd04 Process Action').item.json.instagram_approved %}\u2705 Instagram{% endif %}",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "d7c6b4f0-5c02-4d8f-8e55-ec8f5df4a7a6",
      "name": "\ud83d\udcf8 Instagram1",
      "type": "@mookielianhd/n8n-nodes-instagram.instagram",
      "position": [
        384,
        1936
      ],
      "parameters": {
        "resource": "image"
      },
      "typeVersion": 1
    },
    {
      "id": "dacc7bc8-99e0-43c2-a33d-5ee8a2b1d9d9",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1472,
        352
      ],
      "parameters": {
        "height": 752,
        "content": "### What this workflow does\n\nThis workflow transforms a YouTube video into:\n- A blog post\n- LinkedIn post\n- X (Twitter) threads\n- Instagram caption\n\nIt supports both automatic publishing and manual approval before publishing.\n\n### How it works\n\n1. Fetches the YouTube transcript\n2. Generates content using AI\n3. (Optional) waits for human approval\n4. Publishes content to selected platforms\n5. Logs the publishing result\n\n### Setup steps\n\n1. Add your credentials (AI, transcript API, social platforms)\n2. Paste a YouTube video URL\n3. Choose your publishing mode\n4. Execute the workflow\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d2244b79-d071-4e35-a7d0-6a2b1e38f5ec",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1088,
        -192
      ],
      "parameters": {
        "color": 7,
        "width": 1904,
        "height": 752,
        "content": "## 1\ufe0f\u20e3 Input & Transcript\n\nThis section starts the workflow.\n\n- Paste a YouTube video URL\n- Fetch the video transcript using an external API\n- Stop the workflow if no transcript is found\n\nThe transcript is normalized into a single text field for downstream AI processing.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "a6a5f241-ae7c-4b08-ab66-8f169f8f5737",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        544
      ],
      "parameters": {
        "color": 7,
        "width": 736,
        "height": 576,
        "content": "## 2\ufe0f\u20e3 Approval Handling\n\nThis section handles the approval logic.\n\nDepending on the configuration, the workflow can:\n- Automatically continue to publishing\n- Pause and wait for manual approval\n- Cancel or request revisions\n\nThis keeps the workflow flexible for both solo creators and teams.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "49955b44-7e0c-49b1-a144-90fa8c4838dd",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        48,
        624
      ],
      "parameters": {
        "color": 7,
        "width": 592,
        "height": 640,
        "content": "## 3\ufe0f\u20e3 Blog & LinkedIn Publishing\n\nThis section publishes long-form and professional content.\n\n- Generates a blog post from the transcript\n- Creates a LinkedIn post based on the same content\n- Publishes or saves drafts depending on your platform settings\n\nUseful for SEO and professional audience distribution.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "8797d5c2-cb71-44e1-9c19-16b08e44eeca",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        1312
      ],
      "parameters": {
        "color": 7,
        "width": 1360,
        "height": 416,
        "content": "## 4\ufe0f\u20e3 X (Twitter) Threads\n\nThis section creates short-form content for X (Twitter).\n\n- Breaks the main idea into multiple tweets\n- Publishes them as a thread\n- Each tweet is generated automatically from the original video content\n\nIdeal for content amplification and reach.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "58e4e7e3-8607-4d3d-a7f2-b5f46b2f2f27",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        1744
      ],
      "parameters": {
        "color": 7,
        "width": 1008,
        "height": 464,
        "content": "## 5\ufe0f\u20e3 Instagram Content\n\nThis section handles Instagram content.\n\n- Generates an Instagram caption\n- Optionally generates visual or reel ideas\n- Publishes or prepares content for Instagram\n\nDesigned for high-engagement social platforms.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ee717d6d-a5e9-43b4-919e-585192911e18",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1088,
        1008
      ],
      "parameters": {
        "color": 7,
        "width": 448,
        "height": 416,
        "content": "## 6\ufe0f\u20e3 Logging & Completion\n\nThis section finalizes the workflow.\n\n- Logs publishing results (for example in Notion)\n- Tracks which platforms were used\n- Marks the workflow execution as successful\n\nHelps with content tracking and auditing.\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "1af25005-d77a-4ce4-aef3-5e975c96a6d4",
  "connections": {
    "\u23f1\ufe0f Wait": {
      "main": [
        [
          {
            "node": "\ud83d\udcf8 Instagram1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u274c Cancel?": {
      "main": [
        [
          {
            "node": "\ud83d\udeab Cancel Notify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udcca Notion": {
      "main": [
        [
          {
            "node": "\ud83c\udf89 Success",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u25b6\ufe0f Start": {
      "main": [
        [
          {
            "node": "\ud83d\udcdd Fetch Transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u2714\ufe0f Blog?": {
      "main": [
        [
          {
            "node": "\ud83d\udcdd WordPress",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udd04 Revise?": {
      "main": [
        [
          {
            "node": "\ud83d\udcac Ask Feedback",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udcbc LinkedIn": {
      "main": [
        [
          {
            "node": "\ud83d\udcca Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udce4 Publish?": {
      "main": [
        [
          {
            "node": "\u2714\ufe0f Blog?",
            "type": "main",
            "index": 0
          },
          {
            "node": "\u2714\ufe0f LinkedIn?",
            "type": "main",
            "index": 0
          },
          {
            "node": "\u2714\ufe0f Twitter?",
            "type": "main",
            "index": 0
          },
          {
            "node": "\u2714\ufe0f Instagram?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83c\udfa5 Gen Reels": {
      "main": [
        [
          {
            "node": "\u23f1\ufe0f Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udc26 Tweet 1/5": {
      "main": [
        [
          {
            "node": "\ud83d\udc26 Tweet 2/5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udc26 Tweet 2/5": {
      "main": [
        [
          {
            "node": "\ud83d\udc26 Tweet 3/5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udc26 Tweet 3/5": {
      "main": [
        [
          {
            "node": "\ud83d\udc26 Tweet 4/5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udc26 Tweet 4/5": {
      "main": [
        [
          {
            "node": "\ud83d\udc26 Tweet 5/5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udc26 Tweet 5/5": {
      "main": [
        [
          {
            "node": "\ud83d\udcca Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udcdd WordPress": {
      "main": [
        [
          {
            "node": "\ud83d\udcca Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u2714\ufe0f Twitter?": {
      "main": [
        [
          {
            "node": "\ud83d\udc26 Tweet 1/5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83c\udfa8 Blog Image": {
      "main": [
        [
          {
            "node": "\ud83d\udcac Slack Approval",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udd0d Parse JSON": {
      "main": [
        [
          {
            "node": "\ud83c\udfa8 Blog Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83e\uddd9 AI Content": {
      "main": [
        [
          {
            "node": "\ud83d\udd0d Parse JSON",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u2714\ufe0f LinkedIn?": {
      "main": [
        [
          {
            "node": "\ud83d\udcbc LinkedIn",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u2714\ufe0f Instagram?": {
      "main": [
        [
          {
            "node": "\ud83c\udfa5 Gen Reels",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udce5 Get Feedback": {
      "main": [
        [
          {
            "node": "\ud83d\udd27 Prep Revision",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udd27 Prepare Data": {
      "main": [
        [
          {
            "node": "\ud83e\uddd9 AI Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udd14 Wait Approval": {
      "main": [
        [
          {
            "node": "\ud83d\udd04 Process Action",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udd27 Prep Revision": {
      "main": [
        [
          {
            "node": "\ud83e\uddd9 AI Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udeab Cancel Notify": {
      "main": [
        [
          {
            "node": "\ud83d\uded1 Stop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udd04 Process Action": {
      "main": [
        [
          {
            "node": "\ud83d\udce4 Publish?",
            "type": "main",
            "index": 0
          },
          {
            "node": "\ud83d\udd04 Revise?",
            "type": "main",
            "index": 0
          },
          {
            "node": "\u274c Cancel?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udcdd Fetch Transcript": {
      "main": [
        [
          {
            "node": "\u2714\ufe0f Check Transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u2714\ufe0f Check Transcript": {
      "main": [
        [
          {
            "node": "\ud83d\udd27 Prepare Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "\u274c Error Stop",
            "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 turns a single YouTube video into multiple content formats and publishes them across different platforms with an optional human approval step.

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

More Social Media workflows → · Browse all categories →

Related workflows

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

Social Media

This workflow is ideal for individuals, marketers, agencies, and brands who want to effortlessly automate the entire blogging and social media process—from idea generation to promotion. Its primary go

Execute Workflow Trigger, Notion, OpenAI Chat +13
Social Media

This workflow is built for creators, solopreneurs, SaaS founders, and agencies looking to automate their social media content process from idea to publication. It combines the power of OpenAI, Google

OpenAI Chat, Tool Workflow, Agent +15
Social Media

This workflow is designed for content creators, social media managers, digital marketers, and business owners who want to automate their content creation and distribution process across multiple platf

Google Drive, Google Drive Trigger, WordPress +13
Social Media

AI Social Media Publisher from WordPress. Uses manualTrigger, googleSheets, lmChatOpenRouter, outputParserStructured. Event-driven trigger; 20 nodes.

Google Sheets, OpenRouter Chat, Output Parser Structured +7
Social Media

This workflow automates the process of creating and publishing social media posts across multiple platforms (Twitter/X, Facebook, LinkedIn, and Instagram) based on content from a WordPress post. It us

Google Sheets, OpenRouter Chat, Output Parser Structured +7