AutoShow automates the processing of audio and video content from various sources, including YouTube videos, playlists, podcast RSS feeds, and local media files. It leverages advanced transcription services and language models (LLMs) to perform transcription, summarization, and chapter generation.
AutoShow can generate diverse content formats including:
- Summaries and Chapters:
- Concise summaries
- Detailed chapter descriptions
- Bullet-point summaries
- Chapter titles with timestamps
- Social Media Posts:
- X (Twitter)
- Creative Content:
- Rap songs
- Rock songs
- Country songs
- Educational and Informative Content:
- Key takeaways
- Comprehension questions
- Frequently asked questions (FAQs)
- Curated quotes
- Blog outlines and drafts
- Support for multiple input types (YouTube links, RSS feeds, local video and audio files)
- Integration with various:
- LLMs (ChatGPT, Claude, Gemini)
- Transcription services (Whisper.cpp, Deepgram, Assembly)
- Customizable prompts for generating titles, summaries, chapter titles/descriptions, key takeaways, and questions to test comprehension
- Markdown output with metadata and formatted content
- Workflow management for processing content from
./workflowssubdirectory.
- The user provides a content input (video URL, playlist, RSS feed, or local file) or triggers a workflow. Front matter is created based on the content's metadata.
- The audio is downloaded (if necessary).
- Transcription is performed using the selected transcription service.
- A customizable prompt is inserted containing instructions for the show notes or other content forms.
- The transcript is processed by the selected LLM service to generate the desired output based on the selected prompts.
The setup.sh script checks for a .env file, installs Node dependencies, and builds whisper.cpp:
bun setupExample commands for all available CLI options can be found in docs.
Run on a single YouTube video.
bun as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk"Run on a YouTube playlist.
bun as -- text --playlist "https://www.youtube.com/playlist?list=PLCVnrVv4KhXPz0SoAVu8Rc1emAdGPbSbr"Run on a list of arbitrary URLs from a file.
bun as -- text --urls "./input/example-urls.md"Run on a local audio or video file.
bun as -- text --file "./input/audio.mp3"Run on a podcast RSS feed.
bun as -- text --rss "https://ajcwebdev.substack.com/feed"For more granular control (e.g., specific RSS items, date filtering, order, skip, last), use options like --item <url>, --date <YYYY-MM-DD>, --order newest|oldest, --last <num>, --days <num>.
Use --info to fetch metadata without full processing for URLs, playlists, channels, or RSS feeds.
bun as -- text --urls "./input/example-urls.md" --infoSpecify transcription service (default is Whisper base):
bun as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --whisper large-v3-turbo
bun as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --deepgram nova-2
bun as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --groq-whisper whisper-large-v3-turbo
bun as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --assembly universal --speakerLabelsSpecify LLM service:
bun as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --chatgpt gpt-5-nano
bun as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --claude claude-sonnet-4-20250514
bun as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --gemini gemini-2.5-flashCustomize prompts:
bun as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --prompt summary shortChapters --chatgpt
bun as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --customPrompt ./my-custom-prompt.md --chatgptFor a full list of options, run:
bun as -- --help- ✨Hello beautiful human! ✨Jenn Junod host of Teach Jenn Tech & Shit2TalkAbout
