AI PPT Slide Generator

FastAPI service that generates downloadable .pptx decks from a topic (Gemini) or a custom outline.

Build downloadable PowerPoint files from a topic, or from your own slide outline

This project is a backend service that produces .pptx decks. You can ask it to draft slides from a topic and count using Google Gemini, or supply custom slide content and layouts instead. You can then set fonts and colors and download the finished file, useful for automation, internal tools, or prototyping before a human polishes the narrative.

When it is useful

You need repeatable deck generation behind an API, you want to experiment with AI-written slide text under your own review, or you are pairing structured JSON content with a fixed visual theme. You will need a Gemini API key and the database setup described in the repository (Docker is the documented happy path).

What you can do

  • Create a presentation with a topic and number of slides, or override with explicit slide structures the API accepts.
  • Tune appearance (for example font and foreground/background colors) through the configuration endpoint described in the README.
  • Fetch presentation metadata and download the PPTX when generation is ready.
  • Run via Docker Compose or follow the local backend instructions in the GitHub project if you prefer a non-container workflow.

Limits

  • AI output quality varies by prompt, model behavior, and topic; slides should be fact-checked before external or regulated use.
  • This is an API-centric tool: there is no promise of a polished slide designer UI unless you build one on top.
  • Keys, data residency, and brand standards are your obligations; the README documents wiring, not legal or procurement approval.

Frequently asked questions

How does AI PPT Slide Generator create decks?

It is a FastAPI backend that produces .pptx files with python-pptx. POST /api/v1/presentations/ with a topic and num_slides (Google Gemini) or optional custom_content layouts such as title and bullet.

What do I need to run it?

Python 3.12+, a Gemini API key, and PostgreSQL. Docker Compose is the happy path (API at localhost:8085). Set DATABASE_URL and GEMINI_API_KEY in backend/.env.

Can I change fonts and colors?

Yes. POST /api/v1/presentations/{id}/configure with font_name, font_color, and background_color. GET the presentation for metadata, then GET .../download for the .pptx.

Is there a full slide designer UI?

No. This is an API-centric tool. Fact-check AI slide text before external or regulated use.

Continue exploring