> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> FlashDocs provides a robust, easy-to-use API for generating Microsoft PowerPoints and Google Slides.

<img alt="Hero Dark" classname="hidden dark:block" src="https://mintlify.s3.us-west-1.amazonaws.com/flashdocs-2/images/hero-light.png" />

Why you should use FlashDocs: **\[1]** use your existing, completely custom branding/slide themes, **\[2]** generate all the content you need (text, images, tables, and charts), and **\[3]** provide content generation instructions with various levels of control (prompt / per slide instructions / markdown / placeholder to value mapping).

<Tip>
  Click [here](https://www.flashdocs.com/api/signup) to get an API key.
</Tip>

# Key Features

<Steps>
  <Step title="Seamless & Instant Custom Branding" icon="pen-swirl" titleSize="h2">
    *Single API call* to upload your slide template & formats. We automatically process all of your slide layouts so every slide generated through FlashDocs is on-brand. You can upload *any* slide deck template with any types of styles and all generated slides will follow the layouts.

    * *No hand-labelling required* - single document upload API call. Our system automatically infers various placeholders and their generation instructions: text, image, logo, table, chart, etc.
  </Step>

  <Step title="Complete Content Control" icon="text" titleSize="h2">
    FlashDocs provides a variety of ways you can define control the content generated - from unstructured prompts, to arbitrary markdown, and manually defined placeholder insertions.

    * *Prompt* - provide an unstructured, string prompt with instructions on how to create your deck.
    * *Per Slide Content Instruction* - In the outline parameter, you can provide unstructured string instructions for each slide in the deck. Ex: "*Discuss the importance of document generation for our product, highlighting these 3 areas: A, B, C.*"
    * *Per Slide Layout Instruction* - In the outline parameter, you can provide unstructured string instructions for the slide layout. Ex: "*3 step timeline from left to right with central step being largest.*"
    * *Markdown* - Provide full Markdown (including tables, images, nested lists, rich formatting, etc.) and FlashDocs will generate a slide in your custom layouts
    * *Tag Replacement* - All objects in a slide (text, image, table, chart, etc.) can be replaced by providing a mapping from the object id (which you can see from a GET request) to the value you wish to insert.
  </Step>
</Steps>

<Card title="Generate Slides Endpoint" icon="rocket" href="https://docs.flashdocs.com/api-reference/generate/generate-deck?playground=open">
  View the API Reference to start generating slides!
</Card>

# High Level Idea of How FlashDocs Works

**FlashDocs** transforms an ordinary presentation (like Google Slides or PowerPoint) into a **programmatic FlashDocs document** complete with placeholders (for text, images, charts, etc.) that can be dynamically filled. In other words, we preserve **brand styles, layouts, and design**, but replace the core content with placeholder elements. When it's time to create a new deck, FlashDocs automatically populates these placeholders with fresh, prompt-driven content—enabling programmatic deck creation.

## Documents: Templates vs. Libraries

<CardGroup cols="2">
  <Card title="Library" icon="book">
    A library is a **(large) collection of slide layouts**—think of it like your personal buffet of slides. When generating a deck from a library (via [<u>Generate Deck Request</u>](https://docs.flashdocs.com/api-reference/generate/generate-slides-via-task)), FlashDocs's recommendation system (using **embeddings and vision models**) identifies the **most relevant** slide(s) for your deck and then populates the placeholders with custom generated text and images based on your prompt.
  </Card>

  <Card title="Template" icon="box">
    A template is a set of slides with **some** content hard-coded (i.e., not in placeholders) so it **always remains the same**. This is handy for scenarios like sales decks: the core slides remain unchanged, but placeholders for a client's name, logo, or specific use cases get filled in automatically. The result is a consistently branded, partially dynamic deck.
  </Card>
</CardGroup>

### Creating a Custom Deck

FlashDocs scours your library, picks the slides that best fit your needs, and auto-generates text for those slides. You end up with a handpicked deck that feels tailor-made to your audience—without you lifting a finger for design.

### Creating a Deck from a Template

Every slide in the template is used (no picking and choosing), and FlashDocs automatically populates any placeholders according to your prompt. All non-placeholder content (like disclaimers, branding, or repeated text) remains exactly as it was in the original.

# Getting Started

Learn how to launch deck creations and configure your custom templates & libraries.

<CardGroup cols="2">
  <Card title="Launch Deck Creation" icon="pen-to-square" href="https://docs.flashdocs.com/quickstart">
    Create a beautiful deck customized to your prompt in a single API call.
  </Card>

  <Card title="Configure Custom Styles & Layouts" icon="gear" href="https://docs.flashdocs.com/configure">
    Preview your changes before you push to make sure they're perfect
  </Card>
</CardGroup>
