{
  "name": "TranscriptFetch: summarize a channel's latest videos",
  "nodes": [
    {
      "parameters": {
        "content": "## Summarize a channel\n1. In **List the channel's videos**, set the channel (a YouTube channel, TikTok or Instagram profile) and how many videos.\n2. Add your **TranscriptFetch API** credential to both TranscriptFetch nodes (free key at transcriptfetch.com, 50 credits a month).\n3. Add an **OpenAI** credential to the chat model, or swap in any other model.\n4. Run it. Each video is 1 credit with captions; videos without captions are transcribed from the audio.\n\nSwap the last node for Google Sheets, Notion, Slack or email to send the summaries anywhere.",
        "height": 300,
        "width": 420
      },
      "id": "6275c179-fd8d-41d1-a975-5f938265c7fa",
      "name": "How to use it",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -460,
        -120
      ]
    },
    {
      "parameters": {},
      "id": "55570697-56bf-4cbd-8884-68028426b534",
      "name": "Run it",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        0,
        0
      ]
    },
    {
      "parameters": {
        "resource": "transcript",
        "operation": "channel",
        "channel": "@n8n-io",
        "limit": 5,
        "channelOptions": {}
      },
      "id": "39b84bf0-7451-439b-b17a-b83f49d4b63f",
      "name": "List the channel's videos",
      "type": "n8n-nodes-transcriptfetch.transcriptFetch",
      "typeVersion": 2,
      "position": [
        220,
        0
      ]
    },
    {
      "parameters": {
        "fieldToSplitOut": "data.videos",
        "options": {}
      },
      "id": "22343746-84e5-46f2-9469-49ba0d9e5b52",
      "name": "One item per video",
      "type": "n8n-nodes-base.splitOut",
      "typeVersion": 1,
      "position": [
        440,
        0
      ]
    },
    {
      "parameters": {
        "resource": "transcript",
        "operation": "getVideo",
        "video": "={{ $json.url }}",
        "videoOptions": {
          "timestamps": false
        }
      },
      "id": "ea24ec19-d2f6-411f-95cb-fb98a0f9bd0c",
      "name": "Get transcript",
      "type": "n8n-nodes-transcriptfetch.transcriptFetch",
      "typeVersion": 2,
      "position": [
        660,
        0
      ]
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Summarize this video for someone deciding whether to watch it. Give a one-sentence takeaway, then 3 to 5 bullet points with the key points, in the video's language.\n\nTitle: {{ $json.data.title }}\n\nTranscript:\n{{ $json.data.text }}"
      },
      "id": "35397fa1-faba-42a4-837f-4477f1cfd5f4",
      "name": "Summarize",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "typeVersion": 1.4,
      "position": [
        880,
        0
      ]
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "gpt-4.1-mini",
          "mode": "list",
          "cachedResultName": "gpt-4.1-mini"
        },
        "options": {}
      },
      "id": "91b32ed5-ff69-429e-9190-4fa3c4f6d8f3",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        880,
        220
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "b88a0fd6-644d-4de7-b2d7-6a714964a36f",
              "name": "title",
              "value": "={{ $('Get transcript').item.json.data.title }}",
              "type": "string"
            },
            {
              "id": "9970cd16-6470-4811-b102-a6deac62e697",
              "name": "url",
              "value": "={{ $('Get transcript').item.json.data.url }}",
              "type": "string"
            },
            {
              "id": "313792aa-e2dd-4f7b-86dc-b458d0e88369",
              "name": "summary",
              "value": "={{ $json.text }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "dfae0bd2-5344-4f03-a2d2-42c02c8bfae1",
      "name": "Title, link and summary",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1200,
        0
      ]
    }
  ],
  "connections": {
    "Run it": {
      "main": [
        [
          {
            "node": "List the channel's videos",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "List the channel's videos": {
      "main": [
        [
          {
            "node": "One item per video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "One item per video": {
      "main": [
        [
          {
            "node": "Get transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get transcript": {
      "main": [
        [
          {
            "node": "Summarize",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize": {
      "main": [
        [
          {
            "node": "Title, link and summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Summarize",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "templateCredsSetupCompleted": false
  }
}
