Skip to content

autoshow/autoshow-cli

Repository files navigation

 

AutoShow CLI

  autoshow logo

Outline

Project Overview

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.

Prompts and Content Formats

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)
    • Facebook
    • LinkedIn
  • 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

Key Features

  • 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 ./workflows subdirectory.

AutoShow Pipeline

  1. 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.
  2. The audio is downloaded (if necessary).
  3. Transcription is performed using the selected transcription service.
  4. A customizable prompt is inserted containing instructions for the show notes or other content forms.
  5. The transcript is processed by the selected LLM service to generate the desired output based on the selected prompts.

Setup

The setup.sh script checks for a .env file, installs Node dependencies, and builds whisper.cpp:

npm run setup

Core AutoShow Commands

Example commands for all available CLI options can be found in docs.

Process Options

Run on a single YouTube video.

npm run as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk"

Run on a YouTube playlist.

npm run as -- text --playlist "https://www.youtube.com/playlist?list=PLCVnrVv4KhXPz0SoAVu8Rc1emAdGPbSbr"

Run on a list of arbitrary URLs from a file.

npm run as -- text --urls "./content/examples/example-urls.md"

Run on a local audio or video file.

npm run as -- text --file "./content/examples/audio.mp3"

Run on a podcast RSS feed.

npm run 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>, --lastDays <num>.

Use --info to fetch metadata without full processing for URLs, playlists, channels, or RSS feeds.

npm run as -- text --urls "./content/examples/example-urls.md" --info

Transcription and LLM Options

Specify transcription service (default is Whisper base):

npm run as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --whisper large-v3-turbo
npm run as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --deepgram nova-2
npm run as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --groq-whisper whisper-large-v3-turbo
npm run as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --assembly universal --speakerLabels

Specify LLM service:

npm run as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --chatgpt gpt-4o-mini
npm run as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --claude claude-3-5-haiku-latest
npm run as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --gemini gemini-1.5-flash

Customize prompts:

npm run as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --prompt summary shortChapters --chatgpt
npm run as -- text --video "https://www.youtube.com/watch?v=MORMZXEaONk" --customPrompt ./my-custom-prompt.md --chatgpt

For a full list of options, run:

npm run as -- --help

Contributors

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Contributors 3

  •  
  •  
  •