YouTube動画からDumpling AIを使用してプラットフォーム固有の投稿を自動生成

上級

これはContent Creation, Multimodal AI分野の自動化ワークフローで、20個のノードを含みます。主にSet, Code, Merge, Aggregate, HttpRequestなどのノードを使用。 GPT-4oとDumpling AIを使ってYouTube動画からInstagram、Facebook、LinkedInの投稿を自動生成

前提条件
  • ターゲットAPIの認証情報が必要な場合あり
  • Google Sheets API認証情報
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "ddQrW7UAltdowiEB",
  "meta": {
    "instanceId": "a1ae5c8dc6c65e674f9c3947d083abcc749ef2546dff9f4ff01de4d6a36ebfe6",
    "templateCredsSetupCompleted": true
  },
  "name": "Auto-Generate Platform-Specific Posts from YouTube Videos with Dumpling AI",
  "tags": [],
  "nodes": [
    {
      "id": "42d0234f-be8d-4df3-9f02-ff5ee574bea3",
      "name": "トリガー検索スケジュール",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -784,
        32
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "4e72498d-e44d-4611-904b-83538f2cb352",
      "name": "Googleシートから未検索トピックを取得",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -560,
        32
      ],
      "parameters": {
        "options": {
          "returnFirstMatch": true
        },
        "filtersUI": {
          "values": [
            {
              "lookupColumn": "Searched?"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jq2UpzUq8lBMNJxezZLErnlqH4z7tKI2h2jONNA3lEc/edit#gid=0",
          "cachedResultName": "YouTube Topics"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jq2UpzUq8lBMNJxezZLErnlqH4z7tKI2h2jONNA3lEc/edit?usp=drivesdk",
          "cachedResultName": "Youtube Video/Creators"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "GaJqJHuS5mQxap7q",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "447c249d-92f9-4b3f-90eb-122e0be919ad",
      "name": "Dumpling AIでYouTubeを検索",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -336,
        32
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/youtube/search",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"query\": \"{{ $json['Youtube Topics'] }}\",\n  \"filter\": \"video\"\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "RLFzAcGRepr5eXZB",
          "name": "Dumpling AI-n8n"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3e16a160-5e3f-403d-acbb-40c1c698423b",
      "name": "YouTube動画のフィルタリングとソート",
      "type": "n8n-nodes-base.code",
      "position": [
        -112,
        32
      ],
      "parameters": {
        "jsCode": "// n8n Code Node to get the 3 latest videos from YouTube data\n// This assumes the input is coming from a previous node with the JSON data\n\n// Get the input data from n8n\nconst items = $input.all();\n\n// Try different ways to access the data based on n8n's structure\nlet data;\nlet videos = [];\n\n// Check if the data is directly in the first item\nif (items && items.length > 0) {\n  const firstItem = items[0].json;\n  \n  // If the data is a string, parse it\n  if (typeof firstItem === 'string') {\n    data = JSON.parse(firstItem);\n  } \n  // If it's already an object\n  else if (typeof firstItem === 'object') {\n    data = firstItem;\n  }\n  \n  // Try to find videos in different possible locations\n  if (data) {\n    if (Array.isArray(data) && data[0] && data[0].videos) {\n      videos = data[0].videos;\n    } else if (data.videos) {\n      videos = data.videos;\n    } else if (data.data && Array.isArray(data.data) && data.data[0] && data.data[0].videos) {\n      videos = data.data[0].videos;\n    }\n  }\n}\n\n// Check if we found videos\nif (!videos || videos.length === 0) {\n  throw new Error('No videos found in input data. Please check the data structure.');\n}\n\n// Filter and sort videos by publishedTime (most recent first)\nconst sortedVideos = videos\n  .filter(video => video.type === 'video' && video.publishedTime)\n  .sort((a, b) => {\n    const dateA = new Date(a.publishedTime);\n    const dateB = new Date(b.publishedTime);\n    return dateB - dateA; // Sort in descending order (newest first)\n  });\n\n// Get the top 3 most recent videos\nconst latestThreeVideos = sortedVideos.slice(0, 3).map(video => ({\n  id: video.id,\n  url: video.url,\n  title: video.title,\n  publishedTime: video.publishedTime,\n  publishedTimeText: video.publishedTimeText\n}));\n\n// Return the result for n8n to process\nreturn latestThreeVideos;\n\n// Alternative: If you want to return each video as a separate item for n8n workflow\n// return latestThreeVideos.map(video => ({ json: video }));"
      },
      "typeVersion": 2
    },
    {
      "id": "dd78f640-822e-49ca-ba2d-8f3442bd7d70",
      "name": "AI用動画リストの準備",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        112,
        32
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "8896a2cd-2732-4e08-ae09-b44c074f0de2",
      "name": "GPT-4oで最適な動画を選択",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        336,
        32
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1",
          "cachedResultName": "GPT-4.1"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "You are given a search input, search output and a present date. Use the search input to find the most relevant YouTube videos from the search output . For each video, return the following in JSON format:\n\n[\n  {\n    \"data\": [\n      {\n        \"id\": \"<videoId>\",\n        \"url\": \"https://www.youtube.com/watch?v=<videoId>\",\n        \"title\": \"<videoTitle>\",\n        \"publishedTime\": \"<ISO timestamp>\",\n        \"publishedTimeText\": \"<human readable time ago>\"\n      }\n    ]\n  }\n]\n\nRules:\n1. Only include videos that best match the search input.\n2. From the results, pick the video whose publishedTime is closest to the present date provided.\n3. Always return the output strictly in the JSON structure shown above, no explanations.\n4. Ensure publishedTime is in ISO 8601 format.\n\n"
            },
            {
              "content": "=search input: {{ $('Get Unsearched Topic from Google Sheet').item.json['Youtube Topics'] }}\npresent date:{{ $now }}\nsearch output:{{ JSON.stringify($json.data) }}\n"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "dd8NvMC6rvx8RITo",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "a0b322e2-485b-4669-8603-e5988a6dcd6d",
      "name": "文字起こしを取得(Dumpling AI)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        688,
        32
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/get-youtube-transcript",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"videoUrl\": \"{{ $json.message.content.data[0].url }}\"\n\n}\n   ",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "RLFzAcGRepr5eXZB",
          "name": "Dumpling AI-n8n"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "170d005a-c7e3-46e3-83da-9f607271b9e7",
      "name": "GPT-4oで投稿を生成",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        912,
        32
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1",
          "cachedResultName": "GPT-4.1"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=You are a skilled social media content creator. Your task is to take the YouTube transcript provided and write three platform-specific posts: Instagram, Facebook, and LinkedIn.  \n\nRules for each:  \n- Instagram: Short, punchy, engaging, include at most 2 emojis, 3–5 relevant hashtags, under 200 words.  \n- Facebook: Conversational, warm, a bit longer, include one clear takeaway, encourage interaction with a question, under 250 words.  \n- LinkedIn: Professional but human, insightful, thought-provoking, with a call to action for comments, under 300 words.  \n\nGeneral:  \n- Do not copy the transcript word-for-word, rewrite into smooth audience-ready posts.  \n- Each platform’s post should feel unique and native to that platform.  \n- Alongside the post, generate a short **image prompt** describing a visual that matches the content of the post.  \n- Always return the output in strict JSON format with the array named `output`. No explanations or extra text.  \n\n\nReturn your response exactly in this format:\n{\n  \"output\": [\n    {\n      \"platform\": \"instagram\",\n      \"post\": \"Instagram post text here\",\n      \"image_prompt\": \"Image description that matches the Instagram post\"\n    },\n    {\n      \"platform\": \"facebook\",\n      \"post\": \"Facebook post text here\",\n      \"image_prompt\": \"Image description that matches the Facebook post\"\n    },\n    {\n      \"platform\": \"linkedin\",\n      \"post\": \"LinkedIn post text here\",\n      \"image_prompt\": \"Image description that matches the LinkedIn post\"\n    }\n  ]\n}\n"
            },
            {
              "content": "=Here is the transcript:  \n{{ $json.transcript }}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "dd8NvMC6rvx8RITo",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "ca110a4c-65fa-47f8-8fa3-6e63962d8554",
      "name": "Instagram画像を生成(Dumpling AI)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1296,
        -224
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/generate-ai-image",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"FLUX.1-pro\",\n  \"input\": {\n    \"prompt\": \"{{ $json.message.content.output[0].image_prompt }}\",\n    \"output_format\": \"png\"\n  }\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "RLFzAcGRepr5eXZB",
          "name": "Dumpling AI-n8n"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "e92dadcb-fb66-4315-b83e-8256e8b74cb1",
      "name": "Facebook画像を生成(Dumpling AI)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1312,
        32
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/generate-ai-image",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"FLUX.1-pro\",\n  \"input\": {\n    \"prompt\": \"{{ $json.message.content.output[1].image_prompt }}\",\n    \"output_format\": \"png\"\n  }\n}\n\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "RLFzAcGRepr5eXZB",
          "name": "Dumpling AI-n8n"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "151f494f-1afe-4c4c-98a1-6fc1ea362599",
      "name": "LinkedIn画像を生成(Dumpling AI)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1280,
        288
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/generate-ai-image",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"FLUX.1-pro\",\n  \"input\": {\n    \"prompt\": \"{{ $json.message.content.output[2].image_prompt }}\",\n    \"output_format\": \"png\"\n  }\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "RLFzAcGRepr5eXZB",
          "name": "Dumpling AI-n8n"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "ffd66d63-4cb0-49e0-9e09-a7ad750d4add",
      "name": "Instagram投稿をフォーマット",
      "type": "n8n-nodes-base.set",
      "position": [
        1504,
        -224
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b58d7016-b4e0-4887-8616-06f4780dc70b",
              "name": "platform",
              "type": "string",
              "value": "={{ $('Generate Posts with GPT-4o').item.json.message.content.output[0].platform }}"
            },
            {
              "id": "3bcc242c-210f-4848-8a28-d01d9159dfe1",
              "name": "Content",
              "type": "string",
              "value": "={{ $('Generate Posts with GPT-4o').item.json.message.content.output[0].post }}"
            },
            {
              "id": "58b4ef74-6a64-4273-84be-46b9d4e4daa2",
              "name": "Image",
              "type": "string",
              "value": "={{ $json.images[0].url }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "839370cd-a1f0-4114-aeb3-c2f5abd51d0b",
      "name": "Facebook投稿をフォーマット",
      "type": "n8n-nodes-base.set",
      "position": [
        1520,
        32
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b58d7016-b4e0-4887-8616-06f4780dc70b",
              "name": "platform",
              "type": "string",
              "value": "={{ $('Generate Posts with GPT-4o').item.json.message.content.output[1].platform }}"
            },
            {
              "id": "3bcc242c-210f-4848-8a28-d01d9159dfe1",
              "name": "Content",
              "type": "string",
              "value": "={{ $('Generate Posts with GPT-4o').item.json.message.content.output[1].post }}"
            },
            {
              "id": "58b4ef74-6a64-4273-84be-46b9d4e4daa2",
              "name": "Image",
              "type": "string",
              "value": "={{ $json.images[0].url }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "06411636-bbcb-4348-8ff4-e2e80ffe61bf",
      "name": "LinkedIn投稿をフォーマット",
      "type": "n8n-nodes-base.set",
      "position": [
        1504,
        288
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b58d7016-b4e0-4887-8616-06f4780dc70b",
              "name": "platform",
              "type": "string",
              "value": "={{ $('Generate Posts with GPT-4o').item.json.message.content.output[2].platform }}"
            },
            {
              "id": "3bcc242c-210f-4848-8a28-d01d9159dfe1",
              "name": "Content",
              "type": "string",
              "value": "={{ $('Generate Posts with GPT-4o').item.json.message.content.output[2].post }}"
            },
            {
              "id": "58b4ef74-6a64-4273-84be-46b9d4e4daa2",
              "name": "Image",
              "type": "string",
              "value": "={{ $json.images[0].url }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "9371626a-014d-435b-9fba-d6e70f649465",
      "name": "Instagram投稿をシートに保存",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1712,
        -224
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "platform",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "platform",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Content",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1459475959,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jq2UpzUq8lBMNJxezZLErnlqH4z7tKI2h2jONNA3lEc/edit#gid=1459475959",
          "cachedResultName": "Social media post"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jq2UpzUq8lBMNJxezZLErnlqH4z7tKI2h2jONNA3lEc/edit?usp=drivesdk",
          "cachedResultName": "Youtube Video/Creators"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "GaJqJHuS5mQxap7q",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "876f0644-4c8c-4f9e-a2c0-c90db4813ef5",
      "name": "Facebook投稿をシートに保存",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1728,
        32
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "platform",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "platform",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Content",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1459475959,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jq2UpzUq8lBMNJxezZLErnlqH4z7tKI2h2jONNA3lEc/edit#gid=1459475959",
          "cachedResultName": "Social media post"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jq2UpzUq8lBMNJxezZLErnlqH4z7tKI2h2jONNA3lEc/edit?usp=drivesdk",
          "cachedResultName": "Youtube Video/Creators"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "GaJqJHuS5mQxap7q",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "21220afc-832c-4020-a268-bef07161b2ff",
      "name": "LinkedIn投稿をシートに保存",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1744,
        288
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "platform",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "platform",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Content",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1459475959,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jq2UpzUq8lBMNJxezZLErnlqH4z7tKI2h2jONNA3lEc/edit#gid=1459475959",
          "cachedResultName": "Social media post"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jq2UpzUq8lBMNJxezZLErnlqH4z7tKI2h2jONNA3lEc/edit?usp=drivesdk",
          "cachedResultName": "Youtube Video/Creators"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "GaJqJHuS5mQxap7q",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "70bf8926-5b7c-4fd3-8cc6-50a18b424c9b",
      "name": "投稿結果を統合",
      "type": "n8n-nodes-base.merge",
      "position": [
        2000,
        16
      ],
      "parameters": {
        "numberInputs": 3
      },
      "executeOnce": true,
      "typeVersion": 3.2
    },
    {
      "id": "a632becc-7fd6-4305-b605-e3207b9c55f0",
      "name": "シート内のトピックステータスを更新",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2240,
        32
      ],
      "parameters": {
        "columns": {
          "value": {
            "Searched?": "Yes",
            "Youtube Topics": "={{ $('Get Unsearched Topic from Google Sheet').item.json['Youtube Topics'] }}"
          },
          "schema": [
            {
              "id": "Youtube Topics",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Youtube Topics",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Searched?",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Searched?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Youtube Topics"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jq2UpzUq8lBMNJxezZLErnlqH4z7tKI2h2jONNA3lEc/edit#gid=0",
          "cachedResultName": "YouTube Topics"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jq2UpzUq8lBMNJxezZLErnlqH4z7tKI2h2jONNA3lEc/edit?usp=drivesdk",
          "cachedResultName": "Youtube Video/Creators"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "GaJqJHuS5mQxap7q",
          "name": "Google Sheets account"
        }
      },
      "executeOnce": true,
      "typeVersion": 4.7
    },
    {
      "id": "bea5de1e-973b-4da3-97dd-12d79152d3a4",
      "name": "付箋メモ",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -816,
        -464
      ],
      "parameters": {
        "width": 1088,
        "height": 704,
        "content": "## 🧠 Auto-Generate Social Media Posts from YouTube Videos\n\nThis workflow takes a topic from Google Sheets, finds a matching YouTube video via Dumpling AI, and generates tailored posts for **Instagram**, **Facebook**, and **LinkedIn** using GPT-4o.\n\nEach post comes with a matching **AI-generated image**, and the results are saved to a “Social Media Post” sheet.\n\n### Flow:\n1. Trigger on schedule\n2. Fetch a topic from Google Sheets\n3. Search YouTube via Dumpling AI\n4. Pick the best match using GPT-4o\n5. Get transcript + generate platform-specific posts\n6. Generate images for each post\n7. Save results to Google Sheets\n8. Mark topic as processed\n\n✅ Use your Dumpling + OpenAI credentials (no hardcoded API keys)  \n✅ Required Sheets:\n- **YouTube Topics** (with `Youtube Topics`, `Searched?`)\n- **Social Media Post** (with `platform`, `Content`, `Image`)\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {
    "Format Facebook Post": [
      {
        "json": {
          "Image": "https://pub-1ff5a17124b34b658b5b75065b3a03e8.r2.dev/temp-b0399746-d5d0-4162-aa0f-47a145deef81.png",
          "Content": "Ever feel stuck sending generic emails and not getting the response you want? I hear you! I just tried out an easy shortcut that automates super-personalized emails using make.com and a mix of smart AI tools. Instead of spending hours researching contacts and crafting messages, I built a simple workflow: upload your contacts, pull in their backgrounds with Perplexity, then let GPT write custom emails tailored to each person. It’s quick and the results are way more personal!\n\nMy key takeaway? Combining the RIGHT tools (not just one) makes your outreach way more effective AND saves you a ton of time.\n\nCurious to try this approach for your own emails? Or have you already used AI for outreach? Let me know your experience in the comments!",
          "platform": "facebook"
        }
      }
    ],
    "Format LinkedIn Post": [
      {
        "json": {
          "Image": "https://pub-1ff5a17124b34b658b5b75065b3a03e8.r2.dev/temp-a4af866b-cbb0-43fa-b150-860afc8336ba.png",
          "Content": "Personalized outreach is still the gold standard, but it often comes at a high cost in time and effort. What if automation and AI could do the heavy lifting for you?\n\nBy integrating make.com with tools like Perplexity (for deep research) and GPT (for tailored email copy), I’ve developed a streamlined workflow that delivers genuinely personalized emails—on autopilot. Here’s the essence:\n- Feed your contact list into the workflow\n- Gather background insights automatically\n- Generate high-quality, context-rich messages at scale\n\nKey insight: Each tool has strengths—research with Perplexity, writing with GPT—and combining them maximizes both relevance and efficiency. The result? Faster, smarter outreach that doesn’t sacrifice the human touch.\n\nHow are you integrating automation or AI into your outreach? Which tools have made the biggest impact for you? Let’s share best practices and ideas in the comments below!",
          "platform": "linkedin"
        }
      }
    ],
    "Format Instagram Post": [
      {
        "json": {
          "Image": "https://pub-1ff5a17124b34b658b5b75065b3a03e8.r2.dev/temp-95b404b9-1e8d-49d8-ab27-63db4c9321c6.png",
          "Content": "Struggle with outreach? 🚀 Here's a game-changing hack: automate ultra-personalized emails in seconds! Using make.com and some smart AI modules, you can turn hours of research and writing into a streamlined, automatic process. Just plug in your contact spreadsheet, connect with Perplexity for background info, then let GPT craft that perfect message. Upgrade your outreach, boost engagement, and leave cookie-cutter emails in the dust. Ready to work smarter?\n\n#AIAutomation #EmailMarketing #ProductivityTips #PersonalizedOutreach",
          "platform": "instagram"
        }
      }
    ],
    "Save Facebook Post to Sheet": [
      {
        "json": {
          "Image": "https://pub-1ff5a17124b34b658b5b75065b3a03e8.r2.dev/temp-b0399746-d5d0-4162-aa0f-47a145deef81.png",
          "Content": "Ever feel stuck sending generic emails and not getting the response you want? I hear you! I just tried out an easy shortcut that automates super-personalized emails using make.com and a mix of smart AI tools. Instead of spending hours researching contacts and crafting messages, I built a simple workflow: upload your contacts, pull in their backgrounds with Perplexity, then let GPT write custom emails tailored to each person. It’s quick and the results are way more personal!\n\nMy key takeaway? Combining the RIGHT tools (not just one) makes your outreach way more effective AND saves you a ton of time.\n\nCurious to try this approach for your own emails? Or have you already used AI for outreach? Let me know your experience in the comments!",
          "platform": "facebook"
        }
      }
    ],
    "Save LinkedIn Post to Sheet": [
      {
        "json": {
          "Image": "https://pub-1ff5a17124b34b658b5b75065b3a03e8.r2.dev/temp-a4af866b-cbb0-43fa-b150-860afc8336ba.png",
          "Content": "Personalized outreach is still the gold standard, but it often comes at a high cost in time and effort. What if automation and AI could do the heavy lifting for you?\n\nBy integrating make.com with tools like Perplexity (for deep research) and GPT (for tailored email copy), I’ve developed a streamlined workflow that delivers genuinely personalized emails—on autopilot. Here’s the essence:\n- Feed your contact list into the workflow\n- Gather background insights automatically\n- Generate high-quality, context-rich messages at scale\n\nKey insight: Each tool has strengths—research with Perplexity, writing with GPT—and combining them maximizes both relevance and efficiency. The result? Faster, smarter outreach that doesn’t sacrifice the human touch.\n\nHow are you integrating automation or AI into your outreach? Which tools have made the biggest impact for you? Let’s share best practices and ideas in the comments below!",
          "platform": "linkedin"
        }
      }
    ],
    "Save Instagram Post to Sheet": [
      {
        "json": {
          "Image": "https://pub-1ff5a17124b34b658b5b75065b3a03e8.r2.dev/temp-95b404b9-1e8d-49d8-ab27-63db4c9321c6.png",
          "Content": "Struggle with outreach? 🚀 Here's a game-changing hack: automate ultra-personalized emails in seconds! Using make.com and some smart AI modules, you can turn hours of research and writing into a streamlined, automatic process. Just plug in your contact spreadsheet, connect with Perplexity for background info, then let GPT craft that perfect message. Upgrade your outreach, boost engagement, and leave cookie-cutter emails in the dust. Ready to work smarter?\n\n#AIAutomation #EmailMarketing #ProductivityTips #PersonalizedOutreach",
          "platform": "instagram"
        }
      }
    ],
    "Generate Facebook Image (Dumpling AI)": [
      {
        "json": {
          "model": "FLUX.1-pro",
          "images": [
            {
              "url": "https://pub-1ff5a17124b34b658b5b75065b3a03e8.r2.dev/temp-b0399746-d5d0-4162-aa0f-47a145deef81.png"
            }
          ],
          "prompt": "A friendly workspace with someone happily working at a computer, a visible flowchart connecting contact lists to AI modules, and email drafts popping up on the screen.",
          "creditUsage": 30
        }
      }
    ],
    "Generate LinkedIn Image (Dumpling AI)": [
      {
        "json": {
          "model": "FLUX.1-pro",
          "images": [
            {
              "url": "https://pub-1ff5a17124b34b658b5b75065b3a03e8.r2.dev/temp-a4af866b-cbb0-43fa-b150-860afc8336ba.png"
            }
          ],
          "prompt": "A professional desktop with a clear automation workflow diagram, referencing Google Sheets, Perplexity AI, and GPT, with sample personalized emails open on a sleek monitor.",
          "creditUsage": 30
        }
      }
    ],
    "Generate Instagram Image (Dumpling AI)": [
      {
        "json": {
          "model": "FLUX.1-pro",
          "images": [
            {
              "url": "https://pub-1ff5a17124b34b658b5b75065b3a03e8.r2.dev/temp-95b404b9-1e8d-49d8-ab27-63db4c9321c6.png"
            }
          ],
          "prompt": "A modern workspace with a laptop displaying an automation workflow, highlighted sections of a spreadsheet, and AI-generated email templates on screen.",
          "creditUsage": 30
        }
      }
    ]
  },
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "fd3a39da-191a-4e81-9469-bc912ae68490",
  "connections": {
    "70bf8926-5b7c-4fd3-8cc6-50a18b424c9b": {
      "main": [
        [
          {
            "node": "a632becc-7fd6-4305-b605-e3207b9c55f0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "839370cd-a1f0-4114-aeb3-c2f5abd51d0b": {
      "main": [
        [
          {
            "node": "876f0644-4c8c-4f9e-a2c0-c90db4813ef5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "06411636-bbcb-4348-8ff4-e2e80ffe61bf": {
      "main": [
        [
          {
            "node": "21220afc-832c-4020-a268-bef07161b2ff",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ffd66d63-4cb0-49e0-9e09-a7ad750d4add": {
      "main": [
        [
          {
            "node": "9371626a-014d-435b-9fba-d6e70f649465",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "42d0234f-be8d-4df3-9f02-ff5ee574bea3": {
      "main": [
        [
          {
            "node": "4e72498d-e44d-4611-904b-83538f2cb352",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dd78f640-822e-49ca-ba2d-8f3442bd7d70": {
      "main": [
        [
          {
            "node": "8896a2cd-2732-4e08-ae09-b44c074f0de2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "170d005a-c7e3-46e3-83da-9f607271b9e7": {
      "main": [
        [
          {
            "node": "ca110a4c-65fa-47f8-8fa3-6e63962d8554",
            "type": "main",
            "index": 0
          },
          {
            "node": "e92dadcb-fb66-4315-b83e-8256e8b74cb1",
            "type": "main",
            "index": 0
          },
          {
            "node": "151f494f-1afe-4c4c-98a1-6fc1ea362599",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "876f0644-4c8c-4f9e-a2c0-c90db4813ef5": {
      "main": [
        [
          {
            "node": "70bf8926-5b7c-4fd3-8cc6-50a18b424c9b",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "21220afc-832c-4020-a268-bef07161b2ff": {
      "main": [
        [
          {
            "node": "70bf8926-5b7c-4fd3-8cc6-50a18b424c9b",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "3e16a160-5e3f-403d-acbb-40c1c698423b": {
      "main": [
        [
          {
            "node": "dd78f640-822e-49ca-ba2d-8f3442bd7d70",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a0b322e2-485b-4669-8603-e5988a6dcd6d": {
      "main": [
        [
          {
            "node": "170d005a-c7e3-46e3-83da-9f607271b9e7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9371626a-014d-435b-9fba-d6e70f649465": {
      "main": [
        [
          {
            "node": "70bf8926-5b7c-4fd3-8cc6-50a18b424c9b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8896a2cd-2732-4e08-ae09-b44c074f0de2": {
      "main": [
        [
          {
            "node": "a0b322e2-485b-4669-8603-e5988a6dcd6d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "447c249d-92f9-4b3f-90eb-122e0be919ad": {
      "main": [
        [
          {
            "node": "3e16a160-5e3f-403d-acbb-40c1c698423b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e92dadcb-fb66-4315-b83e-8256e8b74cb1": {
      "main": [
        [
          {
            "node": "839370cd-a1f0-4114-aeb3-c2f5abd51d0b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "151f494f-1afe-4c4c-98a1-6fc1ea362599": {
      "main": [
        [
          {
            "node": "06411636-bbcb-4348-8ff4-e2e80ffe61bf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ca110a4c-65fa-47f8-8fa3-6e63962d8554": {
      "main": [
        [
          {
            "node": "ffd66d63-4cb0-49e0-9e09-a7ad750d4add",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4e72498d-e44d-4611-904b-83538f2cb352": {
      "main": [
        [
          {
            "node": "447c249d-92f9-4b3f-90eb-122e0be919ad",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

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

有料ですか?

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

関連ワークフロー

Dumpling AI を使用してフォームから映画級の動物ビデオと音声を自動生成する
GPT-4、Dumpling AI、ElementalLabs オーディオを使用して、フォーム入力を映画のようなビデオに変換します
Set
Code
Wait
+
Set
Code
Wait
23 ノードYang
コンテンツ作成
Dumpling AIとGPT-4oを使ってYouTube動画のアイデアを生成
動画分析を使ってDumpling AIとGPT-4oでYouTubeコンテンツのアイデアを生成する
Code
Wait
Gmail
+
Code
Wait
Gmail
13 ノードYang
コンテンツ作成
AI駆動型動画制作&Instagram/TikTok/YouTubeへの自動アップロード
クラウドドライブからAI駆動の動画作成およびInstagram、TikTok、YouTubeへのアップロード
If
Set
Code
+
If
Set
Code
53 ノードDevCode Journey
コンテンツ作成
💥 NanoBanana、Seedream 4、ChatGPT Image、Veo 3 を使って動画広告を自動化 - VIDEO
AI(NanoBanana、Seedream、GPT-4o、Veo 3)を使って動画広告キャンペーンを自動化し公開
Set
Code
Wait
+
Set
Code
Wait
63 ノードDr. Firas
コンテンツ作成
キーワードから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
コンテンツ作成
ワークフロー情報
難易度
上級
ノード数20
カテゴリー2
ノードタイプ9
難易度説明

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

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34