8
n8n 한국어amn8n.com

서브 워크플로 - YouTube 검색

중급

이것은AI분야의자동화 워크플로우로, 10개의 노드를 포함합니다.주로 If, Set, Code, YouTube, HttpRequest 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. AI YouTube 트렌드 탐색기 - Gemini/ChatGPT 기반 n8n 자동화 워크플로

사전 요구사항
  • 대상 API의 인증 정보가 필요할 수 있음

카테고리

워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "IktojxaOHrdHkURm",
  "meta": {
    "instanceId": "ed6d846a2fce1f660ede2e7da800724cca01dc3d0685524a3c917881b7cfcfe9",
    "templateCredsSetupCompleted": true
  },
  "name": "Sub - Youtube Search",
  "tags": [
    {
      "id": "CEVEeZJa4qgPvdpK",
      "name": "youtube",
      "createdAt": "2025-05-27T02:29:43.874Z",
      "updatedAt": "2025-05-27T02:29:43.874Z"
    }
  ],
  "nodes": [
    {
      "id": "5d4d8d36-8f39-4e3c-9527-9d5604e58adc",
      "name": "다른 워크플로에 의해 실행 시",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -660,
        280
      ],
      "parameters": {
        "inputSource": "passthrough"
      },
      "typeVersion": 1.1
    },
    {
      "id": "09b1a19d-4fb3-4d78-a41b-90da9ab49409",
      "name": "YouTube - 비디오 가져오기",
      "type": "n8n-nodes-base.youTube",
      "position": [
        -440,
        280
      ],
      "parameters": {
        "limit": 3,
        "filters": {
          "q": "={{ $json.query.search_term }}",
          "regionCode": "US",
          "publishedAfter": "={{ new Date(Date.now() - 2 * 24 * 60 * 60 * 1000).toISOString() }}"
        },
        "options": {
          "order": "relevance",
          "safeSearch": "moderate"
        },
        "resource": "video"
      },
      "credentials": {
        "youTubeOAuth2Api": {
          "id": "KhD0GLQGWl8MtqCs",
          "name": "YouTube - toan.ngo"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d166a037-d601-438d-b493-c443ab552b40",
      "name": "항목 반복",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -220,
        280
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "803e7b42-8dd4-48f6-a3c6-247d8235faa7",
      "name": "HTTP - 비디오 데이터 찾기",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        0,
        200
      ],
      "parameters": {
        "url": "https://www.googleapis.com/youtube/v3/videos?",
        "options": {},
        "sendQuery": true,
        "authentication": "predefinedCredentialType",
        "queryParameters": {
          "parameters": [
            {
              "name": "id",
              "value": "={{ $json.id.videoId }}"
            },
            {
              "name": "part",
              "value": "contentDetails,snippet,statistics"
            }
          ]
        },
        "nodeCredentialType": "youTubeOAuth2Api"
      },
      "credentials": {
        "youTubeOAuth2Api": {
          "id": "KhD0GLQGWl8MtqCs",
          "name": "YouTube - toan.ngo"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "771aebee-d468-4352-ad25-7d13b09836b8",
      "name": "코드 - 메모리에서 데이터 검색",
      "type": "n8n-nodes-base.code",
      "position": [
        0,
        0
      ],
      "parameters": {
        "jsCode": "const workflowStaticData = $getWorkflowStaticData('global');\n\nconst lastExecution = workflowStaticData.lastExecution;\n\nreturn lastExecution;"
      },
      "typeVersion": 2,
      "alwaysOutputData": false
    },
    {
      "id": "c1afc8ff-6c26-433b-8b2c-6debda964ae1",
      "name": "필드 - 응답",
      "type": "n8n-nodes-base.set",
      "position": [
        220,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b9b9117b-ea14-482e-a13b-e68b8e6b441d",
              "name": "response",
              "type": "string",
              "value": "={{ $input.all() }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "fd80746e-6a72-46e3-aefc-d7404cd3b50a",
      "name": "If - 3보다 길면",
      "type": "n8n-nodes-base.if",
      "position": [
        220,
        280
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "08ba3db9-6bcf-47f8-a74d-9e26f28cb08f",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ \n  (() => {\n    const duration = $json.items[0].contentDetails.duration;\n\n    // Helper function to convert ISO 8601 duration to seconds\n    const iso8601ToSeconds = iso8601 => {\n      const match = iso8601.match(/PT(?:(\\d+)H)?(?:(\\d+)M)?(?:(\\d+)S)?/);\n      const hours = parseInt(match[1] || 0, 10);\n      const minutes = parseInt(match[2] || 0, 10);\n      const seconds = parseInt(match[3] || 0, 10);\n      return hours * 3600 + minutes * 60 + seconds;\n    };\n\n    // Convert duration to seconds\n    const durationInSeconds = iso8601ToSeconds(duration);\n\n    // Check if greater than 210 seconds (3 minutes 30 seconds)\n    return durationInSeconds > 210;\n  })() \n}}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "bd86dca7-fdcc-4722-9247-1d5d5f16bb86",
      "name": "필드 - 그룹 데이터",
      "type": "n8n-nodes-base.set",
      "position": [
        440,
        280
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "47c172ad-90c8-4cf6-a9f5-50607e04cc90",
              "name": "id",
              "type": "string",
              "value": "={{ $json.items[0].id }}"
            },
            {
              "id": "9e639efa-0714-4b06-9847-f7b4b2fbef59",
              "name": "viewCount",
              "type": "string",
              "value": "={{ $json.items[0].statistics.viewCount }}"
            },
            {
              "id": "93328f00-91b8-425b-ad0f-a330b2f95242",
              "name": "likeCount",
              "type": "string",
              "value": "={{ $json.items[0].statistics.likeCount }}"
            },
            {
              "id": "015b0fb2-2a98-464c-a21b-51100616f26a",
              "name": "commentCount",
              "type": "string",
              "value": "={{ $json.items[0].statistics.commentCount }}"
            },
            {
              "id": "cf1e1ec3-a138-42b8-8747-d249afa58dd3",
              "name": "description",
              "type": "string",
              "value": "={{ $json.items[0].snippet.description }}"
            },
            {
              "id": "c5c9a3a2-b820-4932-a38a-e21102992215",
              "name": "title",
              "type": "string",
              "value": "={{ $json.items[0].snippet.title }}"
            },
            {
              "id": "38216ead-1f8d-4f93-b6ad-5ef709a1ad2a",
              "name": "channelTitle",
              "type": "string",
              "value": "={{ $json.items[0].snippet.channelTitle }}"
            },
            {
              "id": "ff34194d-3d46-43a8-9127-84708987f536",
              "name": "tags",
              "type": "string",
              "value": "={{ $json.items[0].snippet.tags.join(', ') }}"
            },
            {
              "id": "e50b0f7b-3e37-4557-8863-d68d4fa505c8",
              "name": "channelId",
              "type": "string",
              "value": "={{ $json.items[0].snippet.channelId }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "f9326f4d-16e5-4078-9273-7ee3fb1c70a3",
      "name": "코드 - 메모리에 데이터 저장",
      "type": "n8n-nodes-base.code",
      "position": [
        660,
        360
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "const workflowStaticData = $getWorkflowStaticData('global');\n\nif (!workflowStaticData.lastExecution || typeof workflowStaticData.lastExecution.response !== 'string') {\n  workflowStaticData.lastExecution = { response: '' };\n}\n\nconst regexes = [\n  { pattern: /https?:\\/\\/\\S+|www\\.\\S+/g, replace: '' },\n  { pattern: /[\\u{1F600}-\\u{1F64F}\\u{1F300}-\\u{1F5FF}\\u{1F680}-\\u{1F6FF}\\u{2600}-\\u{26FF}\\u{2700}-\\u{27BF}]/gu, replace: '' },\n  { pattern: /[\\r\\n\\\\]+/g, replace: ' ' },\n  { pattern: / {2,}/g, replace: ' ' } \n];\n\nfunction sanitize(text) {\n  return regexes.reduce((str, { pattern, replace }) => str.replace(pattern, replace), text).trim();\n}\n\nconst item = { ...$input.item };\nif (item.description) {\n  item.description = sanitize(item.description);\n}\n\nconst sanitizedItem = sanitize(JSON.stringify(item));\n\nif (workflowStaticData.lastExecution.response) {\n  workflowStaticData.lastExecution.response += ' ### NEXT VIDEO FOUND: ### ';\n}\nworkflowStaticData.lastExecution.response += sanitizedItem;\n\nreturn workflowStaticData.lastExecution;"
      },
      "typeVersion": 2
    },
    {
      "id": "49187d4e-5258-48a2-ae9a-fe82a82b75b9",
      "name": "스티커 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -900,
        -140
      ],
      "parameters": {
        "width": 580,
        "height": 260,
        "content": "## Sub - Youtube Search\nWebsite\thttps://www.agentcircle.ai/\nDiscord Global\thttps://discord.com/invite/jySQ2PNm\nFB Page Global\thttps://www.facebook.com/agentcircle/\nFB Group Global\thttps://www.facebook.com/groups/aiagentcircle/\nGumroad\thttp://agentcircle.gumroad.com/\nX\thttps://x.com/agent_circle\nYouTube\thttps://www.youtube.com/@agentcircle\nLinkedin\thttps://www.linkedin.com/company/agentcircle"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {
    "When Executed by Another Workflow": [
      {
        "json": {
          "query": {
            "search_term": "cat games gameplay"
          }
        }
      }
    ]
  },
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "252a4d1e-eb32-4f40-b61a-c80ba62d1d57",
  "connections": {
    "d166a037-d601-438d-b493-c443ab552b40": {
      "main": [
        [
          {
            "node": "771aebee-d468-4352-ad25-7d13b09836b8",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "803e7b42-8dd4-48f6-a3c6-247d8235faa7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bd86dca7-fdcc-4722-9247-1d5d5f16bb86": {
      "main": [
        [
          {
            "node": "f9326f4d-16e5-4078-9273-7ee3fb1c70a3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fd80746e-6a72-46e3-aefc-d7404cd3b50a": {
      "main": [
        [
          {
            "node": "bd86dca7-fdcc-4722-9247-1d5d5f16bb86",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "d166a037-d601-438d-b493-c443ab552b40",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "09b1a19d-4fb3-4d78-a41b-90da9ab49409": {
      "main": [
        [
          {
            "node": "d166a037-d601-438d-b493-c443ab552b40",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "803e7b42-8dd4-48f6-a3c6-247d8235faa7": {
      "main": [
        [
          {
            "node": "fd80746e-6a72-46e3-aefc-d7404cd3b50a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f9326f4d-16e5-4078-9273-7ee3fb1c70a3": {
      "main": [
        [
          {
            "node": "d166a037-d601-438d-b493-c443ab552b40",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "771aebee-d468-4352-ad25-7d13b09836b8": {
      "main": [
        [
          {
            "node": "c1afc8ff-6c26-433b-8b2c-6debda964ae1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5d4d8d36-8f39-4e3c-9527-9d5604e58adc": {
      "main": [
        [
          {
            "node": "09b1a19d-4fb3-4d78-a41b-90da9ab49409",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

중급 - 인공지능

유료인가요?

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

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

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34