여러 참조 이미지에서 창의적인 광고 이미지 생성
고급
이것은Miscellaneous, Multimodal AI분야의자동화 워크플로우로, 20개의 노드를 포함합니다.주로 If, Set, Code, Wait, FormTrigger 등의 노드를 사용하며. 사용자 Seedream v4를 통해 참고 이미지에서 Instagram과 Facebook 광고 이미지 생성
사전 요구사항
- •Google Drive API 인증 정보
- •대상 API의 인증 정보가 필요할 수 있음
- •OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "iVrdFL6VgI0UgfnX",
"meta": {
"instanceId": "a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462",
"templateCredsSetupCompleted": true
},
"name": "Generate creative ADV image from your multiple image references",
"tags": [],
"nodes": [
{
"id": "8c02f25d-6c9f-4491-99b8-8f09d1cf3341",
"name": "스티커 메모3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
-480
],
"parameters": {
"color": 3,
"width": 740,
"height": 312,
"content": "# Generate creative ADV image from your multiple image references \n\nThis workflow automates the process of **generating advertising (ADV)** images from multiple reference images and publishing them directly to social media (**Instagram** and **Facebook** with [Upload-Post](https://www.upload-post.com/?linkId=lp_144414&sourceId=n3witalia&tenantId=upload-post-app)) with **Seedream v4** AI.\n\nThis workflow automates the process of generating an AI image based on a user's text prompt and up to 6 reference images. The process is triggered by a user submitting a web form.\n\n\n\n"
},
"typeVersion": 1
},
{
"id": "a4d0dae9-43cc-455f-99fb-2464d7b0b04b",
"name": "스티커 메모5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
320
],
"parameters": {
"width": 740,
"height": 100,
"content": "## STEP 2 - MAIN FLOW\nStart the workflow manually or periodically by hooking the \"Schedule Trigger\" node. It is recommended to set it at 5 minute intervals."
},
"typeVersion": 1
},
{
"id": "e49bf79e-cc29-447b-a37a-7e97fff2d2d8",
"name": "스티커 메모6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
-128
],
"parameters": {
"width": 740,
"height": 140,
"content": "## STEP 1 - GET API KEY (YOURAPIKEY)\nCreate an account [here](https://fal.ai/) and obtain API KEY.\nIn the node \"Create Image\" set \"Header Auth\" and set:\n- Name: \"Authorization\"\n- Value: \"Key YOURAPIKEY\""
},
"typeVersion": 1
},
{
"id": "1daab616-0c5e-44a6-8395-45c11c6f3b7c",
"name": "스티커 메모8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
48
],
"parameters": {
"width": 740,
"height": 232,
"content": "## STEP 2 - Upload video on Instagram and Facebook\n- Find your API key in your [Upload-Post Manage Api Keys](https://www.upload-post.com/?linkId=lp_144414&sourceId=n3witalia&tenantId=upload-post-app) 10 FREE uploads per month\n- Set the the \"Auth Header\":\n-- Name: Authorization\n-- Value: Apikey YOUR_API_KEY_HERE\n- Create profiles to manage your social media accounts. The \"Profile\" you choose will be used in the field YOUR_USRNAME (eg. test1 or test2). \n\n\nThe free plan allows uploads to all platforms except TikTok. To enable, please upgrade to a paid plan."
},
"typeVersion": 1
},
{
"id": "c2ec6ba1-cc64-42e0-b4ec-451192a58da4",
"name": "스티커 메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
-480
],
"parameters": {
"color": 4,
"width": 736,
"height": 896,
"content": "## Example On Form Submit\nPrompt:\nThe girl is showing a pair of shoes to the monkey in the forest\n\nReference images:\nhttps://n3wstorage.b-cdn.net/n3witalia/result3.png,\nhttps://n3wstorage.b-cdn.net/n3witalia/shoes.png,\nhttps://n3wstorage.b-cdn.net/n3witalia/monkey.jpeg\n\nResult:\n\n\n"
},
"typeVersion": 1
},
{
"id": "fa13b896-e1ab-417d-a9a4-c1ec002c661b",
"name": "상태 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
944,
544
],
"parameters": {
"url": "=https://queue.fal.run/fal-ai/bytedance/requests/{{ $('Create Video').item.json.request_id }}/status ",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "daOZafXpRXLtoLUV",
"name": "Fal.run API"
}
},
"typeVersion": 4.2
},
{
"id": "166d0035-7490-4bb1-807b-44f2ee0e2683",
"name": "60초 대기",
"type": "n8n-nodes-base.wait",
"position": [
768,
544
],
"webhookId": "fc935720-a6b1-458b-9142-e79b039c7de3",
"parameters": {
"amount": 60
},
"typeVersion": 1.1
},
{
"id": "521a3631-8e04-4ff9-84dd-3957beb5f27c",
"name": "완료됨?",
"type": "n8n-nodes-base.if",
"position": [
1120,
544
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "383d112e-2cc6-4dd4-8985-f09ce0bd1781",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "COMPLETED"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "1818397a-b027-47fe-b392-5518b80d96d1",
"name": "데이터 설정",
"type": "n8n-nodes-base.set",
"position": [
320,
544
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "c713d31f-9abd-496a-ac79-e8e2efe60aa0",
"name": "prompt",
"type": "string",
"value": "={{ $('On form submission').item.json.Prompt }}"
},
{
"id": "2308096c-702f-4ed1-9de3-c77d9685609e",
"name": "reference_images",
"type": "array",
"value": "={{ $json.reference_image_urls }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a8dbf5d9-5054-4897-ac44-0e3e08a4038e",
"name": "스티커 메모7",
"type": "n8n-nodes-base.stickyNote",
"position": [
496,
480
],
"parameters": {
"width": 180,
"height": 200,
"content": "Set API Key created in Step 1"
},
"typeVersion": 1
},
{
"id": "f40dd07e-9fba-4393-84f1-f472f00809b8",
"name": "비디오 생성",
"type": "n8n-nodes-base.httpRequest",
"position": [
544,
544
],
"parameters": {
"url": "https://queue.fal.run/fal-ai/bytedance/seedream/v4/edit",
"method": "POST",
"options": {},
"jsonBody": "={\n \"prompt\": \"{{ $json.prompt }}\",\n \"image_urls\": {{ $json.reference_images.toJsonString() }},\n \"image_size\": {\n \"height\": 1280,\n \"width\": 1280\n },\n \"num_images\": 1,\n \"max_images\": 1,\n \"enable_safety_checker\": true\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "daOZafXpRXLtoLUV",
"name": "Fal.run API"
}
},
"typeVersion": 4.2
},
{
"id": "b0988738-207f-457b-9c6e-26698405b923",
"name": "제목 생성",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
128,
928
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "GPT-4O-MINI"
},
"options": {},
"messages": {
"values": [
{
"content": "=Input: {{ $('Set data').item.json.prompt }}"
},
{
"role": "system",
"content": "You are a YouTube SEO expert specialized in creating engaging and optimized titles.\n\nYour task is to generate an effective title for a YouTube video based on the user's video description.\n\nGUIDELINES:\n- Maximum 60 characters to avoid truncation\n- Use relevant keywords for SEO\n- Make the title catchy and clickable\n- Avoid excessive or misleading clickbait\n- Consider the target audience of the content\n- Use numbers, questions, or power words when appropriate\n- IMPORTANT: Generate the title in the same language as the input description\n\nOUTPUT FORMAT:\nProvide only the title, without additional explanations.\n\nEXAMPLE:\nInput: \"Tutorial video on how to cook perfect pasta carbonara\"\nOutput: \"PERFECT Carbonara in 10 Minutes - Chef's Secrets\""
}
]
}
},
"credentials": {
"openAiApi": {
"id": "XJTqRiKFJpFs5MuX",
"name": "OpenRouter account"
}
},
"typeVersion": 1.8
},
{
"id": "ad54e7e5-4eaf-43b8-9f28-e5bc8b022c54",
"name": "스티커 메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
768,
960
],
"parameters": {
"width": 180,
"height": 408,
"content": "Set YOUR_USERNAME in Step 2"
},
"typeVersion": 1
},
{
"id": "4f077650-7887-4d02-b16b-64a4f47c452b",
"name": "폼 제출 시",
"type": "n8n-nodes-base.formTrigger",
"position": [
-96,
544
],
"webhookId": "3e1755d7-4963-4891-838a-46d301429da3",
"parameters": {
"options": {},
"formTitle": "Reference to video",
"formFields": {
"values": [
{
"fieldLabel": "Prompt",
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "Reference images",
"requiredField": true
}
]
},
"formDescription": "In \"Refernce images\" add url images separated by comma (the last one without) eg:\n\nhttps://url.com/1.jpg,\nhttps://url.com/1.jpg,\nhttps://url.com/1.jpg\n"
},
"typeVersion": 2.2
},
{
"id": "d29f1819-9e31-4cb8-b9f4-fd1ed5b34989",
"name": "배열",
"type": "n8n-nodes-base.code",
"position": [
112,
544
],
"parameters": {
"jsCode": "const inputString = $json[\"Reference images\"];\n\nconst urlsArray = inputString\n .split(/,\\s*|\\r\\n+/) // divide su virgole e newline\n .filter(url => url.trim() !== \"\");\n\nreturn [\n {\n json: {\n reference_image_urls: urlsArray\n }\n }\n];"
},
"typeVersion": 2
},
{
"id": "139a76f3-1de2-4959-8157-2f37709e1f34",
"name": "Post to Instagram",
"type": "n8n-nodes-base.httpRequest",
"position": [
784,
1024
],
"parameters": {
"url": "https://api.upload-post.com/api/upload",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "title",
"value": "={{ $('Generate title').item.json.message.content }}"
},
{
"name": "user",
"value": "YOUR_USERNAME"
},
{
"name": "platform[]",
"value": "instagram"
},
{
"name": "image",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "RfHIslxMFRjQZ043",
"name": "Youtube Transcript Extractor API 1"
}
},
"typeVersion": 4.2
},
{
"id": "9be2b560-26f3-46a0-a76c-9e0a0dbdd7a0",
"name": "이미지 업로드",
"type": "n8n-nodes-base.googleDrive",
"position": [
784,
800
],
"parameters": {
"name": "={{ $now.format('yyyyLLddHHmmss') }}-{{ $('Get Url Image').item.json.video.file_name }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1aHRwLWyrqfzoVC8HoB-YMrBvQ4tLC-NZ",
"cachedResultUrl": "https://drive.google.com/drive/folders/1aHRwLWyrqfzoVC8HoB-YMrBvQ4tLC-NZ",
"cachedResultName": "Fal.run"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "HEy5EuZkgPZVEa9w",
"name": "Google Drive account (n3w.it)"
}
},
"typeVersion": 3
},
{
"id": "20d5d6e0-08d5-43d3-a0cc-f2ed5c541eca",
"name": "URL 이미지 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
-128,
928
],
"parameters": {
"url": "=https://queue.fal.run/fal-ai/bytedance/requests/{{ $json.request_id }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "daOZafXpRXLtoLUV",
"name": "Fal.run API"
}
},
"typeVersion": 4.2
},
{
"id": "fbdbbc54-2af3-40e5-bbd1-d09327a8e2e2",
"name": "파일 이미지 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
480,
928
],
"parameters": {
"url": "={{ $('Get Url Image').item.json.images.url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "ee69cde0-cb06-4f70-bff6-2a20b99ddf23",
"name": "Post to Facebook",
"type": "n8n-nodes-base.httpRequest",
"position": [
784,
1216
],
"parameters": {
"url": "https://api.upload-post.com/api/upload",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "title",
"value": "={{ $('Generate title').item.json.message.content }}"
},
{
"name": "user",
"value": "YOUR_USERNAME"
},
{
"name": "platform[]",
"value": "facebook"
},
{
"name": "image",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "DEE2XGvhGodgbAJh",
"name": "Upload-post.com API"
}
},
"typeVersion": 4.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "34ad7d56-5a0d-4252-8f01-752565d20273",
"connections": {
"d29f1819-9e31-4cb8-b9f4-fd1ed5b34989": {
"main": [
[
{
"node": "1818397a-b027-47fe-b392-5518b80d96d1",
"type": "main",
"index": 0
}
]
]
},
"1818397a-b027-47fe-b392-5518b80d96d1": {
"main": [
[
{
"node": "f40dd07e-9fba-4393-84f1-f472f00809b8",
"type": "main",
"index": 0
}
]
]
},
"521a3631-8e04-4ff9-84dd-3957beb5f27c": {
"main": [
[
{
"node": "20d5d6e0-08d5-43d3-a0cc-f2ed5c541eca",
"type": "main",
"index": 0
}
],
[
{
"node": "166d0035-7490-4bb1-807b-44f2ee0e2683",
"type": "main",
"index": 0
}
]
]
},
"fa13b896-e1ab-417d-a9a4-c1ec002c661b": {
"main": [
[
{
"node": "521a3631-8e04-4ff9-84dd-3957beb5f27c",
"type": "main",
"index": 0
}
]
]
},
"f40dd07e-9fba-4393-84f1-f472f00809b8": {
"main": [
[
{
"node": "166d0035-7490-4bb1-807b-44f2ee0e2683",
"type": "main",
"index": 0
}
]
]
},
"166d0035-7490-4bb1-807b-44f2ee0e2683": {
"main": [
[
{
"node": "fa13b896-e1ab-417d-a9a4-c1ec002c661b",
"type": "main",
"index": 0
}
]
]
},
"20d5d6e0-08d5-43d3-a0cc-f2ed5c541eca": {
"main": [
[
{
"node": "b0988738-207f-457b-9c6e-26698405b923",
"type": "main",
"index": 0
}
]
]
},
"b0988738-207f-457b-9c6e-26698405b923": {
"main": [
[
{
"node": "fbdbbc54-2af3-40e5-bbd1-d09327a8e2e2",
"type": "main",
"index": 0
}
]
]
},
"fbdbbc54-2af3-40e5-bbd1-d09327a8e2e2": {
"main": [
[
{
"node": "9be2b560-26f3-46a0-a76c-9e0a0dbdd7a0",
"type": "main",
"index": 0
},
{
"node": "139a76f3-1de2-4959-8157-2f37709e1f34",
"type": "main",
"index": 0
},
{
"node": "ee69cde0-cb06-4f70-bff6-2a20b99ddf23",
"type": "main",
"index": 0
}
]
]
},
"4f077650-7887-4d02-b16b-64a4f47c452b": {
"main": [
[
{
"node": "d29f1819-9e31-4cb8-b9f4-fd1ed5b34989",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 기타, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
여러 참조 이미지에서 비디오 스케치 생성
사용 Fal.ai VIDU 참조 이미지로 바이러스적인 비디오 생성 및 YouTube/TikTok에 업로드
If
Set
Code
+
If
Set
Code
20 노드Davide
콘텐츠 제작
입술 동기화 비디오 생성
Infinitalk AI를 사용하여 입술 동기화 virtually image 비디오를 생성하고 TikTok/YouTube에 업로드
If
Set
Wait
+
If
Set
Wait
18 노드Davide
콘텐츠 제작
대화형 가상 인물 비디오 생성 및 TikTok에 게시
Elevenlabs와 Infinitalk을 사용하여 말할 수 있는 가상 인물 비디오를 만들고 TikTok에 자동으로 게시하기
If
Set
Wait
+
If
Set
Wait
24 노드Davide
콘텐츠 제작
Google Veo3 Fast를 사용하여 더 저렴한 비디오 생성 및 소셜 미디어 업로드
Veo3 Fast를 통해 저비용 AI 비디오 생성 및 YouTube, TikTok 업로드
If
Set
Wait
+
If
Set
Wait
23 노드Davide
콘텐츠 제작
💥NanoBanana와 Seedance를 사용하여 바이러스적인 광고 생성, VIDE II를 통해 소셜 미디어에 upload-post게시
사용 AI로 바이러스적인 멀티미디어 광고 생성: NanoBanana, Seedance, Suno를 소셜 미디어에 사용
If
Set
Code
+
If
Set
Code
45 노드Dr. Firas
기타
Google Veo3 Fast를 사용하여 비디오 생성并통해 Postiz로 TikTok에 업로드
Google Veo3 Fast와 Postiz를 사용하여 저비용 바이러스성 AI 비디오 생성 TikTok
If
Set
Wait
+
If
Set
Wait
22 노드Davide
콘텐츠 제작
워크플로우 정보
난이도
고급
노드 수20
카테고리2
노드 유형9
저자
Davide
@n3witaliaFull-stack Web Developer based in Italy specialising in Marketing & AI-powered automations. For business enquiries, send me an email at info@n3w.it or add me on Linkedin.com/in/davideboizza
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유