Workflow: youtube chapter generator
Integrations: extractFromFile, httpRequest, manualTrigger, noOp, set, stickyNote, youTube

{"id": "SCUbdpVPX4USbQmr", "meta": {"instanceId": "workflow-d05ba977", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:44.713509", "updatedAt": "2025-09-29T07:07:44.713525", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production"}, "name": "youtube chapter generator", "tags": ["automation", "n8n", "production-ready", "excellent", "optimized"], "nodes": [{"id": "104fa4ce-cd86-4fff-b31c-0ef37fba6d93", "name": "When clicking \u2018Test workflow\u2019", "type": "n8n-nodes-base.manualTrigger", "position": [-800, -120], "parameters": {}, "typeVersion": 1, "notes": "This manualTrigger node performs automated tasks as part of the workflow."}, {"id": "c3b45480-3098-40f9-a77f-ada54481b590", "name": "Get Caption ID", "type": "n8n-nodes-base.httpRequest", "position": [-200, -120], "parameters": {"url": "{{ $env.BASE_URL }}", "options": {}, "authentication": "{{ $credentials.predefinedCredentialType }}", "nodeCredentialType": "YOUR_CREDENTIAL_HERE"}, "credentials": {"youTubeOAuth2Api": {"id": "1TkjUqPfFCQ6NzL7", "name": "YouTube account"}}, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow."}, {"id": "fe08adc4-e6ef-47ae-a946-1e6d5a85e10e", "name": "Get Captions", "type": "n8n-nodes-base.httpRequest", "position": [20, -120], "parameters": {"url": "{{ $env.BASE_URL }}", "options": {}, "authentication": "{{ $credentials.predefinedCredentialType }}", "nodeCredentialType": "YOUR_CREDENTIAL_HERE"}, "credentials": {"youTubeOAuth2Api": {"id": "1TkjUqPfFCQ6NzL7", "name": "YouTube account"}}, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow."}, {"id": "0e15f334-9ff8-4a7e-85a9-4cf8cf10ea55", "name": "Extract Captions", "type": "n8n-nodes-base.extractFromFile", "position": [240, -120], "parameters": {"options": {}, "operation": "text"}, "typeVersion": 1, "notes": "This extractFromFile node performs automated tasks as part of the workflow."}, {"id": "af99a919-7ebc-4a6c-80be-83e2ffa68d05", "name": "Structured Captions", "type": "n8n-nodes-base.noOp", "position": [640, 100], "parameters": {"jsonSchemaExample": "{\n\t\"description\": \"California\"\n\t\n}"}, "typeVersion": 1.2, "notes": "This outputParserStructured node performs automated tasks as part of the workflow."}, {"id": "414a41a2-0715-4a57-a606-9f3678b2472a", "name": "Get Video Meta Data", "type": "n8n-nodes-base.youTube", "position": [-420, -120], "parameters": {"options": {}, "videoId": "={{ $json.video_id }}", "resource": "video", "operation": "get"}, "credentials": {"youTubeOAuth2Api": {"id": "1TkjUqPfFCQ6NzL7", "name": "YouTube account"}}, "typeVersion": 1, "notes": "This youTube node performs automated tasks as part of the workflow."}, {"id": "7304d9b1-5956-41c3-b78a-2c409d0aa726", "name": "Google Gemini Chat Model", "type": "n8n-nodes-base.noOp", "position": [460, 100], "parameters": {"options": {}, "modelName": "models/gemini-1.5-flash-8b-exp-0924"}, "credentials": {"googlePalmApi": {"id": "FshILEOmCAPVoGfW", "name": "Google Gemini(PaLM) Api account 2"}}, "typeVersion": 1, "notes": "This lmChatGoogleGemini node performs automated tasks as part of the workflow."}, {"id": "867a6ad6-0712-4fbf-97fd-ab054b783172", "name": "Set Video ID", "type": "n8n-nodes-base.set", "position": [-640, -120], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "568762f7-e496-4550-8567-d49e2ce1676d", "name": "video_id", "type": "string", "value": "r1wqsrW2vmE"}]}}, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow."}, {"id": "dcd0c9d7-1a69-45e8-98e9-b7cf7d12734e", "name": "Update Chapters", "type": "n8n-nodes-base.youTube", "position": [940, -120], "parameters": {"title": "={{ $('Get Video Meta Data').item.json.snippet.title }}", "videoId": "={{ $('Get Captions').item.json.items[0].snippet.videoId }}", "resource": "video", "operation": "update", "categoryId": "22", "regionCode": "US", "updateFields": {"description": "={{ $json.output.description }}\nChapters\n{{ $json.output.description }}"}}, "credentials": {"youTubeOAuth2Api": {"id": "1TkjUqPfFCQ6NzL7", "name": "YouTube account"}}, "typeVersion": 1, "alwaysOutputData": true, "notes": "This youTube node performs automated tasks as part of the workflow."}, {"id": "916629c4-6e49-4432-88e8-626748cb3d24", "name": "Tag Chapters in Description", "type": "n8n-nodes-base.noOp", "position": [460, -120], "parameters": {"text": "=This is an srt format data. please classify this data into chapters\nbased upon this transcript \n{{ $json.data }}\n{\n\"description\":\"00:00 Introduction\n02:15 Topic One\n05:30 Topic Two\n10:45 Conclusion\"\n}\n", "promptType": "define", "hasOutputParser": true}, "typeVersion": 1.6, "notes": "This chainLlm node performs automated tasks as part of the workflow."}, {"id": "b0f56d68-b787-4ccc-8bb5-bdb5b04c3ae4", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [-680, -200], "parameters": {"width": 1040, "height": 440, "content": "\n## Get Captions"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "0bcee6b5-0e8b-4f85-8f83-c829e785467a", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [378, -200], "parameters": {"color": 4, "width": 420, "height": 440, "content": "## Generate Chapters\n"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "0f90f6ec-2154-4945-b262-6531fef2334f", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [820, -200], "parameters": {"color": 6, "width": 440, "height": 440, "content": "## Update Description\n"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}], "active": false, "pinData": {}, "settings": {"executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000}, "versionId": "27125160-7c64-4431-b243-832c1ae29d29", "connections": {"c3b45480-3098-40f9-a77f-ada54481b590": {"main": [[{"node": "error-handler-c3b45480-3098-40f9-a77f-ada54481b590", "type": "main", "index": 0}], [{"node": "error-handler-c3b45480-3098-40f9-a77f-ada54481b590-0bd5fbf3", "type": "main", "index": 0}], [{"node": "error-handler-c3b45480-3098-40f9-a77f-ada54481b590-59b0ddb3", "type": "main", "index": 0}], [{"node": "error-handler-c3b45480-3098-40f9-a77f-ada54481b590-57dad9ee", "type": "main", "index": 0}], [{"node": "error-handler-c3b45480-3098-40f9-a77f-ada54481b590-2b145ea6", "type": "main", "index": 0}], [{"node": "error-handler-c3b45480-3098-40f9-a77f-ada54481b590-df2cbce8", "type": "main", "index": 0}], [{"node": "error-handler-c3b45480-3098-40f9-a77f-ada54481b590-649896c2", "type": "main", "index": 0}], [{"node": "error-handler-c3b45480-3098-40f9-a77f-ada54481b590-6af6932c", "type": "main", "index": 0}], [{"node": "error-handler-c3b45480-3098-40f9-a77f-ada54481b590-e2be8d89", "type": "main", "index": 0}]]}, "fe08adc4-e6ef-47ae-a946-1e6d5a85e10e": {"main": [[{"node": "error-handler-fe08adc4-e6ef-47ae-a946-1e6d5a85e10e", "type": "main", "index": 0}], [{"node": "error-handler-fe08adc4-e6ef-47ae-a946-1e6d5a85e10e-7b80a961", "type": "main", "index": 0}], [{"node": "error-handler-fe08adc4-e6ef-47ae-a946-1e6d5a85e10e-8ba52bb4", "type": "main", "index": 0}], [{"node": "error-handler-fe08adc4-e6ef-47ae-a946-1e6d5a85e10e-fe6170b5", "type": "main", "index": 0}], [{"node": "error-handler-fe08adc4-e6ef-47ae-a946-1e6d5a85e10e-38d8ae8c", "type": "main", "index": 0}], [{"node": "error-handler-fe08adc4-e6ef-47ae-a946-1e6d5a85e10e-bf1637ab", "type": "main", "index": 0}], [{"node": "error-handler-fe08adc4-e6ef-47ae-a946-1e6d5a85e10e-6bb078d7", "type": "main", "index": 0}], [{"node": "error-handler-fe08adc4-e6ef-47ae-a946-1e6d5a85e10e-1d440931", "type": "main", "index": 0}], [{"node": "error-handler-fe08adc4-e6ef-47ae-a946-1e6d5a85e10e-65c9e237", "type": "main", "index": 0}]]}, "0e15f334-9ff8-4a7e-85a9-4cf8cf10ea55": {"main": [[{"node": "error-handler-0e15f334-9ff8-4a7e-85a9-4cf8cf10ea55-f09c7358", "type": "main", "index": 0}]]}, "7304d9b1-5956-41c3-b78a-2c409d0aa726": {"main": [[{"node": "error-handler-7304d9b1-5956-41c3-b78a-2c409d0aa726-a1c922a1", "type": "main", "index": 0}]]}}, "description": "Automated workflow: youtube chapter generator. This workflow integrates 10 different services: stickyNote, youTube, httpRequest, lmChatGoogleGemini, chainLlm. It contains 19 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: youtube chapter generator. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}