스크립트에서 AI 음성 생성하고 Google 클라우드 스토리지에 업로드
고급
이것은Content Creation, Multimodal AI분야의자동화 워크플로우로, 20개의 노드를 포함합니다.주로 Set, Code, Filter, GoogleDrive, HttpRequest 등의 노드를 사용하며. Gemini TTS를 사용하여 스크립트에서 AI 오디오 생성하고 Google 클라우드 드라이브에 업로드
사전 요구사항
- •Google Drive API 인증 정보
- •대상 API의 인증 정보가 필요할 수 있음
- •Google Sheets API 인증 정보
사용된 노드 (20)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "sJP7yYyMUuFkBxhP",
"meta": {
"instanceId": "8506a10572bce7322328454a2dc9c1df792a29ed1e0b40db7be90cf055b03a5a",
"templateCredsSetupCompleted": true
},
"name": "Generate AI Voiceovers from Scripts and Upload to Google Drive",
"tags": [],
"nodes": [
{
"id": "b77d0479-251b-4dde-a8db-70dd5c1dcde9",
"name": "워크플로 실행 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-656,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "420b8504-2cc1-4947-b53d-29fd0ae53d4b",
"name": "파일로 변환",
"type": "n8n-nodes-base.convertToFile",
"position": [
592,
32
],
"parameters": {
"options": {
"fileName": "={{ $('Code1').item.json.safeFilename }}.pcm",
"mimeType": "={{ $json.candidates[0].content.parts[0].inlineData.mimeType }}"
},
"operation": "toBinary",
"sourceProperty": "candidates[0].content.parts[0].inlineData.data"
},
"typeVersion": 1.1
},
{
"id": "3905f225-4b9d-4e47-bda4-b08002ed635b",
"name": "디스크 파일 읽기/쓰기",
"type": "n8n-nodes-base.readWriteFile",
"position": [
784,
32
],
"parameters": {
"options": {},
"fileName": "=/Users/INSERT_YOUR_LOCAL_STORAGE_HERE/{{ $('Code1').item.json.safeFilename }}.pcm",
"operation": "write"
},
"typeVersion": 1
},
{
"id": "88b59cbf-7949-4fb4-84cb-d36a866bbf43",
"name": "코드1",
"type": "n8n-nodes-base.code",
"position": [
176,
32
],
"parameters": {
"jsCode": "// Get all the items coming into this node\nconst items = $items();\n\n// Loop through each item (this code works even if there's only one)\nfor (const item of items) {\n \n // 1. Get the original script text from the 'full_script_text' field.\n const originalScript = item.json.full_script_text;\n \n // Get the row number to make the filename unique\n const rowNumber = item.json.row_number;\n\n // 2. Create the clean filename\n // - Convert to lowercase for consistency\n // - Replace any character that is NOT a letter or number with an underscore\n // - Shorten it to the first 60 characters to prevent it from being too long\n const sanitizedScriptPart = originalScript\n .toLowerCase()\n .replace(/[^a-z0-9]/g, '_') \n .substring(0, 60);\n\n // 3. Combine the row number and the sanitized text to create a final, unique filename\n const safeFilename = `${rowNumber}_${sanitizedScriptPart}`;\n\n // 4. Add the new, safe filename back to the data\n item.json.safeFilename = safeFilename;\n}\n\n// Return the modified data to the next node\nreturn items;"
},
"typeVersion": 2
},
{
"id": "383050a4-5d1a-4f80-9ac3-8ab99dd6c121",
"name": "항목 반복",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-64,
0
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "8f194775-656e-4687-afbb-507226a8fdb3",
"name": "필터",
"type": "n8n-nodes-base.filter",
"position": [
-272,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "51e34efc-ba22-404f-835a-4324f403bcbe",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json['Voice Generated?'] }}",
"rightValue": "Yes"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "be5453fc-c5e8-4591-b7d9-cd5a35b9582a",
"name": "비디오 스크립트 가져오기",
"type": "n8n-nodes-base.googleSheets",
"position": [
-464,
0
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 539540410,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1tFC1EC863ZwJB0GffCM9BzU5kYo1wITwFoESZ130oP4/edit#gid=539540410",
"cachedResultName": "Text Overlays"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "https://docs.google.com/spreadsheets/d/1tFC1EC863ZwJB0GffCM9BzU5kYo1wITwFoESZ130oP4/edit?gid=539540410#gid=539540410"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "0XPHdQQ1kHd7hjJ5",
"name": "thamjiangjun@gmail.com google sheet"
}
},
"typeVersion": 4.6
},
{
"id": "1decede0-d000-4a68-838c-ce708fc49b55",
"name": "HTTP 음성 생성 요청",
"type": "n8n-nodes-base.httpRequest",
"position": [
384,
32
],
"parameters": {
"url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-tts:generateContent\n",
"method": "POST",
"options": {},
"jsonBody": "={\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Say this script in a neutral <INSERT YOUR DESIRED ACCENT HERE> professional accent at a face pace enthusiastically: {{ $json.full_script_text }}\"\n }\n ]\n }\n ],\n \"generationConfig\": {\n \"responseModalities\": [\n \"AUDIO\"\n ],\n \"speechConfig\": {\n \"voiceConfig\": {\n \"prebuiltVoiceConfig\": {\n \"voiceName\": \"Kore\"\n }\n }\n }\n },\n \"model\": \"gemini-2.5-flash-preview-tts\"\n}",
"sendBody": true,
"sendQuery": true,
"specifyBody": "json",
"queryParameters": {
"parameters": [
{
"name": "key",
"value": "INSERT YOUR API KEY HERE"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "3323cc73-9026-48bd-b951-763101a44280",
"name": "파일명 추출",
"type": "n8n-nodes-base.set",
"position": [
960,
32
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "fe124702-e115-4be8-b5da-df6d01e1ddbe",
"name": "fileName",
"type": "string",
"value": "={{ $json.fileName }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "648b7a61-af32-43d9-97f1-2189560cc47e",
"name": "FFMPEG 파일 형식 변환 로컬 코드 실행",
"type": "n8n-nodes-base.code",
"position": [
1152,
32
],
"parameters": {
"jsCode": "// Get the input data from the previous node\nconst inputData = $input.all()[0].json;\n\n// Use the EXISTING PCM file path from the input\nconst pcmFilePath = inputData.fileName; // \"/Users/jjtham/3_dream_of_a_marriage_free_from_painful_surprises__imagine_a_f.pcm\"\n\n// Generate the WAV output path by replacing .pcm with .wav\nconst wavFilePath = pcmFilePath.replace('.pcm', '.wav');\n\n// Build the ffmpeg command (quotes handle spaces in paths)\nconst ffmpegCommand = `ffmpeg -y -f s16le -ar 24000 -ac 1 -i \"${pcmFilePath}\" \"${wavFilePath}\"`;\n\nreturn {\n json: {\n pcmPath: pcmFilePath,\n wavPath: wavFilePath,\n command: ffmpegCommand\n }\n};"
},
"typeVersion": 2
},
{
"id": "da306259-3612-41bd-99b0-91408c63e400",
"name": "FFMPEG 코드 실행",
"type": "n8n-nodes-base.executeCommand",
"position": [
1328,
32
],
"parameters": {
"command": "={{ $json.command }}"
},
"typeVersion": 1
},
{
"id": "2fabed55-983e-4420-b16c-f822697cadfa",
"name": "파일 출력 디스크 기록",
"type": "n8n-nodes-base.readWriteFile",
"position": [
1520,
32
],
"parameters": {
"options": {},
"fileSelector": "={{ $('Running FFMPEG Local Code To Change Format Of File').item.json.wavPath }}"
},
"typeVersion": 1
},
{
"id": "bbc88d97-1edb-4430-8749-2df5594c9dcd",
"name": "Wav 파일 업로드",
"type": "n8n-nodes-base.googleDrive",
"position": [
1712,
32
],
"parameters": {
"name": "={{ $('Code1').item.json.safeFilename }}.wav",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "root",
"cachedResultUrl": "https://drive.google.com/drive",
"cachedResultName": "/ (Root folder)"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "0cagYS3ULKYU3G1N",
"name": "Quiverx Google Drive Account"
}
},
"typeVersion": 3
},
{
"id": "d38711cb-420b-4a70-8ec5-b6df27207caf",
"name": "Google 파일의 드라이브 링크를 Google 시트에 업로드",
"type": "n8n-nodes-base.googleSheets",
"position": [
1920,
32
],
"parameters": {
"columns": {
"value": {
"Voice Link": "={{ $json.webViewLink }}",
"Google Drive ID": "={{ $json.id }}",
"Voice Generated?": "Yes",
"full_script_text": "={{ $('Loop Over Items').item.json.full_script_text }}",
"Computer File Name": "={{ $('Writing File Output Onto Disk').item.json.fileName }}",
"Google Drive Download Link": "={{ $json.webContentLink }}"
},
"schema": [
{
"id": "script_name",
"type": "string",
"display": true,
"required": false,
"displayName": "script_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "psychological_angle",
"type": "string",
"display": true,
"required": false,
"displayName": "psychological_angle",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "full_script_text",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "full_script_text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "script_breakdown",
"type": "string",
"display": true,
"required": false,
"displayName": "script_breakdown",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Bucket",
"type": "string",
"display": true,
"required": false,
"displayName": "Bucket",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "strategyPillar",
"type": "string",
"display": true,
"required": false,
"displayName": "strategyPillar",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "psychologicalAngle",
"type": "string",
"display": true,
"required": false,
"displayName": "psychologicalAngle",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Voice Generated?",
"type": "string",
"display": true,
"required": false,
"displayName": "Voice Generated?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Voice Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Voice Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Google Drive ID",
"type": "string",
"display": true,
"required": false,
"displayName": "Google Drive ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Google Drive Download Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Google Drive Download Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "File Location",
"type": "string",
"display": true,
"required": false,
"displayName": "File Location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Computer File Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Computer File Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Editing Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Editing Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"full_script_text"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 539540410,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1tFC1EC863ZwJB0GffCM9BzU5kYo1wITwFoESZ130oP4/edit#gid=539540410",
"cachedResultName": "Text Overlays"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "https://docs.google.com/spreadsheets/d/1tFC1EC863ZwJB0GffCM9BzU5kYo1wITwFoESZ130oP4/edit?gid=539540410#gid=539540410"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "0XPHdQQ1kHd7hjJ5",
"name": "thamjiangjun@gmail.com google sheet"
}
},
"typeVersion": 4.6
},
{
"id": "39ec1f9e-a5be-4e9c-b1cf-aa2f958694d7",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1408,
-224
],
"parameters": {
"width": 704,
"height": 1120,
"content": "## Generate AI Voiceovers from Scripts and Upload to Google Drive\n\nThis is the final piece of the AI content factory. This workflow takes your text-based video scripts and automatically generates high-quality audio voiceovers for each one, turning your text into ready-to-use audio assets for your video ads.\n\nGo from a spreadsheet of text to a folder of audio files, completely on autopilot.\n\n## ⚠️ CRITICAL REQUIREMENTS (Read First!)\nThis is an advanced, self-hosted workflow that requires specific local setup:\n\n* **Self-Hosted n8n Only:** This workflow uses the `Execute Command` and `Read/Write Files` nodes, which requires you to run your own instance of n8n. It will not work on n8n Cloud.\n* **FFmpeg Installation:** You must have [FFmpeg](https://ffmpeg.org/download.html) installed on the same machine where your n8n instance is running. This is used to convert the audio files to a standard format.\n\n## What it does\nThis is Part 3 of the AI marketing series. It connects to the Google Sheet where you generated your video scripts (in Part 2). For each script that hasn't been processed, it:\n\n1. Uses the Google Gemini Text-to-Speech (TTS) API to generate a voiceover.\n2. Saves the audio file to your local computer.\n3. Uses FFmpeg to convert the raw audio into a standard `.wav` file.\n4. Uploads the final `.wav` file to your Google Drive.\n5. Updates the original Google Sheet with a link to the audio file in Drive and marks the script as complete.\n\n## How to set up\n**IMPORTANT:** This workflow is Part 3 of a series and requires the output from Part 2 (\"Generate AI Video Ad Scripts\").\n\n**If you need Part 1 or Part 2 of this workflow series, you can find them for free on [my n8n Creator Profile](https://n8n.io/creators/jj-tham/).**\n\n1. **Connect to Your Scripts Sheet:** In the \"Getting Video Scripts\" node, connect your Google Sheets account and provide the URL to the sheet containing your generated video scripts from Part 2.\n2. **Configure AI Voice Generation (HTTP Request):**\n * In the \"HTTP Request To Generate Voice\" node, go to the **Query Parameters** and replace `INSERT YOUR API KEY HERE` with your Google Gemini API key.\n * In the **JSON Body**, you can customize the voice prompt (e.g., change `<INSERT YOUR DESIRED ACCENT HERE>`).\n3. **Set Your Local File Path:** In the first \"Read/Write Files from Disk\" node, update the **File Name** field to a valid directory on your local machine where n8n has permission to write files. Replace `/Users/INSERT_YOUR_LOCAL_STORAGE_HERE/`.\n4. **Connect Google Drive:** In the \"Uploading Wav File\" node, connect your Google Drive account and choose the folder where your audio files will be saved.\n5. **Update Your Tracking Sheet:** In the final \"Uploading Google Drive Link...\" node, ensure it's connected to the same Google Sheet from Step 1. This node will update your sheet with the results."
},
"typeVersion": 1
},
{
"id": "1cc5dc7d-55c4-4d0a-b356-a8458169dd96",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
-256
],
"parameters": {
"color": 2,
"width": 432,
"height": 240,
"content": "**👇 STEP 1: CONNECT TO YOUR SCRIPTS**\n\nThis workflow reads the scripts you generated in Part 2.\n\n**Action Required:**\n1. Connect your Google Sheets account.\n2. Paste the URL of the Google Sheet that was the **output** of the \"Generate AI Video Ad Scripts\" workflow.\n\nThe **Filter** node ensures we only process scripts that don't have a voiceover yet."
},
"typeVersion": 1
},
{
"id": "a7250930-1359-44ad-865f-48c21f641cf9",
"name": "스티커 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
-192
],
"parameters": {
"color": 4,
"width": 496,
"height": 176,
"content": "**🧠 STEP 2: CONFIGURE AI VOICE**\n\nThis node generates the audio using Google Gemini's TTS API.\n\n**Action Required:**\n1. Go to **Query Parameters** and insert your Gemini API Key.\n2. (Optional) In the **JSON Body**, edit the prompt to change the accent or delivery style."
},
"typeVersion": 1
},
{
"id": "c53a760c-aaaf-4c39-a564-6b30b8bf52d3",
"name": "스티커 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
544,
272
],
"parameters": {
"color": 5,
"width": 432,
"height": 224,
"content": "**⚠️ STEP 3: CONFIGURE LOCAL FILE PROCESSING**\n\n**This section is for SELF-HOSTED n8n ONLY and requires FFmpeg to be installed on your machine.**\n\n**Action Required:**\n1. Click the first **Read/Write Files from Disk** node.\n2. Update the **File Name** with a real folder path on your computer (e.g., `/home/n8n/audio/` or `C:\\n8n\\audio\\`)."
},
"typeVersion": 1
},
{
"id": "7b792b51-908d-485e-8b9b-7066bf344898",
"name": "스티커 노트4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1216,
-192
],
"parameters": {
"color": 6,
"width": 576,
"height": 192,
"content": "**✅ STEP 4: SET UPLOAD DESTINATION**\n\nThis node uploads your final `.wav` audio files.\n\n**Action Required:**\n1. Connect your Google Drive account.\n2. (Optional) Choose a specific folder to keep your voiceovers organized."
},
"typeVersion": 1
},
{
"id": "6ccd0f26-1155-420b-9cad-f140b2d82e13",
"name": "스티커 노트5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1840,
240
],
"parameters": {
"width": 432,
"height": 128,
"content": "**🚀 STEP 5: UPDATE TRACKING SHEET**\n\nThis final step updates your script sheet with links to the new audio files in Google Drive and marks them as \"Yes\" so they don't get processed again."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "8d66a2a2-0e5f-47ba-883d-1a4c6da2d14d",
"connections": {
"88b59cbf-7949-4fb4-84cb-d36a866bbf43": {
"main": [
[
{
"node": "1decede0-d000-4a68-838c-ce708fc49b55",
"type": "main",
"index": 0
}
]
]
},
"8f194775-656e-4687-afbb-507226a8fdb3": {
"main": [
[
{
"node": "383050a4-5d1a-4f80-9ac3-8ab99dd6c121",
"type": "main",
"index": 0
}
]
]
},
"420b8504-2cc1-4947-b53d-29fd0ae53d4b": {
"main": [
[
{
"node": "3905f225-4b9d-4e47-bda4-b08002ed635b",
"type": "main",
"index": 0
}
]
]
},
"383050a4-5d1a-4f80-9ac3-8ab99dd6c121": {
"main": [
[],
[
{
"node": "88b59cbf-7949-4fb4-84cb-d36a866bbf43",
"type": "main",
"index": 0
}
]
]
},
"bbc88d97-1edb-4430-8749-2df5594c9dcd": {
"main": [
[
{
"node": "d38711cb-420b-4a70-8ec5-b6df27207caf",
"type": "main",
"index": 0
}
]
]
},
"3323cc73-9026-48bd-b951-763101a44280": {
"main": [
[
{
"node": "648b7a61-af32-43d9-97f1-2189560cc47e",
"type": "main",
"index": 0
}
]
]
},
"da306259-3612-41bd-99b0-91408c63e400": {
"main": [
[
{
"node": "2fabed55-983e-4420-b16c-f822697cadfa",
"type": "main",
"index": 0
}
]
]
},
"be5453fc-c5e8-4591-b7d9-cd5a35b9582a": {
"main": [
[
{
"node": "8f194775-656e-4687-afbb-507226a8fdb3",
"type": "main",
"index": 0
}
]
]
},
"3905f225-4b9d-4e47-bda4-b08002ed635b": {
"main": [
[
{
"node": "3323cc73-9026-48bd-b951-763101a44280",
"type": "main",
"index": 0
}
]
]
},
"2fabed55-983e-4420-b16c-f822697cadfa": {
"main": [
[
{
"node": "bbc88d97-1edb-4430-8749-2df5594c9dcd",
"type": "main",
"index": 0
}
]
]
},
"1decede0-d000-4a68-838c-ce708fc49b55": {
"main": [
[
{
"node": "420b8504-2cc1-4947-b53d-29fd0ae53d4b",
"type": "main",
"index": 0
}
]
]
},
"b77d0479-251b-4dde-a8db-70dd5c1dcde9": {
"main": [
[
{
"node": "be5453fc-c5e8-4591-b7d9-cd5a35b9582a",
"type": "main",
"index": 0
}
]
]
},
"648b7a61-af32-43d9-97f1-2189560cc47e": {
"main": [
[
{
"node": "da306259-3612-41bd-99b0-91408c63e400",
"type": "main",
"index": 0
}
]
]
},
"d38711cb-420b-4a70-8ec5-b6df27207caf": {
"main": [
[
{
"node": "383050a4-5d1a-4f80-9ac3-8ab99dd6c121",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 콘텐츠 제작, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
OpenAI, RunwayML, ElevenLabs를 사용한 무면식 숏폼 비디오 자동화
OpenAI, RunwayML, ElevenLabs를 사용한 무면쇼트 비디오 자동화: 스크립트부터 소셜 미디어까지
Set
Code
Wait
+
Set
Code
Wait
56 노드LeeWei
콘텐츠 제작
WordPress 블로그 자동화 프로페셔널 에디션(심층 연구) v2.1 마켓
GPT-4o, Perplexity AI 및 다국어 지원을 사용한 SEO 최적화 블로그 생성 자동화
If
Set
Xml
+
If
Set
Xml
125 노드Daniel Ng
콘텐츠 제작
OpenAI, ElevenLabs 및 Fal.ai를 사용한 비디오, 팟캐스트 및 ASMR용 바이럴 콘텐츠 제작 자동화
OpenAI, ElevenLabs 및 Fal.ai를 사용한 비디오, 팟캐스트 및 ASMR용 바이럴 콘텐츠 제작 자동화
Set
Code
Wait
+
Set
Code
Wait
97 노드Adam Crafts
콘텐츠 제작
LinkedIn 및 X 바이럴 콘텐츠 자동 엔진
사용AI생성및게시자동생성LinkedIn및X의病毒콘텐츠
If
Set
Wait
+
If
Set
Wait
156 노드Diptamoy Barman
콘텐츠 제작
제 작업 흐름
Apify, GPT-4o, Facebook 광고 라이브러리를 사용하여 경쟁 광고 연구 및 이미지 생성을 수행합니다.
Set
Wait
Limit
+
Set
Wait
Limit
32 노드Nick Saraev
콘텐츠 제작
Barbacoaexpert1 AI 헤어 생성기
Apify, GPT-4, Google Drive를 사용하여 경쟁자에서 AI Facebook 광고 변이 생성
Set
Wait
Limit
+
Set
Wait
Limit
29 노드Electrabot
콘텐츠 제작
워크플로우 정보
난이도
고급
노드 수20
카테고리2
노드 유형12
저자
JJ Tham
@jj-thamFounder of Osinity. I build AI-powered n8n automations that save businesses 10+ hours a week and grow their revenue. We guarantee results with a 30-day risk-free trial—you only pay when we hit your targets.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유