๐ฅNanoBanana์ Seedance๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ด๋ฌ์ค์ ์ธ ๊ด๊ณ ์์ฑ, VIDE II๋ฅผ ํตํด ์์ ๋ฏธ๋์ด์ upload-post๊ฒ์
์ด๊ฒ์Miscellaneous, Multimodal AI๋ถ์ผ์์๋ํ ์ํฌํ๋ก์ฐ๋ก, 45๊ฐ์ ๋ ธ๋๋ฅผ ํฌํจํฉ๋๋ค.์ฃผ๋ก If, Set, Code, Wait, Telegram ๋ฑ์ ๋ ธ๋๋ฅผ ์ฌ์ฉํ๋ฉฐ. ์ฌ์ฉ AI๋ก ๋ฐ์ด๋ฌ์ค์ ์ธ ๋ฉํฐ๋ฏธ๋์ด ๊ด๊ณ ์์ฑ: NanoBanana, Seedance, Suno๋ฅผ ์์ ๋ฏธ๋์ด์ ์ฌ์ฉ
- โขTelegram Bot Token
- โขGoogle Drive API ์ธ์ฆ ์ ๋ณด
- โข๋์ API์ ์ธ์ฆ ์ ๋ณด๊ฐ ํ์ํ ์ ์์
- โขGoogle Sheets API ์ธ์ฆ ์ ๋ณด
- โขOpenAI API Key
์ฌ์ฉ๋ ๋ ธ๋ (45)
์นดํ ๊ณ ๋ฆฌ
{
"id": "9Ts6qVznkrvr6G0h",
"meta": {
"instanceId": "a2b23892dd6989fda7c1209b381f5850373a7d2b85609624d7c2b7a092671d44",
"templateCredsSetupCompleted": true
},
"name": "๐ฅ Create viral Ads with NanoBanana & Seedance, publish on socials via upload-post VIDE II",
"tags": [],
"nodes": [
{
"id": "e8ef42d0-825f-43a3-91a3-6f0921f77fcd",
"name": "Telegram: ์ด๋ฏธ์ง ํ์ผ ๊ฐ์ ธ์ค๊ธฐ",
"type": "n8n-nodes-base.telegram",
"position": [
-768,
-144
],
"webhookId": "7270a625-b35a-4c3d-824e-e9d98cbe793f",
"parameters": {
"fileId": "={{ $json.message.photo[2].file_id }}",
"resource": "file",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "3mty87fduTdA6SKM",
"name": "Telegram account 13 - nanobanana II"
}
},
"typeVersion": 1.2
},
{
"id": "d768709c-4dd1-4698-a653-5aafd58e2126",
"name": "Google Drive: ์ด๋ฏธ์ง ์
๋ก๋",
"type": "n8n-nodes-base.googleDrive",
"position": [
-512,
-144
],
"parameters": {
"name": "={{ $('Trigger: Receive Idea via Telegram').item.json.message.photo[2].file_unique_id }}",
"driveId": {
"__rl": true,
"mode": "id",
"value": "="
},
"options": {},
"folderId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gzeHMd64HAz6HBIe",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "657506bc-4d83-4b76-938a-eb649601c639",
"name": "LLM: ๊ตฌ์กฐํ ์ถ๋ ฅ ํ์",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
320,
192
],
"parameters": {
"jsonSchemaExample": "{\n\t\"image_prompt\": \"string\"\n}"
},
"typeVersion": 1.3
},
{
"id": "9cf13394-f27b-4c28-9894-695cb705d1be",
"name": "LLM: OpenAI ์ฑํ
",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
80,
192
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-5-mini",
"cachedResultName": "gpt-5-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "6h3DfVhNPw9I25nO",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "ebaf73ce-731e-4e06-bf55-f15f18e101fe",
"name": "์ด๋ฏธ์ง ํ๋กฌํํธ ์์ฑ",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
144,
-64
],
"parameters": {
"text": "=Your task is to create an image prompt following the system guidelines. \nEnsure that the reference image is represented as **accurately as possible**, including all text elements. \n\nUse the following inputs: \n\n- **Userโs description:** \n{{ $json.imagePrompt }}\n\n\nInclude optional overlay text in serif font in small font size:\n\"{{ $json.textOverlay }}\"\nCRITICAL: Stack the text in 4 SHORT LINES centered in the middle\nof the image. Each line must be very short to avoid cropping when\nconverted to 9:16. Keep all text in the center 40% of image\nwidth.",
"options": {
"systemMessage": "=ROLE: UGC Image Prompt Builder \n\nGOAL: \nGenerate one concise, natural, and realistic image prompt (โค120 words) from a given product or reference image. The prompt must simulate authentic UGC (user-generated content) photography. \n\nRULES: \nYou must always create a professional background for the product image. You must never return the image with a plain white or empty background. The background must always enhance and highlight the product in the photo.\n\n- Always output **one JSON object only** with the key: \n - `image_prompt`: (string with full description) \n- Do **not** add commentary, metadata, or extra keys. JSON only. \n- User node think to be creative\n\nSTYLE GUIDELINES: \n- Tone: casual, unstaged, lifelike, handheld snapshot. \n- Camera cues: include at least 2โ3 (e.g., phone snapshot, handheld framing, off-center composition, natural indoor light, soft shadows, slight motion blur, auto exposure, unpolished look, mild grain). \n- Realism: embrace imperfections (wrinkles, stray hairs, skin texture, clutter, smudges). \n- Packaging/Text: preserve exactly as visible. Never invent claims, numbers, or badges. \n- Diversity: if people appear but are unspecified, vary gender/ethnicity naturally; default age range = 21โ38. \n- Setting: default to real-world everyday spaces (home, street, store, gym, office). \n- User node think to be creative\nYou must always create a professional background for the product image. You must never return the image with a plain white or empty background. The background must always enhance and highlight the product in the photo.\n\nSAFETY: \n- No copyrighted character names. \n- No dialogue or scripts. Only describe scenes. \n\nOUTPUT CONTRACT: \n- JSON only, no prose outside. \n- Max 120 words in `image_prompt`. \n- Must cover: subject, action, mood, setting, background, style/camera, colors, and text accuracy. \n\nCHECKLIST BEFORE OUTPUT: \n- Natural handheld tone? \n- At least 2 camera cues included? \n- Product text preserved exactly? \n- Only JSON returned? \n\n--- \n\n### Example \n\nGood Example : \n```json\n{ \"image_prompt\": \"a young adult casually holding a skincare tube near a bathroom mirror; action: dabs small amount on the back of the hand; mood: easy morning; setting: small apartment bathroom with towel on rack and toothbrush cup; background: professional-looking bathroom scene that enhances the product, never plain white or empty, always styled to highlight the tube naturally; style/camera: phone snapshot, handheld framing, off-center composition, natural window light, slight motion blur, mild grain; colors: soft whites and mint label; text accuracy: keep every word on the tube exactly as visible, no added claims\" }\n"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "9d0412cc-55cf-437f-a2aa-87f8a02f52a6",
"name": "NanoBanana: ์ด๋ฏธ์ง ์์ฑ",
"type": "n8n-nodes-base.httpRequest",
"position": [
480,
-64
],
"parameters": {
"url": "https://queue.fal.run/fal-ai/nano-banana/edit",
"method": "POST",
"options": {},
"jsonBody": "={\n\t\"prompt\": \"{{ $json.output.image_prompt.replace(/\\\"/g, '\\\\\\\"').replace(/\\n/g, '\\\\n') }}\",\n\"image_urls\": [\"{{ $('Google Drive: Upload Image').item.json.webContentLink }}\"]\n\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "kNULkYDcOZG3X0be",
"name": "Fal.ai"
}
},
"typeVersion": 4.2
},
{
"id": "38e06e0c-ffd0-42fd-b6bb-1903931d43d1",
"name": "์ด๋ฏธ์ง ํธ์ง ๋๊ธฐ",
"type": "n8n-nodes-base.wait",
"position": [
704,
-64
],
"webhookId": "f2439e01-c63f-43a3-ae88-4f329a405c37",
"parameters": {
"amount": 2
},
"typeVersion": 1.1
},
{
"id": "8cb4ec4e-1d1f-4f6b-89d0-4dcb294d85a8",
"name": "ํธ์ง๋ ์ด๋ฏธ์ง ๋ค์ด๋ก๋",
"type": "n8n-nodes-base.httpRequest",
"position": [
704,
192
],
"parameters": {
"url": "={{ $json.response_url }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "kNULkYDcOZG3X0be",
"name": "Fal.ai"
}
},
"typeVersion": 4.2
},
{
"id": "ea09e08d-f71c-485b-8420-ac045d2827e9",
"name": "์คํฐํค ๋
ธํธ4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
384
],
"parameters": {
"width": 1020,
"height": 320,
"content": "# ๐ข Step 4 โ Generate Product Video with Seedance"
},
"typeVersion": 1
},
{
"id": "271188a5-fcd6-43fb-b382-c53e3833213e",
"name": "๋ ๋๋ง ๋๊ธฐ",
"type": "n8n-nodes-base.wait",
"position": [
-752,
512
],
"webhookId": "3ec9fd26-3bd2-438e-8918-dc2a179389e3",
"parameters": {
"amount": 20
},
"typeVersion": 1.1
},
{
"id": "c32d6586-6730-404d-9d82-eb782e32fa12",
"name": "Seedance์์ ๋น๋์ค ๋ค์ด๋ก๋",
"type": "n8n-nodes-base.httpRequest",
"position": [
-496,
512
],
"parameters": {
"url": "=https://api.kie.ai/api/v1/jobs/recordInfo?taskId={{ $json.data.taskId }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "ho8ZjaYj1SY0icGT",
"name": "Kie AI"
}
},
"typeVersion": 4.2
},
{
"id": "d65291c2-25e3-47a1-a28e-4db5b085befc",
"name": "์คํฐํค ๋
ธํธ",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
384
],
"parameters": {
"width": 908,
"height": 320,
"content": "# ๐ข Step 5 โ Generate Background Music with Suno"
},
"typeVersion": 1
},
{
"id": "37fa5194-f024-4501-b671-8379328813bd",
"name": "์คํฐํค ๋
ธํธ5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
-224
],
"parameters": {
"width": 1020,
"height": 288,
"content": "# ๐ข Step 1 โ Input"
},
"typeVersion": 1
},
{
"id": "02a0927c-5fc3-48b0-be1c-de72d50ece24",
"name": "์คํฐํค ๋
ธํธ6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
-224
],
"parameters": {
"width": 908,
"height": 576,
"content": "# ๐ข Step 2 โ Generate Product Image"
},
"typeVersion": 1
},
{
"id": "620bd3a5-d7bd-46fc-a955-af7a1fd9e71b",
"name": "์คํฐํค ๋
ธํธ7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
80
],
"parameters": {
"color": 5,
"width": 1020,
"height": 272,
"content": "# ๐ข Step 3 โ Publish Product Image on Instagram & X"
},
"typeVersion": 1
},
{
"id": "61f952e4-b77f-44fd-9076-effe6e30a5ac",
"name": "์คํฐํค ๋
ธํธ8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
736
],
"parameters": {
"width": 1964,
"height": 320,
"content": "# ๐ข Step 6 โ Merge Video & Audio into Final Ad"
},
"typeVersion": 1
},
{
"id": "68433349-3fce-4a26-9889-d79eb0ff8dec",
"name": "์คํฐํค ๋
ธํธ9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
1088
],
"parameters": {
"color": 5,
"width": 1964,
"height": 336,
"content": "# ๐ข Step 7 โ Publish Final Ad on Social Media"
},
"typeVersion": 1
},
{
"id": "06b3d1aa-90df-4ca0-ac5e-732cce1a6f3a",
"name": "Telegram๋ฅผ ํตํด ๋น๋์ค URL ์ ์ก",
"type": "n8n-nodes-base.telegram",
"position": [
-128,
1184
],
"webhookId": "d18e9567-ca34-49fe-968b-4c950b75bfed",
"parameters": {
"text": "=Url VIDEO : {{ $json['URL FINAL VIDEO'] }}",
"chatId": "={{ $node[\"Trigger: Receive Idea via Telegram\"].json.message.chat.id }}\n",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "3mty87fduTdA6SKM",
"name": "Telegram account 13 - nanobanana II"
}
},
"typeVersion": 1.2
},
{
"id": "54650c76-a045-40a3-8aa1-9e96a2cab303",
"name": "์ต์ข
๋น๋์ค ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ ์ก",
"type": "n8n-nodes-base.telegram",
"position": [
80,
1184
],
"webhookId": "fe371505-fc1f-46de-8d03-098e4744617a",
"parameters": {
"file": "={{ $('Save Ad Data to Google Sheets').item.json['URL FINAL VIDEO'] }}",
"chatId": "={{ $json.result.chat.id }}",
"operation": "sendVideo",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "3mty87fduTdA6SKM",
"name": "Telegram account 13 - nanobanana II"
}
},
"typeVersion": 1.2
},
{
"id": "06d8b993-88a7-4c72-bd87-b18afe7de32a",
"name": "Telegram: ์๋ฆผ ์ ์ก",
"type": "n8n-nodes-base.telegram",
"position": [
704,
1184
],
"webhookId": "51d2c6a2-88a2-4879-b81b-b2a6ba9ac710",
"parameters": {
"text": "Published",
"chatId": "={{ $node[\"Trigger: Receive Idea via Telegram\"].json.message.chat.id }}\n",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "3mty87fduTdA6SKM",
"name": "Telegram account 13 - nanobanana II"
}
},
"typeVersion": 1.2
},
{
"id": "efc613ab-75d1-4676-8903-ac2f8f4ea428",
"name": "ํธ๋ฆฌ๊ฑฐ: Telegram๋ฅผ ํตํด ์์ด๋์ด ์์ ",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-1008,
-144
],
"webhookId": "bde5c665-1b60-4fe6-b0a4-b450db8ec705",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "3mty87fduTdA6SKM",
"name": "Telegram account 13 - nanobanana II"
}
},
"typeVersion": 1.2
},
{
"id": "3e7bacee-43d5-4612-9126-2c44ab0275e3",
"name": "์์ด๋์ด๋ฅผ ํ๋กฌํํธ๋ก ํ์ฑ",
"type": "n8n-nodes-base.code",
"position": [
-272,
-144
],
"parameters": {
"jsCode": "const text = $('Trigger: Receive Idea via Telegram').first().json.message.caption;\nconst parts = text.split(';').map(part => part.trim());\nreturn {\nimagePrompt: parts[0],\ntextOverlay: parts[1],\nvideoPrompt: parts[2],\nmusicPrompt: parts[3]\n};\n"
},
"typeVersion": 2
},
{
"id": "2ce93a63-78e9-4270-9581-b571d7c84394",
"name": "์บก์
์ฌ์์ฑ (TikTok/Instagram)",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-992,
176
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "GPT-4O"
},
"options": {},
"messages": {
"values": [
{
"content": "=You are rewriting a TikTok video script, caption, and overlay โ\nnot inventing a new one. You must follow this format and obey\nthese rules strictly.\n---\n### CONTEXT:\nHere is the content idea to use:{{ $('Parse Idea Into Prompts').item.json.imagePrompt }}\n\nTitle is : {{ $('Parse Idea Into Prompts').item.json.textOverlay }}\n\n\n\nWrite the caption text using the topic.\n\n---\n- MUST be under 200 characters (yes \"Characters\" not wordcount)\nthis is an absolute MUST, no more than 200 characters!!! \n\n### FINAL OUTPUT FORMAT (no markdown formatting):\n\nDO NOT return any explanations. Only return the Caption Text"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "6h3DfVhNPw9I25nO",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "05e3c5a5-2bb8-47a5-aa3d-057512ca99e2",
"name": "Instagram + X์ ์ด๋ฏธ์ง ๊ฒ์",
"type": "n8n-nodes-upload-post.uploadPost",
"position": [
-272,
176
],
"parameters": {
"user": "DRFIRAS",
"title": "={{ $('Parse Idea Into Prompts').item.json.textOverlay }}",
"photos": "={{ $('Download Edited Image').item.json.images[0].url }}",
"caption": "={{ $json.message.content }}",
"platform": [
"instagram",
"x"
]
},
"credentials": {
"uploadPostApi": {
"id": "tx0iFC5hVeA9z2YP",
"name": "Upload Post account"
}
},
"typeVersion": 1
},
{
"id": "97832793-340b-41ee-ae40-1a1633597ac3",
"name": "Seedance: ์ด๋ฏธ์ง์์ ๋น๋์ค ์์ฑ",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1008,
512
],
"parameters": {
"url": "https://api.kie.ai/api/v1/jobs/createTask",
"body": "={\n \"model\": \"bytedance/v1-pro-image-to-video\",\n \"input\": {\n \"prompt\": \"{{ $('Parse Idea Into Prompts').item.json.videoPrompt }}\",\n \"image_url\": \"{{ $json.images[0].url }}\",\n \"resolution\": \"480p\",\n \"duration\": \"8\",\n \"aspect_ratio\": \"9:16\",\n \"camera_fixed\": false,\n \"seed\": -1,\n \"enable_safety_checker\": true\n }\n}\n",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "raw",
"authentication": "genericCredentialType",
"rawContentType": "application/json",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "ho8ZjaYj1SY0icGT",
"name": "Kie AI"
}
},
"typeVersion": 4.2
},
{
"id": "2c3a1c91-8adc-4eba-ac10-108776a6276c",
"name": "์ค์ : ๋น๋์ค URL",
"type": "n8n-nodes-base.set",
"position": [
-272,
512
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={{\n JSON.stringify({\n url_video: (()=>{\n const o = JSON.parse($json.data.resultJson);\n return o?.resultObject?.video?.url\n || o?.resultUrls?.[0]\n || '';\n })()\n })\n}}\n"
},
"typeVersion": 3.4
},
{
"id": "ab226033-c1ab-4506-b9cf-2901b08ffb23",
"name": "Suno: ์์
์์ฑ",
"type": "n8n-nodes-base.httpRequest",
"position": [
64,
512
],
"parameters": {
"url": "https://api.kie.ai/api/v1/generate",
"body": "={\n \"model\": \"V3_5\",\n \"callBackUrl\": \"https://YOUR_DOMAIN.com/api/kie-callback\",\n \"customMode\": true,\n \"instrumental\": true,\n \"input\": {\n \"prompt\": \"{{ $('Parse Idea Into Prompts').item.json.musicPrompt }}\",\n \"style\": \"Classical\",\n \"title\": \"Peaceful Piano Meditation\",\n \"styleWeight\": 0.65,\n \"weirdnessConstraint\": 0.65,\n \"audioWeight\": 0.65\n }\n}\n",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "raw",
"authentication": "genericCredentialType",
"rawContentType": "application/json",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "ho8ZjaYj1SY0icGT",
"name": "Kie AI"
}
},
"typeVersion": 4.2
},
{
"id": "45950718-2989-409c-847d-fda4851b793c",
"name": "์ค์ : ์ค๋์ค URL",
"type": "n8n-nodes-base.set",
"position": [
704,
512
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "03eb77a5-6838-408e-9e6e-58242501c238",
"name": "url_audio",
"type": "string",
"value": "={{ $json.data.response.sunoData[0].audioUrl }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "74f7db08-09ce-4590-8d6e-44f3a9e21f47",
"name": "์์
ํ์ผ ๋ค์ด๋ก๋",
"type": "n8n-nodes-base.httpRequest",
"position": [
480,
512
],
"parameters": {
"url": "https://api.kie.ai/api/v1/generate/record-info",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "taskId",
"value": "={{ $json.data.taskId }}"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "ho8ZjaYj1SY0icGT",
"name": "Kie AI"
}
},
"typeVersion": 4.2
},
{
"id": "a6dac88d-9b62-4808-a22b-8a34c5e9fdf7",
"name": "๋๊ธฐ: ์์
๋ ๋๋ง",
"type": "n8n-nodes-base.wait",
"position": [
256,
512
],
"webhookId": "26c2098e-9adb-4d89-ab2a-fe03299d8ad2",
"parameters": {
"amount": 120
},
"typeVersion": 1.1
},
{
"id": "7dd8ac51-6121-4e6e-8d2d-bfef50f35d41",
"name": "์ค๋์ค + ๋น๋์ค ๋ณํฉ",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1008,
800
],
"parameters": {
"url": "https://queue.fal.run/fal-ai/ffmpeg-api/merge-audio-video",
"body": "= {\n \"video_url\": \"{{ $('Set: Video URL').item.json.url_video }}\",\n \"audio_url\": \"{{ $json.url_audio }}\",\n \"start_offset\": 0\n }\n",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "raw",
"authentication": "genericCredentialType",
"rawContentType": "application/json",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "kNULkYDcOZG3X0be",
"name": "Fal.ai"
}
},
"typeVersion": 4.2
},
{
"id": "41bd5d79-3bdd-4036-a8a8-59a41b2feabb",
"name": "๋๊ธฐ: ๋ณํฉ ํ๋ก์ธ์ค",
"type": "n8n-nodes-base.wait",
"position": [
-752,
800
],
"webhookId": "cdc66d12-12f4-460d-86e9-9fe5ec061e38",
"parameters": {
"amount": 2
},
"typeVersion": 1.1
},
{
"id": "1342bf6a-2f31-4748-b14c-6397423b6e0c",
"name": "๋ณํฉ ์ํ ํ์ธ",
"type": "n8n-nodes-base.httpRequest",
"position": [
-496,
800
],
"parameters": {
"url": "={{ $json.status_url }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "kNULkYDcOZG3X0be",
"name": "Fal.ai"
}
},
"typeVersion": 4.2
},
{
"id": "e8f55717-0f40-4dc4-80fa-d10749ff252d",
"name": "๋ณํฉ ์๋ฃ ์",
"type": "n8n-nodes-base.if",
"position": [
-272,
800
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4532b4f1-bd84-4896-b36b-929e925c80f7",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "COMPLETED"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "249b72cb-3239-4971-a412-549ff289ffed",
"name": "์ต์ข
๋น๋์ค ๋ค์ด๋ก๋",
"type": "n8n-nodes-base.httpRequest",
"position": [
480,
784
],
"parameters": {
"url": "={{ $json.video.url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "9e5eb804-fb80-42bf-a799-c3722c002e68",
"name": "๋ณํฉ ์ํ ํ์ธ II",
"type": "n8n-nodes-base.httpRequest",
"position": [
64,
784
],
"parameters": {
"url": "={{$json.response_url}}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "kNULkYDcOZG3X0be",
"name": "Fal.ai"
}
},
"typeVersion": 4.2
},
{
"id": "5731a023-3925-4f52-abe8-7a559438ecb8",
"name": "์ต์ข
๋น๋์ค๋ฅผ Google Drive์ ์
๋ก๋",
"type": "n8n-nodes-base.googleDrive",
"position": [
704,
784
],
"parameters": {
"name": "={{ $('Trigger: Receive Idea via Telegram').item.json.message.photo[2].file_unique_id }}",
"driveId": {
"__rl": true,
"mode": "id",
"value": "="
},
"options": {},
"folderId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gzeHMd64HAz6HBIe",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "1ff9308c-e41c-4fc2-868a-5e5a88cda8f6",
"name": "๋ธ๋๋ ์ค์ ์ฝ๊ธฐ",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1008,
1184
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "id",
"value": "="
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "51us92xkOlrvArhV",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "2073a516-f1e4-4013-ba0d-255d11d89e8f",
"name": "๋ธ๋๋ ์ ๋ณด ์ถ์ถ",
"type": "n8n-nodes-base.code",
"position": [
-848,
1184
],
"parameters": {
"jsCode": "const allRows = $input.all();\nreturn [{\njson: {\nproductName: allRows[0].json.col_2,\nproductCategory: allRows[1].json.col_2,\nmainOffer: allRows[2].json.col_2,\nkeyFeature1: allRows[3].json.col_2,\nkeyFeature2: allRows[4].json.col_2,\nwebsiteURL: allRows[5].json.col_2\n}\n}];"
},
"typeVersion": 2
},
{
"id": "bff88b3b-cf60-4154-a441-aa35155d8311",
"name": "๊ด๊ณ ์นดํผ๋ผ์ดํฐ ์์ฑ๊ธฐ (AI)",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-672,
1184
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "GPT-4O"
},
"options": {},
"messages": {
"values": [
{
"content": "=You are an expert ad copywriter for social media campaigns.\nYour task: Create compelling ad copy following this exact\nstructure:\n๐จ [Attention-grabbing headline with product benefit]\nโ [Primary offer/benefit]\nโ [Key product feature/quality]\nโ [Trust/credibility element]\n[Call to action] โ [website/link]\n# Input Variables:\nProduct Name: {{ $json.productName }}\nProduct Category: {{ $json.productCategory }}\nMain Offer: {{ $json.mainOffer }}\nKey Feature 1: {{ $json.keyFeature1 }}\nKey Feature 2: {{ $json.keyFeature2 }}\nWebsite URL: {{ $json.websiteURL }}\nRules:\n- Keep headline under 35 characters\n- Each checkmark line under 40 characters\n- Use power words that create urgency\n- Include specific product benefits, not generic claims\n- CTA must be action-oriented (Shop Now, Get Yours, Claim Offer,\netc.)\n- Output ONLY the ad copy text, no explanations\n- No quotes around the text\n- Maintain the emoji structure exactly as shown"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "6h3DfVhNPw9I25nO",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "a365514a-114f-4919-a84f-c921796717dd",
"name": "๊ด๊ณ ๋ฐ์ดํฐ๋ฅผ Google Sheets์ ์ ์ฅ",
"type": "n8n-nodes-base.googleSheets",
"position": [
-336,
1184
],
"parameters": {
"columns": {
"value": {
"STATUS": "CREATE",
"ADS TEXT": "={{ $json.message.content }}",
"ID IMAGE": "={{ $node[\"Trigger: Receive Idea via Telegram\"].json.message.photo[2].file_unique_id }}\n",
"URL IMAGE": "={{ $node[\"Download Edited Image\"].json.images[0].url }}\n",
"URL VIDEO": "={{ $node[\"Set: Video URL\"].json.url_video }}\n",
"URL FINAL VIDEO": "={{ $node[\"Download Final Video\"].json.video.url }}\n"
},
"schema": [
{
"id": "ID IMAGE",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ID IMAGE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL IMAGE",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "URL IMAGE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL VIDEO",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "URL VIDEO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL FINAL VIDEO",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "URL FINAL VIDEO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ADS TEXT",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ADS TEXT",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "STATUS",
"type": "string",
"display": true,
"required": false,
"displayName": "STATUS",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"ID IMAGE"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "id",
"value": "="
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "51us92xkOlrvArhV",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "60791963-3ba2-4ad2-b88a-4047e7d5564f",
"name": "์์
๋ฏธ๋์ด์ ๋น๋์ค ๊ฒ์ (FB, TikTok, YT)",
"type": "n8n-nodes-upload-post.uploadPost",
"position": [
288,
1184
],
"parameters": {
"user": "DRFIRAS",
"title": "={{ $('Parse Idea Into Prompts').first().json.textOverlay }}",
"video": "={{ $('Upload Final Video to Google Drive').first().json.webContentLink }}",
"caption": "={{ $('Ads Copywriter Generator (AI)').item.json.message.content }}",
"platform": [
"facebook",
"tiktok",
"youtube"
],
"operation": "uploadVideo",
"facebookPageId": "101603614680195",
"youtubeDescription": "={{ $('Ads Copywriter Generator (AI)').item.json.message.content }}",
"youtubePrivacyStatus": "private",
"facebookVideoDescription": "={{ $('Ads Copywriter Generator (AI)').item.json.message.content }}"
},
"credentials": {
"uploadPostApi": {
"id": "tx0iFC5hVeA9z2YP",
"name": "Upload Post account"
}
},
"typeVersion": 1
},
{
"id": "0de87c01-99eb-4f3c-8b7d-46fedccfa680",
"name": "๊ฒ์ ์ํ๋ฅผ Google Sheets์ ์ ์ฅ",
"type": "n8n-nodes-base.googleSheets",
"position": [
496,
1184
],
"parameters": {
"columns": {
"value": {
"STATUS": "Published",
"ID IMAGE": "={{ $node[\"Trigger: Receive Idea via Telegram\"].json.message.photo[2].file_unique_id }}"
},
"schema": [
{
"id": "ID IMAGE",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ID IMAGE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL IMAGE",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "URL IMAGE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL VIDEO",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "URL VIDEO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL FINAL VIDEO",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "URL FINAL VIDEO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ADS TEXT",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "ADS TEXT",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "STATUS",
"type": "string",
"display": true,
"required": false,
"displayName": "STATUS",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"ID IMAGE"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "id",
"value": "="
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "51us92xkOlrvArhV",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "51b8f1ef-971b-4fb1-838f-b394d6e90456",
"name": "์๊ฐ",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
224,
192
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "a577cb57-4900-42b1-b1af-03d49d7125d8",
"name": "์คํฐํค ๋
ธํธ10",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1792,
-224
],
"parameters": {
"color": 6,
"width": 700,
"height": 1652,
"content": "# ๐ฅ Create Viral Ads with NanoBanana & Seedance โ Publish on Socials via Upload-Post (By Dr. Firas)\n\n---\n\n## ๐ฅ Full Tutorial \n\n## [Video Tutorial](https://youtu.be/4ec9WDCz9CY) \n@[youtube](4ec9WDCz9CY)\n\n---\n\n## ๐ Documentation \nAccรฉdez aux instructions dรฉtaillรฉes, guides API, connexions de plateformes et personnalisation du workflow : \n\n๐ [Open full documentation on Notion](https://automatisation.notion.site/Create-viral-Ads-with-NanoBanana-Seedance-publish-on-socials-via-upload-post-2683d6550fd980ffa23ee340fdb3285e?source=copy_link)\n\n---\n\n## โ๏ธ Requirements\n\n1. โ
**Create an [Upload-Post](https://www.upload-post.com/) account** (Pro plan required for API access) \n2. ๐ **Generate your Upload-Post API Key** inside your dashboard (`Settings > API Keys`) \n3. ๐ฆ **Have n8n installed** (latest version recommended) \n4. ๐งฉ **Install the Upload-Post node** in n8n ([integration here](https://n8n.io/integrations/upload-post/)) \n5. ๐ **Create Upload-Post API credentials** inside your n8n credentials tab \n6. ๐ **Prepare your video asset** generated with **NanoBanana** + enhanced by **Seedance** \n7. โ๏ธ **Ensure video source is accessible** (public Drive, S3, or binary data in n8n) \n8. ๐ **Follow the official [Upload-Post documentation](https://www.upload-post.com/)** for parameters and setup \n9. ๐ **Duplicate this Google Sheet template** to log your ads: \n [Google Sheets ร copier](https://docs.google.com/spreadsheets/d/1TCebBvfgvVJyxYXeOiFVpg0RJGP38CpLKNxcOiRwbfQ/edit?usp=sharing)\n\n---\n\n## ๐ Workflow Steps in n8n\n\n1. **Trigger / Start Node** \n Example: new video in Google Drive, or manual execution. \n\n2. **Content Creation** \n - NanoBanana generates the creative (image/video/voice). \n - Seedance adds effects, transitions, and ad-style polish. \n\n3. **Upload-Post Node / HTTP Request** \n Configure Upload-Post to send the final video to TikTok, Instagram, YouTube, etc. \n\n---\n\n### โก Example Configuration (HTTP Request Node)\n\n**Method:** `POST` \n**URL:** `https://api.upload-post.com/api/upload` \n**Headers:** \n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "e9f05d86-a1c9-4a5e-bcf7-df21cb5d3aad",
"connections": {
"51b8f1ef-971b-4fb1-838f-b394d6e90456": {
"ai_tool": [
[
{
"node": "ebaf73ce-731e-4e06-bf55-f15f18e101fe",
"type": "ai_tool",
"index": 0
}
]
]
},
"45950718-2989-409c-847d-fda4851b793c": {
"main": [
[
{
"node": "7dd8ac51-6121-4e6e-8d2d-bfef50f35d41",
"type": "main",
"index": 0
}
]
]
},
"2c3a1c91-8adc-4eba-ac10-108776a6276c": {
"main": [
[
{
"node": "ab226033-c1ab-4506-b9cf-2901b08ffb23",
"type": "main",
"index": 0
}
]
]
},
"9cf13394-f27b-4c28-9894-695cb705d1be": {
"ai_languageModel": [
[
{
"node": "ebaf73ce-731e-4e06-bf55-f15f18e101fe",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"1342bf6a-2f31-4748-b14c-6397423b6e0c": {
"main": [
[
{
"node": "e8f55717-0f40-4dc4-80fa-d10749ff252d",
"type": "main",
"index": 0
}
]
]
},
"2073a516-f1e4-4013-ba0d-255d11d89e8f": {
"main": [
[
{
"node": "bff88b3b-cf60-4154-a441-aa35155d8311",
"type": "main",
"index": 0
}
]
]
},
"e8f55717-0f40-4dc4-80fa-d10749ff252d": {
"main": [
[
{
"node": "9e5eb804-fb80-42bf-a799-c3722c002e68",
"type": "main",
"index": 0
}
],
[
{
"node": "41bd5d79-3bdd-4036-a8a8-59a41b2feabb",
"type": "main",
"index": 0
}
]
]
},
"271188a5-fcd6-43fb-b382-c53e3833213e": {
"main": [
[
{
"node": "c32d6586-6730-404d-9d82-eb782e32fa12",
"type": "main",
"index": 0
}
]
]
},
"74f7db08-09ce-4590-8d6e-44f3a9e21f47": {
"main": [
[
{
"node": "45950718-2989-409c-847d-fda4851b793c",
"type": "main",
"index": 0
}
]
]
},
"7dd8ac51-6121-4e6e-8d2d-bfef50f35d41": {
"main": [
[
{
"node": "41bd5d79-3bdd-4036-a8a8-59a41b2feabb",
"type": "main",
"index": 0
}
]
]
},
"1ff9308c-e41c-4fc2-868a-5e5a88cda8f6": {
"main": [
[
{
"node": "2073a516-f1e4-4013-ba0d-255d11d89e8f",
"type": "main",
"index": 0
}
]
]
},
"38e06e0c-ffd0-42fd-b6bb-1903931d43d1": {
"main": [
[
{
"node": "8cb4ec4e-1d1f-4f6b-89d0-4dcb294d85a8",
"type": "main",
"index": 0
}
]
]
},
"41bd5d79-3bdd-4036-a8a8-59a41b2feabb": {
"main": [
[
{
"node": "1342bf6a-2f31-4748-b14c-6397423b6e0c",
"type": "main",
"index": 0
}
]
]
},
"249b72cb-3239-4971-a412-549ff289ffed": {
"main": [
[
{
"node": "5731a023-3925-4f52-abe8-7a559438ecb8",
"type": "main",
"index": 0
}
]
]
},
"ab226033-c1ab-4506-b9cf-2901b08ffb23": {
"main": [
[
{
"node": "a6dac88d-9b62-4808-a22b-8a34c5e9fdf7",
"type": "main",
"index": 0
}
]
]
},
"9e5eb804-fb80-42bf-a799-c3722c002e68": {
"main": [
[
{
"node": "249b72cb-3239-4971-a412-549ff289ffed",
"type": "main",
"index": 0
}
]
]
},
"8cb4ec4e-1d1f-4f6b-89d0-4dcb294d85a8": {
"main": [
[
{
"node": "97832793-340b-41ee-ae40-1a1633597ac3",
"type": "main",
"index": 0
},
{
"node": "2ce93a63-78e9-4270-9581-b571d7c84394",
"type": "main",
"index": 0
}
]
]
},
"ebaf73ce-731e-4e06-bf55-f15f18e101fe": {
"main": [
[
{
"node": "9d0412cc-55cf-437f-a2aa-87f8a02f52a6",
"type": "main",
"index": 0
}
]
]
},
"a6dac88d-9b62-4808-a22b-8a34c5e9fdf7": {
"main": [
[
{
"node": "74f7db08-09ce-4590-8d6e-44f3a9e21f47",
"type": "main",
"index": 0
}
]
]
},
"3e7bacee-43d5-4612-9126-2c44ab0275e3": {
"main": [
[
{
"node": "ebaf73ce-731e-4e06-bf55-f15f18e101fe",
"type": "main",
"index": 0
}
]
]
},
"9d0412cc-55cf-437f-a2aa-87f8a02f52a6": {
"main": [
[
{
"node": "38e06e0c-ffd0-42fd-b6bb-1903931d43d1",
"type": "main",
"index": 0
}
]
]
},
"54650c76-a045-40a3-8aa1-9e96a2cab303": {
"main": [
[
{
"node": "60791963-3ba2-4ad2-b88a-4047e7d5564f",
"type": "main",
"index": 0
}
]
]
},
"e8ef42d0-825f-43a3-91a3-6f0921f77fcd": {
"main": [
[
{
"node": "d768709c-4dd1-4698-a653-5aafd58e2126",
"type": "main",
"index": 0
}
]
]
},
"d768709c-4dd1-4698-a653-5aafd58e2126": {
"main": [
[
{
"node": "3e7bacee-43d5-4612-9126-2c44ab0275e3",
"type": "main",
"index": 0
}
]
]
},
"06b3d1aa-90df-4ca0-ac5e-732cce1a6f3a": {
"main": [
[
{
"node": "54650c76-a045-40a3-8aa1-9e96a2cab303",
"type": "main",
"index": 0
}
]
]
},
"c32d6586-6730-404d-9d82-eb782e32fa12": {
"main": [
[
{
"node": "2c3a1c91-8adc-4eba-ac10-108776a6276c",
"type": "main",
"index": 0
}
]
]
},
"bff88b3b-cf60-4154-a441-aa35155d8311": {
"main": [
[
{
"node": "a365514a-114f-4919-a84f-c921796717dd",
"type": "main",
"index": 0
}
]
]
},
"657506bc-4d83-4b76-938a-eb649601c639": {
"ai_outputParser": [
[
{
"node": "ebaf73ce-731e-4e06-bf55-f15f18e101fe",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"a365514a-114f-4919-a84f-c921796717dd": {
"main": [
[
{
"node": "06b3d1aa-90df-4ca0-ac5e-732cce1a6f3a",
"type": "main",
"index": 0
}
]
]
},
"2ce93a63-78e9-4270-9581-b571d7c84394": {
"main": [
[
{
"node": "05e3c5a5-2bb8-47a5-aa3d-057512ca99e2",
"type": "main",
"index": 0
}
]
]
},
"efc613ab-75d1-4676-8903-ac2f8f4ea428": {
"main": [
[
{
"node": "e8ef42d0-825f-43a3-91a3-6f0921f77fcd",
"type": "main",
"index": 0
}
]
]
},
"5731a023-3925-4f52-abe8-7a559438ecb8": {
"main": [
[
{
"node": "1ff9308c-e41c-4fc2-868a-5e5a88cda8f6",
"type": "main",
"index": 0
}
]
]
},
"97832793-340b-41ee-ae40-1a1633597ac3": {
"main": [
[
{
"node": "271188a5-fcd6-43fb-b382-c53e3833213e",
"type": "main",
"index": 0
}
]
]
},
"0de87c01-99eb-4f3c-8b7d-46fedccfa680": {
"main": [
[
{
"node": "06d8b993-88a7-4c72-bd87-b18afe7de32a",
"type": "main",
"index": 0
}
]
]
},
"60791963-3ba2-4ad2-b88a-4047e7d5564f": {
"main": [
[
{
"node": "0de87c01-99eb-4f3c-8b7d-46fedccfa680",
"type": "main",
"index": 0
}
]
]
}
}
}์ด ์ํฌํ๋ก์ฐ๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์?
์์ JSON ๊ตฌ์ฑ ์ฝ๋๋ฅผ ๋ณต์ฌํ์ฌ n8n ์ธ์คํด์ค์์ ์ ์ํฌํ๋ก์ฐ๋ฅผ ์์ฑํ๊ณ "JSON์์ ๊ฐ์ ธ์ค๊ธฐ"๋ฅผ ์ ํํ ํ, ๊ตฌ์ฑ์ ๋ถ์ฌ๋ฃ๊ณ ํ์์ ๋ฐ๋ผ ์ธ์ฆ ์ค์ ์ ์์ ํ์ธ์.
์ด ์ํฌํ๋ก์ฐ๋ ์ด๋ค ์๋๋ฆฌ์ค์ ์ ํฉํ๊ฐ์?
๊ณ ๊ธ - ๊ธฐํ, ๋ฉํฐ๋ชจ๋ฌ AI
์ ๋ฃ์ธ๊ฐ์?
์ด ์ํฌํ๋ก์ฐ๋ ์์ ํ ๋ฌด๋ฃ์ด๋ฉฐ ์ง์ ๊ฐ์ ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ค๋ง, ์ํฌํ๋ก์ฐ์์ ์ฌ์ฉํ๋ ํ์ฌ ์๋น์ค(์: OpenAI API)๋ ์ฌ์ฉ์ ์ง์ ๋น์ฉ์ ์ง๋ถํด์ผ ํ ์ ์์ต๋๋ค.
๊ด๋ จ ์ํฌํ๋ก์ฐ ์ถ์ฒ
Dr. Firas
@drfirasAutomation 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. ๐
์ด ์ํฌํ๋ก์ฐ ๊ณต์