Learn how to use the Google Slides API to create presentations automatically—and how FlashDocs makes it even easier with support for Markdown, templates, and PowerPoint.
if you've ever had to make the same slide deck over and over again—with just a few changes each time—you've probably asked yourself: "Why am I doing this manually? There has to be a better way." And you're right. There is. Enter: the Google Slides API.
Lately, searches for "google slides api create presentation" have been popping off. And for good reason. People (and teams) are realizing that you can actually automate the boring parts of slide-making. If you're a developer, a product manager, or even a curious ops person, this post is for you.
Let’s break down what the Google Slides API is, how it works, and how you can use it to create presentations programmatically—with some real-world use cases, and maybe a sprinkle of magic (read: automation).
In plain English: it's a tool that lets you control Google Slides with code.
You can use it to create new slide decks, insert text or images, duplicate slides, update charts, and more. Think of it like giving your boring old slide creation process a robot assistant. One that never complains and works lightning-fast.
The API is REST-based, which means you can call it from any language that supports HTTP requests—Python, Node.js, Go, you name it. You just authenticate with Google's systems (usually with OAuth2), then start sending requests.
Because that’s the first thing you want to do: create a new presentation.
Creating a presentation with the API isn’t just about spinning up a blank deck. You can:
Basically, if you’ve got repeatable slides (weekly business reviews, client updates, sales pitches), this is a game-changer.
Let’s say you want to create a new presentation titled "Q2 Sales Recap."
Here’s what the basic request might look like in Python (using google-api-python-client
):
from googleapiclient.discovery import build
from google.oauth2 import service_account
SCOPES = ['https://www.googleapis.com/auth/presentations']
SERVICE_ACCOUNT_FILE = 'credentials.json'
creds = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
slides_service = build('slides', 'v1', credentials=creds)
presentation = slides_service.presentations().create(body={
'title': 'Q2 Sales Recap'
}).execute()
print('Created presentation with ID: {0}'.format(presentation.get('presentationId')))
Boom—you’ve got yourself a fresh deck.
Okay, shameless plug time. At FlashDocs, we take things a step further. We’re building an API that lets you automate entire slide decks without worrying about the quirks of the Google Slides API.
Want to feed structured data (like JSON or Markdown) into a pre-designed template? FlashDocs does that. Need to manage and reuse custom templates across teams? We've got you. Want your decks to work seamlessly in both Google Slides and PowerPoint? Yep, FlashDocs handles that too. You can generate dozens—or hundreds—of custom decks in one go.
We take care of the design logic, the merging, the layouting—so you can focus on what you want to say, not how to design it.
If you’re Googling "google slides api create presentation," chances are you’re already feeling the pain of repetitive slide work. We felt that pain too, which is exactly why we built FlashDocs.
If it’s templated, it can be automated.
So go ahead. Automate a presentation. Then take a coffee break. You’ve earned it.