MCP x n8n 쇼츠 제작 완전 자동화

✔️ 아직도 쇼츠 직접 만드세요? 세팅 한 번이면 평생이 편해집니다 (MCP, n8n) 영상 편집 툴 없이, 대화(Prompt)만으로 유튜브 쇼츠를 100% 자동으로 만드는 방법을 공개합니다! 캐릭터 기획, 이미지 생성, 영상 제작, BGM, 자막까지…! 심지어 "캐릭터 표정 바꿔줘"와 같은 피드백 반영도 대화로 해결됩니다.

May 15, 2025
MCP x n8n 쇼츠 제작 완전 자동화

MCP x n8n 쇼츠 제작 완전 자동화

 
notion image
 
  • MCP x n8n 조합으로 실현하는 쇼츠 제작 완전 자동화!
파이썬 없이, 노코드로 이미지 생성, 영상 제작, 나레이션, 자막, 배경음악까지 모든 것이 자동화!
한 번의 프롬프트로 [완전 자동화된 쇼츠 영상]이 생성됩니다.
이번 영상에선,
  1. MCP를 활용한 AI 디렉터 설정 & 워크플로우 구축
  1. Claude를 통한 캐릭터 디자인부터 스토리 기획까지 자동화
  1. 이미지 생성 → 영상 편집 → 나레이션 삽입 전 과정 자동화
  1. n8n으로 피드백 즉시 반영 및 실시간 편집
  1. 실무 활용: 수작업 없이 완성도 높은 쇼츠 제작 파이프라인
까지 한 번에 보여드립니다.
콘텐츠 제작 자동화에 관심 있는 분이라면 필수!
 

참고 자료

1. 워크플로 자료

MCP 서버 워크플로
{ "nodes": [ { "parameters": { "path": "fe240a19-8714-4d67-af2a-e9b3c8313b02" }, "type": "@n8n/n8n-nodes-langchain.mcpTrigger", "typeVersion": 2, "position": [ 140, -140 ], "id": "f4992141-3ddd-47d3-8cd7-c6084257da47", "name": "MCP Server Trigger", "webhookId": "fe240a19-8714-4d67-af2a-e9b3c8313b02" }, { "parameters": { "description": "스토리를 입력하면, 해당 스토리를 쇼츠 비디오를 생성하기 좋게 6개 장면(scene)이 있는 플롯을 기획해주는 도구", "workflowId": { "__rl": true, "value": "xDhVEOY94OzYKwac", "mode": "list", "cachedResultName": "영상생성 기획 워크플로" }, "workflowInputs": { "mappingMode": "defineBelow", "value": { "story": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('story', ``, 'string') }}" }, "matchingColumns": [ "story" ], "schema": [ { "id": "story", "displayName": "story", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string", "removed": false } ], "attemptToConvertTypes": false, "convertFieldsToString": false } }, "type": "@n8n/n8n-nodes-langchain.toolWorkflow", "typeVersion": 2.2, "position": [ -120, 80 ], "id": "ee6b25f4-3311-4d7e-b590-0291e0fc530a", "name": "Generate Short Video Story" }, { "parameters": { "description": "각 장면의 이미지생성용 프롬프트를 입력받아서, 각 장면 AI이미지를 생성해주는 도구", "workflowId": { "__rl": true, "value": "UViUVvx0rPU16tWl", "mode": "list", "cachedResultName": "Flux 이미지생성" }, "workflowInputs": { "mappingMode": "defineBelow", "value": { "prompt": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('prompt', ``, 'string') }}", "aspect_ratio": "9:16", "model": "flux-dev", "prompt_suffix": "The character in the image should be rendered in a 3D animated style, similar to modern Disney or Pixar" }, "matchingColumns": [ "prompt" ], "schema": [ { "id": "prompt", "displayName": "prompt", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string", "removed": false }, { "id": "aspect_ratio", "displayName": "aspect_ratio", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string", "removed": false }, { "id": "model", "displayName": "model", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string", "removed": false }, { "id": "prompt_suffix", "displayName": "prompt_suffix", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string", "removed": false } ], "attemptToConvertTypes": false, "convertFieldsToString": false } }, "type": "@n8n/n8n-nodes-langchain.toolWorkflow", "typeVersion": 2.2, "position": [ 40, 80 ], "id": "fb1a22c9-efe6-447c-b24a-9affefa44dde", "name": "Generate AI Image" }, { "parameters": { "description": "imageUrl과 prompt를 입력받아서, 입력받은 이미지의 주 대상과 이미지 스타일을 유지하면서, prompt에 설명된 내용으로 이미지를 변경해주는 도구", "workflowId": { "__rl": true, "value": "HqHBH1xdtuYKrFDu", "mode": "list", "cachedResultName": "Gemini 이미지 편집기" }, "workflowInputs": { "mappingMode": "defineBelow", "value": { "imageUrl": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('imageUrl', ``, 'string') }}", "prompt": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('prompt', ``, 'string') }}", "imageBinary": "null" }, "matchingColumns": [], "schema": [ { "id": "imageUrl", "displayName": "imageUrl", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string" }, { "id": "imageBinary", "displayName": "imageBinary", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "object" }, { "id": "prompt", "displayName": "prompt", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string" } ], "attemptToConvertTypes": false, "convertFieldsToString": false } }, "type": "@n8n/n8n-nodes-langchain.toolWorkflow", "typeVersion": 2.2, "position": [ 200, 80 ], "id": "979f3351-6d98-4846-9d46-7eb47d663004", "name": "Edit AI Image" }, { "parameters": { "description": "image_url 을 넘겨받아서, start image로 삼고 5초 분량의 ai 동영상 생성을 요청하는 도구.\nrequest_id를 리턴함. (따라서, Download Generated AI Video 도구를 통해 별도로 생성 상태 확인 및 다운로드를 요청해야함.)\n", "workflowId": { "__rl": true, "value": "WblwlHpVuaHAZ2bl", "mode": "list", "cachedResultName": "Fal.ai Kling 2.1 동영상 생성기" }, "workflowInputs": { "mappingMode": "defineBelow", "value": { "prompt": "null", "image_url": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('image_url', ``, 'string') }}", "negative_prompt": "null" }, "matchingColumns": [], "schema": [ { "id": "prompt", "displayName": "prompt", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string" }, { "id": "image_url", "displayName": "image_url", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string" }, { "id": "negative_prompt", "displayName": "negative_prompt", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string", "removed": false } ], "attemptToConvertTypes": false, "convertFieldsToString": false } }, "type": "@n8n/n8n-nodes-langchain.toolWorkflow", "typeVersion": 2.2, "position": [ 360, 80 ], "id": "1d0aea90-4cda-4beb-8275-cdd633fc39e0", "name": "Generate Image to Video" }, { "parameters": { "description": "Generate Image to Video 도구로 생성요청한 Video의 생성 상태를 조회하고 다운로드하는 도구.\n내부적으로 생성상태 확인은 2회 진행하며, 2회 안애 생성이 안되었을 경우, 다운로드가 실행되지 않음. 따라서, 이 도구를 다시 요청해야함.", "workflowId": { "__rl": true, "value": "5vj7ZySgdkUKiVfZ", "mode": "list", "cachedResultName": "Fal.ai Kling 2.1 동영상 다운로더" }, "workflowInputs": { "mappingMode": "defineBelow", "value": { "request_id": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('request_id', ``, 'string') }}" }, "matchingColumns": [ "request_id" ], "schema": [ { "id": "request_id", "displayName": "request_id", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string", "removed": false } ], "attemptToConvertTypes": false, "convertFieldsToString": false } }, "type": "@n8n/n8n-nodes-langchain.toolWorkflow", "typeVersion": 2.2, "position": [ 540, 80 ], "id": "43751cae-56f9-4499-ab58-e5e754b9cc3d", "name": "Download Generated AI Video" }, { "parameters": { "description": "text를 입력받아서, text to audio 로 AI성우 나레이션 오디오 생성해주는 도구", "workflowId": { "__rl": true, "value": "yhqObLQZg1mDKUak", "mode": "list", "cachedResultName": "ElevenLabs 나레이션 생성기" }, "workflowInputs": { "mappingMode": "defineBelow", "value": { "text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('text', ``, 'string') }}" }, "matchingColumns": [ "text" ], "schema": [ { "id": "text", "displayName": "text", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string", "removed": false } ], "attemptToConvertTypes": false, "convertFieldsToString": false } }, "type": "@n8n/n8n-nodes-langchain.toolWorkflow", "typeVersion": 2.2, "position": [ 720, 80 ], "id": "cd488f01-2f86-48e3-91f6-fa831cef7399", "name": "Generate Narration" }, { "parameters": { "description": "각 장면별 비디오 url, 나레이션(오디오) url, 자막 텍스트를 datasets에 배열로 전달하고, bgm_url에 배경음악으로 사용될 오디오 url을 전달하여 쇼츠 동영상을 자동으로 랜더링하여 최종 video Url을 전달해주는 도구", "workflowId": { "__rl": true, "value": "UjBBYX6JrRFqPNXl", "mode": "list", "cachedResultName": "쇼츠 동영상 렌더링" }, "workflowInputs": { "mappingMode": "defineBelow", "value": { "bgm_url": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('bgm_url', ``, 'string') }}", "datasets": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('datasets', `[{\n \"video_url\": \"비디오1 URL\",\n \"audio_url\": \"오디오1 URL\", \n \"subtitle\": \"자막1\"\n},{\n \"video_url\": \"비디오2 URL\",\n \"audio_url\": \"오디오2 URL\", \n \"subtitle\": \"자막2\"\n}, ...\n]`, 'string') }}" }, "matchingColumns": [], "schema": [ { "id": "datasets", "displayName": "datasets", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "array" }, { "id": "bgm_url", "displayName": "bgm_url", "required": false, "defaultMatch": false, "display": true, "canBeUsedToMatch": true, "type": "string" } ], "attemptToConvertTypes": false, "convertFieldsToString": false } }, "type": "@n8n/n8n-nodes-langchain.toolWorkflow", "typeVersion": 2.2, "position": [ 880, 80 ], "id": "f9b2cec5-3ab7-4166-b467-c3dea6033b90", "name": "Rendering Final Shorts Video" } ], "connections": { "Generate Short Video Story": { "ai_tool": [ [ { "node": "MCP Server Trigger", "type": "ai_tool", "index": 0 } ] ] }, "Generate AI Image": { "ai_tool": [ [ { "node": "MCP Server Trigger", "type": "ai_tool", "index": 0 } ] ] }, "Edit AI Image": { "ai_tool": [ [ { "node": "MCP Server Trigger", "type": "ai_tool", "index": 0 } ] ] }, "Generate Image to Video": { "ai_tool": [ [ { "node": "MCP Server Trigger", "type": "ai_tool", "index": 0 } ] ] }, "Download Generated AI Video": { "ai_tool": [ [ { "node": "MCP Server Trigger", "type": "ai_tool", "index": 0 } ] ] }, "Generate Narration": { "ai_tool": [ [ { "node": "MCP Server Trigger", "type": "ai_tool", "index": 0 } ] ] }, "Rendering Final Shorts Video": { "ai_tool": [ [ { "node": "MCP Server Trigger", "type": "ai_tool", "index": 0 } ] ] } }, "pinData": {}, "meta": { "templateCredsSetupCompleted": true, "instanceId": "1d2666320bb19d8da8975c9b1013bd7bdad6e0bf91ffe1acdc74e48c3285fb2f" } }
Generate Short Video Story 서브 워크플로
{ "nodes": [ { "parameters": { "workflowInputs": { "values": [ { "name": "story" } ] } }, "type": "n8n-nodes-base.executeWorkflowTrigger", "typeVersion": 1.1, "position": [ -120, 0 ], "id": "daf461b5-4784-430e-9d6e-557085229e46", "name": "paramters" }, { "parameters": { "promptType": "=define", "text": "=* 일반 지침\n동물 Shorts Video(30초 동영상)을 만들어야해.\n30초 내외의 귀엽고 재밌는 유머러스한 영상을 기획해야되.\n\n* 세부 지침\n - 아래 요청 스토리를 참고해서 요청된 스토리에 align되는 어색하지 않게 연결되는 플롯을 아래 구조에 맞게 생성해줘.\n - 각 장면에는 주인공 동물이 포함되어 묘사가 되어야 해.\n - 총 6개 장면(Scene)을 한글로 묘사해서 description 항목에 생성해서 넣어줘. (각 장면은 150-200자로 작성)\n - 각 묘사된 내용을 바탕으로 AI 이미지 생성용 프롬프트를 영어로 작성해줘.\n - 각 Scene별 자막을 생성해줘. 한글로 2줄 이내, 한줄에 한글 12자 이내로 작성해줘. 줄바꿈이 필요할시 '첫 번째 줄\\n두 번째 줄' 처럼 생성해줘. 문어체로 생성해서, 자연스러운 나레이션이 되도록해줘.\n\n* 스토리\n - {{ $json.story }}", "hasOutputParser": true, "options": {} }, "type": "@n8n/n8n-nodes-langchain.agent", "typeVersion": 2, "position": [ 120, 0 ], "id": "c5eaeef8-6ba4-4c71-8230-299dfe989536", "name": "AI Agent" }, { "parameters": { "jsonSchemaExample": "{\n\t\"scene1\": {\n \"description\" : \"장면묘사1\",\n \"prompt\": \"장면묘사1에 대한 AI 이미지생성 프롬프트\",\n \"caption\": \"장면묘사1에 대한 한글 자막\"\n },\n\t\"scene2\": {\n \"description\" : \"장면묘사2\",\n \"prompt\": \"장면묘사2에 대한 AI 이미지생성 프롬프트\",\n \"caption\": \"장면묘사2에 대한 한글 자막\"\n },\n \"scene3\": {\n \"description\" : \"장면묘사3\",\n \"prompt\": \"장면묘사3에 대한 AI 이미지생성 프롬프트\",\n \"caption\": \"장면묘사3에 대한 한글 자막\"\n },\n\t\"scene4\": {\n \"description\" : \"장면묘사4\",\n \"prompt\": \"장면묘사4에 대한 AI 이미지생성 프롬프트\",\n \"caption\": \"장면묘사4에 대한 한글 자막\"\n },\n \"scene5\": {\n \"description\" : \"장면묘사5\",\n \"prompt\": \"장면묘사5에 대한 AI 이미지생성 프롬프트\",\n \"caption\": \"장면묘사5에 대한 한글 자막\"\n },\n\t\"scene6\": {\n \"description\" : \"장면묘사6\",\n \"prompt\": \"장면묘사6에 대한 AI 이미지생성 프롬프트\",\n \"caption\": \"장면묘사6에 대한 한글 자막\"\n }\n}", "autoFix": true }, "type": "@n8n/n8n-nodes-langchain.outputParserStructured", "typeVersion": 1.3, "position": [ 220, 222.5 ], "id": "a1dc0f07-7f24-4a9d-a9d7-8eb3dc0a3347", "name": "Structured Output Parser" }, { "parameters": { "model": "google/gemini-2.5-flash", "options": {} }, "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter", "typeVersion": 1, "position": [ 100, 220 ], "id": "c9d05e3b-6a67-454d-8795-19c2f1670fe2", "name": "OpenRouter Chat Model", "credentials": { "openRouterApi": { "id": "IstxAvtJ1xbwBhzi", "name": "OpenRouter account" } } }, { "parameters": { "options": {} }, "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter", "typeVersion": 1, "position": [ 300, 420 ], "id": "ba8e5d77-6f5d-493f-baa0-49f28397fc2d", "name": "OpenRouter Chat Model1", "credentials": { "openRouterApi": { "id": "IstxAvtJ1xbwBhzi", "name": "OpenRouter account" } } } ], "connections": { "paramters": { "main": [ [ { "node": "AI Agent", "type": "main", "index": 0 } ] ] }, "Structured Output Parser": { "ai_outputParser": [ [ { "node": "AI Agent", "type": "ai_outputParser", "index": 0 } ] ] }, "OpenRouter Chat Model": { "ai_languageModel": [ [ { "node": "AI Agent", "type": "ai_languageModel", "index": 0 } ] ] }, "OpenRouter Chat Model1": { "ai_languageModel": [ [ { "node": "Structured Output Parser", "type": "ai_languageModel", "index": 0 } ] ] } }, "pinData": {}, "meta": { "templateCredsSetupCompleted": true, "instanceId": "1d2666320bb19d8da8975c9b1013bd7bdad6e0bf91ffe1acdc74e48c3285fb2f" } }
Generate AI Image 서브 워크플로 (Flux 이미지 생성)
{ "nodes": [ { "parameters": { "url": "={{ $json.output[0] }}", "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ 320, -280 ], "id": "1a7d572a-425a-41c6-96b1-f0e44441ea7b", "name": "이미지 다운로드" }, { "parameters": { "assignments": { "assignments": [ { "id": "7128317a-b5ed-4503-abb4-3e35f27f024d", "name": "image_url", "value": "=https://xxxxxxxxxx.cloudfront.net/flux/{{ $('이미지 다운로드').item.json.id }}.webp", "type": "string" } ] }, "options": {} }, "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ 760, -280 ], "id": "28882173-e1d6-490d-b73e-ae3cadd1a11a", "name": "이미지 주소 리턴" }, { "parameters": { "operation": "upload", "bucketName": "dante-n8n", "fileName": "=flux/{{ $json.id }}.webp", "additionalFields": {} }, "type": "n8n-nodes-base.awsS3", "typeVersion": 2, "position": [ 540, -280 ], "id": "91674e9e-9c01-4610-bd13-7bbf70691f4d", "name": "AWS S3 업로드", "credentials": { "aws": { "id": "R41GVQV3iEkryfyh", "name": "AWS account Basic" } } }, { "parameters": { "workflowInputs": { "values": [ { "name": "prompt" }, { "name": "aspect_ratio" }, { "name": "model" }, { "name": "prompt_suffix" } ] } }, "type": "n8n-nodes-base.executeWorkflowTrigger", "typeVersion": 1.1, "position": [ -100, -280 ], "id": "962650d4-4e3a-40c8-8109-3cc66159cb94", "name": "When Executed by Another Workflow" }, { "parameters": { "url": "={{ $json.image_url }}", "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ 980, -280 ], "id": "b55e163a-fa49-43f9-8ec0-1d689194e885", "name": "이미지 다운로드1" }, { "parameters": { "method": "POST", "url": "=https://api.replicate.com/v1/models/black-forest-labs/{{ $json.model ?? \"flux-schnell\" }}/predictions", "authentication": "genericCredentialType", "genericAuthType": "httpBearerAuth", "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "Content-Type", "value": "application/json" }, { "name": "Prefer", "value": "wait" } ] }, "sendBody": true, "specifyBody": "json", "jsonBody": "={\n \"input\" : {\n \"prompt\" : \"{{ $json.prompt }}, {{ $json.prompt_suffix ?? \"\" }}\",\n \"aspect_ratio\" : \"{{ $json.aspect_ratio ?? \"1:1\" }}\"\n }\n} ", "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ 120, -280 ], "id": "dacff17f-07ce-4669-9f2a-5c7da8357805", "name": "이미지 생성 요청", "credentials": { "httpBearerAuth": { "id": "lgKZeS8dwKGgOyNT", "name": "Replicate Auth account" } } } ], "connections": { "이미지 다운로드": { "main": [ [ { "node": "AWS S3 업로드", "type": "main", "index": 0 } ] ] }, "이미지 주소 리턴": { "main": [ [ { "node": "이미지 다운로드1", "type": "main", "index": 0 } ] ] }, "AWS S3 업로드": { "main": [ [ { "node": "이미지 주소 리턴", "type": "main", "index": 0 } ] ] }, "When Executed by Another Workflow": { "main": [ [ { "node": "이미지 생성 요청", "type": "main", "index": 0 } ] ] }, "이미지 생성 요청": { "main": [ [ { "node": "이미지 다운로드", "type": "main", "index": 0 } ] ] } }, "pinData": {}, "meta": { "templateCredsSetupCompleted": true, "instanceId": "1d2666320bb19d8da8975c9b1013bd7bdad6e0bf91ffe1acdc74e48c3285fb2f" } }
Edit AI Image 서브 워크플로 (Gemini 이미지 수정 / 생성)
{ "nodes": [ { "parameters": { "method": "POST", "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-preview-image-generation:generateContent", "authentication": "genericCredentialType", "genericAuthType": "httpHeaderAuth", "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "Content-Type", "value": "application/json" } ] }, "sendBody": true, "contentType": "raw", "body": "={\n \"contents\": [{\n \"parts\": [\n {\"text\": \"{{ $('When Executed by Another Workflow').item.json.prompt }}\"},\n {\n \"inline_data\": {\n \"mime_type\": \"{{ $json.image.mimeType }}\",\n \"data\": \"{{ $json.image.data }}\"\n }\n }\n ], \n }],\n \"generationConfig\": {\n \"responseModalities\": [\"TEXT\", \"IMAGE\"]\n }\n}", "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ -520, 420 ], "id": "71cfbebf-21b1-4c47-a404-8ba4f7a54c48", "name": "이미지 생성 요청", "retryOnFail": true, "credentials": { "httpHeaderAuth": { "id": "NIWI1DkgSDiXWbjP", "name": "Gemini Header Auth" } }, "onError": "continueErrorOutput" }, { "parameters": { "url": "={{ $json.imageUrl }}", "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ -960, 340 ], "id": "a9b455a5-0a08-4551-a70e-ea821743de47", "name": "참고이미지", "retryOnFail": true }, { "parameters": { "jsCode": "return {\n \"image\" : $input.first().json.imageUrl !== null ? $input.last().binary.data : $input.first().json.imageBinary\n} " }, "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ -740, 420 ], "id": "9bd029e8-26e6-4acd-af68-a156a425f8ab", "name": "Code" }, { "parameters": { "operation": "toBinary", "sourceProperty": "candidates[0].content.parts[1].inlineData.data", "options": {} }, "type": "n8n-nodes-base.convertToFile", "typeVersion": 1.1, "position": [ -300, 420 ], "id": "58321140-0ea9-4fd4-8cd7-80865dcd5859", "name": "Convert to File", "onError": "continueErrorOutput" }, { "parameters": { "workflowInputs": { "values": [ { "name": "imageUrl" }, { "name": "imageBinary", "type": "object" }, { "name": "prompt" } ] } }, "type": "n8n-nodes-base.executeWorkflowTrigger", "typeVersion": 1.1, "position": [ -1400, 420 ], "id": "0b0537e4-a34a-490b-93c4-4adca969b31c", "name": "When Executed by Another Workflow" }, { "parameters": { "conditions": { "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict", "version": 2 }, "conditions": [ { "id": "6307c9e2-9cf6-43f6-a5cd-c1fda3869485", "leftValue": "={{ $json.imageUrl }}", "rightValue": "", "operator": { "type": "string", "operation": "exists", "singleValue": true } } ], "combinator": "and" }, "options": {} }, "type": "n8n-nodes-base.if", "typeVersion": 2.2, "position": [ -1180, 420 ], "id": "496c3a24-7efc-4fcc-a4f9-6cae9a26ffc6", "name": "If" }, { "parameters": { "operation": "upload", "bucketName": "dante-n8n", "fileName": "=gemini/{{ $('이미지 생성 요청').item.json.responseId }}.png", "additionalFields": {} }, "type": "n8n-nodes-base.awsS3", "typeVersion": 2, "position": [ -80, 420 ], "id": "91be937a-b83b-4a7e-9752-6fbb8edce213", "name": "AWS S3", "credentials": { "aws": { "id": "R41GVQV3iEkryfyh", "name": "AWS account Basic" } } }, { "parameters": { "assignments": { "assignments": [ { "id": "9ee1f23f-196b-4e02-b1bd-3d586c73321d", "name": "imageUrl", "value": "=https://xxxxxxxxxx.cloudfront.net/gemini/{{ $('이미지 생성 요청').item.json.responseId }}.png", "type": "string" } ] }, "options": {} }, "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ 160, 420 ], "id": "d28a09e7-3857-4f10-bc70-389036647903", "name": "Edit Fields" }, { "parameters": { "assignments": { "assignments": [ { "id": "7d3d76d2-d04d-43da-a979-ca3c184bdb15", "name": "imageUrl", "value": "이미지 생성에 실패했습니다. 다시요청해주세요.", "type": "string" } ] }, "options": {} }, "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ -120, 680 ], "id": "4164e939-5990-4a5d-8557-2a60c1bf0683", "name": "Edit Fields1" } ], "connections": { "이미지 생성 요청": { "main": [ [ { "node": "Convert to File", "type": "main", "index": 0 } ], [ { "node": "Edit Fields1", "type": "main", "index": 0 } ] ] }, "참고이미지": { "main": [ [ { "node": "Code", "type": "main", "index": 0 } ] ] }, "Code": { "main": [ [ { "node": "이미지 생성 요청", "type": "main", "index": 0 } ] ] }, "Convert to File": { "main": [ [ { "node": "AWS S3", "type": "main", "index": 0 } ], [ { "node": "Edit Fields1", "type": "main", "index": 0 } ] ] }, "When Executed by Another Workflow": { "main": [ [ { "node": "If", "type": "main", "index": 0 } ] ] }, "If": { "main": [ [ { "node": "참고이미지", "type": "main", "index": 0 } ], [ { "node": "Code", "type": "main", "index": 0 } ] ] }, "AWS S3": { "main": [ [ { "node": "Edit Fields", "type": "main", "index": 0 } ] ] } }, "pinData": {}, "meta": { "templateCredsSetupCompleted": true, "instanceId": "1d2666320bb19d8da8975c9b1013bd7bdad6e0bf91ffe1acdc74e48c3285fb2f" } }
Generate Image to Video 서브 워크플로 (Fal.ai Kling 2.1 동영상 생성)
{ "nodes": [ { "parameters": { "workflowInputs": { "values": [ { "name": "prompt" }, { "name": "image_url" }, { "name": "negative_prompt" } ] } }, "type": "n8n-nodes-base.executeWorkflowTrigger", "typeVersion": 1.1, "position": [ -580, -40 ], "id": "64bbb98c-aa8e-4711-b637-8a3fe32d0183", "name": "When Executed by Another Workflow" }, { "parameters": { "method": "POST", "url": "https://queue.fal.run/fal-ai/kling-video/v2.1/standard/image-to-video", "authentication": "genericCredentialType", "genericAuthType": "httpHeaderAuth", "sendBody": true, "bodyParameters": { "parameters": [ { "name": "=prompt", "value": "={{ $json.prompt ?? \"\" }}" }, { "name": "image_url", "value": "={{ $json.image_url }}" }, { "name": "negative_prompt", "value": "={{ $json.negative_prompt ?? \"blur, distort, and low quality\" }}" } ] }, "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ -360, -40 ], "id": "c456f1dd-ac79-4f0c-a4dc-59c6b95f156d", "name": "Fal.ai 동영상 생성 요청", "credentials": { "httpHeaderAuth": { "id": "PgxVNc58mgp10By5", "name": "Fal ai Auth account" } } }, { "parameters": { "assignments": { "assignments": [ { "id": "89b4c5de-a1a1-491a-aba3-cb898ad18701", "name": "request_id", "value": "={{ $json.request_id }}", "type": "string" }, { "id": "a8d01c41-6b24-4aaa-95ff-b8f60825a464", "name": "status", "value": "={{ $json.status }}", "type": "string" } ] }, "options": {} }, "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ -140, -40 ], "id": "21511ddb-319b-4b9e-bb34-dad376d1e686", "name": "Edit Fields" } ], "connections": { "When Executed by Another Workflow": { "main": [ [ { "node": "Fal.ai 동영상 생성 요청", "type": "main", "index": 0 } ] ] }, "Fal.ai 동영상 생성 요청": { "main": [ [ { "node": "Edit Fields", "type": "main", "index": 0 } ] ] } }, "pinData": {}, "meta": { "templateCredsSetupCompleted": true, "instanceId": "1d2666320bb19d8da8975c9b1013bd7bdad6e0bf91ffe1acdc74e48c3285fb2f" } }
Download Generated AI Video 서브 워크플로 (Fal.ai Kling 2.1 동영상 다운로드)
{ "nodes": [ { "parameters": { "url": "=https://queue.fal.run/fal-ai/kling-video/requests/{{ $json.request_id }}/status", "authentication": "genericCredentialType", "genericAuthType": "httpHeaderAuth", "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ -1300, -100 ], "id": "7d67eed1-54cc-46ff-9c00-d109ee6ad363", "name": "상태조회", "credentials": { "httpHeaderAuth": { "id": "PgxVNc58mgp10By5", "name": "Fal ai Auth account" } } }, { "parameters": { "conditions": { "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict", "version": 2 }, "conditions": [ { "id": "c03b0c21-7813-4abc-99d6-1f5d48b4e963", "leftValue": "={{ $json.status }}", "rightValue": "COMPLETED", "operator": { "type": "string", "operation": "equals" } } ], "combinator": "and" }, "options": {} }, "type": "n8n-nodes-base.if", "typeVersion": 2.2, "position": [ -1080, -100 ], "id": "77bb9d64-1a56-40ca-837e-8af30bf38f14", "name": "If" }, { "parameters": { "url": "={{ $json.response_url }}", "authentication": "genericCredentialType", "genericAuthType": "httpHeaderAuth", "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ -200, -200 ], "id": "6398f367-771f-49f8-9966-af35812f0271", "name": "생성 결과 조회", "credentials": { "httpHeaderAuth": { "id": "PgxVNc58mgp10By5", "name": "Fal ai Auth account" } } }, { "parameters": { "url": "={{ $json.video.url }}", "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ 20, -200 ], "id": "cf999de9-9cf0-4de0-a9a5-b814d74ef1d7", "name": "동영상 다운로드" }, { "parameters": { "operation": "upload", "bucketName": "dante-n8n", "fileName": "=kling/{{ $json.video.url.split(\"/\").last() }}", "additionalFields": {} }, "type": "n8n-nodes-base.awsS3", "typeVersion": 2, "position": [ 240, -200 ], "id": "cb0b9fa6-06c2-4972-8a20-5d3b2ff83f4d", "name": "Upload a file", "credentials": { "aws": { "id": "R41GVQV3iEkryfyh", "name": "AWS account Basic" } } }, { "parameters": { "assignments": { "assignments": [ { "id": "dd0cc9bb-e5a3-40b1-9bac-ae37d8018741", "name": "video_url", "value": "=https://xxxxxxxxxxx.cloudfront.net/kling/{{ $('동영상 다운로드').item.json.video.url.split(\"/\").last() }}", "type": "string" }, { "id": "c5ca4057-70ea-4dbf-82ca-a6c267e8cdee", "name": "result", "value": "동영상 생성이 완료되었습니다. video_url을 확인하세요.", "type": "string" } ] }, "options": {} }, "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ 460, -200 ], "id": "9c493005-40eb-4930-8e29-09fbbb3495cf", "name": "Edit Fields1" }, { "parameters": { "amount": 20 }, "type": "n8n-nodes-base.wait", "typeVersion": 1.1, "position": [ -860, -20 ], "id": "31726917-c2ee-4dc3-b828-1109ef1573f6", "name": "Wait", "webhookId": "66048aa8-c270-48bd-8b28-e1008dbfdfa9" }, { "parameters": { "workflowInputs": { "values": [ { "name": "request_id" } ] } }, "type": "n8n-nodes-base.executeWorkflowTrigger", "typeVersion": 1.1, "position": [ -1520, -100 ], "id": "89154b9f-2ab7-4480-ab74-a59040acd2b8", "name": "parameters" }, { "parameters": { "url": "=https://queue.fal.run/fal-ai/kling-video/requests/{{ $('parameters').item.json.request_id }}/status", "authentication": "genericCredentialType", "genericAuthType": "httpHeaderAuth", "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ -640, -20 ], "id": "3b111537-8350-48b0-8381-97fbb0ec89b6", "name": "상태조회1", "credentials": { "httpHeaderAuth": { "id": "PgxVNc58mgp10By5", "name": "Fal ai Auth account" } } }, { "parameters": { "conditions": { "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict", "version": 2 }, "conditions": [ { "id": "c03b0c21-7813-4abc-99d6-1f5d48b4e963", "leftValue": "={{ $json.status }}", "rightValue": "COMPLETED", "operator": { "type": "string", "operation": "equals" } } ], "combinator": "and" }, "options": {} }, "type": "n8n-nodes-base.if", "typeVersion": 2.2, "position": [ -420, -20 ], "id": "8f424542-6425-4ae8-9f2e-9cdedcebc67a", "name": "If1" }, { "parameters": { "assignments": { "assignments": [ { "id": "ba17fd2a-24ee-4ee6-b68b-0bd7ee60eb43", "name": "result", "value": "동영상 아직 생성중입니다. 다시 상태확인을 요청하세요.", "type": "string" } ] }, "options": {} }, "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ -200, 20 ], "id": "045e457b-23ef-4e7f-a04b-bb9d1f54a894", "name": "Edit Fields" } ], "connections": { "상태조회": { "main": [ [ { "node": "If", "type": "main", "index": 0 } ] ] }, "If": { "main": [ [ { "node": "생성 결과 조회", "type": "main", "index": 0 } ], [ { "node": "Wait", "type": "main", "index": 0 } ] ] }, "생성 결과 조회": { "main": [ [ { "node": "동영상 다운로드", "type": "main", "index": 0 } ] ] }, "동영상 다운로드": { "main": [ [ { "node": "Upload a file", "type": "main", "index": 0 } ] ] }, "Upload a file": { "main": [ [ { "node": "Edit Fields1", "type": "main", "index": 0 } ] ] }, "Wait": { "main": [ [ { "node": "상태조회1", "type": "main", "index": 0 } ] ] }, "parameters": { "main": [ [ { "node": "상태조회", "type": "main", "index": 0 } ] ] }, "상태조회1": { "main": [ [ { "node": "If1", "type": "main", "index": 0 } ] ] }, "If1": { "main": [ [ { "node": "생성 결과 조회", "type": "main", "index": 0 } ], [ { "node": "Edit Fields", "type": "main", "index": 0 } ] ] } }, "pinData": {}, "meta": { "templateCredsSetupCompleted": true, "instanceId": "1d2666320bb19d8da8975c9b1013bd7bdad6e0bf91ffe1acdc74e48c3285fb2f" } }
Generate Narration 서브 워크플로 (ElevenLabs v3)
{ "nodes": [ { "parameters": { "workflowInputs": { "values": [ { "name": "text" } ] } }, "id": "206ddcbd-4329-40c5-b2a8-2207e41cd22d", "typeVersion": 1.1, "name": "parameters", "type": "n8n-nodes-base.executeWorkflowTrigger", "position": [ -1240, -200 ] }, { "parameters": { "resource": "speech", "voice": { "__rl": true, "value": "B8gJV1IhpuegLxdpXFOE", "mode": "list", "cachedResultName": "kuon" }, "text": "={{ $json.text }}", "additionalOptions": { "model": { "__rl": true, "value": "eleven_multilingual_v2", "mode": "list", "cachedResultName": "Eleven Multilingual v2" }, "outputFormat": "mp3_44100_128", "languageCode": "ko", "voiceSettings": "{\n \"stability\": 0,\n \"similarity_boost\": 0.25,\n \"style\": 0.5,\n \"use_speaker_boost\": true,\n \"speed\": 1.2\n}" }, "requestOptions": {} }, "type": "@elevenlabs/n8n-nodes-elevenlabs.elevenLabs", "typeVersion": 1, "position": [ -1020, -200 ], "id": "88dac749-b7a7-4af6-a1ab-3dc44aebe38e", "name": "Convert text to speech", "credentials": { "elevenLabsApi": { "id": "CI7IS45wF9GZXlAs", "name": "ElevenLabs account" } }, "onError": "continueErrorOutput" }, { "parameters": { "operation": "upload", "bucketName": "dante-n8n", "fileName": "=elevenlabs/{{ $json[\"request-id\"] }}.mp3", "binaryPropertyName": "=data", "additionalFields": {} }, "type": "n8n-nodes-base.awsS3", "typeVersion": 2, "position": [ -800, -280 ], "id": "a6f2d415-7bac-4024-8963-e8fdaac4ea90", "name": "Upload a file", "credentials": { "aws": { "id": "R41GVQV3iEkryfyh", "name": "AWS account Basic" } }, "onError": "continueErrorOutput" }, { "parameters": { "assignments": { "assignments": [ { "id": "7128317a-b5ed-4503-abb4-3e35f27f024d", "name": "image_url", "value": "=https://xxxxxxxxx.cloudfront.net/elevenlabs/{{ $('Convert text to speech').item.json['request-id'] }}.mp3", "type": "string" }, { "id": "05f93666-b41a-4523-8897-29e2a7d339b9", "name": "result", "value": "오디오생성 성공.", "type": "string" } ] }, "options": {} }, "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ -580, -320 ], "id": "34fe9731-f61c-4672-b82d-e54e4bb9b8e2", "name": "오디오 주소 리턴" }, { "parameters": { "assignments": { "assignments": [ { "id": "abbb04d9-9051-4aee-b47c-7d04683b3eb8", "name": "result", "value": "오디오 생성 실패. 다시 시도하세요.", "type": "string" } ] }, "options": {} }, "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ -580, -100 ], "id": "d200cf03-8ea3-4b7c-9165-290507cb7617", "name": "Edit Fields" } ], "connections": { "parameters": { "main": [ [ { "node": "Convert text to speech", "type": "main", "index": 0 } ] ] }, "Convert text to speech": { "main": [ [ { "node": "Upload a file", "type": "main", "index": 0 } ], [ { "node": "Edit Fields", "type": "main", "index": 0 } ] ] }, "Upload a file": { "main": [ [ { "node": "오디오 주소 리턴", "type": "main", "index": 0 } ], [ { "node": "Edit Fields", "type": "main", "index": 0 } ] ] } }, "pinData": {}, "meta": { "templateCredsSetupCompleted": true, "instanceId": "1d2666320bb19d8da8975c9b1013bd7bdad6e0bf91ffe1acdc74e48c3285fb2f" } }
Rendering Final Shorts Video 서브 워크플로 (MediaFX 커스텀 노드)
{ "nodes": [ { "parameters": { "fieldToSplitOut": "=datasets", "options": {} }, "type": "n8n-nodes-base.splitOut", "typeVersion": 1, "position": [ -60, -240 ], "id": "eef6fbd6-1554-4c0b-bc69-1d2bb504374d", "name": "Split Out" }, { "parameters": { "options": {} }, "type": "n8n-nodes-base.splitInBatches", "typeVersion": 3, "position": [ 160, -240 ], "id": "04842aa1-91e8-4515-b319-e99ee5dabfe4", "name": "Loop Over Items" }, { "parameters": { "operation": "upload", "bucketName": "dante-n8n", "fileName": "=mediafx/assets/{{ $binary.data.fileName }}", "additionalFields": {} }, "type": "n8n-nodes-base.awsS3", "typeVersion": 2, "position": [ 840, -240 ], "id": "c9811ef5-e317-438c-b847-899db31e1c16", "name": "Upload a file", "credentials": { "aws": { "id": "R41GVQV3iEkryfyh", "name": "AWS account Basic" } } }, { "parameters": { "resource": "audio", "operation": "mixAudio", "mixVideoSourceType": "binary", "mixAudioSourceUrl": "={{ $('parameters').item.json.bgm_url }}", "videoVolume": 3, "audioVolume": 0.5, "enableFadeOut": true }, "type": "n8n-nodes-mediafx.mediaFX", "typeVersion": 1, "position": [ 820, 20 ], "id": "e406b3c6-f20c-4d06-8782-4589eeaba921", "name": "배경음악 삽입" }, { "parameters": { "operation": "upload", "bucketName": "dante-n8n", "fileName": "=mediafx/final/{{ $binary.data.fileName}}", "additionalFields": {} }, "type": "n8n-nodes-base.awsS3", "typeVersion": 2, "position": [ 1040, 20 ], "id": "b36154ab-bdc1-4e4b-8676-4323dd2db09b", "name": "Upload a file1", "credentials": { "aws": { "id": "R41GVQV3iEkryfyh", "name": "AWS account Basic" } } }, { "parameters": { "workflowInputs": { "values": [ { "name": "datasets", "type": "array" }, { "name": "bgm_url" } ] } }, "type": "n8n-nodes-base.executeWorkflowTrigger", "typeVersion": 1.1, "position": [ -300, -240 ], "id": "ab5ff2c4-a3cd-472a-a25c-426c2ec20007", "name": "parameters" }, { "parameters": { "resource": "subtitle", "source": { "source": { "value": "={{ $json.video_url }}" } }, "text": "={{ $json.subtitle }}", "startTime": 1, "endTime": 4, "paddingY": 100 }, "type": "n8n-nodes-mediafx.mediaFX", "typeVersion": 1, "position": [ 400, -240 ], "id": "87e7f838-f000-4556-8e93-57cfe021be5a", "name": "자막 삽입" }, { "parameters": { "resource": "audio", "operation": "mixAudio", "mixVideoSourceType": "binary", "mixAudioSourceUrl": "={{ $('Loop Over Items').item.json.audio_url }}", "enablePartialMix": true, "startTime": 1, "duration": 0 }, "type": "n8n-nodes-mediafx.mediaFX", "typeVersion": 1, "position": [ 620, -240 ], "id": "e2e17539-cbd0-4a64-b07a-51bd661b4dcf", "name": "나레이션 삽입" }, { "parameters": { "assignments": { "assignments": [ { "id": "7e5b9439-b341-42c7-b02a-a4e6f8d6c8e6", "name": "=scene_video_url", "value": "=https://xxxxxxxxxxxxxx.cloudfront.net/mediafx/assets/{{ $('나레이션 삽입').item.binary.data.fileName }}", "type": "string" } ] }, "options": {} }, "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ 1040, -240 ], "id": "2a8ca9c6-344d-4ca1-84b0-c627cb56f3b3", "name": "다운로드 파일경로 설정" }, { "parameters": { "fieldsToAggregate": { "fieldToAggregate": [ { "fieldToAggregate": "scene_video_url" } ] }, "options": {} }, "type": "n8n-nodes-base.aggregate", "typeVersion": 1, "position": [ 380, 20 ], "id": "53e55715-377f-45ef-a829-2d4f941163b9", "name": "Aggregate" }, { "parameters": { "operation": "multiTransition", "transitionSources": { "sources": [ { "value": "={{ $json.scene_video_url[0] }}" }, { "value": "={{ $json.scene_video_url[1] }}" }, { "value": "={{ $json.scene_video_url[2] }}" }, { "value": "={{ $json.scene_video_url[3] }}" }, { "value": "={{ $json.scene_video_url[4] }}" }, { "value": "={{ $json.scene_video_url[5] }}" } ] }, "transitionDuration": 0.5 }, "type": "n8n-nodes-mediafx.mediaFX", "typeVersion": 1, "position": [ 600, 20 ], "id": "10a13460-c0a1-44dc-89ab-6ea3c686c0f1", "name": "영상 병합 및 전환효과" }, { "parameters": { "assignments": { "assignments": [ { "id": "4f80a9a3-0e98-411b-af3c-3913fe456bf9", "name": "final_video_url", "value": "=https://xxxxxxxxxxxxxx.cloudfront.net/mediafx/final/{{ $('배경음악 삽입').item.binary.data.fileName }}", "type": "string" } ] }, "options": {} }, "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ 1260, 20 ], "id": "a613ed98-5b03-462d-94e2-ba5a1ea047b3", "name": "최종 영상 다운로드 경로 리턴" } ], "connections": { "Split Out": { "main": [ [ { "node": "Loop Over Items", "type": "main", "index": 0 } ] ] }, "Loop Over Items": { "main": [ [ { "node": "Aggregate", "type": "main", "index": 0 } ], [ { "node": "자막 삽입", "type": "main", "index": 0 } ] ] }, "Upload a file": { "main": [ [ { "node": "다운로드 파일경로 설정", "type": "main", "index": 0 } ] ] }, "배경음악 삽입": { "main": [ [ { "node": "Upload a file1", "type": "main", "index": 0 } ] ] }, "Upload a file1": { "main": [ [ { "node": "최종 영상 다운로드 경로 리턴", "type": "main", "index": 0 } ] ] }, "parameters": { "main": [ [ { "node": "Split Out", "type": "main", "index": 0 } ] ] }, "자막 삽입": { "main": [ [ { "node": "나레이션 삽입", "type": "main", "index": 0 } ] ] }, "나레이션 삽입": { "main": [ [ { "node": "Upload a file", "type": "main", "index": 0 } ] ] }, "다운로드 파일경로 설정": { "main": [ [ { "node": "Loop Over Items", "type": "main", "index": 0 } ] ] }, "Aggregate": { "main": [ [ { "node": "영상 병합 및 전환효과", "type": "main", "index": 0 } ] ] }, "영상 병합 및 전환효과": { "main": [ [ { "node": "배경음악 삽입", "type": "main", "index": 0 } ] ] } }, "pinData": {}, "meta": { "templateCredsSetupCompleted": true, "instanceId": "1d2666320bb19d8da8975c9b1013bd7bdad6e0bf91ffe1acdc74e48c3285fb2f" } }

2. 가이드 문서

n8n MCP를 Claude에 연결하는 완벽 가이드 (1)
n8n MCP를 Claude에 연결하는 완벽 가이드 (1)
AWS S3 + CloudFront로 이미지/동영상 퍼블릭 URL 생성 가이드 (1)
AWS S3 + CloudFront로 이미지/동영상 퍼블릭 URL 생성 가이드 (1)
AWS Access Key 발급 및 N8n S3 노드 사용 가이드 (1)
AWS Access Key 발급 및 N8n S3 노드 사용 가이드 (1)
Replicate.com 가입 및 API 호출 (1)
Replicate.com 가입 및 API 호출 (1)
Fal.ai API 사용 튜토리얼 (1)
Fal.ai API 사용 튜토리얼 (1)

3. n8n 미디어 편집 및 렌더링 커스텀 노드(MediaFX) 라이브러리 링크

 

4. 기타 (Claude 프롬프트, 랜덤 API Key 생성기)

Claude 프롬프트 예시
 
page icon
프롬프트
 
 
  • 단계별 사용 도구(MCP)
    • 1단계 : 스토리 기획(Generate Short Video Story)
    • 2단계 : 캐릭터 생성(Generate Character Prompt)
    • 3단계 : 장면별 이미지 생성(Generate AI Image) : 1단계 와 2단계 프롬프트 결합하여 요청
    • 4단계 : 장면별 동영상 생성(Generate Image to Video): 3단계 응답 프롬프트로 요청. 실패하더라도 생성은 1회만 요청.
    • 5단계 : 동영상 다운로드(Download Generated AI Video) : 생성 중인 경우, 계속 완료 결과를 응답받을 때까지 반복 요청.
    • 6단계 : 장면별 나레이션 생성(Generate Narration) : 1단계의 caption 프롬프트로 요청.
    • 7단계 : 동영상 렌더링(Rendering Final Shorts Video) : 1단계, 3단계, 5단계, 6단계 의 장면별 에셋과 배경음악으로 렌더링 요청.
  • 목표
    • 아래 요청 내용에 따라, 6개 장면으로 구성된 귀여운 동물 쇼츠 동영상을 제작한다.
    • MCP를 이용해서 아래 단계 별로 진행한다.
    • 주어진 컨셉에 따라 진행한다.
      • 캐릭터 컨셉 : 판교 밸리 K직장인인 햄스터
      • 스토리 컨셉 : "치명적인 버그 발생!” 상황을 맞고 해결해 가는 스토리
    • 단계별 중간 결과물 (URL) 은 다음 단계로 넘어가기전에 |장면No.|장면설명|URL| 로 표로 출력한다.
      •