{"slug":"ytdlp-agent","title":"yt-dlp Agent — YouTube & Video CLI","tags":["ytdlp","youtube","download","transcript","cli","proxy"],"agent_summary":"Agent-native yt-dlp CLI wrapper with Oxylabs ISP proxy by default. Commands: download, audio, info, transcript, thumbnail, playlist, search, channel. JSON output for pipelines.","trigger_phrases":["yt-dlp agent","download youtube video","youtube transcript cli","ytdlp download","extract youtube audio","youtube playlist download","video info cli","ytdlp proxy"],"runnable":true,"markdown":"\n# yt-dlp Agent — YouTube & Video CLI\n\nAgent-native CLI wrapper for yt-dlp. Oxylabs ISP proxy by default. All commands return JSON for pipeline use.\n\n## Install\n\n```powershell\ncd D:\\ClaudeDev\\00_GITHUB\\cliit\\clis\\ytdlp-agent\npip install -e .\n```\n\n## Proxy Rule\n\nAll YouTube and video downloads must use the Oxylabs proxy (home IP rule). The `--no-proxy` flag is available for non-scraping one-off checks.\n\n## Commands\n\n### download — video or audio\n\n```bash\nytdlp-agent download <url>                    # MP4, current dir\nytdlp-agent download <url> -o D:/Downloads   # custom dir\nytdlp-agent download <url> --format mp3      # extract MP3\nytdlp-agent download <url> --format wav      # extract WAV\nytdlp-agent download <url> --json            # JSON output\nytdlp-agent download <url> --no-proxy        # bypass proxy\n```\n\n### transcript — captions as plain text\n\nDownloads VTT subtitles, strips timestamps and HTML, deduplicates lines.\n\n```bash\nytdlp-agent transcript <url>\nytdlp-agent transcript <url> --lang es\nytdlp-agent transcript <url> -o D:/Transcripts --json\n```\n\n### info — metadata\n\nReturns: id, title, uploader, channel, duration, view_count, like_count, upload_date, description (first 500 chars), thumbnail, formats.\n\n```bash\nytdlp-agent info <url>\nytdlp-agent info <url> --json\n```\n\n### audio — MP3 extract\n\n```bash\nytdlp-agent audio <url>\nytdlp-agent audio <url> -o D:/Audio --json\n```\n\n### thumbnail — grab thumbnail\n\n```bash\nytdlp-agent thumbnail <url>\nytdlp-agent thumbnail <url> -o D:/Thumbs\n```\n\n### playlist — download playlist\n\n```bash\nytdlp-agent playlist <playlist_url>\nytdlp-agent playlist <playlist_url> --format mp3 -o D:/Downloads/playlist\nytdlp-agent playlist <playlist_url> --info-only --json   # metadata only\n```\n\n### channel — channel videos\n\n```bash\nytdlp-agent channel <channel_url> --limit 10\nytdlp-agent channel <channel_url> --info-only --json\n```\n\n### search — search YouTube\n\n```bash\nytdlp-agent search \"how to fix roof leak\" --limit 5 --json\n```\n\n## JSON Output Schema\n\n```json\n{\n  \"ok\": true,\n  \"url\": \"https://youtube.com/...\",\n  \"file\": \"/path/to/output.mp4\",\n  \"title\": \"Video Title\",\n  \"duration_seconds\": 127,\n  \"format\": \"mp4\"\n}\n```\n\n## Agent Pipeline Pattern\n\n```python\nimport subprocess, json\n\nresult = subprocess.run(\n    [\"ytdlp-agent\", \"transcript\", video_url, \"--json\"],\n    capture_output=True, text=True\n)\ndata = json.loads(result.stdout)\nif data[\"ok\"]:\n    print(data[\"transcript\"])\n```\n\n## Related Topics\n\n- [[youtube-fetch]] — lightweight YouTube metadata + transcript sub-skill\n- [[yt-transcript-pipeline]] — automated daily transcript vault\n- [[social-transcript-extractor]] — social platform transcripts via API\n- [[assemblyai-transcription]] — AI-powered audio intelligence layer\n\n#video-sop #ytdlp #youtube #download #transcript #cli #proxy\n","html":"<h1>yt-dlp Agent — YouTube &#x26; Video CLI</h1>\n<p>Agent-native CLI wrapper for yt-dlp. Oxylabs ISP proxy by default. All commands return JSON for pipeline use.</p>\n<h2>Install</h2>\n<pre><code class=\"language-powershell\">cd D:\\ClaudeDev\\00_GITHUB\\cliit\\clis\\ytdlp-agent\npip install -e .\n</code></pre>\n<h2>Proxy Rule</h2>\n<p>All YouTube and video downloads must use the Oxylabs proxy (home IP rule). The <code>--no-proxy</code> flag is available for non-scraping one-off checks.</p>\n<h2>Commands</h2>\n<h3>download — video or audio</h3>\n<pre><code class=\"language-bash\">ytdlp-agent download &#x3C;url>                    # MP4, current dir\nytdlp-agent download &#x3C;url> -o D:/Downloads   # custom dir\nytdlp-agent download &#x3C;url> --format mp3      # extract MP3\nytdlp-agent download &#x3C;url> --format wav      # extract WAV\nytdlp-agent download &#x3C;url> --json            # JSON output\nytdlp-agent download &#x3C;url> --no-proxy        # bypass proxy\n</code></pre>\n<h3>transcript — captions as plain text</h3>\n<p>Downloads VTT subtitles, strips timestamps and HTML, deduplicates lines.</p>\n<pre><code class=\"language-bash\">ytdlp-agent transcript &#x3C;url>\nytdlp-agent transcript &#x3C;url> --lang es\nytdlp-agent transcript &#x3C;url> -o D:/Transcripts --json\n</code></pre>\n<h3>info — metadata</h3>\n<p>Returns: id, title, uploader, channel, duration, view_count, like_count, upload_date, description (first 500 chars), thumbnail, formats.</p>\n<pre><code class=\"language-bash\">ytdlp-agent info &#x3C;url>\nytdlp-agent info &#x3C;url> --json\n</code></pre>\n<h3>audio — MP3 extract</h3>\n<pre><code class=\"language-bash\">ytdlp-agent audio &#x3C;url>\nytdlp-agent audio &#x3C;url> -o D:/Audio --json\n</code></pre>\n<h3>thumbnail — grab thumbnail</h3>\n<pre><code class=\"language-bash\">ytdlp-agent thumbnail &#x3C;url>\nytdlp-agent thumbnail &#x3C;url> -o D:/Thumbs\n</code></pre>\n<h3>playlist — download playlist</h3>\n<pre><code class=\"language-bash\">ytdlp-agent playlist &#x3C;playlist_url>\nytdlp-agent playlist &#x3C;playlist_url> --format mp3 -o D:/Downloads/playlist\nytdlp-agent playlist &#x3C;playlist_url> --info-only --json   # metadata only\n</code></pre>\n<h3>channel — channel videos</h3>\n<pre><code class=\"language-bash\">ytdlp-agent channel &#x3C;channel_url> --limit 10\nytdlp-agent channel &#x3C;channel_url> --info-only --json\n</code></pre>\n<h3>search — search YouTube</h3>\n<pre><code class=\"language-bash\">ytdlp-agent search \"how to fix roof leak\" --limit 5 --json\n</code></pre>\n<h2>JSON Output Schema</h2>\n<pre><code class=\"language-json\">{\n  \"ok\": true,\n  \"url\": \"https://youtube.com/...\",\n  \"file\": \"/path/to/output.mp4\",\n  \"title\": \"Video Title\",\n  \"duration_seconds\": 127,\n  \"format\": \"mp4\"\n}\n</code></pre>\n<h2>Agent Pipeline Pattern</h2>\n<pre><code class=\"language-python\">import subprocess, json\n\nresult = subprocess.run(\n    [\"ytdlp-agent\", \"transcript\", video_url, \"--json\"],\n    capture_output=True, text=True\n)\ndata = json.loads(result.stdout)\nif data[\"ok\"]:\n    print(data[\"transcript\"])\n</code></pre>\n<h2>Related Topics</h2>\n<ul>\n<li>[[youtube-fetch]] — lightweight YouTube metadata + transcript sub-skill</li>\n<li>[[yt-transcript-pipeline]] — automated daily transcript vault</li>\n<li>[[social-transcript-extractor]] — social platform transcripts via API</li>\n<li>[[assemblyai-transcription]] — AI-powered audio intelligence layer</li>\n</ul>\n<p>#video-sop #ytdlp #youtube #download #transcript #cli #proxy</p>\n"}