{"_id":"@elken/n8n-nodes-ytdlp-transcript","_rev":"2-5fb65ea9667ff947374de6f65e56b48a","name":"@elken/n8n-nodes-ytdlp-transcript","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.1":{"name":"@elken/n8n-nodes-ytdlp-transcript","version":"0.1.1","keywords":["n8n-community-node","n8n","n8n-node","youtube","transcript","yt-dlp","video","subtitles"],"author":{"url":"https://github.com/RSRaven","name":"Mykyta Lovygin"},"license":"MIT","_id":"@elken/n8n-nodes-ytdlp-transcript@0.1.1","maintainers":[{"name":"elken","email":"elken@mykolab.com"}],"homepage":"https://github.com/elken/n8n-nodes-ytdlp-transcript#readme","bugs":{"url":"https://github.com/elken/n8n-nodes-ytdlp-transcript/issues"},"n8n":{"nodes":["dist/nodes/YtDlpTranscript/YtDlpTranscript.node.js"],"credentials":[],"n8nNodesApiVersion":1},"dist":{"shasum":"3258d897ffdf8ed5f60f41186f4a2fde707ab2dc","tarball":"https://registry.npmjs.org/@elken/n8n-nodes-ytdlp-transcript/-/n8n-nodes-ytdlp-transcript-0.1.1.tgz","fileCount":3,"integrity":"sha512-dOazdl5P/R/CeNY98oYQA9jrUhRq6xTMVIET6jKfjPxCEUUoY7VbrlDw//HSCt9GZO51o2ASCyCc+Ot5i3sTIw==","signatures":[{"sig":"MEUCIQDdXhGuKGJkiHvTssjLpsUODqDTQd0iWDS3z9A/KTYAcgIgQsGWajoxqa3Dvwl15fNoklrQapJw3FrcDROtVTPATKg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9304},"main":"index.js","engines":{"node":">=20.16.0"},"gitHead":"71f6fa8b3d96920f3fecfdaf412683982dfdbacf","scripts":{"dev":"tsc --watch","build":"tsc && cp nodes/YtDlpTranscript/ytdlp.svg dist/nodes/YtDlpTranscript/"},"_npmUser":{"name":"elken","email":"elken@mykolab.com"},"repository":{"url":"git+https://github.com/elken/n8n-nodes-ytdlp-transcript.git","type":"git"},"_npmVersion":"11.12.1","description":"n8n node for extracting video transcripts using yt-dlp with browser cookie support","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.1.3","@types/node":"^18.16.16","n8n-workflow":"^1.0.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-ytdlp-transcript_0.1.1_1781698159847_0.9970248242463184","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@elken/n8n-nodes-ytdlp-transcript","version":"0.1.2","description":"n8n node for extracting video transcripts using yt-dlp with browser cookie support","keywords":["n8n-community-node","n8n","n8n-node","youtube","transcript","yt-dlp","video","subtitles"],"license":"MIT","homepage":"https://github.com/elken/n8n-nodes-ytdlp-transcript#readme","repository":{"type":"git","url":"git+https://github.com/elken/n8n-nodes-ytdlp-transcript.git"},"bugs":{"url":"https://github.com/elken/n8n-nodes-ytdlp-transcript/issues"},"author":{"name":"Mykyta Lovygin","url":"https://github.com/RSRaven"},"main":"index.js","engines":{"node":">=20.16.0"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc && cp nodes/YtDlpTranscript/ytdlp.svg dist/nodes/YtDlpTranscript/","dev":"tsc --watch"},"n8n":{"n8nNodesApiVersion":1,"credentials":[],"nodes":["dist/nodes/YtDlpTranscript/YtDlpTranscript.node.js"]},"devDependencies":{"@types/node":"^18.16.16","typescript":"^5.1.3","n8n-workflow":"^1.0.0"},"peerDependencies":{"n8n-workflow":"*"},"gitHead":"71f6fa8b3d96920f3fecfdaf412683982dfdbacf","_id":"@elken/n8n-nodes-ytdlp-transcript@0.1.2","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-ul6lMo9zn2O4UPG0IoxAFZLLqcs4seIlAXL3S+CQJhmIuuSrdm2U542aw+I9H+fPcH9dKTDVz0rV/9HJ2FuH4A==","shasum":"ce2de842ffc6a64c3ef5cd8f28dc01fdbe938a72","tarball":"https://registry.npmjs.org/@elken/n8n-nodes-ytdlp-transcript/-/n8n-nodes-ytdlp-transcript-0.1.2.tgz","fileCount":7,"unpackedSize":41554,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFewIGSfwJgYsx9hanrupgpiWSEbVjwSl4TP03F3rKdqAiEArPMs83v5hVhYcn1lAzVvtuqQrK3bviCJ0H+LO2UiTKo="}]},"_npmUser":{"name":"elken","email":"elken@mykolab.com"},"directories":{},"maintainers":[{"name":"elken","email":"elken@mykolab.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-nodes-ytdlp-transcript_0.1.2_1781698884410_0.5516050482031689"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-17T12:09:19.656Z","modified":"2026-06-17T12:21:24.669Z","0.1.1":"2026-06-17T12:09:19.983Z","0.1.2":"2026-06-17T12:21:24.552Z"},"bugs":{"url":"https://github.com/elken/n8n-nodes-ytdlp-transcript/issues"},"author":{"name":"Mykyta Lovygin","url":"https://github.com/RSRaven"},"license":"MIT","homepage":"https://github.com/elken/n8n-nodes-ytdlp-transcript#readme","keywords":["n8n-community-node","n8n","n8n-node","youtube","transcript","yt-dlp","video","subtitles"],"repository":{"type":"git","url":"git+https://github.com/elken/n8n-nodes-ytdlp-transcript.git"},"description":"n8n node for extracting video transcripts using yt-dlp with browser cookie support","maintainers":[{"name":"elken","email":"elken@mykolab.com"}],"readme":"# n8n-nodes-ytdlp-transcript\n\nAn n8n node for extracting video transcripts using yt-dlp with support for cookies and multiple output formats.\n\n## Features\n\n- **Video Transcript Extraction**: Extract transcripts from YouTube and other video platforms\n- **Multiple Cookie Sources**: Support for browser cookies, file-based cookies, and binary cookies\n- **Language Selection**: Single language or comma-separated priority list (e.g., \"en,es,fr\")\n- **Output Formats**: Clean text, timestamped text, structured JSON, or Markdown\n- **Browser Cookie Support**: Direct integration with Chrome, Firefox, Safari, Edge, Opera, and Brave\n- **Metadata Extraction**: Automatically retrieves video metadata alongside transcripts\n\n## Installation\n\n### Option 1: n8n Community Package (Recommended)\nInstall directly from npm:\n```bash\nnpm install @rsraven/n8n-nodes-ytdlp-transcript\n```\n\n### Option 2: n8n Self-hosted Server\n1. Open n8n\n2. Go to **Settings** → **Community Nodes**\n3. Install: `@rsraven/n8n-nodes-ytdlp-transcript`\n\n### Option 3: Docker\nAdd to your environment variables or docker-compose:\n```bash\nN8N_COMMUNITY_PACKAGES=\"@rsraven/n8n-nodes-ytdlp-transcript\"\n```\n\n### Option 4: Manual Installation\n```bash\n# For global n8n installation\nnpm install -g @rsraven/n8n-nodes-ytdlp-transcript\n\n# For local development\ncd ~/.n8n/nodes\nnpm install @rsraven/n8n-nodes-ytdlp-transcript\n```\n\n## Prerequisites\n\n- **yt-dlp**: Must be installed and available in your system PATH\n  ```bash\n  # Install yt-dlp\n  pip install yt-dlp\n  # or\n  brew install yt-dlp\n  ```\n\n## Usage\n\n### Basic Usage\n1. Add the \"YT-DLP Transcript\" node to your n8n workflow\n2. Enter a video URL (YouTube, Vimeo, etc.)\n3. Select desired language (default: \"en\")\n4. Choose output format\n5. Execute the workflow\n\n### Cookie Authentication\nFor accessing private or age-restricted content:\n\n#### Browser Cookies (Recommended)\n1. Enable \"Use Browser Cookies\" in Additional Options\n2. Select your browser (Chrome, Firefox, Safari, Edge, Opera, Brave)\n3. The node will automatically extract cookies from your browser\n\n#### File-based Cookies\n1. Export cookies from your browser to Netscape format\n2. Set \"Cookies File\" path in Additional Options\n\n#### Binary Cookies\n1. Pass cookies as binary data in your workflow\n2. Enable \"Use Cookies from Binary\"\n3. Specify the binary property name (default: \"cookies\")\n\n### Language Selection\n- **Single language**: `en` (English)\n- **Priority list**: `en,es,fr` (tries English first, then Spanish, then French)\n- **Available languages**: Depends on the video source\n\n### Output Formats\n\n#### Clean Text\nPlain text transcript without timestamps:\n```\nHello everyone, welcome to this tutorial about n8n workflows...\n```\n\n#### Text with Timestamps\nText with timestamp markers:\n```\n[00:00:00] Hello everyone, welcome to this tutorial about n8n workflows\n[00:00:15] Today we'll be learning how to extract video transcripts\n```\n\n#### Structured JSON\nComplete data structure with segments:\n```json\n{\n  \"segments\": [\n    {\n      \"start\": \"00:00:00\",\n      \"end\": \"00:00:15\",\n      \"text\": \"Hello everyone, welcome to this tutorial\"\n    }\n  ],\n  \"fullText\": \"Hello everyone, welcome to this tutorial...\",\n  \"duration\": \"00:15:30\",\n  \"segmentCount\": 45\n}\n```\n\n#### Markdown\nMarkdown format with timestamps as headers:\n```markdown\n### 00:00:00\nHello everyone, welcome to this tutorial about n8n workflows\n\n### 00:00:15\nToday we'll be learning how to extract video transcripts\n```\n\n## Configuration Options\n\n| Option | Type | Description |\n|--------|------|-------------|\n| Video URL | String | URL of the video to extract transcript from |\n| Language | String | Language code(s) for transcript (single or comma-separated) |\n| Output Format | Options | Format of the output transcript |\n| **Additional Options** | | |\n| Cookies File | String | Path to cookies file (Netscape format) |\n| Use Browser Cookies | Boolean | Extract cookies from installed browser |\n| Browser Name | Options | Browser to extract cookies from |\n| Use Cookies from Binary | Boolean | Use cookies from incoming binary data |\n| Binary Property Name | String | Name of binary property containing cookies |\n| Remove Duplicate Lines | Boolean | Remove duplicate subtitle lines (default: true) |\n| Include Speaker Labels | Boolean | Include speaker labels if available |\n| Proxy | String | Proxy server URL |\n| User Agent | String | Custom user agent string |\n\n## Output Data\n\nThe node outputs JSON with the following structure:\n```json\n{\n  \"videoUrl\": \"https://www.youtube.com/watch?v=example\",\n  \"language\": \"en\",\n  \"transcript\": \"Extracted transcript text...\",\n  \"format\": \"cleanText\",\n  \"metadata\": {\n    \"title\": \"Video Title\",\n    \"description\": \"Video description\",\n    \"duration\": 1800,\n    \"uploader\": \"Channel Name\",\n    \"upload_date\": \"20231201\",\n    \"view_count\": 10000,\n    \"like_count\": 500,\n    \"channel\": \"Channel Name\",\n    \"categories\": [\"Education\"],\n    \"tags\": [\"tutorial\", \"n8n\"],\n    \"thumbnail\": \"https://example.com/thumbnail.jpg\"\n  }\n}\n```\n\n## Error Handling\n\nThe node includes comprehensive error handling:\n- Invalid URLs\n- Missing transcripts\n- Authentication failures\n- Network issues\n- yt-dlp execution errors\n\nEnable \"Continue on Fail\" to handle errors gracefully in your workflow.\n\n## Examples\n\n### Extract English Transcript\n```json\n{\n  \"videoUrl\": \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\n  \"language\": \"en\",\n  \"outputFormat\": \"cleanText\"\n}\n```\n\n### Multi-language with Browser Cookies\n```json\n{\n  \"videoUrl\": \"https://www.youtube.com/watch?v=example\",\n  \"language\": \"en,es,fr\",\n  \"outputFormat\": \"structuredJson\",\n  \"additionalOptions\": {\n    \"useBrowserCookies\": true,\n    \"browserName\": \"chrome\"\n  }\n}\n```\n\n### Extract with Custom Settings\n```json\n{\n  \"videoUrl\": \"https://vimeo.com/123456789\",\n  \"language\": \"en\",\n  \"outputFormat\": \"markdown\",\n  \"additionalOptions\": {\n    \"cookiesFile\": \"/path/to/cookies.txt\",\n    \"removeDuplicates\": true,\n    \"includeSpeakerLabels\": true,\n    \"proxy\": \"http://proxy.example.com:8080\"\n  }\n}\n```\n\n## Troubleshooting\n\n### Common Issues\n\n1. **No transcript found**: Some videos may not have transcripts available\n2. **yt-dlp not found**: Ensure yt-dlp is installed and in your PATH\n3. **Cookie authentication**: For private content, use browser cookies or export cookies manually\n4. **Rate limiting**: Some platforms may rate limit requests\n\n### Debug Tips\n\n- Check yt-dlp version: `yt-dlp --version`\n- Test URL manually: `yt-dlp --list-subs \"VIDEO_URL\"`\n- Verify cookies: `yt-dlp --cookies-from-browser chrome --list-subs \"VIDEO_URL\"`\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Support\n\n- Report issues: [GitHub Issues](https://github.com/RSRaven/n8n-nodes-ytdlp-transcript/issues)\n- n8n Community: [n8n Community Forum](https://community.n8n.io)","readmeFilename":"README.md"}