8
n8n 한국어amn8n.com

대화형 가상 인물 비디오 생성 및 TikTok에 게시

고급

이것은Content Creation, Miscellaneous, Multimodal AI분야의자동화 워크플로우로, 24개의 노드를 포함합니다.주로 If, Set, Wait, Postiz, HttpRequest 등의 노드를 사용하며. Elevenlabs와 Infinitalk을 사용하여 말할 수 있는 가상 인물 비디오를 만들고 TikTok에 자동으로 게시하기

사전 요구사항
  • 대상 API의 인증 정보가 필요할 수 있음
  • OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "XZSeWj4y0SWnp94K",
  "meta": {
    "instanceId": "a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462",
    "templateCredsSetupCompleted": true
  },
  "name": "Generate a talking avatar video and post to TikTok",
  "tags": [],
  "nodes": [
    {
      "id": "f0260063-c620-455f-ad89-a288b3deeb24",
      "name": "'워크플로 테스트' 클릭 시",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -288,
        256
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "970f94fe-c0f0-46dc-94b5-21b225f031a9",
      "name": "스티커 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -976,
        272
      ],
      "parameters": {
        "width": 560,
        "height": 960,
        "content": "## Input - Image\n![image](https://n3wstorage.b-cdn.net/n3witalia/result2.png)\n\n## Output - Video Result (max 5 sec.)\n## [Donwload the video](https://n3wstorage.b-cdn.net/n3witalia/talking_avatar.mp4)"
      },
      "typeVersion": 1
    },
    {
      "id": "b4f04df4-a42b-4c17-b4fe-c5e7d3b1964b",
      "name": "60초 대기1",
      "type": "n8n-nodes-base.wait",
      "position": [
        624,
        640
      ],
      "webhookId": "bb15f2f3-caec-4df6-ac1f-374ed90d8a3e",
      "parameters": {
        "amount": 60
      },
      "typeVersion": 1.1
    },
    {
      "id": "1e27c532-b751-4e38-8b9d-d9478caa419c",
      "name": "스티커 노트8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        352,
        576
      ],
      "parameters": {
        "width": 180,
        "height": 200,
        "content": "Set API Key created in Step 2"
      },
      "typeVersion": 1
    },
    {
      "id": "1f85dad8-9641-4514-abe4-e9e882e91d28",
      "name": "스티커 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        848,
        976
      ],
      "parameters": {
        "width": 180,
        "height": 200,
        "content": "Set ChannelId Step 3"
      },
      "typeVersion": 1
    },
    {
      "id": "e9c7afd2-8741-476d-95a0-29045a06175e",
      "name": "60초 대기2",
      "type": "n8n-nodes-base.wait",
      "position": [
        624,
        256
      ],
      "webhookId": "bb15f2f3-caec-4df6-ac1f-374ed90d8a3e",
      "parameters": {
        "amount": 60
      },
      "typeVersion": 1.1
    },
    {
      "id": "c64be753-c029-4e74-a6a6-85a5ac7d9d83",
      "name": "스티커 노트9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        352,
        192
      ],
      "parameters": {
        "width": 180,
        "height": 200,
        "content": "Set API Key created in Step 2"
      },
      "typeVersion": 1
    },
    {
      "id": "2920c75b-df35-4042-9693-f345bad4e73d",
      "name": "텍스트 입력 설정",
      "type": "n8n-nodes-base.set",
      "position": [
        32,
        256
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5b4cdec4-d8e0-4adf-9669-c242320bed4a",
              "name": "text",
              "type": "string",
              "value": "=Tomorrow in New York the weather will be clear and partly cloudy with a temperature of 25 degrees"
            },
            {
              "id": "76f947bc-1802-4106-8e4e-54a44364afc5",
              "name": "voice",
              "type": "string",
              "value": "Alice"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "f4c56b29-5818-4cbd-8204-859f18c13dfc",
      "name": "오디오 상태 확인",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        800,
        256
      ],
      "parameters": {
        "url": "=https://queue.fal.run/fal-ai/elevenlabs/requests/{{ $('Create voice').item.json.request_id }}/status ",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "daOZafXpRXLtoLUV",
          "name": "Fal.run API"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "6da04971-2400-446a-baf1-8e64109b11d2",
      "name": "오디오 완료?",
      "type": "n8n-nodes-base.if",
      "position": [
        976,
        256
      ],
      "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": "94141113-277d-49ce-8072-a9a7b56286d8",
      "name": "오디오 URL 가져오기",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -272,
        640
      ],
      "parameters": {
        "url": "=https://queue.fal.run/fal-ai/elevenlabs/requests/{{ $json.request_id }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "daOZafXpRXLtoLUV",
          "name": "Fal.run API"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "f987697a-1436-4a85-9aed-4a1a6ea9882b",
      "name": "오디오 URL 설정",
      "type": "n8n-nodes-base.set",
      "position": [
        -64,
        640
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "149fe1da-641e-4949-b695-fd6e3ad673f7",
              "name": "audio_url",
              "type": "string",
              "value": "={{$json.audio.url}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "193435c0-3b1f-4820-a24d-1645c0d81311",
      "name": "비디오 매개변수 설정",
      "type": "n8n-nodes-base.set",
      "position": [
        176,
        640
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c713d31f-9abd-496a-ac79-e8e2efe60aa0",
              "name": "image_url",
              "type": "string",
              "value": "=https://n3wstorage.b-cdn.net/n3witalia/result2.png"
            },
            {
              "id": "5b4cdec4-d8e0-4adf-9669-c242320bed4a",
              "name": "audio_url",
              "type": "string",
              "value": "={{$json.audio_url}}"
            },
            {
              "id": "66901b83-8687-4e7d-8860-a76e232e6027",
              "name": "prompt",
              "type": "string",
              "value": "=You are a girl who makes weather forecasts and needs to be expressive"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "f45bc334-7baa-48f7-be4e-dda094f52c5e",
      "name": "비디오 생성",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        400,
        640
      ],
      "parameters": {
        "url": "https://queue.fal.run/fal-ai/infinitalk",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n     \"image_url\": \"{{ $json.image_url }}\",\n     \"audio_url\": \"{{ $json.audio_url }}\",\n     \"prompt\": \"{{ $json.prompt }}\"\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": "faf0fb26-d0cc-4c76-9ce9-9dd9fb3c0f78",
      "name": "상태 확인",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        800,
        640
      ],
      "parameters": {
        "url": "=https://queue.fal.run/fal-ai/infinitalk/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": "c6c38e72-966e-44de-a65b-b6f5694523a8",
      "name": "완료?",
      "type": "n8n-nodes-base.if",
      "position": [
        976,
        640
      ],
      "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": "1368b0f4-7d61-4cc3-8b0a-81d13a167fbe",
      "name": "비디오 URL 가져오기",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -272,
        1024
      ],
      "parameters": {
        "url": "=https://queue.fal.run/fal-ai/infinitalk/requests/{{ $json.request_id }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "daOZafXpRXLtoLUV",
          "name": "Fal.run API"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "22c6d754-17d2-4730-b680-81027dfb6ec1",
      "name": "제목 생성",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -16,
        1024
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Input: {{ $('Set text input').item.json.text }}\n\nPrompt: {{ $('Set Video Params').item.json.prompt }}"
            },
            {
              "role": "system",
              "content": "You are a TikTok 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": "TefveNaDaMERl1hY",
          "name": "OpenAi account (Eure)"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "95db6c0f-1606-4035-b906-4e597844de20",
      "name": "비디오 파일 가져오기",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        352,
        1024
      ],
      "parameters": {
        "url": "={{ $('Get Url Video').item.json.video.url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "a549c100-6d5a-4098-b270-4230a1f2dab3",
      "name": "Postiz에 비디오 업로드",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        640,
        1024
      ],
      "parameters": {
        "url": "https://api.postiz.com/public/v1/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "GIEq2Y2xhJSgjqyG",
          "name": "Postiz"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "670d593d-da7a-45ca-b40e-109a2bcbe1f3",
      "name": "TikTok",
      "type": "n8n-nodes-postiz.postiz",
      "position": [
        880,
        1024
      ],
      "parameters": {
        "date": "={{ $now.format('yyyy-LL-dd') }}T{{ $now.format('HH:ii:ss') }}",
        "posts": {
          "post": [
            {
              "value": {
                "contentItem": [
                  {
                    "image": {
                      "imageItem": [
                        {
                          "id": "={{ $json.id }}",
                          "path": "={{ $json.path }}"
                        }
                      ]
                    },
                    "content": "={{ $('Generate title').item.json.message.content }}"
                  }
                ]
              },
              "integrationId": "XXX"
            }
          ]
        },
        "shortLink": true
      },
      "credentials": {
        "postizApi": {
          "id": "c8iQxqMcfCXPbUHc",
          "name": "Postiz account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1d42267b-70a4-4b15-ad3f-877a918ceb67",
      "name": "스티커 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -976,
        -192
      ],
      "parameters": {
        "color": 3,
        "width": 992,
        "height": 224,
        "content": "# Generate a talking AI avatar video from one image and post it to TikTok\n\nThis automated workflow generates a **video featuring a talking AI avatar from a single image and automatically publishes it to TikTok** with [Postiz](https://postiz.com/?ref=n3witalia).\n\nThe process involves two main AI services chained together: **Elevenlabs v3** and **Infinitalk**."
      },
      "typeVersion": 1
    },
    {
      "id": "531b4fa0-ea2b-438c-81b2-c0647cba1393",
      "name": "스티커 노트3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -976,
        64
      ],
      "parameters": {
        "width": 992,
        "content": "## SETUP STEPS\n- Set \"Text\" and \"Voice\" name in the node \"Set text input\"\n- Set \"Image url\" and prompt in the node \"Set Video params\"\n- Install Postiz n8n node"
      },
      "typeVersion": 1
    },
    {
      "id": "3b104696-0805-49a7-8f6b-6657b8e74dfa",
      "name": "음성 생성",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        400,
        256
      ],
      "parameters": {
        "url": "https://queue.fal.run/fal-ai/elevenlabs/tts/eleven-v3",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n     \"text\": \"{{ $json.text }}\",\n     \"voice\": \"{{ $json.voice }}\"\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
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "464c3e69-6f5c-445b-9e95-cf7cdde3db78",
  "connections": {
    "c6c38e72-966e-44de-a65b-b6f5694523a8": {
      "main": [
        [
          {
            "node": "1368b0f4-7d61-4cc3-8b0a-81d13a167fbe",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "b4f04df4-a42b-4c17-b4fe-c5e7d3b1964b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "faf0fb26-d0cc-4c76-9ce9-9dd9fb3c0f78": {
      "main": [
        [
          {
            "node": "c6c38e72-966e-44de-a65b-b6f5694523a8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f45bc334-7baa-48f7-be4e-dda094f52c5e": {
      "main": [
        [
          {
            "node": "b4f04df4-a42b-4c17-b4fe-c5e7d3b1964b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3b104696-0805-49a7-8f6b-6657b8e74dfa": {
      "main": [
        [
          {
            "node": "e9c7afd2-8741-476d-95a0-29045a06175e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "94141113-277d-49ce-8072-a9a7b56286d8": {
      "main": [
        [
          {
            "node": "f987697a-1436-4a85-9aed-4a1a6ea9882b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1368b0f4-7d61-4cc3-8b0a-81d13a167fbe": {
      "main": [
        [
          {
            "node": "22c6d754-17d2-4730-b680-81027dfb6ec1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f987697a-1436-4a85-9aed-4a1a6ea9882b": {
      "main": [
        [
          {
            "node": "193435c0-3b1f-4820-a24d-1645c0d81311",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b4f04df4-a42b-4c17-b4fe-c5e7d3b1964b": {
      "main": [
        [
          {
            "node": "faf0fb26-d0cc-4c76-9ce9-9dd9fb3c0f78",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e9c7afd2-8741-476d-95a0-29045a06175e": {
      "main": [
        [
          {
            "node": "f4c56b29-5818-4cbd-8204-859f18c13dfc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "22c6d754-17d2-4730-b680-81027dfb6ec1": {
      "main": [
        [
          {
            "node": "95db6c0f-1606-4035-b906-4e597844de20",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "95db6c0f-1606-4035-b906-4e597844de20": {
      "main": [
        [
          {
            "node": "a549c100-6d5a-4098-b270-4230a1f2dab3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2920c75b-df35-4042-9693-f345bad4e73d": {
      "main": [
        [
          {
            "node": "3b104696-0805-49a7-8f6b-6657b8e74dfa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6da04971-2400-446a-baf1-8e64109b11d2": {
      "main": [
        [
          {
            "node": "94141113-277d-49ce-8072-a9a7b56286d8",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "e9c7afd2-8741-476d-95a0-29045a06175e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f4c56b29-5818-4cbd-8204-859f18c13dfc": {
      "main": [
        [
          {
            "node": "6da04971-2400-446a-baf1-8e64109b11d2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "193435c0-3b1f-4820-a24d-1645c0d81311": {
      "main": [
        [
          {
            "node": "f45bc334-7baa-48f7-be4e-dda094f52c5e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a549c100-6d5a-4098-b270-4230a1f2dab3": {
      "main": [
        [
          {
            "node": "670d593d-da7a-45ca-b40e-109a2bcbe1f3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f0260063-c620-455f-ad89-a288b3deeb24": {
      "main": [
        [
          {
            "node": "2920c75b-df35-4042-9693-f345bad4e73d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

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

유료인가요?

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

워크플로우 정보
난이도
고급
노드 수24
카테고리3
노드 유형8
난이도 설명

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

저자

Full-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에서 보기

이 워크플로우 공유

카테고리

카테고리: 34