Instagram Reels 자동화
고급
이것은AI분야의자동화 워크플로우로, 21개의 노드를 포함합니다.주로 Code, Wait, Airtable, GoogleDrive, HttpRequest 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. 간소화된 콘텐츠 생성 및 Instagram Reels 자동화
사전 요구사항
- •Airtable API Key
- •Google Drive API 인증 정보
- •대상 API의 인증 정보가 필요할 수 있음
- •Facebook Graph API 인증 정보
- •Google Gemini API Key
사용된 노드 (21)
카테고리
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "67849de66331aaa2dca6a4f3cbf793b274f923d94e4d9cdaae2e5d9aebaff626",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "e56fcbb9-2ede-4fa0-91b1-565b41e45ec9",
"name": "Google 드라이브 폴더 트리거에 게시 파일 업로드",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
-860,
-640
],
"parameters": {
"event": "fileCreated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyX",
"unit": "minutes",
"value": 1
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "YOUR_FOLDER_ID",
"cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_FOLDER_ID",
"cachedResultName": "n8n reels automation on instagram"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "YOUR_GOOGLE_DRIVE_CREDENTIAL_ID",
"name": "Google Drive account"
}
},
"typeVersion": 1
},
{
"id": "14f7c794-938e-4c19-ba7d-9df7c8db2713",
"name": "N8N에서 게시 파일 다운로드 (Google 드라이브 노드)",
"type": "n8n-nodes-base.googleDrive",
"position": [
-500,
-280
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "YOUR_GOOGLE_DRIVE_CREDENTIAL_ID",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "8edf7ec7-06c5-47f5-8f35-e294af1256df",
"name": "Google Gemini 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-420,
180
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash-001"
},
"credentials": {
"googlePalmApi": {
"id": "YOUR_GOOGLE_GEMINI_CREDENTIAL_ID",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "1f09b5fc-331b-4914-9b2f-598f5a492722",
"name": "AI 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-140,
-680
],
"parameters": {
"text": "=Generate an engaging Instagram caption for a video titled \"{{ $json.processedFileName }}\".\n\nHere's what to include:\n- 2-3 engaging sentences with appropriate emojis.\n- 3-5 relevant hashtags based on the video title.\n- A clear call-to-action encouraging comments.\n\nPlease keep the total caption under 150 characters.\n\nYou are skilled at writing clear, engaging, and detailed captions based on just a file name. Help viewers understand and appreciate the post. The tone should be relatable and suitable for an Instagram audience. Avoid using too many whimsical words or excessive adjectives. Focus on encouraging people to connect with the post and respond in the comments.",
"options": {},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "4289ddbe-71f0-49bb-98e8-fbe0899f4ad4",
"name": "Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
260,
-660
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "YOUR_AIRTABLE_BASE_ID",
"cachedResultUrl": "https://airtable.com/YOUR_AIRTABLE_BASE_ID",
"cachedResultName": "IG reels"
},
"table": {
"__rl": true,
"mode": "list",
"value": "YOUR_AIRTABLE_TABLE_ID",
"cachedResultUrl": "https://airtable.com/YOUR_AIRTABLE_BASE_ID/YOUR_AIRTABLE_TABLE_ID",
"cachedResultName": "Table 1"
},
"columns": {
"value": {
"URL": "={{ $('Code').item.json.processedWebContentLink }}",
"Name": "={{ $('Code').item.json.processedFileName }}",
"Caption": "={{ $json.output }}"
},
"schema": [
{
"id": "Name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Caption",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Caption",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "URL",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "YOUR_AIRTABLE_CREDENTIAL_ID",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "b7c45adb-ae7e-4497-b261-e37b0437a70c",
"name": "컨테이너",
"type": "n8n-nodes-base.facebookGraphApi",
"position": [
540,
-560
],
"parameters": {
"edge": "media",
"node": "YOUR_FACEBOOK_PAGE_ID",
"options": {
"queryParameters": {
"parameter": [
{
"name": "video_url",
"value": "={{ $json.fields.URL }}"
},
{
"name": "media_type",
"value": "REELS"
},
{
"name": "caption",
"value": "={{ $('AI Agent').item.json.output }}"
}
]
}
},
"graphApiVersion": "v22.0",
"httpRequestMethod": "POST"
},
"credentials": {
"facebookGraphApi": {
"id": "YOUR_FACEBOOK_GRAPH_CREDENTIAL_ID",
"name": "Facebook Graph account"
}
},
"typeVersion": 1
},
{
"id": "80ba05f1-127d-4a79-9be7-d05f13287568",
"name": "IG에 게시",
"type": "n8n-nodes-base.facebookGraphApi",
"position": [
1060,
-380
],
"parameters": {
"edge": "media_publish",
"node": "YOUR_FACEBOOK_PAGE_ID",
"options": {
"queryParameters": {
"parameter": [
{
"name": "creation_id",
"value": "={{ $json.id }}"
}
]
}
},
"graphApiVersion": "v22.0",
"httpRequestMethod": "POST"
},
"credentials": {
"facebookGraphApi": {
"id": "YOUR_FACEBOOK_GRAPH_CREDENTIAL_ID",
"name": "Facebook Graph account"
}
},
"typeVersion": 1
},
{
"id": "cdcef117-9334-4683-90a1-cdd6a3608bc8",
"name": "Google 드라이브1",
"type": "n8n-nodes-base.googleDrive",
"position": [
40,
120
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "url",
"value": "={{ $('Post File Download in N8N (Google Drive Node)').item.json.webViewLink }}"
},
"options": {},
"operation": "deleteFile"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "YOUR_GOOGLE_DRIVE_CREDENTIAL_ID",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "795dcd70-54d4-4e99-9336-0575b2e4fe41",
"name": "대기",
"type": "n8n-nodes-base.wait",
"position": [
780,
-460
],
"webhookId": "YOUR_WEBHOOK_ID",
"parameters": {
"amount": 90
},
"typeVersion": 1.1
},
{
"id": "fa82e952-e230-4d3a-9cd2-97bf59747a3d",
"name": "대기1",
"type": "n8n-nodes-base.wait",
"position": [
120,
-140
],
"webhookId": "YOUR_WEBHOOK_ID",
"parameters": {
"amount": 20
},
"typeVersion": 1.1
},
{
"id": "57e21bda-91ec-4061-bc9a-1cbb47d4ce74",
"name": "코드",
"type": "n8n-nodes-base.code",
"position": [
-320,
-380
],
"parameters": {
"jsCode": "// Code (Function) Node Script - Focused on Input Debugging\nconst inputItem = items[0]; // Get the whole item, not just .json yet\n\n// Log the entire incoming item to see its structure, including binary properties if any\nconsole.log(\"Full Input Item to Code Node:\", JSON.stringify(inputItem, null, 2));\n\nconst itemJson = inputItem.json; // Now get the JSON part\n\nlet fileId;\nlet fileName;\nlet webContentLink;\n\nif (typeof itemJson !== 'object' || itemJson === null) {\n console.error(\"Input item.json is not an object or is null. Input was:\", JSON.stringify(inputItem, null, 2));\n fileName = \"Unknown Video (Input not an object)\";\n} else {\n // Try to access properties directly, assuming Google Drive File Resource structure\n fileId = itemJson.id;\n fileName = itemJson.name;\n webContentLink = itemJson.webContentLink || itemJson.webViewLink; // Fallback to webViewLink\n\n console.log(`Attempting to extract: id='${fileId}', name='${fileName}', webContentLink='${webContentLink}'`);\n\n if (typeof fileName !== 'string' || fileName.trim() === \"\") {\n console.warn(\"fileName is missing or invalid in Code Node input. Actual item.json.name was:\", itemJson.name, \". Setting to 'Unknown Video'.\");\n fileName = \"Unknown Video\";\n } else {\n console.log(\"Successfully extracted fileName:\", fileName);\n }\n\n if (typeof fileId !== 'string' || fileId.trim() === \"\") {\n console.warn(\"fileId is missing or invalid.\");\n // fileId remains as extracted or undefined\n }\n\n if (typeof webContentLink !== 'string' || webContentLink.trim() === \"\") {\n console.warn(\"webContentLink (and webViewLink) is missing or invalid.\");\n // webContentLink remains as extracted or undefined\n }\n}\n\nconst outputData = {\n processedFileId: fileId,\n processedFileName: fileName,\n processedWebContentLink: webContentLink\n};\n\nconsole.log(\"Output from Code Node:\", JSON.stringify(outputData, null, 2));\n\n// Return structure expected by n8n\nreturn [{ json: outputData }];"
},
"typeVersion": 2
},
{
"id": "d5a8af48-f6da-46d6-aa9a-9307c426f9c9",
"name": "HTTP 요청",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1240,
-380
],
"parameters": {
"url": "https://www.googleapis.com/drive/v3/files",
"options": {
"response": {
"response": {
"responseFormat": "json"
}
}
},
"sendQuery": true,
"authentication": "predefinedCredentialType",
"queryParameters": {
"parameters": [
{
"name": "q",
"value": "'YOUR_RANDOM_VIDEO_SOURCE_FOLDER_ID' in parents and mimeType='video/mp4' and trashed=false"
},
{
"name": "fields",
"value": "files(id, name, mimeType, parents)"
},
{
"name": "supportsAllDrives",
"value": "true"
},
{
"name": "includeItemsFromAllDrives",
"value": "true"
}
]
},
"nodeCredentialType": "googleOAuth2Api"
},
"credentials": {
"googleOAuth2Api": {
"id": "YOUR_GOOGLE_DRIVE_CREDENTIAL_ID",
"name": "Google account 2"
}
},
"typeVersion": 4.2
},
{
"id": "b6b7630c-cf14-4318-9bb8-fc67750805db",
"name": "HTTP 요청1",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1240,
100
],
"parameters": {
"url": "=https://www.googleapis.com/drive/v3/files/{{ $json.id }}",
"method": "PATCH",
"options": {
"response": {
"response": {
"responseFormat": "json"
}
}
},
"sendQuery": true,
"authentication": "predefinedCredentialType",
"queryParameters": {
"parameters": [
{
"name": "addParents",
"value": "YOUR_FOLDER_ID"
},
{
"name": "removeParents",
"value": "YOUR_RANDOM_VIDEO_SOURCE_FOLDER_ID"
},
{
"name": "fields",
"value": "id,name,parents,webContentLink,webViewLink,mimeType"
}
]
},
"nodeCredentialType": "googleOAuth2Api"
},
"credentials": {
"googleOAuth2Api": {
"id": "YOUR_GOOGLE_DRIVE_CREDENTIAL_ID",
"name": "Google account 2"
}
},
"typeVersion": 4.2
},
{
"id": "db8fd564-37e0-47f8-81ab-8bac592df96c",
"name": "스케줄 트리거1",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-1260,
-620
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 6
}
]
}
},
"typeVersion": 1.2
},
{
"id": "4c78b24d-f9be-4db9-ab8a-8ca064865911",
"name": "코드1",
"type": "n8n-nodes-base.code",
"position": [
-1240,
-160
],
"parameters": {
"jsCode": "const responseData = items[0].json;\n\nif (!responseData || !responseData.files || responseData.files.length === 0) {\n console.warn(\"No files found in the source Google Drive folder via API or API response was unexpected.\");\n return [];\n}\n\nconst filesArray = responseData.files;\nconst randomIndex = Math.floor(Math.random() * filesArray.length);\nconst randomFile = filesArray[randomIndex];\n\nreturn [{ json: randomFile }];"
},
"typeVersion": 2
},
{
"id": "a4d882e1-93bc-4647-8222-0a1a9519e1f0",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-980,
-380
],
"parameters": {
"color": 5,
"width": 400,
"height": 720,
"content": "## wait 20 seconds then trigger the insta posting workflow"
},
"typeVersion": 1
},
{
"id": "a75eab91-cb94-42b2-b8aa-491bcaadc2bf",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1400,
-800
],
"parameters": {
"width": 420,
"height": 1140,
"content": "## Random file mover\n**For every 100 minutes this path of workflow will select and move a single video file from the G-drive fil named: Random video mover**"
},
"typeVersion": 1
},
{
"id": "ea0150fd-e301-4d4a-aaa7-69124b1aa624",
"name": "대기2",
"type": "n8n-nodes-base.wait",
"position": [
-840,
-60
],
"webhookId": "YOUR_WEBHOOK_ID",
"parameters": {
"amount": 20
},
"typeVersion": 1.1
},
{
"id": "50f581c6-f8f1-4967-91a4-2a636eaffb1c",
"name": "스티커 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-980,
-800
],
"parameters": {
"color": 3,
"width": 400,
"height": 420,
"content": "## manual upload trigger\n\n**it will trigger the workflow whenever the video file as upload manually on the folder"
},
"typeVersion": 1
},
{
"id": "f312023b-cb76-415c-945b-732b534a6b6e",
"name": "스티커 노트4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-580,
-800
],
"parameters": {
"color": 4,
"width": 1880,
"height": 1140,
"content": "## insta uploader"
},
"typeVersion": 1
},
{
"id": "e37c99b4-1393-4978-91e5-84e999f40e2e",
"name": "스티커 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1520,
-880
],
"parameters": {
"color": 6,
"width": 2920,
"height": 1320,
"content": "## Instagram automation workflow....."
},
"typeVersion": 1
}
],
"pinData": {
"Schedule Trigger1": [
{
"Hour": "18",
"Year": "2025",
"Month": "June",
"Minute": "00",
"Second": "26",
"Timezone": "Asia/Kolkata (UTC+05:30)",
"timestamp": "2025-06-18T18:00:26.006+05:30",
"Day of week": "Wednesday",
"Day of month": "18",
"Readable date": "June 18th 2025, 6:00:26 pm",
"Readable time": "6:00:26 pm"
}
]
},
"connections": {
"57e21bda-91ec-4061-bc9a-1cbb47d4ce74": {
"main": [
[
{
"node": "1f09b5fc-331b-4914-9b2f-598f5a492722",
"type": "main",
"index": 0
}
]
]
},
"795dcd70-54d4-4e99-9336-0575b2e4fe41": {
"main": [
[
{
"node": "80ba05f1-127d-4a79-9be7-d05f13287568",
"type": "main",
"index": 0
}
]
]
},
"4c78b24d-f9be-4db9-ab8a-8ca064865911": {
"main": [
[
{
"node": "b6b7630c-cf14-4318-9bb8-fc67750805db",
"type": "main",
"index": 0
}
]
]
},
"fa82e952-e230-4d3a-9cd2-97bf59747a3d": {
"main": [
[
{
"node": "cdcef117-9334-4683-90a1-cdd6a3608bc8",
"type": "main",
"index": 0
}
]
]
},
"ea0150fd-e301-4d4a-aaa7-69124b1aa624": {
"main": [
[
{
"node": "14f7c794-938e-4c19-ba7d-9df7c8db2713",
"type": "main",
"index": 0
}
]
]
},
"1f09b5fc-331b-4914-9b2f-598f5a492722": {
"main": [
[
{
"node": "4289ddbe-71f0-49bb-98e8-fbe0899f4ad4",
"type": "main",
"index": 0
}
]
]
},
"4289ddbe-71f0-49bb-98e8-fbe0899f4ad4": {
"main": [
[
{
"node": "b7c45adb-ae7e-4497-b261-e37b0437a70c",
"type": "main",
"index": 0
}
]
]
},
"b7c45adb-ae7e-4497-b261-e37b0437a70c": {
"main": [
[
{
"node": "795dcd70-54d4-4e99-9336-0575b2e4fe41",
"type": "main",
"index": 0
}
]
]
},
"80ba05f1-127d-4a79-9be7-d05f13287568": {
"main": [
[
{
"node": "fa82e952-e230-4d3a-9cd2-97bf59747a3d",
"type": "main",
"index": 0
}
]
]
},
"d5a8af48-f6da-46d6-aa9a-9307c426f9c9": {
"main": [
[
{
"node": "4c78b24d-f9be-4db9-ab8a-8ca064865911",
"type": "main",
"index": 0
}
]
]
},
"b6b7630c-cf14-4318-9bb8-fc67750805db": {
"main": [
[
{
"node": "ea0150fd-e301-4d4a-aaa7-69124b1aa624",
"type": "main",
"index": 0
}
]
]
},
"db8fd564-37e0-47f8-81ab-8bac592df96c": {
"main": [
[
{
"node": "d5a8af48-f6da-46d6-aa9a-9307c426f9c9",
"type": "main",
"index": 0
}
]
]
},
"8edf7ec7-06c5-47f5-8f35-e294af1256df": {
"ai_languageModel": [
[
{
"node": "1f09b5fc-331b-4914-9b2f-598f5a492722",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"14f7c794-938e-4c19-ba7d-9df7c8db2713": {
"main": [
[
{
"node": "57e21bda-91ec-4061-bc9a-1cbb47d4ce74",
"type": "main",
"index": 0
}
]
]
},
"e56fcbb9-2ede-4fa0-91b1-565b41e45ec9": {
"main": [
[
{
"node": "14f7c794-938e-4c19-ba7d-9df7c8db2713",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 인공지능
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Claude AI, DALL-E 이미지 및 Google Sheets 승인을 통한 LinkedIn 게시물 자동화
Claude AI, DALL-E 이미지 및 Google Sheets 승인을 사용한 자동화된 LinkedIn 게시
Set
Code
Wait
+
Set
Code
Wait
28 노드Usman Liaqat
인공지능
네일 살롱 (미국)
WhatsApp, GPT 및 Google 캘린더를 사용한 살롱 예약 관리 자동화
If
Set
Code
+
If
Set
Code
164 노드Denis
지원
AI, ElevenLabs, 다중 플랫폼을 사용하여 POV 비디오를 생성하고 승인
AI, ElevenLabs, 및 다중 플랫폼에서 POV 비디오를 생성하고 승인하기 (TikTok/IG/YT)
If
Set
Code
+
If
Set
Code
60 노드Immanuel
디자인
AI, ElevenLabs, PIAPI Shotstack/Creatomate를 사용하여 비디오 생성 및 YouTube에 업로드
AI, ElevenLabs, PIAPI Shotstack/Creatomate를 사용하여 비디오 생성 및 YouTube에 업로드
If
Set
Code
+
If
Set
Code
79 노드Immanuel
인공지능
반려동물 가게 4
🐶 펫 샵 예약 AI 대리자
If
Set
Code
+
If
Set
Code
187 노드Bruno Dias
인공지능
[템플릿] AI 반려동물 가게 v8
🐶 AI 펫 샵 어시스턴트 - GPT-4o, Google 캘린더 및 WhatsApp/Instagram/Facebook 통합
If
N8n
Set
+
If
N8n
Set
244 노드Amanda Benks
영업