YouTube 動画から自動ブログ記事生成(WordPress および Webflow 対応、テンプレート)

上級

これはContent Creation, Multimodal AI分野の自動化ワークフローで、21個のノードを含みます。主にSet, Wait, Webflow, YouTube, Markdownなどのノードを使用。 YouTube 動画から OpenAI GPT を使ってブログ記事を WordPress および Webflow に生成する

前提条件
  • Telegram Bot Token
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "STYgmx1IQLxQcLcA",
  "meta": {
    "instanceId": "506e1eb999b7a8cf86103921b3e1b94e371534d9bae39d44754933678dc6697d",
    "templateCredsSetupCompleted": true
  },
  "name": "Auto-generate blog posts from YouTube videos to WordPress and Webflow (TEMPLATE)",
  "tags": [
    {
      "id": "T3xhK1cIuPex0boX",
      "name": "Templates",
      "createdAt": "2025-09-03T11:06:03.839Z",
      "updatedAt": "2025-09-03T11:06:03.839Z"
    }
  ],
  "nodes": [
    {
      "id": "f33a19fb-1da8-434e-a6f4-aaa8e346f510",
      "name": "動画データ抽出",
      "type": "n8n-nodes-base.set",
      "position": [
        96,
        48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "video_title",
              "name": "videoTitle",
              "type": "string",
              "value": "={{ $json.snippet.title }}"
            },
            {
              "id": "video_url",
              "name": "videoUrl",
              "type": "string",
              "value": "={{ $('Monitor YouTube Feed').item.json.link }}"
            },
            {
              "id": "video_id",
              "name": "videoId",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "thumbnail_url",
              "name": "thumbnailUrl",
              "type": "string",
              "value": "={{ $json.snippet.thumbnails.maxres.url }}"
            },
            {
              "id": "4125ae80-9be8-4281-9012-c217ee413c05",
              "name": "videoDescription",
              "type": "string",
              "value": "={{ $json.snippet.description }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "92ed5826-54c7-4f20-b017-62fa6cb3f5cc",
      "name": "ブログ記事フォーマット",
      "type": "n8n-nodes-base.set",
      "position": [
        672,
        48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "blog_title",
              "name": "blogTitle",
              "type": "string",
              "value": "={{ $json.message.content.match(/#\\s*(.+)/)[1].trim() }}\n"
            },
            {
              "id": "blog_content",
              "name": "blogContent",
              "type": "string",
              "value": "={{ $json.message.content.replace(/```(?:\\w+)?\\n?/, '').replace(/```$/, '').trim() }}"
            },
            {
              "id": "blog_slug",
              "name": "blogSlug",
              "type": "string",
              "value": "={{ $('Extract Video Data').item.json.videoTitle.toLowerCase().replace(/[^a-z0-9]/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '') }}"
            },
            {
              "id": "featured_image",
              "name": "featuredImage",
              "type": "string",
              "value": "={{ $('Extract Video Data').item.json.thumbnailUrl }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "492fca15-3711-4357-b5d1-8d68e4b11ee5",
      "name": "WordPress に公開",
      "type": "n8n-nodes-base.wordpress",
      "onError": "continueErrorOutput",
      "maxTries": 2,
      "position": [
        1136,
        -112
      ],
      "parameters": {
        "title": "={{ $json.blogTitle }}",
        "additionalFields": {
          "slug": "={{ $json.blogSlug }}",
          "tags": [
            6
          ],
          "content": "={{ $json.data }}",
          "categories": [
            5
          ]
        }
      },
      "credentials": {
        "wordpressApi": {
          "id": "XdwvkGFuVxDMC76j",
          "name": "Wordpress (Dummy Account)"
        }
      },
      "notesInFlow": false,
      "retryOnFail": false,
      "typeVersion": 1,
      "alwaysOutputData": false
    },
    {
      "id": "886d2a08-c897-4b6e-a517-71a30acc5230",
      "name": "Webflow に公開",
      "type": "n8n-nodes-base.webflow",
      "onError": "continueErrorOutput",
      "position": [
        1120,
        240
      ],
      "parameters": {
        "siteId": "653a17a1b31a397763f3ce40",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "name",
              "fieldValue": "={{ $json.blogTitle }}"
            },
            {
              "fieldId": "page-content",
              "fieldValue": "={{ $json.data }}"
            },
            {
              "fieldId": "slug",
              "fieldValue": "={{ $json.blogSlug }}"
            },
            {
              "fieldId": "featured-image",
              "fieldValue": "={{ $json.featuredImage }}"
            }
          ]
        },
        "operation": "create",
        "collectionId": "68c01d34f15ae8b8c30ead31"
      },
      "credentials": {
        "webflowOAuth2Api": {
          "id": "NqkfDWqbJpAotiw2",
          "name": "Webflow (Dummy Account)"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "d3f9bbb3-5eb6-4b87-9e0d-8ea7001e139a",
      "name": "ワークフロー情報",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1296,
        -496
      ],
      "parameters": {
        "width": 350,
        "height": 1072,
        "content": "# Information\n\n**Who's it for:** Content creators, marketers, and businesses who publish on both YouTube and blog platforms.\n\n**What it does:** Monitors your YouTube channel for new videos and automatically creates SEO-optimized blog posts using AI, then publishes to WordPress or Webflow.\n\n**How it works:**\n1. RSS Feed Trigger polls YouTube every X amount of time\n2. Extracts video metadata (title, description, thumbnail)\n3. YouTube node extracts full description for extra context\n4. Uses OpenAI (you can choose any model) to generate 600-800 word blog post\n5. Publishes to WordPress AND/OR Webflow with error handling\n6. Sends notifications to Telegram if publishing fails\n\n**Requirements:**\n- YouTube channel ID (avoid tutorial channels for better results)\n- OpenAI API key\n- WordPress OR Webflow credentials\n- Telegram bot (optional, for error notifications)\n\n**Setup steps:**\n1. Replace `YOUR_CHANNEL_ID` in RSS Feed Trigger\n2. Add OpenAI credentials in AI generation node\n3. Configure WordPress and/or Webflow credentials\n4. Add Telegram bot for error notifications (optional)\n5. Test with manual execution first\n\n**Customization:**\n- Modify AI prompt for different content styles\n- Adjust polling frequency (30-60 minutes recommended)\n- Add more CMS platforms\n- Add content verification (is content larger than 600 characters? if not, improve)"
      },
      "typeVersion": 1
    },
    {
      "id": "b01b6aac-9da4-4be7-bcdd-0b4d9d833679",
      "name": "ノート抽出",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        64,
        -112
      ],
      "parameters": {
        "color": 7,
        "width": 180,
        "height": 320,
        "content": "Extracts video title, description, URL, thumbnail. Creates clean slug for blog post."
      },
      "typeVersion": 1
    },
    {
      "id": "e691bd51-6c31-4b1a-9d84-284a034bc10c",
      "name": "AI ノート",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        304,
        -128
      ],
      "parameters": {
        "color": 7,
        "width": 260,
        "height": 336,
        "content": "Uses OpenAI to create comprehensive blog post with proper structure and engaging content."
      },
      "typeVersion": 1
    },
    {
      "id": "3a24524a-7ef9-468c-a962-e8875da10540",
      "name": "ノートフォーマット",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        -128
      ],
      "parameters": {
        "color": 7,
        "width": 180,
        "height": 368,
        "content": "Cleans up AI response and prepares final blog post structure."
      },
      "typeVersion": 1
    },
    {
      "id": "7dce235b-13dc-4d69-8914-387642105549",
      "name": "ノート公開",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1088,
        -256
      ],
      "parameters": {
        "color": 7,
        "width": 200,
        "height": 692,
        "content": "Publishes to WordPress and/or Webflow. Error handling ensures workflow continues if one platform fails."
      },
      "typeVersion": 1
    },
    {
      "id": "b9d5764a-2718-4c15-888f-4908ee35ef1c",
      "name": "エラー通知送信",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1456,
        -208
      ],
      "webhookId": "558de280-9983-4f9b-9e73-7e4b8dad73d4",
      "parameters": {
        "text": "=❌ Blog post creation failed on Wordpress!\n\nVideo: {{ $('Get video details').item.json.snippet.title }}\nError: {{ $json.error }}\nTime: {{ $now }}",
        "chatId": "=CHAT_ID",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "oidgpxSPzvIVyYWw",
          "name": "Telegram (Dummy Account)"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7118630c-981e-4103-ac8b-acd62d3d084c",
      "name": "ノート抽出1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        -96
      ],
      "parameters": {
        "color": 7,
        "width": 180,
        "height": 320,
        "content": "Uses Video ID to extract full description for extra context"
      },
      "typeVersion": 1
    },
    {
      "id": "284f96ec-094b-416b-8e51-22bba9190b14",
      "name": "ノートフォーマット1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        848,
        -64
      ],
      "parameters": {
        "color": 7,
        "width": 180,
        "height": 304,
        "content": "Formats Markdown to HTML for Webflow and WordPress"
      },
      "typeVersion": 1
    },
    {
      "id": "9223ad51-d408-4348-964c-778f1efeea56",
      "name": "週次 RSS チェック",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -800,
        128
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "weeks",
              "triggerAtDay": [
                1
              ],
              "triggerAtHour": 21
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "4b99efde-5648-4962-a0ef-e97f34b1283e",
      "name": "YouTube フィード監視",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -576,
        128
      ],
      "parameters": {
        "url": "https://www.youtube.com/feeds/videos.xml?channel_id=UXXXXXXXXX",
        "options": {}
      },
      "executeOnce": false,
      "typeVersion": 1.2
    },
    {
      "id": "152dffb6-38bb-4f83-bbf6-bfd7d1736969",
      "name": "動画詳細取得",
      "type": "n8n-nodes-base.youTube",
      "position": [
        -128,
        48
      ],
      "parameters": {
        "options": {},
        "videoId": "={{ $json.link.split('=')[1] }}",
        "resource": "video",
        "operation": "get"
      },
      "credentials": {
        "youTubeOAuth2Api": {
          "id": "67GXnxjAQ5XhUcpI",
          "name": "YouTube (Dummy Account)"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "dd501db5-689c-47b3-94f1-c4c3d1bcd181",
      "name": "動画ごとの処理",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -352,
        128
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "4e0a8146-ed68-4301-b698-ea539c83382b",
      "name": "AI ブログ生成",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        320,
        48
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "options": {
          "temperature": 0.7
        },
        "messages": {
          "values": [
            {
              "content": "=Write a comprehensive blog post about this YouTube video:\n\nVideo Title: {{ $json.videoTitle }}\nVideo Description: {{ $json.videoDescription }}\nVideo URL: {{ $json.videoUrl }}\n\nCreate a blog post that:\n1. Has an engaging headline (different from video title)\n2. Includes compelling introduction\n3. Summarizes key points from the video\n4. Adds valuable insights and context\n5. Uses relevant subheadings (## for H2)\n6. Ends with call-to-action to watch the video\n7. Is 600-800 words\n8. Uses conversational, engaging tone\n9. Targets no-code developers and Bubble.io users\n\nImportant: Format in markdown with proper structure."
            },
            {
              "role": "system",
              "content": "=You are an expert content writer who creates engaging blog posts from YouTube videos across all topics and industries. \n\nWrite in a conversational, accessible tone that educates and engages readers regardless of subject matter. Focus on extracting key insights, providing context, and making complex topics understandable.\n\nAlways structure content with clear headings, actionable takeaways, and encourage readers to watch the original video for the complete experience."
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "mvWns3smwtPV0N7O",
          "name": "OpenAI (Dummy Account)"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "eb5d8c55-3806-4e7f-bbc7-7d41879a0ad1",
      "name": "HTML 変換",
      "type": "n8n-nodes-base.markdown",
      "position": [
        896,
        48
      ],
      "parameters": {
        "mode": "markdownToHtml",
        "options": {},
        "markdown": "={{ $json.blogContent }}"
      },
      "typeVersion": 1
    },
    {
      "id": "9313716b-396f-417d-a0de-3dc8b6921c2f",
      "name": "レート制限遅延",
      "type": "n8n-nodes-base.wait",
      "position": [
        1712,
        96
      ],
      "webhookId": "f3efd4a0-6e88-440b-af08-14a04fe2b8e3",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "375eae45-91ea-4057-b704-768a862137f4",
      "name": "エラーアラート送信",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1472,
        464
      ],
      "webhookId": "8c2d83bc-d100-4a12-863a-4f1eda8d7f35",
      "parameters": {
        "text": "=❌ Blog post creation failed on Webflow!\n\nVideo: {{ $('Get video details').item.json.snippet.title }}\nError: {{ $json.error }}\nTime: {{ $now }}",
        "chatId": "=CHAT_ID",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "oidgpxSPzvIVyYWw",
          "name": "Telegram (Dummy Account)"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e4d69452-8b9c-48c4-bb64-0af2bc4e9e51",
      "name": "ノート公開1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        -368
      ],
      "parameters": {
        "color": 7,
        "width": 216,
        "height": 1012,
        "content": "Optional: You can just leave one notification node"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "35df95f2-f10f-4625-aafe-6a09a9a0dcda",
  "connections": {
    "eb5d8c55-3806-4e7f-bbc7-7d41879a0ad1": {
      "main": [
        [
          {
            "node": "492fca15-3711-4357-b5d1-8d68e4b11ee5",
            "type": "main",
            "index": 0
          },
          {
            "node": "886d2a08-c897-4b6e-a517-71a30acc5230",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "92ed5826-54c7-4f20-b017-62fa6cb3f5cc": {
      "main": [
        [
          {
            "node": "eb5d8c55-3806-4e7f-bbc7-7d41879a0ad1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9313716b-396f-417d-a0de-3dc8b6921c2f": {
      "main": [
        [
          {
            "node": "dd501db5-689c-47b3-94f1-c4c3d1bcd181",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9223ad51-d408-4348-964c-778f1efeea56": {
      "main": [
        [
          {
            "node": "4b99efde-5648-4962-a0ef-e97f34b1283e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4e0a8146-ed68-4301-b698-ea539c83382b": {
      "main": [
        [
          {
            "node": "92ed5826-54c7-4f20-b017-62fa6cb3f5cc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "152dffb6-38bb-4f83-bbf6-bfd7d1736969": {
      "main": [
        [
          {
            "node": "f33a19fb-1da8-434e-a6f4-aaa8e346f510",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f33a19fb-1da8-434e-a6f4-aaa8e346f510": {
      "main": [
        [
          {
            "node": "4e0a8146-ed68-4301-b698-ea539c83382b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dd501db5-689c-47b3-94f1-c4c3d1bcd181": {
      "main": [
        [],
        [
          {
            "node": "152dffb6-38bb-4f83-bbf6-bfd7d1736969",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "886d2a08-c897-4b6e-a517-71a30acc5230": {
      "main": [
        [
          {
            "node": "9313716b-396f-417d-a0de-3dc8b6921c2f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "375eae45-91ea-4057-b704-768a862137f4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4b99efde-5648-4962-a0ef-e97f34b1283e": {
      "main": [
        [
          {
            "node": "dd501db5-689c-47b3-94f1-c4c3d1bcd181",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "492fca15-3711-4357-b5d1-8d68e4b11ee5": {
      "main": [
        [
          {
            "node": "9313716b-396f-417d-a0de-3dc8b6921c2f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "b9d5764a-2718-4c15-888f-4908ee35ef1c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級 - コンテンツ作成, マルチモーダルAI

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

関連ワークフロー

バッチSEOコンテンツ生成とAI画像付きWebflowドラフト作成(テンプレート)
GPT、Gemini画像、Webflowデラフトで行う大量SEOコンテンツ生成
If
Set
Code
+
If
Set
Code
54 ノードDahiana
コンテンツ作成
キーワードからGPT-5とfal.ai画像を使ってWordPressまで自動SEOブログ生成のプロセス
GPT-5とfal.ai画像を使用したキーワードからWordPressへのSEOブログ自動化プロセス
Set
Code
Wait
+
Set
Code
Wait
96 ノードPaul
コンテンツ作成
WordPressブログの自動化プロフェッショナル版(先端研究)v2.1マーケットプラグイン
GPT-4o、Perplexity AI、そして多言語対応を使ったSEO最適化ブログ作成の自動化
If
Set
Xml
+
If
Set
Xml
125 ノードDaniel Ng
コンテンツ作成
YouTube 動画に基づく自律ブログ公開
YouTube 動画から ChatGPT、Sheets、Apify、Pexels、WordPress を使用してブログの自主公開
If
Set
Code
+
If
Set
Code
80 ノードOriol Seguí
コンテンツ作成
完全な B2B セールスフロー:Apollo リード生成、Mailgun 外信、および AI 返信管理
完全なB2Bセールスフロー:Apolloリード生成、Mailgunアウト Reach、AI返信管理
If
Set
Code
+
If
Set
Code
116 ノードPaul
コンテンツ作成
サイバーセキュリティニュースの自動化ワーキングフロー
毎日のサイバーセキュリティニュース2025年要約(Grok AI、Telegramで生成)
If
Set
Wait
+
If
Set
Wait
18 ノードSheikh Masem Mandal
コンテンツ作成
ワークフロー情報
難易度
上級
ノード数21
カテゴリー2
ノードタイプ12
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

作成者
Dahiana

Dahiana

@mssporto

No-Code Specialist with more than 10 years of experience in Digital Marketing. Currently working with Bubble. Webflow, AI, Agents and N8N.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34