Created
June 18, 2025 15:18
-
-
Save anpigon/9b00cd9959fd3bf7bc1bfaf6fa48cd81 to your computer and use it in GitHub Desktop.
구글 제미나이를 사용한 유튜브 영상 요약 n8n 워크플로우
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "Summarize YouTube Videos with Google Gemini 2.5", | |
"nodes": [ | |
{ | |
"parameters": { | |
"content": "## YouTube Video Summarization Workflow\n\n이 워크플로우는 다음 단계를 통해 YouTube 영상의 요약을 자동화합니다:\n\n1. Form Trigger: 사용자로부터 YouTube URL 입력\n2. Set (Summary Prompt): AI에 전달할 프롬프트 구성\n3. HTTP Request: Google Gemini(PaLM) 모델에 요청\n4. Set (Output): 응답에서 요약 텍스트 추출\n5. No Operation: 워크플로우 종료\n\n• 모델: Gemini 2.5 Flash\n• 자격증명: n8n Credential Manager의 Google Palm API 사용\n\n### 제한 사항\n- 공개된 YouTube 영상만 처리 가능(비공개 또는 비공개 동영상은 처리할 수 없음).\n- API 할당량 제한이 있을 수 있음(무료 티어는 하루 8시간. 유료 티어는 제한 없음).", | |
"height": 380, | |
"width": 1140, | |
"color": 7 | |
}, | |
"id": "07acb4e8-39c1-4dc6-aaac-0b086b5df71f", | |
"name": "Sticky Note", | |
"type": "n8n-nodes-base.stickyNote", | |
"position": [ | |
0, | |
-260 | |
], | |
"typeVersion": 1 | |
}, | |
{ | |
"parameters": { | |
"content": "YouTube URL을 입력하세요.\n\n필요 시 다른 트리거(예: Webhook, Schedule Trigger)로 변경할 수 있습니다.", | |
"height": 100, | |
"width": 290 | |
}, | |
"id": "8cb5183e-9302-4415-b5c9-bcceab66f608", | |
"name": "Sticky Note1", | |
"type": "n8n-nodes-base.stickyNote", | |
"position": [ | |
-60, | |
480 | |
], | |
"typeVersion": 1 | |
}, | |
{ | |
"parameters": { | |
"content": "HTTP Request 노드에 미리 정의된 Google Palm API 자격증명을 사용합니다.\n\n• Endpoint: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent\n• 인증 정보는 Credential Manager에서 관리됩니다.", | |
"height": 360, | |
"width": 280, | |
"color": 3 | |
}, | |
"id": "96ba7e22-eb2a-4063-8bec-1131f5f884b7", | |
"name": "Sticky Note2", | |
"type": "n8n-nodes-base.stickyNote", | |
"position": [ | |
380, | |
140 | |
], | |
"typeVersion": 1 | |
}, | |
{ | |
"parameters": {}, | |
"id": "679ce767-271c-4caf-860f-357c4a194824", | |
"name": "No Operation, do nothing", | |
"type": "n8n-nodes-base.noOp", | |
"position": [ | |
1040, | |
340 | |
], | |
"typeVersion": 1 | |
}, | |
{ | |
"parameters": { | |
"formTitle": "YouTube 동영상 요약", | |
"formFields": { | |
"values": [ | |
{ | |
"fieldLabel": "Youtube URL", | |
"placeholder": "유튜브 URL을 입력하세요." | |
} | |
] | |
}, | |
"responseMode": "lastNode", | |
"options": {} | |
}, | |
"id": "e3ea71af-6eaf-4627-9381-147190d38311", | |
"name": "YouTube video URL", | |
"type": "n8n-nodes-base.formTrigger", | |
"position": [ | |
20, | |
340 | |
], | |
"webhookId": "8fc21e3b-8434-490f-b38d-1923fdadc8dd", | |
"typeVersion": 2.2 | |
}, | |
{ | |
"parameters": { | |
"content": "☝️ 선택사항 \n만약 워크플로가 여기서 끝난다면, 다른 강화 서비스와 확인을 고려하세요.\n\n추가 확장 기능:\n\n• 요약 결과를 Notion, Google Sheets 등에 저장\n• 번역 또는 감성 분석 노드 연결\n• Slack 또는 이메일로 알림 전송", | |
"height": 180, | |
"width": 440, | |
"color": 4 | |
}, | |
"id": "a64e9724-63d7-47b9-842f-b4b673a373cb", | |
"name": "Sticky Note3", | |
"type": "n8n-nodes-base.stickyNote", | |
"position": [ | |
1040, | |
480 | |
], | |
"typeVersion": 1 | |
}, | |
{ | |
"parameters": { | |
"content": "Summary Prompt 노드에서 지정한 프롬프트를 기반으로 PaLM 모델이 핵심 내용을 추출합니다.\n\nOutput 노드에서 최종 요약 결과를 확인할 수 있습니다.", | |
"height": 360, | |
"width": 280, | |
"color": 5 | |
}, | |
"id": "8c886b1c-01c5-4ad2-82e4-917b39e8a25e", | |
"name": "Sticky Note4", | |
"type": "n8n-nodes-base.stickyNote", | |
"position": [ | |
700, | |
140 | |
], | |
"typeVersion": 1 | |
}, | |
{ | |
"parameters": { | |
"method": "POST", | |
"url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent", | |
"authentication": "predefinedCredentialType", | |
"nodeCredentialType": "googlePalmApi", | |
"sendBody": true, | |
"specifyBody": "json", | |
"jsonBody": "={\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"{{ $('Summary Prompt').item.json['text'] }}\"\n },\n {\n \"file_data\": {\n \"file_uri\": \"{{ $('YouTube video URL').item.json['Youtube URL'] }}\"\n }\n }\n ]\n }\n ]\n}", | |
"options": {} | |
}, | |
"type": "n8n-nodes-base.httpRequest", | |
"typeVersion": 4.2, | |
"position": [ | |
460, | |
340 | |
], | |
"id": "da54eef9-6757-4cc6-b9ad-85fe6f73c153", | |
"name": "HTTP Request", | |
"credentials": { | |
"googlePalmApi": { | |
"id": "51V2X1yPT6FghBrv", | |
"name": "Google Gemini(PaLM) Api account" | |
} | |
} | |
}, | |
{ | |
"parameters": { | |
"assignments": { | |
"assignments": [ | |
{ | |
"id": "b9541a30-c22d-46be-8377-db08a0fcabfd", | |
"name": "text", | |
"value": "=# 역할 당신은 유튜브 영상의 스크립트를 분석하여 핵심 내용만을 정확하고 간결하게 요약하는 전문 요약가입니다. # 지시사항 제공되는 유튜브 영상 스크립트를 바탕으로, 다음 원칙에 따라 핵심 내용을 한국어로 요약해 주세요. # 요약 원칙 1. **핵심 정보 식별:** 영상의 주제, 주요 주장, 핵심 근거, 결론을 정확하게 파악합니다. 2. **간결한 문장:** 누구나 이해하기 쉽도록 복잡한 문장은 피하고 명확하고 간결하게 작성합니다. 3. **객관적 시각 유지:** 개인적인 의견이나 추측은 배제하고, 영상에서 제시된 내용만을 기반으로 요약합니다. 4. **구조화:** 전체 내용을 쉽게 파악할 수 있도록 서론, 본론, 결론 또는 글머리 기호 등을 사용하여 구조적으로 제시합니다. 5. **불필요한 내용 제거:** 예시, 농담, 개인적인 이야기 등 핵심 내용과 관련 없는 부분은 과감하게 생략합니다. # 출력 형식 **1. 영상 제목:** [영상 제목] **2. 한 줄 요약:** [영상 전체 내용을 한 문장으로 압축하여 요약] **3. 핵심 내용 요약:** * **[소주제 1]:** [첫 번째 핵심 내용] * **[소주제 2]:** [두 번째 핵심 내용] * **[소주제 3]:** [세 번째 핵심 내용] * (필요시) 하위 항목 추가 **4. 결론:** [영상의 최종 결론이나 시청자에게 전달하는 핵심 메시지]", | |
"type": "string" | |
} | |
] | |
}, | |
"options": {} | |
}, | |
"type": "n8n-nodes-base.set", | |
"typeVersion": 3.4, | |
"position": [ | |
240, | |
340 | |
], | |
"id": "232fb2ad-b406-42b6-839b-e9d4dc237b29", | |
"name": "Summary Prompt" | |
}, | |
{ | |
"parameters": { | |
"assignments": { | |
"assignments": [ | |
{ | |
"id": "c28693f3-5f98-4f8e-b72a-2f3a6ac5b625", | |
"name": "output", | |
"value": "={{ $json.candidates[0].content.parts[0].text }}", | |
"type": "string" | |
} | |
] | |
}, | |
"options": {} | |
}, | |
"type": "n8n-nodes-base.set", | |
"typeVersion": 3.4, | |
"position": [ | |
780, | |
340 | |
], | |
"id": "89ccda56-4ef0-4503-b332-7429c17c4759", | |
"name": "Output" | |
} | |
], | |
"pinData": {}, | |
"connections": { | |
"YouTube video URL": { | |
"main": [ | |
[ | |
{ | |
"node": "Summary Prompt", | |
"type": "main", | |
"index": 0 | |
} | |
] | |
] | |
}, | |
"HTTP Request": { | |
"main": [ | |
[ | |
{ | |
"node": "Output", | |
"type": "main", | |
"index": 0 | |
} | |
] | |
] | |
}, | |
"Summary Prompt": { | |
"main": [ | |
[ | |
{ | |
"node": "HTTP Request", | |
"type": "main", | |
"index": 0 | |
} | |
] | |
] | |
}, | |
"Output": { | |
"main": [ | |
[ | |
{ | |
"node": "No Operation, do nothing", | |
"type": "main", | |
"index": 0 | |
} | |
] | |
] | |
} | |
}, | |
"active": false, | |
"settings": { | |
"executionOrder": "v1" | |
}, | |
"versionId": "9d8f7cbe-8b4a-43e0-b84e-ab203c56ed4e", | |
"meta": { | |
"templateCredsSetupCompleted": true, | |
"instanceId": "fcd018c589f0738f053cc4c03e304e3f6403cc1e21b596ffc0cbf5dc1f4ef4a3" | |
}, | |
"id": "iaYSKXqkPOByzDrq", | |
"tags": [] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment