8
n8n 한국어amn8n.com

구글 텍스트-to-스피치 생성기

고급

이것은Content Creation, Multimodal AI분야의자동화 워크플로우로, 17개의 노드를 포함합니다.주로 If, Set, Wait, Airtable, FormTrigger 등의 노드를 사용하며. 구글 텍스트 변환 음성, 클라우드 드라이브, Airtable을 사용하여 자연어 생성

사전 요구사항
  • Airtable API Key
  • Google Drive API 인증 정보
  • 대상 API의 인증 정보가 필요할 수 있음
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "yNlNZi8P0wL4Tj5u",
  "meta": {
    "instanceId": "df45e36346609887ad727e4340e992b711071baf718198c766e859ac499d59bf"
  },
  "name": "Google Text-to-Speech Generator",
  "tags": [],
  "nodes": [
    {
      "id": "2eb04401-8f1d-40c9-a832-aee4b71ed051",
      "name": "파일 업로드",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        420,
        40
      ],
      "parameters": {
        "name": "={{ $binary.data.fileName }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1Kmvt_nPFDbAO7y6zu95c5_snNC9A1P1n",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1Kmvt_nPFDbAO7y6zu95c5_snNC9A1P1n",
          "cachedResultName": "Content Engine Storage"
        },
        "inputDataFieldName": "=data"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "23YHMzDMrJbpEXTr",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "07d8710d-bbb3-4cf7-8e9e-5601a27bee00",
      "name": "레코드 생성",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1360,
        20
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appMBgjXji9DQtbY2",
          "cachedResultUrl": "https://airtable.com/appMBgjXji9DQtbY2",
          "cachedResultName": "Content Engine"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblj8qQXJKjjRqaTq",
          "cachedResultUrl": "https://airtable.com/appMBgjXji9DQtbY2/tblj8qQXJKjjRqaTq",
          "cachedResultName": "Assets"
        },
        "columns": {
          "value": {
            "URL": "={{ $('Upload file').item.json.webContentLink }}",
            "Duration": "={{ $json.media.duration }}",
            "Asset Name": "=Voiceover Audio File",
            "Description": "=Script: {{ $('On form submission2').item.json.Script }}",
            "WebView URL": "={{ $('Upload file').item.json.webViewLink }}",
            "Content Type": "Audio"
          },
          "schema": [
            {
              "id": "Asset Name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Asset Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Active",
                  "value": "Active"
                },
                {
                  "name": "Inactive",
                  "value": "Inactive"
                },
                {
                  "name": "Under Maintenance",
                  "value": "Under Maintenance"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Linked Content",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Linked Content",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content Type",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Video",
                  "value": "Video"
                },
                {
                  "name": "Audio",
                  "value": "Audio"
                },
                {
                  "name": "Image",
                  "value": "Image"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Content Type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Width (px)",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Width (px)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Height (px)",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Height (px)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Aspect Ratio",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Aspect Ratio",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Duration",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Duration",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Content",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "WebView URL",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "WebView URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content 2",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Content 2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content 3",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Content 3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "Gq4kelFrVUJLgEIs",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "58e6cfb8-06f4-4a76-b425-c5c351fb29d7",
      "name": "파일로 변환",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        220,
        40
      ],
      "parameters": {
        "options": {},
        "operation": "toBinary",
        "sourceProperty": "audioContent"
      },
      "typeVersion": 1.1
    },
    {
      "id": "6d3aed5e-4770-4cc3-a3b1-91c9c0e3f453",
      "name": "스티키 노트7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        -460
      ],
      "parameters": {
        "width": 460,
        "height": 1160,
        "content": "## Try It Out! 🗣️\n### This n8n template shows you how to use Google's AI to turn text into natural-sounding speech. Experiment with all of the Chirp 3 HD voices.\n\n## The uses are endless! Try creating voiceovers for your videos, generating audio versions of your articles, or building interactive voice responses for your applications.\n\n\n### How it works ⚙️\n* The workflow is kicked off by a **Form Trigger** where you input your script, and choose a voice and language.\n* We then use the **HTTP Request** node to send your text to Google's Text-to-Speech API.\n* Google's AI processes the text and sends back the audio data in base64 format.\n* A **Convert to File** node transforms this base64 data into a binary audio file.\n* This audio file is then uploaded to **Google Drive**.\n* We then use another **HTTP Request** to a `fal.ai` endpoint to get the duration of the audio file.\n* An **If** node checks to see if the duration was successfully retrieved.\n* Finally, a **Airtable** node creates a new record with the audio file's details, including the script, Google Drive link, and duration.\n\n\n### How to use it 🚀\n* The **Form Trigger** node is a great way to start, but you can swap it out for a Webhook, a new row in a spreadsheet, or any other trigger that suits your needs.\n* You can easily customize the available voices and languages in the **Form Trigger** node.\n\n---\n\n### Requirements 📋\n* A **Google Cloud oAuth2 Client** with the Text-to-Speech API enabled.\n* A **Google Drive** account for storing the generated audio files.\n* A `fal.ai` account for the ffmpeg API to get the audio duration.\n* An **Airtable** account to log the generated audio files. You must create a new table with same fields as the Airtable node.\n\n---\n\n### Need Help? 🙋\nAsk in the [Forum](https://community.n8n.io/)!\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "5a80d6b6-236b-48d2-bd52-97b361e7d2d6",
      "name": "스티키 노트8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -360,
        280
      ],
      "parameters": {
        "color": 5,
        "width": 460,
        "height": 140,
        "content": "### Geo Restrictions!\nPlease note at time of writing, Google TTS is restricted to certain countries and regions."
      },
      "typeVersion": 1
    },
    {
      "id": "91db268c-9c73-4d22-a680-0cf155d173a8",
      "name": "스티키 노트6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -360,
        -320
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 320,
        "content": "## 1. Input Your Script, Select the Language and Voice\n[Scripting and Prompting Tips](https://cloud.google.com/text-to-speech/docs/chirp3-hd#scripting-and-prompting-tips)\n\nThe Chirp 3 HD voices observe punctuation and can use Pause Control with these tags: [pause short], [pause long], and [pause]."
      },
      "typeVersion": 1
    },
    {
      "id": "df31181c-5b54-4b8d-a1a5-3bbf92160d02",
      "name": "폼 제출 시2",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -340,
        40
      ],
      "webhookId": "a2a32ec1-9470-4ed6-85fc-7d4745216f8f",
      "parameters": {
        "options": {},
        "formTitle": "Generate Text-to-Speech",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Script",
              "placeholder": "The mystery of life isn't a problem to solve, but a reality to experience.",
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Voice",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Aoede"
                  },
                  {
                    "option": "Puck"
                  },
                  {
                    "option": "Charon"
                  },
                  {
                    "option": "Kore"
                  },
                  {
                    "option": "Fenrir"
                  },
                  {
                    "option": "Leda"
                  },
                  {
                    "option": "Orus"
                  },
                  {
                    "option": "Zephyr"
                  },
                  {
                    "option": "Achird"
                  },
                  {
                    "option": "Algenib"
                  },
                  {
                    "option": "Algieba"
                  },
                  {
                    "option": "Alnilam"
                  },
                  {
                    "option": "Autonoe"
                  },
                  {
                    "option": "Callirrhoe"
                  },
                  {
                    "option": "Despina"
                  },
                  {
                    "option": "Enceladus"
                  },
                  {
                    "option": "Erinome"
                  },
                  {
                    "option": "Gacrux"
                  },
                  {
                    "option": "Iapetus"
                  },
                  {
                    "option": "Laomedeia"
                  },
                  {
                    "option": "Pulcherrima"
                  },
                  {
                    "option": "Rasalgethi"
                  },
                  {
                    "option": "Sadachbia"
                  },
                  {
                    "option": "Sadaltager"
                  },
                  {
                    "option": "Schedar"
                  },
                  {
                    "option": "Sulafat"
                  },
                  {
                    "option": "Umbriel"
                  },
                  {
                    "option": "Vindemiatrix"
                  },
                  {
                    "option": "Zubenelgenubi"
                  },
                  {
                    "option": "Achernar"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Langauge",
              "fieldOptions": {
                "values": [
                  {
                    "option": "en-US"
                  },
                  {
                    "option": "en-AU"
                  },
                  {
                    "option": "en-GB"
                  },
                  {
                    "option": "en-IN"
                  },
                  {
                    "option": "es-US"
                  },
                  {
                    "option": "de-DE"
                  },
                  {
                    "option": "fr-FR"
                  },
                  {
                    "option": "hi-IN"
                  },
                  {
                    "option": "pt-BR"
                  },
                  {
                    "option": "ar-XA"
                  },
                  {
                    "option": "es-ES"
                  },
                  {
                    "option": "fr-CA"
                  },
                  {
                    "option": "id-ID"
                  },
                  {
                    "option": "it-IT"
                  },
                  {
                    "option": "ja-JP"
                  },
                  {
                    "option": "tr-TR"
                  },
                  {
                    "option": "vi-VN"
                  },
                  {
                    "option": "bn-IN"
                  },
                  {
                    "option": "gu-IN"
                  },
                  {
                    "option": "kn-IN"
                  },
                  {
                    "option": "ml-IN"
                  },
                  {
                    "option": "mr-IN"
                  },
                  {
                    "option": "ta-IN"
                  },
                  {
                    "option": "te-IN"
                  },
                  {
                    "option": "nl-BE"
                  },
                  {
                    "option": "nl-NL"
                  },
                  {
                    "option": "ko-KR"
                  },
                  {
                    "option": "cmn-CN"
                  },
                  {
                    "option": "pl-PL"
                  },
                  {
                    "option": "ru-RU"
                  },
                  {
                    "option": "sw-KE"
                  },
                  {
                    "option": "th-TH"
                  },
                  {
                    "option": "ur-IN"
                  },
                  {
                    "option": "uk-UA"
                  }
                ]
              },
              "requiredField": true
            }
          ]
        },
        "formDescription": "Add your text you want generated and select a voice."
      },
      "typeVersion": 2.2
    },
    {
      "id": "96e92471-78e8-4a3d-bb86-3034876fef53",
      "name": "필드 편집",
      "type": "n8n-nodes-base.set",
      "position": [
        -160,
        40
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "={\n  \"script\": \"{{ $json.Script }}\",\n  \"voice\": \"{{ $json.Langauge }}-Chirp3-HD-{{ $json.Voice }}\"\n}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "3232d9e3-a1ff-407b-8aa0-121c420121f9",
      "name": "조건문",
      "type": "n8n-nodes-base.if",
      "position": [
        1000,
        40
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "35b5c3da-9b1e-47ac-9f8e-cae257b54db4",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "COMPLETED"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "5feb467f-73c6-49de-bbeb-d946ab041f24",
      "name": "대기",
      "type": "n8n-nodes-base.wait",
      "position": [
        1180,
        180
      ],
      "webhookId": "7e197a7f-a920-4c18-aa08-69c6619772fc",
      "parameters": {
        "amount": 1
      },
      "typeVersion": 1.1
    },
    {
      "id": "591bfd72-ba48-49da-b374-f071ad451574",
      "name": "상태 가져오기",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        820,
        40
      ],
      "parameters": {
        "url": "={{ $json.status_url }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "CGeuvZYLP5EnviQI",
          "name": "fal.ai n8n key"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "126d1809-86cd-447e-b8d3-5a33cd993a76",
      "name": "TTS 요청",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        20,
        40
      ],
      "parameters": {
        "url": "https://texttospeech.googleapis.com/v1/text:synthesize",
        "method": "POST",
        "options": {
          "response": {
            "response": {}
          }
        },
        "jsonBody": "={\n  \"input\": {\n    \"markup\": \"{{ $json.script }}\"\n  },\n  \"voice\": {\n    \"languageCode\": \"{{ $('On form submission2').item.json.Langauge }}\",\n    \"name\": \"{{ $json.voice }}\"\n  },\n  \"audio_config\": {\n    \"audio_encoding\": \"LINEAR16\",\n    \"speaking_rate\": 1.0\n  }\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "headerParameters": {
          "parameters": [
            {}
          ]
        },
        "nodeCredentialType": "googleOAuth2Api"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "XBnDjMOflNcdDdAK",
          "name": "Google Text-to-Speech Key"
        },
        "googleOAuth2Api": {
          "id": "IkygAMMZ6UWQgRtS",
          "name": "Google n8n Client"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "069111f8-b712-424d-9428-2baa8a9d8b1b",
      "name": "요청 지속 시간",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        600,
        40
      ],
      "parameters": {
        "url": "https://queue.fal.run/fal-ai/ffmpeg-api/metadata",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"media_url\": \"{{ $json.webContentLink }}\"\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "CGeuvZYLP5EnviQI",
          "name": "fal.ai n8n key"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "c6a310e0-ab35-4e70-b0e8-49cd59380dd6",
      "name": "지속 시간 가져오기",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1180,
        20
      ],
      "parameters": {
        "url": "={{ $json.response_url }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "CGeuvZYLP5EnviQI",
          "name": "fal.ai n8n key"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "943bfe16-c82a-4de2-b56b-df4cfeb756e7",
      "name": "스티키 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        20,
        -320
      ],
      "parameters": {
        "color": 7,
        "width": 500,
        "height": 320,
        "content": "## 2. Request and Return the TTS Audio. Convert the Base64 String into an Audio File.\n[Read more about the Convert to File node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.converttofile/)\n\nThe Google TTS API returns a base64 string. It must be converted to a file before it can be used. For example, the Google Drive node needs the base64 string converted to a file for the upload to work correctly."
      },
      "typeVersion": 1
    },
    {
      "id": "7e231d99-67b9-434d-ad92-4c2e6c3b817a",
      "name": "스티키 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        -320
      ],
      "parameters": {
        "color": 7,
        "width": 680,
        "height": 320,
        "content": "## 3. Find the Duration of the Audio File\n[Read more about Looping in n8n](https://docs.n8n.io/flow-logic/looping/)\n\nWe can use the fal.ai API to get metadata about our media files. This API uses a queue system so we must request the status of the job till it completes then make a final request to retrieve the metadata. Here we use a simple If node to monitor the job status."
      },
      "typeVersion": 1
    },
    {
      "id": "3da2e908-ee34-4114-ad72-c580d30ef7e5",
      "name": "스티키 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1360,
        -320
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 320,
        "content": "## 4. Update our Database with Our New Audio File\n[Airtable](https://www.airtable.com)\n\nWe can keep track of our media assets in a database to make it easier to use those assets to create content."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "835bce29-cde5-40d5-8358-cf23271a66c0",
  "connections": {
    "3232d9e3-a1ff-407b-8aa0-121c420121f9": {
      "main": [
        [
          {
            "node": "c6a310e0-ab35-4e70-b0e8-49cd59380dd6",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "5feb467f-73c6-49de-bbeb-d946ab041f24",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5feb467f-73c6-49de-bbeb-d946ab041f24": {
      "main": [
        [
          {
            "node": "591bfd72-ba48-49da-b374-f071ad451574",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "591bfd72-ba48-49da-b374-f071ad451574": {
      "main": [
        [
          {
            "node": "3232d9e3-a1ff-407b-8aa0-121c420121f9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "96e92471-78e8-4a3d-bb86-3034876fef53": {
      "main": [
        [
          {
            "node": "126d1809-86cd-447e-b8d3-5a33cd993a76",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2eb04401-8f1d-40c9-a832-aee4b71ed051": {
      "main": [
        [
          {
            "node": "069111f8-b712-424d-9428-2baa8a9d8b1b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c6a310e0-ab35-4e70-b0e8-49cd59380dd6": {
      "main": [
        [
          {
            "node": "07d8710d-bbb3-4cf7-8e9e-5601a27bee00",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "126d1809-86cd-447e-b8d3-5a33cd993a76": {
      "main": [
        [
          {
            "node": "58e6cfb8-06f4-4a76-b425-c5c351fb29d7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "58e6cfb8-06f4-4a76-b425-c5c351fb29d7": {
      "main": [
        [
          {
            "node": "2eb04401-8f1d-40c9-a832-aee4b71ed051",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "07d8710d-bbb3-4cf7-8e9e-5601a27bee00": {
      "main": [
        []
      ]
    },
    "069111f8-b712-424d-9428-2baa8a9d8b1b": {
      "main": [
        [
          {
            "node": "591bfd72-ba48-49da-b374-f071ad451574",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "df31181c-5b54-4b8d-a1a5-3bbf92160d02": {
      "main": [
        [
          {
            "node": "96e92471-78e8-4a3d-bb86-3034876fef53",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급 - 콘텐츠 제작, 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수17
카테고리2
노드 유형9
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

저자
Jesse White

Jesse White

@creativeaitools

Driven by a passion for innovation and systems design, I specialize in building creative automations and AI-powered tools that simplify workflows and drive results. With a strong background in web development, API integration, and no-code platforms like n8n, I create scalable solutions for content creators, startups, and small businesses. My focus is on combining efficiency with creativity—turning ideas into streamlined digital products.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34