This project is a Flask-based web service that processes Google Slides presentations. It downloads slides as images, extracts speaker notes, resizes images to different aspect ratios, and packages everything into a ZIP file.
- Downloads slides as images
- Extracts speaker notes
- Resizes images to 4:3 and 16:9 aspect ratios
- Packages results into a ZIP file
- Docker
- Python 3.10
- Google Slides and Drive API
-
Clone the repository:
-
Set up Python environment:
python -m venv env source env/bin/activate # On Windows, use `env\Scripts\activate` pip install -r requirements.txt
-
Set up Google API credentials:
- Follow Google's instructions to enable the Slides and Drive APIs.
- Download your
credentials.jsonfile and place it in theappdirectory.
-
Run the application:
python run.py
-
Clone the repository:
git clone https://github.com/yourusername/PresentationGenerator.git cd PresentationGenerator -
Set up Google API credentials:
- Follow Google's instructions to enable the Slides and Drive APIs.
- Download your
credentials.jsonfile and place it in theappdirectory.
-
Build the Docker image:
docker build -t flask-slides-app . -
Run the Docker container:
docker run -d -p 5000:5000 -e FLASK_ENV=development --name flask-slides-app flask-slides-app
POST /process
presentation_id: The ID of the Google Slides presentation.
Example:
curl -X POST http://localhost:5000/process -H "Content-Type: application/json" -d "{\"presentation_id\": \"your_presentation_id_here\"}" --output slides_data.zip