Skip to main content

A CLI tool to download audio from a YouTube video, transcribe it, and refine the transcription using AI.

Project description

ytdebunk

Overview

ytdebunk is a command-line tool designed to:

  • Download audio from YouTube videos.
  • Transcribe the audio content.
  • Optionally enhance the transcription using the Gemini API.

This tool is particularly useful for analyzing transcriptions to identify logical fallacies and incorrect claims made by YouTubers.

Installation

To install the required dependencies, run:

pip install -r requirements.txt

Usage

The ytdebunk.py script provides a command-line interface (CLI) with several options.

Arguments

  • video_url (str) – URL of the YouTube video to download audio from.

Options

Option Description
-e, --enhance (bool) Enhance the transcription using the Gemini API. (Default: False)
-o, --output_file (str) Path to save the final transcription. (Default: downloads/transcription.txt)
-v, --verbose (bool) Increase output verbosity.
-t, --token (str) API token for the Gemini API (Required if --enhance is enabled).

Example Usage

python ytdebunk.py "https://www.youtube.com/watch?v=example" -e -o output.txt -v -t YOUR_GEMINI_API_TOKEN

Environment Variables

If preferred, you can set the Gemini API token as an environment variable instead of passing it as a CLI argument:

export GEMINI_API_TOKEN="your_api_key"

Detailed Process

  1. Download Audio

    • Uses the download_audio function from ytdebunk.downloader to download audio from the given YouTube URL.
  2. Transcribe Audio

    • Uses the transcribe_audio function from ytdebunk.transcriber to generate a text transcription.
  3. Enhance Transcription (Optional)

    • If --enhance is enabled, the script uses enhance_transcription from ytdebunk.refiner to refine the transcription using the Gemini API.
    • The API token must be provided via --token or as an environment variable.
  4. Save Transcription

    • The final transcription (raw or enhanced) is saved to the specified output file.

Error Handling

  • If --enhance is enabled but no Gemini API token is provided, the script prints an error message and exits.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ytdebunk-1.0.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ytdebunk-1.0.0-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file ytdebunk-1.0.0.tar.gz.

File metadata

  • Download URL: ytdebunk-1.0.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for ytdebunk-1.0.0.tar.gz
Algorithm Hash digest
SHA256 28074cdcd05698ac1ea3833891d38fa23ed88cdfe363f9bea0f361e1be674316
MD5 e9bb06e5955d87e9fcc1578013f0112c
BLAKE2b-256 998331c7cf8d41081c56e4f2ae1a7e5b755cb6c25adac02f5ac252d48de0e4ec

See more details on using hashes here.

File details

Details for the file ytdebunk-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ytdebunk-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for ytdebunk-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 66c2bcafc77f6acd33b396007f102aa6a81d466de8bb799cc56afd07feb3ac41
MD5 358f45763ccad02bf3e1181cf0e4c3d6
BLAKE2b-256 644cc8ec5b0d161632b0d7bbf232be97d2822f489116fde6edef1235aa97e1b4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page