{
  "name": "Convert YouTube videos into SEO blog posts with GPT-4o, Dumpling AI, and Flux",
  "nodes": [
    {
      "id": "c79371d9-c1be-48d4-a2c7-d97a12f4e23c",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        0,
        0
      ]
    },
    {
      "id": "7812d81b-3fe8-42a0-8ac8-53161c345e60",
      "name": "Get YouTube Transcript",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        440,
        0
      ]
    },
    {
      "id": "bd25a5d9-c2a2-49fa-a73a-dc1d65875629",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        140,
        -260
      ],
      "parameters": {
        "width": 260,
        "height": 240,
        "content": "## Set Variables\nSet your variables here, such as:\n- YouTube Video URL: The YouTube video you want to convert into a SEO Blog Post\n- Recipient Email Address: This is the email we send all generated co"
      }
    },
    {
      "id": "52e1de35-84ee-4019-aa5f-3502e6b728e1",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        180
      ],
      "parameters": {
        "width": 280,
        "height": 200,
        "content": "## Get YouTube Transcript\nThis step gets the transcript of the YouTube video with Dumpling AI. The target video must have captions or subtitles enabled. You can modify this to specify a language.\n "
      }
    },
    {
      "id": "ec94d583-7e25-4ac4-8fb9-beb369832355",
      "name": "Set Variables",
      "type": "n8n-nodes-base.set",
      "position": [
        220,
        0
      ]
    },
    {
      "id": "fa1b0e6f-3892-4bc8-8fd8-c96d3a596991",
      "name": "Generate Blog Post",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        660,
        0
      ]
    },
    {
      "id": "50bfb015-554d-48f3-aa81-130677620fdd",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        660,
        -340
      ],
      "parameters": {
        "width": 260,
        "height": 320,
        "content": "## Generate Blog Post\nHere we get GPT-4o (or a model of your choice) to generate a detailed SEO blog post. We ask for:\n- title \n- description\n- blogImagePrompt\n- content\n\nTo improve this step, you can"
      }
    },
    {
      "id": "ecc499c0-776e-4cb1-8361-6f05e0cda021",
      "name": "Generate AI Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1036,
        0
      ]
    },
    {
      "id": "c0e5dfef-5314-4d30-836a-e9e4d13e4679",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        980,
        180
      ],
      "parameters": {
        "width": null,
        "height": 260,
        "content": "## Generate Blog Image\nHere we use the FLUX.1-dev model via Dumpling AI to generate a image for the blog post. Feel free to use the image model you prefer. You may need to update to a more powerful (e"
      }
    },
    {
      "id": "7d7c0463-7d19-46a3-be5a-d5bd47b82032",
      "name": "Gmail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1696,
        0
      ]
    },
    {
      "id": "5af18f00-3d7d-4db4-ab2b-595ef7e8adc3",
      "name": "Markdown",
      "type": "n8n-nodes-base.markdown",
      "position": [
        1256,
        0
      ]
    },
    {
      "id": "ca2b7c3e-44e9-4043-916a-b44c3ef662f2",
      "name": "Download Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1476,
        0
      ]
    },
    {
      "id": "a7414823-fc14-4981-97bb-d14f4622172e",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1180,
        -200
      ],
      "parameters": {
        "width": 260,
        "height": 180,
        "content": "## Convert Markdown to HTML\nOpenAI LLMs tend to output markdown. We need to convert to HTML for formatting in the the Gmail node."
      }
    },
    {
      "id": "a0213875-25cb-48b1-b845-e14b2e83efac",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1400,
        180
      ],
      "parameters": {
        "width": 260,
        "height": 180,
        "content": "## Download Image for Attachment\nThe image URL is a temporary URL, so we need to download the image and attach it to the email being sent."
      }
    },
    {
      "id": "35307e5f-662b-41ab-89fb-3519d790fa52",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1620,
        -200
      ],
      "parameters": {
        "width": 260,
        "height": 180,
        "content": "## Send blog post via email for next steps\nWe send all generated content to your email address so you have a record of all generations and can get it ready for publication"
      }
    }
  ],
  "connections": {
    "Markdown": {
      "main": [
        [
          {
            "node": "Download Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Variables": {
      "main": [
        [
          {
            "node": "Get YouTube Transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Image": {
      "main": [
        [
          {
            "node": "Gmail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate AI Image": {
      "main": [
        [
          {
            "node": "Markdown",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Blog Post": {
      "main": [
        [
          {
            "node": "Generate AI Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get YouTube Transcript": {
      "main": [
        [
          {
            "node": "Generate Blog Post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Set Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}