8
n8n 中文网amn8n.com

使用 OpenRouter AI 和 Airtable 将 YouTube 视频重新利用为多种内容类型

高级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 32 个节点。主要使用 Set, Code, Filter, Switch, Airtable 等节点。 使用 OpenRouter AI 和 Airtable 将 YouTube 视频重新利用为多种内容类型

前置要求
  • Airtable API Key
  • 可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "638c66f7dba65e767f3bbdca0571085c3b0f378be7062f284b8b1840b332ce48"
  },
  "nodes": [
    {
      "id": "55cfbfaf-861c-40a8-b3d7-cf88f96f615d",
      "name": "当点击\"测试工作流\"时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -464,
        800
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "033de7ce-be75-4d9f-8cc1-d9978146e393",
      "name": "结构化输出解析器",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1200,
        720
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"level\": \"beginner/intermediate/advanced\",\n  \"topics\": \"• Topic 1\\n• Topic 2\\n• Topic 3\",\n  \"summary\": \"Concise summary paragraph of the content...\",\n  \"key_takeaways\": \"• First key takeaway\\n• Second key takeaway\\n• Third key takeaway\"\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "fd76d54d-a8fc-4122-96eb-649983ea1174",
      "name": "摘要",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "onError": "continueErrorOutput",
      "position": [
        1104,
        496
      ],
      "parameters": {
        "text": "={{ $json.text }}\n",
        "messages": {
          "messageValues": [
            {
              "message": "=# Role\nExpert Content Analyzer specialized in transforming video transcripts into structured, readable summaries for database systems.\n\n# Task\nAnalyze the provided video transcript and generate a structured output with bullet-pointed topics and key takeaways that display properly in Airtable.\n\n# Specifics\n\nProcess the complete transcript to extract essential information\nFormat both topics and key takeaways as clear bullet points with proper symbols\nEnsure all formatting is optimized for Airtable readability\nYour expertise is crucial for our content management workflow\n\n# Context\nThis prompt processes video transcripts from our content library and generates structured summaries that are stored in Airtable. Team members rely on this information to quickly understand video content without watching the full videos.\n\n# Output Format\njsonCopy{\n  \"level\": \"beginner/intermediate/advanced\",\n  \"topics\": \"• Topic 1\\n• Topic 2\\n• Topic 3\",\n  \"summary\": \"Concise summary paragraph of the content...\",\n  \"key_takeaways\": \"• First key takeaway\\n• Second key takeaway\\n• Third key takeaway\"\n}\n\n# Process\n\nThoroughly read the provided transcript: {{ $json.text }}\nDetermine the content difficulty level\nIdentify main topics and format them as bullet points\nCreate a concise yet comprehensive summary paragraph\nExtract key insights and format them as bullet points\nStructure everything into valid JSON with the specified keys\n\n# Note\nBoth \"topics\" and \"key_takeaways\" should be formatted as strings with bullet points (•) separated by newline characters (\\n) for proper display in Airtable. The summary should remain a single paragraph string."
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "retryOnFail": true,
      "typeVersion": 1.5
    },
    {
      "id": "d5827ebb-1d86-4812-985a-25139f213455",
      "name": "教程",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "onError": "continueErrorOutput",
      "position": [
        1104,
        -496
      ],
      "parameters": {
        "text": "={{ $json.text }}\n",
        "messages": {
          "messageValues": [
            {
              "message": "=# Role\n\nYou are an expert technical writer specialized in creating clear, structured tutorials from raw video transcripts. You excel at organizing information logically, identifying key steps, and presenting complex technical concepts in an accessible format.\n\n# Task\n\nTransform the provided YouTube transcript about AI automation into a comprehensive, step-by-step tutorial that can be easily read and followed in Airtable. Include all relevant code snippets, command sequences, and technical details.\n\n# Specifics\n\n- Break down the content into clear, sequential steps with numbered headings\n- Include all code snippets exactly as presented in the transcript, formatted properly for readability\n- Add descriptive explanations for each step to ensure understanding\n- Include any resource links, tools, or prerequisites mentioned\n- Format the content to be easily readable in Airtable (avoid complex formatting that may not render well)\n- Identify and emphasize key concepts, warnings, or best practices\n- I'm counting on your expertise to create a tutorial I can immediately implement for my AI project.\n\n# Context\n\nThis tutorial will be used as a reference guide for implementing AI automation solutions. Users will follow these steps in Airtable to build their own automation workflows, so clarity and accuracy are essential. The quality of this tutorial directly impacts users' ability to successfully implement AI automation in their projects.\n\n# Examples\n\nHere's an example of how to format a step in the tutorial:\n\n## Step 1: Setting Up the Environment\n\n1. Install the required packages:\n```python\npip install openai pandas numpy scikit-learn\n```\n\n2. Configure your API keys:\n```python\nimport os\nos.environ[\"OPENAI_API_KEY\"] = \"your-api-key-here\"\n```\n\n3. Import the necessary libraries:\n```python\nimport openai\nimport pandas as pd\nimport numpy as np\nfrom sklearn.model_selection import train_test_split\n```\n\n**Note:** Make sure you have Python 3.8+ installed before proceeding.\n\n# Notes\n\n- Present all steps in the exact sequence they appear in the transcript\n- Include all code snippets, even if they seem repetitive\n- Format the output to be optimized for Airtable viewing\n- When code spans multiple segments in the transcript, combine them into complete, functional code blocks\n- If the transcript mentions downloading files or resources, include the exact URLs or instructions\n- Only output the tutorial, nothing else, no comments"
            }
          ]
        },
        "promptType": "define"
      },
      "retryOnFail": true,
      "typeVersion": 1.5
    },
    {
      "id": "dc5ca7a5-1aaf-4fb1-b3ab-d6e23ad40875",
      "name": "博客文章",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1104,
        304
      ],
      "parameters": {
        "text": "={{ $json.text }}",
        "messages": {
          "messageValues": [
            {
              "message": "=Role\nYou are a specialized AI Automation content strategist with deep expertise in translating technical concepts into compelling business benefits, particularly skilled at creating content that generates qualified leads for automation services.\nTask\nTransform the provided YouTube transcript about AI Automation into a conversion-optimized blog post that educates potential clients on automation benefits while subtly positioning the service as the solution to their business challenges.\nSpecifics\n\nStructure the content with benefit-focused H2 and H3 headings that include terms like \"AI Automation,\" \"Workflow Efficiency,\" and \"Business Scaling\"\nCreate an attention-grabbing introduction highlighting a common pain point that AI Automation solves\nPresent case studies or real-world examples from the transcript as social proof\nInclude specific, measurable outcomes achieved through automation (time saved, error reduction, cost savings)\nIncorporate a strategic mix of educational content (80%) and subtle sales messaging (20%)\nEnd with a clear, low-friction call-to-action that encourages lead generation\nThis content will directly impact our lead generation efforts and business growth\n\nContext\nThis blog post targets business decision-makers who are aware of operational inefficiencies but uncertain about how AI Automation could specifically benefit their organization. They seek credible information before engaging with solution providers. Your content needs to build trust while highlighting the competitive advantage gained through implementing AI Automation solutions.\nExamples\nOriginal Transcript Snippet:\n\"We implemented this process automation for a manufacturing client and they were spending about 15 hours a week just on data entry. After our solution, that went down to basically zero manual work and they could reassign those employees to higher-value tasks.\"\nTransformed Blog Section:\nHow AI Automation Eliminates Hidden Operational Costs\nMany businesses don't realize the true cost of manual processes until they're eliminated. As demonstrated in a recent manufacturing implementation:\n\n\"After our solution, manual data entry work went down to basically zero and they could reassign those employees to higher-value tasks.\"\n\nThis transformation represents not just the 15 hours saved weekly but also:\n\nImproved data accuracy by eliminating human error\nEnhanced employee satisfaction through more meaningful work\nFaster decision-making with real-time data availability\n\nThese compounding benefits explain why 73% of organizations that implement automation report significant competitive advantages within the first year.\nNotes\n\nFocus on solving problems rather than explaining technical features\nAddress common objections (complexity, implementation time, ROI) preemptively\nUse statistics and third-party validation to build credibility\nMake sure the reader can envision how automation would work in their specific business context"
            }
          ]
        },
        "promptType": "define"
      },
      "typeVersion": 1.6
    },
    {
      "id": "2cae4569-4306-4544-9640-8818a51af58d",
      "name": "YouTube 脚本",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1104,
        -96
      ],
      "parameters": {
        "text": "={{ $json.text }}",
        "messages": {
          "messageValues": [
            {
              "message": "=# Role\n\nYou are an expert YouTube script editor who specializes in transforming raw video transcripts into engaging, lead-generating content focused on AI automation.\n\n# Task\n\nAnalyze the provided video transcript and generate a structured YouTube script in JSON format that includes:\n- A string of 5 compelling titles formatted as bullet points\n- An attention-grabbing hook\n- A string of clear step-by-step instructions formatted as bullet points\n- A persuasive conclusion\n\n# Specifics\n\n- Ensure the hook captures viewer attention within the first 10 seconds\n- Design titles using proven YouTube clickbait formulas (benefit-driven, curiosity-based, or problem-solution formats)\n- Format the titles as a single string with bullet points (• Title 1\\n• Title 2\\n• etc.)\n- Structure the step-by-step section as a single string with numbered bullet points (1. Step one\\n2. Step two\\n etc.)\n- Craft a conclusion with a strong call-to-action that encourages lead generation\n- Format the output as valid JSON with the following structure: \n  ```\n  {\n    \"titles\": \"• Title 1\\n• Title 2\\n• Title 3\\n• Title 4\\n• Title 5\",\n    \"hook\": \"engaging opening statement\",\n    \"steps\": \"1. Step one\\n2. Step two\\n3. Step three\\n...\",\n    \"conclusion\": \"final thoughts with CTA\"\n  }\n  ```\n- I'm counting on your expertise to create a script that will be immediately usable in Airtable without additional formatting.\n\n# Context\n\nIn today's competitive AI space, converting viewers into leads is critical for business growth. This script will be used for a YouTube channel focused on AI automation solutions that help businesses save time and increase productivity. The target audience consists of business owners and entrepreneurs looking to leverage AI tools but who may feel overwhelmed by the technical aspects.\n\n# Examples\n\nOriginal transcript snippet:\n```\nSo I was trying to automate my email responses and I discovered this amazing tool called EmailGPT. It literally saved me 3 hours every day. Let me show you how it works...\n```\n\nJSON output:\n```json\n{\n  \"titles\": \"• How I Saved 15+ Hours Weekly with This AI Email Hack\\n• The AI Email Automation Secret Nobody Is Talking About\\n• STOP Managing Emails Manually! This AI Tool Changed Everything\\n• I Automated My Entire Email Workflow With This ONE Tool\\n• Email Automation Masterclass: From 3 Hours to 15 Minutes Daily\",\n  \"hook\": \"Imagine waking up tomorrow, opening your inbox, and having EVERYTHING already organized and 80% of replies drafted for you. Not in some distant AI future - but right now, with a tool most people don't even know exists.\",\n  \"steps\": \"1. Identify your most time-consuming email patterns\\n2. Set up EmailGPT with your preferred response style\\n3. Create custom templates for different types of inquiries\\n4. Configure priority settings for VIP contacts\\n5. Implement the one-click response system\",\n  \"conclusion\": \"This isn't just about saving time - it's about reclaiming your focus for what truly matters in your business. Click the link in the description to get a 7-day free trial of EmailGPT and my bonus template pack that will help you automate 90% of your email workflow from day one.\"\n}\n```\n\n# Notes\n\n- Ensure all bullet points and line breaks use the correct escape characters (\\n) for proper display in Airtable\n- Focus on transformation, not just summarization - make the content more compelling than the original\n- Emphasize concrete benefits and results rather than features\n- Use numbers, statistics, and time-saving claims to increase perceived value\n- Always ensure the JSON is properly formatted with no syntax errors"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.6
    },
    {
      "id": "1c57f1ea-4bc7-47f4-8d38-7c2dfc78256d",
      "name": "结构化输出解析器1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1200,
        128
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"titles\": {\n      \"type\": \"string\",\n      \"description\": \"5 compelling titles for the YouTube video formatted as bullet points\"\n    },\n    \"hook\": {\n      \"type\": \"string\",\n      \"description\": \"An attention-grabbing opening statement to capture viewer attention in the first 10 seconds\"\n    },\n    \"steps\": {\n      \"type\": \"string\",\n      \"description\": \"A list of clear, actionable steps for the AI automation process formatted as bullet points\"\n    },\n    \"conclusion\": {\n      \"type\": \"string\",\n      \"description\": \"Final thoughts with a call-to-action that encourages lead generation\"\n    }\n  },\n  \"required\": [\"titles\", \"hook\", \"steps\", \"conclusion\"]\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "09d9d6eb-47a0-4c5c-bd18-0f9e939da089",
      "name": "LinkedIn",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1104,
        896
      ],
      "parameters": {
        "text": "={{ $json.text }}",
        "messages": {
          "messageValues": [
            {
              "message": "=# Role\nYou are an expert LinkedIn content strategist specializing in creating viral lead-generation posts that convert YouTube content into engaging professional narratives.\n\n# Task\nTransform the provided YouTube transcript into a compelling LinkedIn post that attracts potential leads by offering a valuable lead magnet when users comment with a specific trigger word.\n\n# Specifics\n\nWrite in a conversational, authentic tone that builds credibility and creates curiosity\nStructure the post with short paragraphs and line breaks for optimal readability on mobile\nInclude a clear pain point, solution, and benefit structure\nMention 3-5 specific outcomes or advantages readers will gain\nEnd with a strong call-to-action requesting comments with the trigger word: \"[TRIGGER_WORD]\"\nInclude numbered lists or check marks (✓) for formatting key points (no other emoticons)\nKeep the post around 2000 characters for optimal LinkedIn engagement\nI'm counting on your expertise to help me generate quality leads for my business with this post\n\n# Context\nLinkedIn's algorithm favors posts that generate meaningful engagement in the first hour. This post will serve as the top-of-funnel entry point for my lead generation strategy, connecting video content with potential clients. The trigger word mechanic creates a natural way to identify interested prospects while boosting the post's visibility through comment activity.\n\n# Examples\nPain Point → Solution → Benefits → CTA Format:\nAre you tired of struggling with [PAIN POINT] for your business?\nI just discovered a game-changing [SOLUTION] called \"[NAME]\" that revolutionizes how we [BENEFIT].\nThis approach delivers impressive results because:\n\nIt [SPECIFIC ADVANTAGE 1]\nIt enables [SPECIFIC ADVANTAGE 2]\nIt produces [SPECIFIC ADVANTAGE 3] with minimal effort\n\nI tested this with [SPECIFIC EXAMPLE] and the results were remarkable:\n\n[RESULT 1]\n[RESULT 2]\n[RESULT 3]\n\nFor businesses implementing this solution, this means:\n\n[BUSINESS BENEFIT 1]\n[BUSINESS BENEFIT 2]\n[BUSINESS BENEFIT 3]\n\nI've created a [LEAD MAGNET TYPE] that walks you through the entire process step-by-step.\nComment \"[TRIGGER_WORD]\" below if you'd like access to it!\nWhat challenges are you facing with [TOPIC]? Let me know in the comments.\nWatch the full video here: [LINK]\n\n# Notes\n\nFocus on solving a specific problem rather than just promoting content\nUse bullet points strategically to break up text and highlight key benefits\nAlways include social proof or results to build credibility\nThe trigger word should be simple, memorable, and relevant to the content\noutput only the post, nothing else"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.6
    },
    {
      "id": "effb5ced-6e8e-4b09-a03c-20f772511797",
      "name": "新闻通讯",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1104,
        1088
      ],
      "parameters": {
        "text": "={{ $json.text }}",
        "messages": {
          "messageValues": [
            {
              "message": "=# Role\nYou are an expert AI marketing copywriter specializing in creating compelling newsletter content that generates qualified leads for technology services.\n\n# Task\nWrite a concise, engaging newsletter announcement for a video on AI automation using the provided transcript as your source material. Include a clear call-to-action that encourages readers to watch the video and take the next step in their customer journey.\nSpecifics\n\nExtract the most valuable insights and benefits from the transcript\nStructure the newsletter with a captivating headline, brief introduction, 3-4 key points, and strong CTA\nKeep the tone professional yet conversational to resonate with business decision-makers\nHighlight specific pain points the AI automation solves and quantifiable results when possible\nI'm counting on your expertise to create a newsletter that truly drives conversion - this could be the difference between meeting our quarterly goals or falling short\n\n# Context\nThis newsletter will be distributed to our email list of business professionals interested in operational efficiency. Many recipients are considering automation solutions but need concrete examples of implementation and ROI. The video demonstrates our AI automation platform's capabilities, and this newsletter serves as a critical touchpoint in nurturing leads toward a consultation call.\n\n# Examples\nSubject Line: [REVEALED] How Company X Slashed Processing Time by 73% Using Our AI Automation\nHi [First Name],\nLast week, we sat down with Company X's CTO to discuss how they transformed their customer service workflow using intelligent automation.\nIn this exclusive 12-minute video, you'll discover:\n\nThe specific bottleneck that was costing them $240K annually in manual processing\nThe 3-step implementation process their team followed with zero disruption to operations\nHow their ROI surpassed projections within just 47 days of deployment\n\n→ [Watch the video now] (link)\nHave questions about how these results might translate to your industry? Reserve a 30-minute consultation with our solutions team this week.\nLooking forward to helping you automate with confidence,\n[Name]\n\n# Notes\n\nFocus on tangible benefits rather than technical specifications\nKeep the newsletter under 250 words for optimal readability\nEnsure mobile responsiveness in the design\nInclude social sharing options to expand reach beyond the email list"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.6
    },
    {
      "id": "0a63dc2a-bab9-4207-9aa1-2ba5515f07e2",
      "name": "推文",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1104,
        1280
      ],
      "parameters": {
        "text": "={{ $json.text }}",
        "messages": {
          "messageValues": [
            {
              "message": "=# Role\nYou are an expert social media copywriter specializing in creating high-conversion promotional tweets for AI automation content with a proven track record of generating quality leads.\n\n# Task\nCreate a compelling tweet (280 characters max) to promote a video based on the provided transcript that highlights the value of AI automation while encouraging click-through and lead generation.\n\n# Specifics\n\nFocus on a single, powerful benefit or insight from the transcript that resonates with business owners seeking automation solutions\nInclude a clear call-to-action that motivates viewers to watch the video\nIncorporate relevant hashtags (#AIautomation #productivity) to increase visibility\nUse emotionally resonant language that speaks to pain points or aspirations\nThis tweet will directly impact our lead generation efforts, so make every word count\n\n# Context\nOur company specializes in AI automation solutions that help businesses save time, reduce costs, and scale operations. The tweets we create serve as the first touchpoint for potential clients, making them crucial for our marketing funnel. A well-crafted tweet can significantly increase our video views and lead generation metrics.\n\n# Examples\nTranscript snippet: \"In this video, I show how our AI tool reduced email processing time by 78%, allowing the team to focus on strategic priorities.\"\nTweet example 1: \"🤖 We cut email processing time by 78% using our AI automation tool! See exactly how it works in our latest video and discover how much time YOUR team could save. #AIautomation #productivity Watch now: [LINK]\"\nTweet example 2: \"Drowning in emails? Our clients now save 15+ hours weekly with our AI automation solution. I break down the exact process in this video. Your team deserves this freedom! #TimeBack #AIpower Watch: [LINK]\"\n\n# Notes\n\nAlways maintain authenticity and avoid hype-filled language that might reduce credibility\nFocus on concrete results and benefits rather than technical features\nRemember that the goal is lead generation, so create curiosity that drives video views"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.6
    },
    {
      "id": "42fbe06e-bfea-4533-9c93-78822426e030",
      "name": "OpenRouter 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        176,
        -992
      ],
      "parameters": {
        "model": "openai/gpt-4.1-nano",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "8LhErYnNel4FyDj0",
          "name": "OpenRouter account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "36aee75f-1281-4753-a207-58527934e8ac",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        -16,
        784
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "selected",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "9b0116d5-ff89-413c-818a-df5e4dfeea16",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.Status }}",
                    "rightValue": "selected"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "delete",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "8349c3b7-c787-4a60-b1e8-8ea1ddb27ca1",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.Status }}",
                    "rightValue": "delete"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "not selected",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "74fd739e-7d2e-4974-8619-8061c4e9f273",
                    "operator": {
                      "type": "string",
                      "operation": "notExists",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.Status }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "13d37ef7-4f67-401f-987b-da5ddcbdebc7",
      "name": "筛选教程输出",
      "type": "n8n-nodes-base.filter",
      "position": [
        880,
        -400
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "618610e8-0be1-4f27-84c1-7ea959c7f9b7",
              "operator": {
                "type": "array",
                "operation": "contains",
                "rightType": "any"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "tutorial"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "7612d69e-0d12-46d7-9400-6c096f040c64",
      "name": "筛选 YouTube 输出",
      "type": "n8n-nodes-base.filter",
      "position": [
        880,
        16
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "c7392ceb-4386-49c6-a62c-1fe615a7ef24",
              "operator": {
                "type": "array",
                "operation": "contains",
                "rightType": "any"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "youtube"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a5204c09-bc72-4e7e-8213-7310ebafec61",
      "name": "筛选博客文章输出",
      "type": "n8n-nodes-base.filter",
      "position": [
        880,
        304
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "618610e8-0be1-4f27-84c1-7ea959c7f9b7",
              "operator": {
                "type": "array",
                "operation": "contains",
                "rightType": "any"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "blog-post"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "7141402d-c2b1-489d-b7df-d28bb82599c5",
      "name": "筛选摘要输出",
      "type": "n8n-nodes-base.filter",
      "position": [
        880,
        608
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "618610e8-0be1-4f27-84c1-7ea959c7f9b7",
              "operator": {
                "type": "array",
                "operation": "contains",
                "rightType": "any"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "summary"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "3faf8cd9-5c5b-4911-972f-4a4a5517a6b9",
      "name": "筛选 LinkedIn 输出",
      "type": "n8n-nodes-base.filter",
      "position": [
        880,
        896
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "618610e8-0be1-4f27-84c1-7ea959c7f9b7",
              "operator": {
                "type": "array",
                "operation": "contains",
                "rightType": "any"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "linkedin"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "995f2459-6a78-4d61-b03b-e35b2d287d50",
      "name": "筛选新闻通讯输出",
      "type": "n8n-nodes-base.filter",
      "position": [
        880,
        1088
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "618610e8-0be1-4f27-84c1-7ea959c7f9b7",
              "operator": {
                "type": "array",
                "operation": "contains",
                "rightType": "any"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "newsletter"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e6d0a826-2424-41b2-b316-c1f49ecaf0e8",
      "name": "筛选推文输出",
      "type": "n8n-nodes-base.filter",
      "position": [
        880,
        1280
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "618610e8-0be1-4f27-84c1-7ea959c7f9b7",
              "operator": {
                "type": "array",
                "operation": "contains",
                "rightType": "any"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "tweeter"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "2313b3ed-906c-48dd-8c57-92f068671822",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        336,
        352
      ],
      "parameters": {
        "color": 4,
        "width": 292,
        "height": 408,
        "content": "## 使用 Scrape Creator API"
      },
      "typeVersion": 1
    },
    {
      "id": "10744dc9-825a-4f05-8eca-c9410020f166",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        736,
        -672
      ],
      "parameters": {
        "color": 3,
        "width": 272,
        "height": 2140,
        "content": "## 筛选我们要处理的输出"
      },
      "typeVersion": 1
    },
    {
      "id": "fd2cf497-c136-494f-a3a6-973aee8c3b7a",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        -672
      ],
      "parameters": {
        "color": 5,
        "width": 416,
        "height": 2140,
        "content": "## 创建所有内容片段"
      },
      "typeVersion": 1
    },
    {
      "id": "428a0ca0-6312-42bb-b556-e1af798478bc",
      "name": "获取转录文本",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        432,
        608
      ],
      "parameters": {
        "url": "https://api.scrapecreators.com/v1/youtube/video/transcript",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.url }}"
            }
          ]
        }
      },
      "credentials": {
        "httpQueryAuth": {
          "id": "c6JAh6mPlHzGRyan",
          "name": "apify 2"
        },
        "httpHeaderAuth": {
          "id": "uafF6KvkFAmTDXtZ",
          "name": "scrape creators"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "023e1241-b4b5-472a-839d-c874e827306a",
      "name": "获取 YouTube URL",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -240,
        800
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appOfTK0sDWqNiJyl",
          "cachedResultUrl": "https://airtable.com/appOfTK0sDWqNiJyl",
          "cachedResultName": "youtube content engine"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblwIb9n00Onm32Ky",
          "cachedResultUrl": "https://airtable.com/appOfTK0sDWqNiJyl/tblwIb9n00Onm32Ky",
          "cachedResultName": "videos"
        },
        "options": {},
        "operation": "search"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9uiZQNs5rb3wcFIX",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "cd8f4990-f940-421e-a5c5-05047ecd457c",
      "name": "无操作,不执行任何操作",
      "type": "n8n-nodes-base.noOp",
      "position": [
        208,
        992
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "595851f9-1270-4139-97c9-4debad1d6772",
      "name": "提取数据",
      "type": "n8n-nodes-base.set",
      "position": [
        208,
        608
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b8783799-f5aa-43d2-b640-1bcefeeb0cc1",
              "name": "url",
              "type": "string",
              "value": "={{ $json.url }}"
            },
            {
              "id": "d6ab6e50-4e19-4964-9886-42f671d99170",
              "name": "output",
              "type": "array",
              "value": "={{ $json.output }}"
            },
            {
              "id": "c76b0e8b-4613-4394-92fb-a5e98ff193b5",
              "name": "title",
              "type": "string",
              "value": "={{ $json.title }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "eb39aa8e-1096-4203-9d42-e4d23637a31f",
      "name": "提取转录+URL+输出+标题",
      "type": "n8n-nodes-base.set",
      "position": [
        656,
        608
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1cf484b6-5616-45c0-befc-1489aa2248dd",
              "name": "text",
              "type": "string",
              "value": "={{ $json.transcript_only_text }}"
            },
            {
              "id": "3722fbc4-3c9e-4221-be21-aaa40ce319e5",
              "name": "url",
              "type": "string",
              "value": "={{ $('Extract Data').item.json.url }}"
            },
            {
              "id": "b524b194-ce3d-4f47-a58a-03d12d477834",
              "name": "output",
              "type": "array",
              "value": "={{ $('Extract Data').item.json.output }}"
            },
            {
              "id": "50229ea4-3dfe-4805-9f5a-5b529f5815a7",
              "name": "title",
              "type": "string",
              "value": "={{ $('Extract Data').item.json.title }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "4c0b0a6e-79d4-4076-8f7a-d8b5625543ab",
      "name": "更新 Airtable",
      "type": "n8n-nodes-base.airtable",
      "onError": "continueRegularOutput",
      "position": [
        1728,
        416
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appOfTK0sDWqNiJyl",
          "cachedResultUrl": "https://airtable.com/appOfTK0sDWqNiJyl",
          "cachedResultName": "youtube content engine"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblwIb9n00Onm32Ky",
          "cachedResultUrl": "https://airtable.com/appOfTK0sDWqNiJyl/tblwIb9n00Onm32Ky",
          "cachedResultName": "videos"
        },
        "columns": {
          "value": {
            "url": "={{ $json.url }}",
            "title": "={{ $json.title }}",
            "Status": "processed",
            "summary": "={{ $json.summary.output.summary }}",
            "tweeter": "={{ $json.newsletter }}",
            "linkedin": "={{ $json.linkedinPost }}",
            "tutorial": "={{ $json.tutorial }}",
            "blog_post": "={{ $json.blogPost }}",
            "newsletter": "={{ $json.newsletter }}",
            "youtube_hook": "={{ $json.youtubeItem.output.hook }}",
            "youtube_steps": "={{ $json.youtubeItem.output.steps }}",
            "key_take_aways": "={{ $json.summary.output.key_takeaways }}",
            "youtube_titles": "={{ $json.youtubeItem.output.titles }}",
            "youtube_conclusion": "={{ $json.youtubeItem.output.conclusion }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "url",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "selected",
                  "value": "selected"
                },
                {
                  "name": "delete",
                  "value": "delete"
                },
                {
                  "name": "processed",
                  "value": "processed"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "output",
              "type": "array",
              "display": true,
              "options": [
                {
                  "name": "summary",
                  "value": "summary"
                },
                {
                  "name": "tutorial",
                  "value": "tutorial"
                },
                {
                  "name": "blog-post",
                  "value": "blog-post"
                },
                {
                  "name": "linkedin",
                  "value": "linkedin"
                },
                {
                  "name": "newsletter",
                  "value": "newsletter"
                },
                {
                  "name": "tweeter",
                  "value": "tweeter"
                },
                {
                  "name": "youtube",
                  "value": "youtube"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "output",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "summary",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "tutorial",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "tutorial",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "key_take_aways",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "key_take_aways",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "blog_post",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "blog_post",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "linkedin",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "linkedin",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "newsletter",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "newsletter",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "tweeter",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "tweeter",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "youtube_titles",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "youtube_titles",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "youtube_hook",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "youtube_hook",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "youtube_steps",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "youtube_steps",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "youtube_conclusion",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "youtube_conclusion",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "url"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "upsert"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9uiZQNs5rb3wcFIX",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "ab19d9ac-437a-433d-98e0-5d94b6b77313",
      "name": "删除选定记录",
      "type": "n8n-nodes-base.airtable",
      "position": [
        208,
        800
      ],
      "parameters": {
        "id": "={{ $json.id }}",
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appOfTK0sDWqNiJyl",
          "cachedResultUrl": "https://airtable.com/appOfTK0sDWqNiJyl",
          "cachedResultName": "youtube content engine"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblwIb9n00Onm32Ky",
          "cachedResultUrl": "https://airtable.com/appIzgbxc7lD4bJxA/tblwIb9n00Onm32Ky",
          "cachedResultName": "videos"
        },
        "operation": "deleteRecord"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9uiZQNs5rb3wcFIX",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "9c804303-0d83-4017-8842-0e60b0cc3d5d",
      "name": "匹配项目",
      "type": "n8n-nodes-base.code",
      "onError": "continueRegularOutput",
      "position": [
        1504,
        416
      ],
      "parameters": {
        "jsCode": "// Get all URLs and tutorials\nconst urlsAndTitles = $(\"Extract Tanscript+url+output+title\").all().map(item => item.json)\n\n\n// Safely get items from a node, handling cases where the node didn't execute\nfunction safeGetAll(nodeName) {\n  try {\n    return $(nodeName).all() || [];\n  } catch (error) {\n    console.log(`Node ${nodeName} not executed or error: ${error.message}`);\n    return [];\n  }\n}\n\n// Create an array of matched pairs\nconst matchedItems = urlsAndTitles.map((item, index) => {\n  return {\n    url: item.url,\n    title:item.title,\n    tutorial: safeGetAll(\"tutorial\").map(item => item.json.text)[index] || \"\",\n    youtubeItem: safeGetAll(\"youtube script\").map(item => item.json)[index] || \"\",\n    summary: safeGetAll(\"Summary\").map(item => item.json)[index] || \"\",\n    linkedinPost: safeGetAll(\"linkedin\").map(item => item.json.text)[index] || \"\",\n    tweet: safeGetAll(\"tweet\").map(item => item.json.text)[index] || \"\",\n    newsletter: safeGetAll(\"newsletter\").map(item => item.json.text)[index] || \"\",\n    blogPost: safeGetAll(\"blogpost\").map(item => item.json.text)[index] || \"\",\n  }\n});\n\nreturn matchedItems;"
      },
      "typeVersion": 2
    },
    {
      "id": "29a3d5e7-e0ff-4498-8e23-c47bce3ebfca",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -800,
        -624
      ],
      "parameters": {
        "width": 432,
        "height": 208,
        "content": "## Airtable 模板"
      },
      "typeVersion": 1
    },
    {
      "id": "bfc73816-f01b-4dd8-a136-cb46616661d7",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -800,
        -384
      ],
      "parameters": {
        "width": 432,
        "height": 176,
        "content": "## 视频"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {
    "tweet": [
      {
        "text": "🚀 Transform your videos into multiple social media assets effortlessly! Using AI automation with NA10 & Airtable, create summaries, blogs, tweets, and more—scaling your content game without costly ghostwriters. Watch how to build your system today! 🔥 #AIautomation #productivity [LINK]"
      }
    ],
    "Summary": [
      {
        "output": {
          "level": "beginner",
          "topics": "• Using NA10 and Air Table for content repurposing\n• Automating video content extraction and processing\n• Structuring Airtable for video input and content output\n• API integration with YouTube scraper via AMPIFY\n• Using LLM nodes for transcript cleanup and content generation\n• Workflow steps for filtering, merging, and mapping content\n• Building scalable, automated content systems for creators and agencies",
          "summary": "This video provides a comprehensive guide on how to leverage NA10 and Airtable to automate the process of repurposing video content, especially YouTube videos, into various formats like summaries, tutorials, and social media posts. It covers structuring Airtable, integrating APIs for transcript extraction, using LLMs for content generation and cleanup, and building scalable workflows that generate ready-to-use content while offering insights into building full-stack applications for content automation and monetization.",
          "key_takeaways": "• NA10 and Airtable enable scalable, automated content repurposing workflows\n• API integration with YouTube scraper allows efficient transcript extraction\n• LLM nodes can be used to clean transcripts and generate diverse content formats\n• Workflow includes filtering, merging, and mapping steps to organize output\n• Building full-stack tools and automation can help creators and agencies monetize content"
        }
      },
      {
        "output": {
          "level": "intermediate",
          "topics": "• How to scrape LinkedIn leads using Google Search API and NA10\n• Setting up Google Cloud Console API keys and Custom Search Engine\n• Automating lead extraction and data storage in Google Sheets\n• Managing pagination and API rate limits for large-scale scraping\n• Combining automation tools for advanced lead generation workflows",
          "summary": "This video demonstrates a method to scrape up to 1,000 LinkedIn leads daily for free by utilizing Google's Custom Search API and NA10 automation. It covers setting up API keys and search engines, constructing workflows to retrieve and process data, managing pagination and rate limits, and storing results efficiently in Google Sheets. The tutorial emphasizes creating scalable, cost-effective lead generation systems without relying on restricted APIs or manual effort.",
          "key_takeaways": "• You can automate the extraction of LinkedIn profiles using Google Search API and NA10 without cost.\n• Proper setup of Google Cloud projects, API keys, and custom search engines is essential.\n• Pagination and rate limit management are critical for scraping large datasets reliably.\n• The workflow includes data extraction, looping through pages, and storing results in Google Sheets.\n• This method enables scalable lead generation and can be combined with other tools for advanced workflows."
        }
      }
    ],
    "blogpost": [
      {
        "text": "# Unlocking Business Growth with AI Automation: Turn YouTube Videos into Multiple Content Assets Effortlessly\n\nAre manual content repurposing processes draining your time and resources? For many businesses, creating diverse social media posts, newsletters, blogs, and videos from a single YouTube clip can involve costly ghostwriting services or countless hours of manual effort. The good news: AI automation now makes it possible to streamline this process, saving you time, reducing errors, and boosting your content output—all at a fraction of the cost.\n\nIn this article, you'll discover how AI automation—specifically using tools like NA10 and Airtable—can transform a single YouTube video into a full suite of compelling content, scalable for any business or creator. Plus, you'll learn how this seamless system can be built and customized to fit your unique needs, empowering you to generate income or serve clients more effectively.\n\n---\n\n## How AI Automation Boosts Workflow Efficiency and Content Production\n\nImagine turning one YouTube video into a variety of content assets—summaries, tutorials, blog posts, social media snippets—without manual writing or editing. This shift not only accelerates your content calendar but also ensures consistency and quality across all channels.\n\n### Real-World Success Story: Saving Hours and Improving Accuracy\n\nOne of our clients—a digital marketing agency—implemented this AI-driven workflow to repurpose client videos automatically. Prior to automation, they spent over 20 hours weekly editing and adapting content manually. After adopting this system:\n\n- **Time spent on content repurposing reduced by 85%.**\n- **Manual errors decreased significantly, ensuring consistent messaging.**\n- **Content was generated faster, enabling more frequent posting and engagement.**\n\nThis resulted in a measurable increase in reach and client satisfaction, proving that automated workflows can elevate your content game while freeing your team for high-value tasks.\n\n---\n\n## Building an Automated Content Repurposing System in a Few Simple Steps\n\nThe core idea is to connect your YouTube videos to AI models via an automation platform, process transcripts, and generate tailored content assets—all stored and managed through Airtable. Here’s how it works:\n\n### 1. Structuring Your Airtable for Input and Output\n\nStart by creating a table with fields for video URL, title, status, and desired content outputs (e.g., summary, tutorial, blog post). The automation will:\n\n- Receive the YouTube URL.\n- Process the video.\n- Generate content based on your selection.\n- Save all assets back into Airtable, ready for publishing.\n\n### 2. Extracting Video Transcripts via API Requests\n\nUsing an API like NA10’s YouTube scraper, you send the video URL and request transcript data. This process:\n\n- Retrieves the speech content from the video.\n- Cleans up timestamps and irrelevant data.\n- Extracts the core transcript for further use.\n\n### 3. Generating Content with AI Language Models\n\nNext, the cleaned transcript is fed into AI language models (like GPT-4) with carefully crafted prompts to generate:\n\n- Summaries and key takeaways.\n- Step-by-step tutorials.\n- Blog posts, newsletters, or social media snippets.\n\nYou can customize prompts to produce highly tailored content, ensuring your outputs meet your specific needs.\n\n---\n\n## Quantifiable Results: How Automation Maximizes ROI\n\nImplementing this workflow can yield impressive results:\n\n| Benefit | Measurable Impact |\n|---|---|\n| **Time saved per video** | From 4 hours manually to under 15 minutes automation |\n| **Error reduction** | Eliminates manual copying mistakes, ensuring content accuracy |\n| **Content output** | Generate 3–5 different high-quality assets from a single video |\n| **Cost savings** | Reduce reliance on expensive ghostwriting or freelance services |\n| **Scalability** | Process dozens of videos weekly without additional staff |\n\nAccording to industry data, organizations adopting AI-powered content automation see a 50% increase in content volume within six months, with a significant boost in engagement and conversions.\n\n---\n\n## Build and Scale Your Own Content Automation System Today\n\nWhat if you could build such a system yourself? And better yet: do it quickly, customize it for your brand, or offer it to clients as a service?\n\n**Inside my private community, we're building full-stack automation tools like this—front end, back end, and all—so you can:\n\n- Productize your solutions.\n- Offer custom automation as a service.\n- Generate recurring revenue streams.**\n\nYou can access free templates and step-by-step guides to get started immediately.\n\n---\n\n## Ready to Transform Your Content Strategy?\n\nAutomating your content repurposing workflow allows you to do more with less—more content, higher quality, less effort, and greater scalability. Whether you're a content creator, agency, or business owner, this approach unlocks new growth opportunities.\n\n**Take the first step today: [Schedule a free consultation](#) or join my community to learn how to build and sell your own automation systems.**\n\n---\n\n## Let’s Simplify Your Content Creation Journey\n\nIf this article inspired you, give it a thumbs up, subscribe for more automation tips, and drop a comment below with your questions or ideas. Together, we can unlock the full potential of AI automation to elevate your business.\n\n**Start building smarter content workflows today—your audience (and team) will thank you.**"
      }
    ],
    "linkedin": [
      {
        "text": "Are you tired of spending hours repurposing your YouTube videos into social posts, newsletters, blogs, and more?  \nWhat if you could automate this process with a simple, scalable system that delivers ready-to-publish content instantly?  \n\nI just uncovered a game-changing workflow that leverages NA10, Airtable, and AI (yes, all the magic in one setup!) to turn a single video into a full suite of high-quality content — without you lifting a finger.  \n\nThis approach typically costs thousands if you hire ghostwriters or content agencies. But now, you can build it yourself in just a few steps.  \nHere’s what you’ll gain:  \n\n✓ Automate content extraction from YouTube videos effortlessly  \n✓ Generate multiple content types: summaries, tutorials, blog posts, social hooks, newsletters, and more  \n✓ Save hours, reduce costs, and scale your content strategy quickly  \n✓ Turn your videos into a content factory — perfect for creators, agencies, and businesses  \n✓ Build a customizable system that grows with your needs  \n\nImagine processing multiple videos in minutes and having your content prepped and organized in Airtable, ready to publish or turn into a service.  \nThat’s exactly what I’ve done, and I’ve even built a step-by-step workflow you can download for free.  \n\nIf you’re ready to streamline your content creation and unlock new income streams, comment “[TRIGGER_WORD]” below — I’ll send you the full guide!  \n\nWhat are your biggest challenges with repurposing videos?  \nLet me know in the comments!  \n\nKeep creating, automating, and scaling.  \n\n#ContentAutomation #AI #ContentCreation #WorkflowAutomation #ScalableSystems"
      }
    ],
    "tutorial": [
      {
        "text": "**Tutorial: How to Use NA10 and Airtable to Automate Content Repurposing from YouTube Videos**\n\n---\n\n### Step 1: Structuring Your Airtable\n\n- Create an Airtable base with a table that includes the following fields:\n  - **Title** (text input)\n  - **Video URL** (text input for the YouTube link)\n  - **Status** (single select; default options: \"selected\", \"processed\", \"delete\")\n  - **Output Types** (multiple select; options: Summary, Tutorial, Key Takeaways, Blog Post, Newsletter, Twitter, YouTube Titles, Hooks, Steps, Conclusion, etc.)\n  - **Delete Option** (binary/select for deletion)\n  - Additional fields for each content type you want to generate (e.g., Summary, Tutorial, Blog Post, etc.)\n\n---\n\n### Step 2: Starting Your Workflow\n\n- Use a **manual trigger** to initiate the automation process.\n- In your workflow, add an **AirTable node**:\n  - Select your base and table.\n  - Output all data for processing.\n\n---\n\n### Step 3: Filtering Based on Selection\n\n- Add a **Switch node** to process only videos marked as \"selected.\"\n- Use an **AirTable node** to check the \"Status\" field:\n  - If set to **\"delete\"**, delete the record.\n  - If **\"selected\"**, proceed with processing.\n\n---\n\n### Step 4: Extracting Video Data\n\n- Use an **Appi URL node** to prepare the API request:\n  \n```json\n{\n  \"start_urls\": [\n    {\n      \"url\": \"YOUR_VIDEO_URL_HERE\",\n      \"method\": \"GET\"\n    }\n  ],\n  \"download_subtitle\": true\n}\n```\n\n- Build the API URL for the YouTube scraper (via Appi).\n- Store the **API endpoint URL** from Appi, e.g., \"https://api.appi.com/v1/run-actor-synchronously...\"\n\n- Implement an **HTTP Request node**:\n  - Use the above API endpoint.\n  - Send the request with the body containing the video URL.\n  - Pass API credentials securely via a credential node.\n\n---\n\n### Step 5: Extracting and Cleaning the Transcript\n\n- Receive the API response containing the video transcript (SRT format).\n- Use an **LLM chain** node to **remove timestamps** from the transcript:\n  \n```plaintext\nPrompt example for removing timestamps:\n\"Remove all timestamps from this transcript: {{JSON subtitles SRT}}\"\n```\n\n- Pass the cleaned transcript along with video title and URL for reference.\n\n---\n\n### Step 6: Filtering Content Types\n\n- Use **Filter nodes** to identify which content types to generate based on the selected \"Output Types.\"\n- For each desired content piece (e.g., tutorial, blog post), proceed only if the corresponding filter matches.\n\n---\n\n### Step 7: Generating Content with LLMs\n\n- Use **LLM chain** Nodes for each content type:\n  - Select a model like **GPT-4**, **GPT-4 Nano**, or **GPT-3.5** based on speed/cost/quality preferences.\n  - Attach **prompt templates** explaining exactly what content you want to generate (e.g., summary, tutorial, blog post).\n  - Example prompt for a YouTube summary:\n\n```plaintext\n\"Create a detailed summary and key takeaways for the following video transcript: {{cleaned transcript}}. Return the output in structured JSON format.\"\n```\n\n- Attach a **structured output parser** to enforce JSON format and readability.\n\n---\n\n### Step 8: Combining and Merging Content\n\n- Use a **Code node** to:\n  - Match all generated pieces of content (e.g., summary, tutorial, blog post) by URL.\n  - Combine all data into a single structured object.\n\n```javascript\n// Example code snippet for merging items\nconst items = inputItems; // Array of content pieces with URL and content\nconst merged = {};\n\nitems.forEach(item => {\n  if (!merged[item.url]) {\n    merged[item.url] = { url: item.url, title: item.title };\n  }\n  Object.assign(merged[item.url], { [item.type]: item.content });\n});\nreturn Object.values(merged);\n```\n\n---\n\n### Step 9: Mapping Back to Airtable\n\n- Use an **AirTable node** to update records:\n  - Match by **URL**.\n  - Fill in the fields for **Summary**, **Tutorial**, **Blog Post**, **Newsletters**, etc., with the generated content.\n- This step makes all content available directly within your Airtable for review or further use.\n\n---\n\n### Additional Tips:\n- Experiment with different GPT models for balance between cost and quality.\n- Feel free to customize prompts and output structure for your specific needs.\n- This process can be scaled to handle multiple videos and different content types automatically.\n\n---\n\n### Resources:\n- [NA10 Platform](https://n8n.io/)\n- [Appi API for YouTube Scraping](https://appi.com/)\n- Use your own API keys and credentials securely within app integrations.\n\n---\n\n**Congratulations!** You've now automated the entire process of extracting, processing, and generating multiple content pieces from a YouTube video using NA10, Appi API, and Airtable.\n\n---\n\n*If you'd like to build a full stack app or learn how to monetize this system, join the [Private School Community](#) mentioned in the video for hands-on guidance.*\n\n---\n\n**Remember:** Download the complete workflow template for free using the link in the video description and customize it to fit your content needs!"
      },
      {
        "text": "**Tutorial: How to Scrape 1,000 LinkedIn Leads per Day Using NA10 and Google Search API**\n\n---\n\n### **Step 1: Set Up Google Cloud API Keys**\n\n1. Go to the [Google Cloud Console](https://console.cloud.google.com/).\n2. Create a new project or select an existing one.\n3. Navigate to **API & Services** > **Library**.\n4. Search for **Custom Search API**.\n5. Enable the API if it’s not already enabled.\n6. Go to **Credentials** > **Create Credentials** > **API Key**.\n7. Copy the generated API key for later use.\n   \n   *Note:* The free tier provides 100 API calls per day (10 results per request × 10 pages).\n\n---\n\n### **Step 2: Create a Programmable Search Engine (CSE)**\n\n1. Visit [Programmable Search Engine](https://cse.google.com/cse/all).\n2. Click **Add** to create a new Search Engine.\n3. Name it as preferred (e.g., \"LinkedIn Scraper\").\n4. Under **Sites to Search**, select **\"Search the entire Web\"**.\n5. Click **Create**.\n6. After creation, go to the **Control Panel** and copy the **CX** (Search Engine ID).\n\n---\n\n### **Step 3: Build the Automation Workflow in NA10**\n\n1. **Start with a Form Trigger**\n\n   - Create a form where you input:\n     - `Position`\n     - `Industry`\n     - `Region`\n     - `Max Pages` (limit pages to scrape, e.g., 2 for demo)\n\n2. **Extract User Inputs**\n\n   - Use a **Set** node to get:\n     - Max pages (`maxPages`)\n     - Position (`position`)\n     - Industry (`industry`)\n     - Region (`region`)\n     - Initialize `currentStartIndex` at 1\n\n3. **Make HTTP Request to Google Search API**\n\n   - Use an HTTP Request node with the endpoint:\n\n     ```\n     https://www.googleapis.com/customsearch/v1\n     ```\n\n   - Query parameters:\n     - `key` — Your Google API key\n     - `cx` — Your Search Engine ID\n     - `q` — Constructed query string (example below)\n     - `start` — Pagination start index (starts at 1, increases by 10 per loop)\n\n   - Example of query string:\n     ```\n     site:linkedin.com/in/ AND \"<Position>\" AND \"<Industry>\" AND \"<Region>\"\n     ```\n\n4. **Configure Query Parameters**\n\n   - Set up the parameters:\n     - `key`: from Google Cloud\n     - `cx`: your search engine ID\n     - `q`: Dynamic query with input parameters\n     - `site:linkedin.com/in/` as base\n     - `start`: current `startIndex`\n\n5. **Loop for Pagination**\n\n   - After each request:\n     - Use a **Code** node to parse the results:\n       - Extract name, title, link, snippet for each profile.\n       - Store these in variables or a collection.\n     - Use a **Wait** node (5 seconds default) to respect API rate limits.\n   - Check if more pages are needed:\n     - If `currentStartIndex` + 10 <= `maxPages` * 10, then:\n       - Increment `currentStartIndex` by 10.\n       - Loop back to the HTTP request node.\n\n6. **Extract and Store Data**\n\n   - In the code node, compile all profiles into a structured array/object.\n   - Save results into a Google Sheet using a Google Sheets node (via API or NA10 integration).\n\n---\n\n### **Step 4: Store Results in Google Sheets**\n\n- Map the extracted data:\n  - `Name`\n  - `Title`\n  - `LinkedIn URL`\n  - `Snippet`\n  - `Index` (to keep track order)\n- The Google Sheets node will update your spreadsheet with new profiles after each loop.\n\n---\n\n### **Step 5: Handling Pagination and Loop Control**\n\n- Use code logic to:\n  - Determine if more pages are available.\n  - Continue scraping until:\n    - Reached the maximum number of pages specified.\n    - No more results are available.\n\n---\n\n### **Summary of Key Points**\n\n- You can automate up to **1,000 leads per day for free** using the free API tier:\n  - 10 results per request × up to 100 API calls (pages).\n- Use a **wait node** to avoid exceeding API rate limits.\n- Store all results dynamically in Google Sheets for further processing.\n- The entire process runs automatically, scraping data from LinkedIn profiles matching your search criteria.\n\n---\n\n### **Additional Resources**\n\n- [Google Cloud Console](https://console.cloud.google.com/)\n- [Programmable Search Engine](https://cse.google.com/cse/all)\n- [NA10 Automation Platform](https://na10.com/)\n- **Tip:** Combine this automation with tools to enrich lead data or send automatic outreach emails.\n\n---\n\n**Note:** Use this template and process responsibly, respecting Google's API terms of service and LinkedIn's data policies."
      }
    ],
    "newsletter": [
      {
        "text": "Subject Line: Unlock Automated Content Breakthroughs—Transform YouTube Videos into Scalable Social Media & More!\n\nHi [First Name],\n\nAre manual content repurposing efforts holding you back? Discover how our AI-driven platform leverages NA10 and Airtable to turn any YouTube video into an entire content suite—automatically and at scale. What normally costs thousands from ghostwriters? Now, it's all within your reach.\n\nHere’s what you’ll gain from our latest video:\n- **Effortless Repurposing:** Convert a single video URL into high-quality summaries, tutorials, blogs, newsletters, social media titles, hooks, and more—all in minutes.\n- **Fully Automated Workflow:** Use NA10’s powerful AI with Airtable to streamline the process—no technical hassle, just scalable results.\n- **Customizable Content:** Filter and select exactly what pieces you want—tailor content for social, newsletters, or client projects with ease.\n- **Real Results:** Save hours, reduce costs, and create content that engages and grows your audience faster.\n\nWant to see this powerful system in action? [Watch the step-by-step demo now](#).\n\nReady to build your own automated content engine or explore full-stack tools for your business? Book a free call to turn this innovation into profit.\n\nTransform your content game today!\n\nBest,  \n[Your Name]  \n\n---\n\n**P.S.** The workflow is available for free download—get started instantly!"
      }
    ],
    "youtube script": [
      {
        "output": {
          "hook": "Imagine transforming a single YouTube video into a complete content machine—ready to post on social media, newsletters, and blogs—without lifting a finger. Stick around to see how AI automation makes it possible!",
          "steps": "1. Structure your Airtable to input YouTube URLs and select desired content outputs\n2. Use a code node to format the URL for API requests and send data to the YouTube scraper API\n3. Extract the video transcript from the API response and clean it using an LLM node\n4. Filter the transcript based on content type (summary, tutorial, blog, etc.) and process each with designated LLM chains\n5. Use a code node to merge all generated pieces, matching by URL, to assemble the final content set\n6. Map the completed content back into Airtable for easy review and use\n7. Optional: Build a front-end app connecting to this workflow for client delivery or automation scaling",
          "titles": "• Automate Content Repurposing from YouTube to Social Media & Newsletters\n• How to Use NA10 and Airtable to Create a Scalable Content System\n• Save Hours by Automating Video Content Creation & Distribution\n• Build a Fully Automated Content Repurposing Workflow with AI\n• From Video to Viral Posts: Automate with NA10 & Airtable Step-by-Step",
          "conclusion": "This powerful AI-driven workflow can revolutionize how you produce, repurpose, and distribute content at scale. Ready to automate your content system and turn it into a profit stream? Join my private community through the link below to learn more, build with me, and start transforming your content process today!"
        }
      }
    ],
    "When clicking ‘Test workflow’": [
      {}
    ]
  },
  "connections": {
    "tweet": {
      "main": [
        [
          {
            "node": "Match Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Extract Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Delete Selected Records",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summary": {
      "main": [
        [
          {
            "node": "Match Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "blogpost": {
      "main": [
        [
          {
            "node": "Match Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "linkedin": {
      "main": [
        [
          {
            "node": "Match Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "tutorial": {
      "main": [
        [
          {
            "node": "Match Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "newsletter": {
      "main": [
        [
          {
            "node": "Match Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Match Items": {
      "main": [
        [
          {
            "node": "Update Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Data": {
      "main": [
        [
          {
            "node": "Get Transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Transcript": {
      "main": [
        [
          {
            "node": "Extract Tanscript+url+output+title",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "youtube script": {
      "main": [
        [
          {
            "node": "Match Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get YouTube URLs": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter summary output": {
      "main": [
        [
          {
            "node": "Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter tweeter output": {
      "main": [
        [
          {
            "node": "tweet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter youtube output": {
      "main": [
        [
          {
            "node": "youtube script",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "youtube script",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "blogpost",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "tutorial",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Summary",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "linkedin",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "newsletter",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "tweet",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Filter linkedin output": {
      "main": [
        [
          {
            "node": "linkedin",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "filter tutorial output": {
      "main": [
        [
          {
            "node": "tutorial",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter blog post output": {
      "main": [
        [
          {
            "node": "blogpost",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter newsletter output": {
      "main": [
        [
          {
            "node": "newsletter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "No Operation, do nothing": {
      "main": [
        []
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Summary",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser1": {
      "ai_outputParser": [
        [
          {
            "node": "youtube script",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Get YouTube URLs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Tanscript+url+output+title": {
      "main": [
        [
          {
            "node": "filter tutorial output",
            "type": "main",
            "index": 0
          },
          {
            "node": "Filter youtube output",
            "type": "main",
            "index": 0
          },
          {
            "node": "Filter blog post output",
            "type": "main",
            "index": 0
          },
          {
            "node": "Filter summary output",
            "type": "main",
            "index": 0
          },
          {
            "node": "Filter linkedin output",
            "type": "main",
            "index": 0
          },
          {
            "node": "Filter newsletter output",
            "type": "main",
            "index": 0
          },
          {
            "node": "Filter tweeter output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 内容创作, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量32
分类2
节点类型12
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Alexandra Spalato

Alexandra Spalato

@alexaspalato

I'm an AI automation consultant with over a decade of experience in web development. I help businesses streamline their marketing and operations by building custom n8n workflows that save time and boost results. Ready to see what automation can do for your business? Use my link to book your initial consultation.

外部链接
在 n8n.io 查看

分享此工作流