[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
![GitHub issues](https://img.shields.io/github/issues/Jurik-001/EssenceExtractor)
[![Coverage](https://codecov.io/gh/Jurik-001/EssenceExtractor/branch/master/graph/badge.svg)](https://codecov.io/gh/Jurik-001/EssenceExtractor)
[![Python CI](https://github.com/Jurik-001/EssenceExtractor/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/Jurik-001/EssenceExtractor/actions/workflows/ci.yml)
[![Documentation](https://img.shields.io/badge/-Documentation-gray?logo=readthedocs&style=flat&logoWidth=20)](https://essenceextractor.readthedocs.io/en/latest/)

# Essence Extractor 📜✨

Essence Extractor is a dynamic tool designed to transform YouTube videos into engaging and concise blog posts. This utility automates the process of downloading videos, extracting audio, transcribing speech, and generating a summary to create a ready-to-publish blog post.

## Limitations ⚠️
- Due to the nature of llm, results may vary.

## Requirements 🛠️
Before you get started, make sure you have the following installed on your machine:
- [FFmpeg](https://ffmpeg.org/download.html): A complete, cross-platform solution to record, convert, and stream audio and video.

## Installation 🖥️

```bash
pip install essence-extractor
```

## Usage 🚀

To unleash the power of Essence Extractor, you'll need an API key from OpenAI. Sign up on OpenAI's platform to get yours.

Once you have your API key, run:
```bash
essence-extractor "output_directory" "YOUR_API_KEY"
```
- **output_directory**: Where the magic happens - all your output files will land here.
- **YOUR_API_KEY**: Your secret key to OpenAI's capabilities.

Next, you'll be prompted to enter the YouTube video URL:
```bash
Please enter the YouTube video URL: "https://www.youtube.com/watch?v=yourvideoid"
```

## What’s in the Box? 🎁

Running Essence Extractor will populate your output directory with:
- **Video File**: The original YouTube video, downloaded for reference.
- **Audio File**: The extracted audio from the video.
- **Transcription File**: A text file with everything that was said in the video.
- **Images Directory**: A directory containing all the images used in the blog post.
- **Blog Post File**: Your brand new blog post, ready for the world to see.

## Documentation 📖
To learn more about Essence Extractor, check out our [documentation](https://essenceextractor.readthedocs.io/en/latest/).

## Join the Essence Extractor Community 🤝

Got ideas or found a bug? We’d love to have you in our contributor community! 🚀 Check out our [contributing guidelines](https://github.com/Jurik-001/EssenceExtractor/blob/master/.github/CONTRIBUTING.md) to get started.

## Roadmap 🗺️

Wondering what's coming next for Essence Extractor? Check out our [project roadmap](https://github.com/users/Jurik-001/projects/1) to stay up to date with the latest features and improvements. We're constantly working to make Essence Extractor better, and we value your input! Feel free to share your suggestions and feedback to help shape the future of this project.