8
n8n ํ•œ๊ตญ์–ดamn8n.com

๐Ÿ’ฅ Blotato์™€ Sora 2๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ปค๋จธ์Šค UGC ํ”„๋กœ๋ชจ์…˜ ๋น„๋””์˜ค ์ƒ์„ฑ

๊ณ ๊ธ‰

์ด๊ฒƒ์€Content Creation, Multimodal AI๋ถ„์•ผ์˜์ž๋™ํ™” ์›Œํฌํ”Œ๋กœ์šฐ๋กœ, 34๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.์ฃผ๋กœ If, Set, Code, Wait, Merge ๋“ฑ์˜ ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ. OpenAI, Sora 2, Blotato๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์ž์ƒ๊ฑฐ๋ž˜์—์„œ UGC ํ”„๋กœ๋ชจ์…˜ ๋น„๋””์˜ค ์ƒ์„ฑ

์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ
  • โ€ขTelegram Bot Token
  • โ€ข๋Œ€์ƒ API์˜ ์ธ์ฆ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Œ
  • โ€ขOpenAI API Key
์›Œํฌํ”Œ๋กœ์šฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
๋…ธ๋“œ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œ์‹œํ•˜๋ฉฐ, ํ™•๋Œ€/์ถ•์†Œ ๋ฐ ์ด๋™์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค
์›Œํฌํ”Œ๋กœ์šฐ ๋‚ด๋ณด๋‚ด๊ธฐ
๋‹ค์Œ JSON ๊ตฌ์„ฑ์„ ๋ณต์‚ฌํ•˜์—ฌ n8n์— ๊ฐ€์ ธ์˜ค๋ฉด ์ด ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
{
  "id": "do5lGSCHCPT5YhMr",
  "meta": {
    "instanceId": "de822f81f3a2367cef7d9549771a77783236bc9596481be2ae65c05fbcc4b4fd",
    "templateCredsSetupCompleted": true
  },
  "name": "๐Ÿ’ฅ Generate UGC Promo Videos with Blotato and Sora 2 for eCommerce vi",
  "tags": [],
  "nodes": [
    {
      "id": "9e45bc31-7369-48b0-8d37-93cf2faa5418",
      "name": "Telegram ํŠธ๋ฆฌ๊ฑฐ",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -25824,
        2112
      ],
      "webhookId": "f923f8b2-db4f-4e83-bf4c-f4567278577e",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "zgSdbTYtyudxXPgU",
          "name": "Telegram_sora2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d118bd83-021e-470c-b6e2-f45fdced945b",
      "name": "์›Œํฌํ”Œ๋กœ์šฐ ์„ค์ •",
      "type": "n8n-nodes-base.set",
      "position": [
        -25504,
        2112
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-4",
              "name": "maxPollingAttempts",
              "type": "number",
              "value": 20
            },
            {
              "id": "id-5",
              "name": "falApiKey",
              "type": "string",
              "value": "YOUR_API_falApiKey"
            },
            {
              "id": "8b717e51-3c27-4787-b358-019f1438ea6c",
              "name": "Model",
              "type": "string",
              "value": "sora-2"
            },
            {
              "id": "c48eceea-cfec-4a6f-a379-127a3af40ad2",
              "name": "aspect_ratio",
              "type": "string",
              "value": "9:16"
            },
            {
              "id": "385e9561-7491-4df9-8f92-10b1a70180a8",
              "name": "duration",
              "type": "string",
              "value": "12"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "f6b90f3d-c3a2-4ac4-94ec-dbcad40cc333",
      "name": "์Šคํฌ๋ฆฝํŠธ ์‘๋‹ต ํŒŒ์‹ฑ",
      "type": "n8n-nodes-base.code",
      "position": [
        -24256,
        2112
      ],
      "parameters": {
        "jsCode": "const response = $input.first().json;\nconst chatId = $('Extract Photo and text').first().json?.message?.chat?.id;\n\nif (!chatId) {\n  throw new Error('Chat ID not found in workflow data');\n}\n\n// OpenAI node with JSON output returns parsed object directly in message.content\nconst scriptContent = response?.message?.content || response?.content || {};\n\nreturn [{\n  json: {\n    script: JSON.stringify(scriptContent),\n    frames: scriptContent.frames || [],\n    hashtags: scriptContent.hashtags || [],\n    chatId: chatId\n  }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "5ab4832e-f0f0-48c6-961e-066ef12b23a9",
      "name": "Sora 2 API์— ์ œ์ถœ",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -25824,
        2416
      ],
      "parameters": {
        "url": "https://queue.fal.run/fal-ai/sora-2/image-to-video",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"prompt\": \"{{ JSON.stringify($('Parse Script Response').first().json.script.replaceAll(/\\\\n/g, '')).slice(1, -1) }}\",\n  \"resolution\": \"auto\",\n  \"aspect_ratio\": \"9:16\",\n  \"duration\": {{ $('Workflow Configuration').item.json.duration }},\n  \"image_url\": \"{{ $json.data.url.replace(/^http:\\/\\/tmpfiles\\.org\\/(\\d+)\\/(.*)$/i, 'https://tmpfiles.org/dl/$1/$2') }}\"\n}\n",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "={{ 'Key ' + $('Workflow Configuration').first().json.falApiKey }}"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "14948abc-ed10-44d4-92c8-02ccc2c6c207",
      "name": "๋น„๋””์˜ค ์ž‘์—… ID ์ถ”์ถœ",
      "type": "n8n-nodes-base.code",
      "position": [
        -25600,
        2416
      ],
      "parameters": {
        "jsCode": "const response = $input.first().json;\nconst chatId = $('Extract Photo and text').first().json?.message?.chat?.id;\n\nif (!response?.request_id) {\n  throw new Error('Request ID not found in API response');\n}\n\nif (!chatId) {\n  throw new Error('Chat ID not found in workflow data');\n}\n\nreturn [{\n  json: {\n    requestId: response.request_id,\n    chatId: chatId,\n    pollingAttempt: 0\n  }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "1522a6fd-be95-4fe2-910f-57e60e19ac64",
      "name": "15์ดˆ ๋Œ€๊ธฐ",
      "type": "n8n-nodes-base.wait",
      "position": [
        -25376,
        2416
      ],
      "webhookId": "541fabb9-5832-4085-a6a1-67cb764cd9ca",
      "parameters": {
        "amount": 1
      },
      "typeVersion": 1.1
    },
    {
      "id": "4f83db5c-7a5a-4fc9-9a5a-a1239caa6c57",
      "name": "๋น„๋””์˜ค ์ƒํƒœ ํ™•์ธ",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -25152,
        2416
      ],
      "parameters": {
        "url": "=https://queue.fal.run/fal-ai/sora-2/requests/{{ $json.requestId }}/status",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "={{ 'Key ' + $('Workflow Configuration').first().json.falApiKey }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "ad3a9068-d0f2-4982-8093-bf8d4c332409",
      "name": "์ƒํƒœ ์‘๋‹ต ํŒŒ์‹ฑ",
      "type": "n8n-nodes-base.code",
      "position": [
        -24928,
        2416
      ],
      "parameters": {
        "jsCode": "const response = $input.first().json;\nconst previousData = $('Extract Video Job ID').first().json;\n\nif (!previousData) {\n  throw new Error('Previous polling data not found');\n}\n\nreturn [{\n  json: {\n    status: response?.status || 'UNKNOWN',\n    videoUrl: response?.video?.url || null,\n    requestId: previousData.requestId,\n    chatId: previousData.chatId,\n    pollingAttempt: (previousData.pollingAttempt || 0) + 1\n  }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "d684fc56-82ab-4c97-b53f-4068526a9f6d",
      "name": "์™„๋ฃŒ ์—ฌ๋ถ€ ํ™•์ธ",
      "type": "n8n-nodes-base.if",
      "position": [
        -24256,
        2416
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "id-1",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $('Parse Status Response').item.json.status }}",
              "rightValue": "COMPLETED"
            },
            {
              "id": "id-2",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $('Parse Status Response').item.json.status }}",
              "rightValue": "succeeded"
            },
            {
              "id": "id-3",
              "operator": {
                "type": "number",
                "operation": "gte"
              },
              "leftValue": "={{ $('Parse Status Response').item.json.pollingAttempt }}",
              "rightValue": "={{ $('Workflow Configuration').first().json.maxPollingAttempts }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "631abf93-a412-4769-9161-941e666fb3bb",
      "name": "๋น„๋””์˜ค ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -23808,
        2400
      ],
      "parameters": {
        "url": "=https://queue.fal.run/fal-ai/sora-2/requests/{{ $json.requestId }}",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "={{ 'Key ' + $('Workflow Configuration').first().json.falApiKey }}"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "9c4e387d-d47b-44b2-9fd4-2b08cf029a43",
      "name": "๋น„๋””์˜ค๋ฅผ Telegram์œผ๋กœ ์ „์†ก",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -25296,
        2864
      ],
      "webhookId": "d9da2536-a395-44dd-b680-5de6163e36cb",
      "parameters": {
        "file": "={{ $json.video.url }}",
        "chatId": "={{ $('Telegram Trigger').first().json.message.chat.id }}",
        "operation": "sendVideo",
        "additionalFields": {
          "caption": "=Your UGC video is ready! ๐ŸŽฅ  {{ $json.video.url }}"
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "zgSdbTYtyudxXPgU",
          "name": "Telegram_sora2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2dad18e3-3b7a-47f6-b948-4c327fa60c1d",
      "name": "์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์ „์†ก",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -24016,
        2432
      ],
      "webhookId": "4df1ee60-06c0-4389-afb0-f6002132b0aa",
      "parameters": {
        "text": "Video generation timed out or failed. Please try again with a different product image or description.",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "zgSdbTYtyudxXPgU",
          "name": "Telegram_sora2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "dcfa0e97-1b56-48a4-aacc-bf0f7dfb1257",
      "name": "์ œํ’ˆ ์ด๋ฏธ์ง€ ๋ถ„์„ (Vision API)",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -24832,
        2112
      ],
      "parameters": {
        "text": "=Analyze this product image and extract: 1) Product name and category, 2) Key features and benefits, 3) Target audience, 4) Visual elements (colors, style, packaging). Promotion objective: {{ $('Extract Photo and text').item.json.promotionText }}",
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {},
        "resource": "image",
        "inputType": "base64",
        "operation": "analyze"
      },
      "credentials": {
        "openAiApi": {
          "id": "QmtwfFk8iBkuCXOX",
          "name": "n8n free OpenAI API credits"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "918f735a-2b6a-4515-8c6f-61778196300f",
      "name": "Telegram์—์„œ ์‚ฌ์ง„ ํŒŒ์ผ ๊ฐ€์ ธ์˜ค๊ธฐ",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -25056,
        2112
      ],
      "webhookId": "8f993dc8-22f5-4b69-99e4-b16c0f6487ab",
      "parameters": {
        "fileId": "={{ $json.photoUrl }}",
        "resource": "file",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "zgSdbTYtyudxXPgU",
          "name": "Telegram_sora2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9cae8d6a-31a4-462d-8482-93ac5b591125",
      "name": "์‚ฌ์ง„ ๋ฐ ํ…์ŠคํŠธ ์ถ”์ถœ",
      "type": "n8n-nodes-base.set",
      "position": [
        -25280,
        2112
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-1",
              "name": "photoUrl",
              "type": "string",
              "value": "={{ $json.message.photo ? $json.message.photo[$json.message.photo.length - 1].file_id : '' }}"
            },
            {
              "id": "id-2",
              "name": "promotionText",
              "type": "string",
              "value": "={{ $json.message.caption || $json.message.text }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "ea8c58ec-28d1-47ac-b891-5f520a197d47",
      "name": "UGC ์Šคํฌ๋ฆฝํŠธ ์ƒ์„ฑ (OpenAI)",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -24608,
        2112
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "id",
          "value": "gpt-4o-mini"
        },
        "options": {
          "temperature": 0.8
        },
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "You are a UGC video script writer. Create a 12-second video script with frame-by-frame breakdown, natural dialogue, camera movements, and captions. Format as JSON with fields: frames (array of {timestamp, scene, dialogue, camera, caption}), hashtags (array)."
            },
            {
              "content": "={{ 'Product Analysis: ' + $json.content + '\\n\\nPromotion Objective: ' + $('Extract Photo and text').first().json.promotionText + '\\n\\nCreate a compelling 12-second UGC video script.' }}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "QmtwfFk8iBkuCXOX",
          "name": "n8n free OpenAI API credits"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "cf8da3a8-e430-42b9-bcbe-d771ff736a85",
      "name": "๊ณต๊ฐœ ์ด๋ฏธ์ง€ URL ์ƒ์„ฑ",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -24832,
        1952
      ],
      "parameters": {
        "url": "https://tmpfiles.org/api/v1/upload",
        "method": "POST",
        "options": {
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        },
        "sendBody": true,
        "contentType": "multipart-form-data",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "e8db0d52-21e4-47a1-bf83-2b90fadeeddd",
      "name": "๋ณ‘ํ•ฉ",
      "type": "n8n-nodes-base.merge",
      "position": [
        -23824,
        2096
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "34552393-86ff-4988-b40a-dae3c0d0d34b",
      "name": "5๋‹จ๊ณ„ - ๊ฒŒ์‹œ",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -25904,
        2672
      ],
      "parameters": {
        "color": 5,
        "width": 2220,
        "height": 404,
        "content": "# ๐Ÿ“ค STEP 5: PUBLISHING & TRACKING\n\n### Install the Blotato [Blotato](https://blotato.com/?ref=firas) Node in n8n (Community Nodes)\n1. In n8n, open **Settings โ†’ Community Nodes**.  \n2. Click **Install**, then add: `@blotato/n8n-nodes-blotato`.  \n3. Log in to **Blotato**.  \n4. Go to **Settings โ†’ API Keys**.  \n5. In n8n โ†’ **Credentials โ†’ New**.  \n6. Choose **Blotato API** \n(provided by the community node you installed).  \n\n2. TikTok Publishing (Blotato):\n   โ€ข Pre-configured to auto-publish\n   โ€ข Uses caption from GPT-4\n   โ€ข Privacy: Public\n   โ€ข Requires Blotato API key from Step 2"
      },
      "typeVersion": 1
    },
    {
      "id": "cb7916cc-10d4-435d-a893-6d6a613811b5",
      "name": "๋น„๋””์˜ค๋ฅผ BLOTATO์— ์—…๋กœ๋“œ",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24720,
        2864
      ],
      "parameters": {
        "mediaUrl": "={{ $('Download Video File').item.json.video.url }}",
        "resource": "media"
      },
      "credentials": {
        "blotatoApi": {
          "id": "wozsYJYLfCZO37j8",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "8fa12c0b-cceb-4ef0-80d4-533435d017f1",
      "name": "Youtube",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24192,
        2864
      ],
      "parameters": {
        "options": {},
        "platform": "youtube",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "8047",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/8047",
          "cachedResultName": "DR FIRASS (Dr. Firas)"
        },
        "postContentText": "={{ $('Generate Caption with GPT-4').item.json.message.content }}",
        "postContentMediaUrls": "={{ $json.url }}",
        "postCreateYoutubeOptionTitle": "={{ $('Generate UGC Script (OpenAI)').first().json.message.content.hashtags[0] }}",
        "postCreateYoutubeOptionPrivacyStatus": "private",
        "postCreateYoutubeOptionShouldNotifySubscribers": false
      },
      "credentials": {
        "blotatoApi": {
          "id": "wozsYJYLfCZO37j8",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "c85dd58e-e7c3-49fe-bc5b-56db1931ce02",
      "name": "Tiktok",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24512,
        2704
      ],
      "parameters": {
        "options": {},
        "platform": "tiktok",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "2079",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/2079",
          "cachedResultName": "elitecybzcs"
        },
        "postContentText": "={{ $('Generate Caption with GPT-4').item.json.message.content }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "wozsYJYLfCZO37j8",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "7862107b-f886-4d41-8f2e-0523f7a8f2ce",
      "name": "Linkedin",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24352,
        2704
      ],
      "parameters": {
        "options": {},
        "platform": "linkedin",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "1446",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/1446",
          "cachedResultName": "Samuel Amalric"
        },
        "postContentText": "={{ $('Generate Caption with GPT-4').item.json.message.content }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "wozsYJYLfCZO37j8",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "6cd5c506-f060-4d32-8425-383ff2b030b7",
      "name": "Facebook",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24192,
        2704
      ],
      "parameters": {
        "options": {},
        "platform": "facebook",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "1759",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/1759",
          "cachedResultName": "Firass Ben"
        },
        "facebookPageId": {
          "__rl": true,
          "mode": "list",
          "value": "101603614680195",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/1759/subaccounts/101603614680195",
          "cachedResultName": "Dr. Firas"
        },
        "postContentText": "={{ $('Generate Caption with GPT-4').item.json.message.content }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "wozsYJYLfCZO37j8",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "6560abd1-2f85-492b-bd6c-22b80dff52d1",
      "name": "Instagram",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24512,
        2864
      ],
      "parameters": {
        "options": {},
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "1687",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/1687",
          "cachedResultName": "acces.a.vie"
        },
        "postContentText": "={{ $('Generate Caption with GPT-4').item.json.message.content }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "wozsYJYLfCZO37j8",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "9d7bce3c-c612-4f2d-aee0-04cd913a95b0",
      "name": "Twitter (X)",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24352,
        2864
      ],
      "parameters": {
        "options": {},
        "platform": "twitter",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "1289",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/1289",
          "cachedResultName": "Docteur_Firas"
        },
        "postContentText": "={{ $('Generate Caption with GPT-4').item.json.message.content }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "wozsYJYLfCZO37j8",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "7b249aeb-b539-45d2-ba07-c6b41de4f491",
      "name": "๋ณ‘ํ•ฉ1",
      "type": "n8n-nodes-base.merge",
      "position": [
        -23984,
        2720
      ],
      "parameters": {
        "mode": "chooseBranch",
        "numberInputs": 6
      },
      "typeVersion": 3.2
    },
    {
      "id": "4ae0f34b-7d81-426c-9b8f-4a01ad24409a",
      "name": "ํ…์ŠคํŠธ ๋ฉ”์‹œ์ง€ ์ „์†ก",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -23824,
        2784
      ],
      "webhookId": "fe254b6f-f102-4441-96a6-d80efe3c766d",
      "parameters": {
        "text": "Published",
        "chatId": "={{ $('Telegram Trigger').first().json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "zgSdbTYtyudxXPgU",
          "name": "Telegram_sora2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "41eb8c26-670d-4940-9bc9-ba90613e74c2",
      "name": "GPT-4๋กœ ์บก์…˜ ์ƒ์„ฑ",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -25072,
        2864
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "id",
          "value": "gpt-4o-mini"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Create an engaging TikTok caption for a video about: {{ $('Telegram Trigger').first().json.message.caption }}\n\nBased on these trends: {{ $('Generate UGC Script (OpenAI)').first().json.message.content.hashtags[0] }}{{ $('Generate UGC Script (OpenAI)').first().json.message.content.hashtags[1] }}{{ $('Generate UGC Script (OpenAI)').first().json.message.content.hashtags[2] }}\n\nRequirements:\n- Catchy hook in first line\n- Include 5-8 relevant trending hashtags\n- Keep it concise and engaging\n- Optimize for TikTok algorithm\n- Return ONLY the caption text with hashtags, nothing else"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "QmtwfFk8iBkuCXOX",
          "name": "n8n free OpenAI API credits"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "ac940182-725e-4875-be7a-45f874be7f7b",
      "name": "1๋‹จ๊ณ„ - Telegram ์„ค์ •",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -25408,
        1120
      ],
      "parameters": {
        "color": 3,
        "width": 420,
        "height": 820,
        "content": "# ๐Ÿ“ฑ STEP 1: TELEGRAM BOT SETUP\n\n## ๐Ÿ“„ **Documentation**: [Notion Guide](https://automatisation.notion.site/Generate-UGC-Promo-Videos-with-Blotato-and-Sora-2-for-eCommerce-2a23d6550fd980898426fe195192da6d?source=copy_link)\n\n## Create Your Telegram Bot:\n1. Open Telegram and search for @BotFather\n2. Send /newbot command\n3. Choose a name for your bot (e.g., \"UGC Video Generator\")\n4. Choose a username (must end with 'bot', e.g., \"myugc_video_bot\")\n5. Copy the API token provided\n\n## Configure Telegram Trigger Node:\n1. Click on \"Telegram Trigger\" node\n2. Create new credential\n3. Paste your bot token\n4. Save credential\n\n## Configure Telegram Nodes:\nThe following nodes need the same credential:\nโ€ข Get Photo File from Telegram\nโ€ข Send Video to Telegram\nโ€ข Send Error Message\n\n## Test Your Bot:\n1. Activate this workflow\n2. Find your bot in Telegram\n3. Send /start to begin\n4. Send a product image with caption"
      },
      "typeVersion": 1
    },
    {
      "id": "41d17c01-3d6b-4390-a3e0-ddbe5e1e011c",
      "name": "2๋‹จ๊ณ„ - ๊ตฌ์„ฑ",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -24976,
        1120
      ],
      "parameters": {
        "color": 6,
        "width": 420,
        "height": 820,
        "content": "# โš™๏ธ STEP 2: API KEYS CONFIGURATION\n\n## Workflow Configuration Node:\nThis node stores all API keys and settings.\n\n### 1. FAL.ai API Key:\nโ€ข Go to https://fal.ai/\nโ€ข Sign up / Log in\nโ€ข Navigate to Dashboard โ†’ API Keys\nโ€ข Create new API key\nโ€ข Copy and paste in 'falApiKey' field\n\n### 2. OpenAI API Key:\nโ€ข Already configured with n8n free credits\nโ€ข Or use your own: https://platform.openai.com/api-keys\n\n### 3. Video Settings (Pre-configured):\nโ€ข maxPollingAttempts: 20 (max wait cycles)\nโ€ข Model: sora-2\nโ€ข aspect_ratio: 9:16 (vertical video)\nโ€ข duration: 12 (seconds)\n\n๐Ÿ’ก You can adjust these values based on your needs:\n- Change duration: 5, 10, or 12 seconds\n- Change aspect_ratio: 16:9, 9:16, or 1:1"
      },
      "typeVersion": 1
    },
    {
      "id": "334f22f1-d976-4c69-9d08-803a94e395eb",
      "name": "3๋‹จ๊ณ„ - AI ๋ถ„์„",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -24544,
        1120
      ],
      "parameters": {
        "color": 5,
        "width": 420,
        "height": 820,
        "content": "# ๐Ÿค– STEP 3: AI ANALYSIS & SCRIPT GENERATION\n\n## How It Works:\n\n### Extract Photo and Text:\nโ€ข Extracts the highest quality photo from Telegram\nโ€ข Captures your promotion text/caption\n\n### Get Photo File from Telegram:\nโ€ข Downloads the actual image file\nโ€ข Prepares it for AI analysis\n\n### Build Public Image URL:\nโ€ข Uploads image to tmpfiles.org\nโ€ข Creates publicly accessible URL\nโ€ข Required for Sora 2 API\n\n### Analyze Product Image (Vision API):\nโ€ข Uses GPT-4o-mini with vision\nโ€ข Analyzes: product features, target audience, visual style\nโ€ข Extracts key selling points\n\n### Generate UGC Script (OpenAI):\nโ€ข Creates 12-second video script\nโ€ข Frame-by-frame breakdown\nโ€ข Natural dialogue and camera movements\nโ€ข Generates trending hashtags\nโ€ข Output: JSON format with frames array\n\nโœ… No configuration needed - already set up!"
      },
      "typeVersion": 1
    },
    {
      "id": "76c4ca21-2f00-4ecc-ac7b-1fbb05f2b8df",
      "name": "4๋‹จ๊ณ„ - ์˜์ƒ ์ƒ์„ฑ",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -24112,
        1120
      ],
      "parameters": {
        "color": 7,
        "width": 420,
        "height": 820,
        "content": "# ๐ŸŽฅ STEP 4: VIDEO GENERATION WITH SORA 2\n\n## Process Flow:\n\n### 1. Submit to Sora 2 API:\nโ€ข Sends image URL + script to FAL.ai\nโ€ข Uses Sora 2 image-to-video model\nโ€ข Returns job request_id\n\n### 2. Polling Loop (Wait โ†’ Check โ†’ Parse):\nโ€ข Waits 15 seconds between checks\nโ€ข Checks video generation status\nโ€ข Continues until complete or timeout\nโ€ข Max attempts: 20 (configurable)\n\n### 3. Check If Complete:\nRoutes based on status:\nโ€ข โœ… COMPLETED/succeeded โ†’ Download video\nโ€ข โณ IN_PROGRESS โ†’ Continue polling\nโ€ข โŒ Timeout โ†’ Send error message\n\n### 4. Download Video File:\nโ€ข Retrieves final video from FAL.ai\nโ€ข Prepares for Telegram delivery\n\n### 5. Send Video to Telegram:\nโ€ข Delivers video to your chat\nโ€ข Includes video URL in caption"
      },
      "typeVersion": 1
    },
    {
      "id": "3cab5acb-c563-4dd6-bea5-8e379eb184d3",
      "name": "์›Œํฌํ”Œ๋กœ์šฐ ๊ฐœ์š”",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -25904,
        1120
      ],
      "parameters": {
        "color": 4,
        "width": 480,
        "height": 816,
        "content": "# ๐ŸŽฌ AUTOMATED UGC VIDEO GENERATOR\n\n### ๐ŸŽฅ Watch This Tutorial\n\n@[youtube](SZMWXW8Vk8E)\n\n## ๐Ÿ“‹ What This Workflow Does:\nTransforms product images into professional UGC marketing videos automatically:\n\n1๏ธโƒฃ Receives product image + description via Telegram\n2๏ธโƒฃ AI analyzes product features and target audience\n3๏ธโƒฃ Generates engaging 12-second video script\n4๏ธโƒฃ Creates video using Sora 2 AI (image-to-video)\n5๏ธโƒฃ Delivers final video back to Telegram\n\n## ๐Ÿ“ฌ Need Help or Want to Customize This?\n**Contact me for consulting and support:** [LinkedIn](https://www.linkedin.com/in/dr-firas/) / [YouTube](https://www.youtube.com/@DRFIRASS)  / [๐Ÿš€ Mes Ateliers n8n  ](https://hotm.art/formation-n8n)"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5bc27066-9611-429d-b92c-0322e7781b5d",
  "connections": {
    "e8db0d52-21e4-47a1-bf83-2b90fadeeddd": {
      "main": [
        [
          {
            "node": "5ab4832e-f0f0-48c6-961e-066ef12b23a9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7b249aeb-b539-45d2-ba07-c6b41de4f491": {
      "main": [
        [
          {
            "node": "4ae0f34b-7d81-426c-9b8f-4a01ad24409a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c85dd58e-e7c3-49fe-bc5b-56db1931ce02": {
      "main": [
        [
          {
            "node": "7b249aeb-b539-45d2-ba07-c6b41de4f491",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8fa12c0b-cceb-4ef0-80d4-533435d017f1": {
      "main": [
        [
          {
            "node": "7b249aeb-b539-45d2-ba07-c6b41de4f491",
            "type": "main",
            "index": 5
          }
        ]
      ]
    },
    "6cd5c506-f060-4d32-8425-383ff2b030b7": {
      "main": [
        [
          {
            "node": "7b249aeb-b539-45d2-ba07-c6b41de4f491",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "7862107b-f886-4d41-8f2e-0523f7a8f2ce": {
      "main": [
        [
          {
            "node": "7b249aeb-b539-45d2-ba07-c6b41de4f491",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "6560abd1-2f85-492b-bd6c-22b80dff52d1": {
      "main": [
        [
          {
            "node": "7b249aeb-b539-45d2-ba07-c6b41de4f491",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "9d7bce3c-c612-4f2d-aee0-04cd913a95b0": {
      "main": [
        [
          {
            "node": "7b249aeb-b539-45d2-ba07-c6b41de4f491",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "1522a6fd-be95-4fe2-910f-57e60e19ac64": {
      "main": [
        [
          {
            "node": "4f83db5c-7a5a-4fc9-9a5a-a1239caa6c57",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9e45bc31-7369-48b0-8d37-93cf2faa5418": {
      "main": [
        [
          {
            "node": "d118bd83-021e-470c-b6e2-f45fdced945b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d684fc56-82ab-4c97-b53f-4068526a9f6d": {
      "main": [
        [
          {
            "node": "631abf93-a412-4769-9161-941e666fb3bb",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "1522a6fd-be95-4fe2-910f-57e60e19ac64",
            "type": "main",
            "index": 0
          },
          {
            "node": "2dad18e3-3b7a-47f6-b948-4c327fa60c1d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4f83db5c-7a5a-4fc9-9a5a-a1239caa6c57": {
      "main": [
        [
          {
            "node": "ad3a9068-d0f2-4982-8093-bf8d4c332409",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "631abf93-a412-4769-9161-941e666fb3bb": {
      "main": [
        [
          {
            "node": "9c4e387d-d47b-44b2-9fd4-2b08cf029a43",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "14948abc-ed10-44d4-92c8-02ccc2c6c207": {
      "main": [
        [
          {
            "node": "1522a6fd-be95-4fe2-910f-57e60e19ac64",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5ab4832e-f0f0-48c6-961e-066ef12b23a9": {
      "main": [
        [
          {
            "node": "14948abc-ed10-44d4-92c8-02ccc2c6c207",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f6b90f3d-c3a2-4ac4-94ec-dbcad40cc333": {
      "main": [
        [
          {
            "node": "e8db0d52-21e4-47a1-bf83-2b90fadeeddd",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "ad3a9068-d0f2-4982-8093-bf8d4c332409": {
      "main": [
        [
          {
            "node": "d684fc56-82ab-4c97-b53f-4068526a9f6d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cf8da3a8-e430-42b9-bcbe-d771ff736a85": {
      "main": [
        [
          {
            "node": "e8db0d52-21e4-47a1-bf83-2b90fadeeddd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9cae8d6a-31a4-462d-8482-93ac5b591125": {
      "main": [
        [
          {
            "node": "918f735a-2b6a-4515-8c6f-61778196300f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9c4e387d-d47b-44b2-9fd4-2b08cf029a43": {
      "main": [
        [
          {
            "node": "41eb8c26-670d-4940-9bc9-ba90613e74c2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d118bd83-021e-470c-b6e2-f45fdced945b": {
      "main": [
        [
          {
            "node": "9cae8d6a-31a4-462d-8482-93ac5b591125",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cb7916cc-10d4-435d-a893-6d6a613811b5": {
      "main": [
        [
          {
            "node": "c85dd58e-e7c3-49fe-bc5b-56db1931ce02",
            "type": "main",
            "index": 0
          },
          {
            "node": "7862107b-f886-4d41-8f2e-0523f7a8f2ce",
            "type": "main",
            "index": 0
          },
          {
            "node": "6cd5c506-f060-4d32-8425-383ff2b030b7",
            "type": "main",
            "index": 0
          },
          {
            "node": "6560abd1-2f85-492b-bd6c-22b80dff52d1",
            "type": "main",
            "index": 0
          },
          {
            "node": "9d7bce3c-c612-4f2d-aee0-04cd913a95b0",
            "type": "main",
            "index": 0
          },
          {
            "node": "8fa12c0b-cceb-4ef0-80d4-533435d017f1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "41eb8c26-670d-4940-9bc9-ba90613e74c2": {
      "main": [
        [
          {
            "node": "cb7916cc-10d4-435d-a893-6d6a613811b5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ea8c58ec-28d1-47ac-b891-5f520a197d47": {
      "main": [
        [
          {
            "node": "f6b90f3d-c3a2-4ac4-94ec-dbcad40cc333",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "918f735a-2b6a-4515-8c6f-61778196300f": {
      "main": [
        [
          {
            "node": "dcfa0e97-1b56-48a4-aacc-bf0f7dfb1257",
            "type": "main",
            "index": 0
          },
          {
            "node": "cf8da3a8-e430-42b9-bcbe-d771ff736a85",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dcfa0e97-1b56-48a4-aacc-bf0f7dfb1257": {
      "main": [
        [
          {
            "node": "ea8c58ec-28d1-47ac-b891-5f520a197d47",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

์ด ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋‚˜์š”?

์œ„์˜ JSON ๊ตฌ์„ฑ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ n8n ์ธ์Šคํ„ด์Šค์—์„œ ์ƒˆ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  "JSON์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ"๋ฅผ ์„ ํƒํ•œ ํ›„, ๊ตฌ์„ฑ์„ ๋ถ™์—ฌ๋„ฃ๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ์ธ์ฆ ์„ค์ •์„ ์ˆ˜์ •ํ•˜์„ธ์š”.

์ด ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ์–ด๋–ค ์‹œ๋‚˜๋ฆฌ์˜ค์— ์ ํ•ฉํ•œ๊ฐ€์š”?

๊ณ ๊ธ‰ - ์ฝ˜ํ…์ธ  ์ œ์ž‘, ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ AI

์œ ๋ฃŒ์ธ๊ฐ€์š”?

์ด ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ์™„์ „ํžˆ ๋ฌด๋ฃŒ์ด๋ฉฐ ์ง์ ‘ ๊ฐ€์ ธ์™€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํƒ€์‚ฌ ์„œ๋น„์Šค(์˜ˆ: OpenAI API)๋Š” ์‚ฌ์šฉ์ž ์ง์ ‘ ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ด€๋ จ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”์ฒœ

๋ฐ”์ด๋Ÿด TikTok ๋น„๋””์˜ค ์ƒ์„ฑ๊ธฐ: VEED ์•„๋ฐ”ํƒ€๋ฅผ ์‚ฌ์šฉํ•œ UGC ๋น„๋””์˜ค ์ž๋™ ์ƒ์„ฑ
VEED.io AI ์•„๋ฐ”ํƒ€, ElevenLabs, GPT-4๋กœ TikTok ๋น„๋””์˜ค ์ž๋™ ์ƒ์„ฑ
Set
Code
Wait
+
Set
Code
Wait
35 ๋…ธ๋“œDr. Firas
์ฝ˜ํ…์ธ  ์ œ์ž‘
๐Ÿ’ฅ NanoBanana, Seedream 4, ChatGPT Image ๋ฐ Veo 3๋ฅผ ์‚ฌ์šฉํ•œ ๋™์˜์ƒ ๊ด‘๊ณ  ์ž๋™ํ™” - VIDE
AI(NanoBanana, Seedream, GPT-4o, Veo 3)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋””์˜ค ๊ด‘๊ณ  ์บ ํŽ˜์ธ ์ž๋™ํ™” ๋ฐ ๊ฒŒ์‹œ
Set
Code
Wait
+
Set
Code
Wait
63 ๋…ธ๋“œDr. Firas
์ฝ˜ํ…์ธ  ์ œ์ž‘
๐Ÿ’ฅ HeyGen II - ๋‚˜๋ฅผ ๋ณต์ œํ•˜๋ผ - ์•„์ด๋””์–ด๋ถ€ํ„ฐ ๊ฒŒ์‹œ๊นŒ์ง€: YouTube, TikTok, Instagram์„ ์œ„ํ•œ GPT-5 ๋น„๋””์˜ค ์ž๋™ํ™” - ๋น„๋””์˜ค
HeyGen, GPT-5 ๋ฐ ์†Œ์…œ ๊ฒŒ์‹œ๋ฅผ ์‚ฌ์šฉํ•œ ์Œ์„ฑ ์ž…๋ ฅ ๋น„๋””์˜ค ์ œ์ž‘ ์ž๋™ํ™”
If
Set
Wait
+
If
Set
Wait
41 ๋…ธ๋“œDr. Firas
์ฝ˜ํ…์ธ  ์ œ์ž‘
HeyGen๊ณผ Google Sheets ํ†ตํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ AI ๊ฐ€์ƒ ์ด๋ฏธ์ง€ ๋น„๋””์˜ค ์ƒ์„ฑ
GPT-5์„ ์‚ฌ์šฉํ•˜์—ฌ AI ๊ฐ€์ƒ ์ธ๋ฌผ ๋น„๋””์˜ค ์ƒ์„ฑ ๋ฐ ์†Œ์…œ ๋ฏธ๋””์–ด ํ”Œ๋žซํผ์— ๊ฒŒ์‹œ
If
Set
Wait
+
If
Set
Wait
41 ๋…ธ๋“œDr. Firas
์ฝ˜ํ…์ธ  ์ œ์ž‘
๐Ÿ’ฅ ๋น„๋””์˜ค ๋งํฌ์—์„œ YouTube ์ธ๋„ค์ผ ์ž๋™ ์ƒ์„ฑ
Templated.io ๋ฐ Blotato๋ฅผ ์‚ฌ์šฉํ•œ YouTube ์ธ๋„ค์ผ ์ƒ์„ฑ ๋ฐ ์†Œ์…œ ๋ฏธ๋””์–ด ๊ฒŒ์‹œ ์ž๋™ํ™”
Set
Code
Wait
+
Set
Code
Wait
25 ๋…ธ๋“œDr. Firas
์ฝ˜ํ…์ธ  ์ œ์ž‘
๐Ÿ’ฅ NanoBanana์™€ VEO3๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ AI ๋ฐ”์ด๋Ÿฌ์Šค ๋น„๋””์˜ค ์ƒ์„ฑํ•˜๊ณ  Blotato๋ฅผ ํ†ตํ•ด ์†Œ์…œ ํ”Œ๋žซํผ์— ๊ณต์œ  - ๋น„๋””์˜ค
NanoBanana์™€ VEO3์„ ์‚ฌ์šฉํ•˜์—ฌ AI ๋ฐ”์ด๋Ÿฌ์Šค ๋น„๋””์˜ค ์ƒ์„ฑํ•˜๊ณ  Blotato๋ฅผ ํ†ตํ•ด ์†Œ์…œ ๋ฏธ๋””์–ด์—์„œ ๊ณต์œ 
Set
Code
Wait
+
Set
Code
Wait
47 ๋…ธ๋“œDr. Firas
๊ธฐํƒ€
์›Œํฌํ”Œ๋กœ์šฐ ์ •๋ณด
๋‚œ์ด๋„
๊ณ ๊ธ‰
๋…ธ๋“œ ์ˆ˜34
์นดํ…Œ๊ณ ๋ฆฌ2
๋…ธ๋“œ ์œ ํ˜•11
๋‚œ์ด๋„ ์„ค๋ช…

๊ณ ๊ธ‰ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ 16+๊ฐœ ๋…ธ๋“œ์˜ ๋ณต์žกํ•œ ์›Œํฌํ”Œ๋กœ์šฐ

์ €์ž
Dr. Firas

Dr. Firas

@drfiras

Automation expert and certified trainer. I create hands-on courses to master automation with n8n. Contact me to access my exclusive training and start building powerful workflows today. ๐Ÿš€

์™ธ๋ถ€ ๋งํฌ
n8n.io์—์„œ ๋ณด๊ธฐ โ†’

์ด ์›Œํฌํ”Œ๋กœ์šฐ ๊ณต์œ 

์นดํ…Œ๊ณ ๋ฆฌ

์นดํ…Œ๊ณ ๋ฆฌ: 34