A web application that allows users to upload PowerPoint presentations and audio files to create narrated presentations.
- Upload PowerPoint (.pptx) files
- Upload audio files (.mp3, .m4a, .wav)
- Automatically embed audio files into slides based on filename (e.g., "1.mp3" goes to slide 1)
- Download the narrated PowerPoint file
This application is configured for deployment on Vercel's serverless platform.
- Vercel account
- Python 3.11
-
Install Vercel CLI:
npm i -g vercel
-
Deploy to Vercel:
vercel
-
Follow the prompts to link your project and deploy.
If you encounter a "FUNCTION_INVOCATION_FAILED" error:
- Check the Vercel function logs in the dashboard
- Ensure all dependencies are listed in
requirements.txt - Verify the file size limits (max 50MB)
- Check that the
staticandtemplatesfolders are in theapidirectory
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python api/app.py
-
Open http://localhost:5000 in your browser
├── api/
│ ├── app.py # Main Flask application
│ ├── templates/ # HTML templates
│ └── static/ # Static files (CSS, images)
├── requirements.txt # Python dependencies
├── vercel.json # Vercel configuration
└── README.md # This file
- Upload your PowerPoint presentation
- Upload audio files named according to slide numbers (e.g., "1.mp3", "2.wav")
- Click "Submit" to process the files
- Download your narrated PowerPoint
- Audio files should be named with the slide number (e.g., "1.mp3" for slide 1)
- Only .pptx, .mp3, .m4a, and .wav files are supported
- Maximum file size is 50MB
- Files are processed in memory for serverless compatibility