> ## 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.

# Generate Outline Preview

> Generate a deck outline with multiple layout options per slide, each including a preview image, slide ID, and content description for easy selection and customization.



## OpenAPI

````yaml https://api.flashdocs.ai/openapi.json post /v3/generate/outline
openapi: 3.1.0
info:
  title: FlashDocs API
  description: API for FlashDocs application
  version: 1.0.0
servers:
  - url: https://api.flashdocs.ai
    description: Production server
security: []
paths:
  /v3/generate/outline:
    post:
      tags:
        - Generate
      summary: Generate Outline Preview
      description: >-
        Generate a deck outline with multiple layout options per slide, each
        including a preview image, slide ID, and content description for easy
        selection and customization.
      operationId: generate_outline_previews_v3_generate_outline_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlideOptionsRequest'
        required: true
      responses:
        '200':
          description: Successfully generated outline preview.
          content:
            application/json:
              schema:
                items:
                  items:
                    $ref: '#/components/schemas/OutlineItemOption'
                  type: array
                type: array
                title: Response Generate Outline Previews V3 Generate Outline Post
              example:
                - - slide_id: abc123
                    preview_link: https://example.com/1.png
                    content_description: Title slide with image background
                  - slide_id: def456
                    preview_link: https://example.com/2.png
                    content_description: Title slide, aligned to the left
                - - slide_id: ghi789
                    preview_link: https://example.com/3.png
                    content_description: Agenda with 3 items
                  - slide_id: jkl012
                    preview_link: https://example.com/4.png
                    content_description: Mission statement
        '400':
          description: Invalid request parameters.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - OAuth2PasswordBearer: []
components:
  schemas:
    SlideOptionsRequest:
      properties:
        prompt:
          anyOf:
            - type: string
            - type: 'null'
          title: Prompt
          description: >-
            The main (ideally information dense) instructions for how to create
            the slide(s). Can be ~400,000 characters.
          example: >-
            In a few slides, describe the recent Innovations in Renewable
            Energy. Discuss the foundational problems and key papers. Include
            specific examples.
        source_document_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Document Id
          description: >-
            Optional. The FlashDocs document ID of an existing source document
            to base the presentation content on. See the results from
            `https://api.flashdocs.ai/v1/documents/base` - the `id` key in the
            document object. If not provided, then *any* Library document in the
            organization is chosen.
          example: abc-def-ghi-jkl
        number_slides:
          anyOf:
            - type: integer
            - type: 'null'
          title: Number Slides
          description: >-
            Optional. The desired number of slides in the generated
            presentation. If not provided, the system will automatically predict
            the number of slides from the prompt. Do not include if
            `source_document_id` is a *template* document.
          example: 5
        audience_domain:
          anyOf:
            - type: string
            - type: 'null'
          title: Audience Domain
          description: >-
            Optional. Used to populate image placeholders with the
            `audience-company-logo` category. I.e. if this is a slide deck for
            an *external* audience, the `audience_domain` is the website of the
            company that the audience belongs to. If not provided, the system
            will predict. Must be valid domain name (ex: if you are making a
            deck to sell your product to the finance team at Intel, set this
            parameter to `intel.com` or `https://intel.com`)
          example: slack.com
        presentation_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Presentation Name
          description: >-
            Optional. The desired filename name for the generated presentation
            deck. If not provided, the system will generate one based on the
            prompt.
          example: Renewable Energy Innovations 2025
        outline:
          anyOf:
            - items:
                $ref: '#/components/schemas/OutlineItemFullContent'
              type: array
            - type: 'null'
          title: Outline
          description: >-
            Optional. An array of outline instructions defining the
            content/layout for each slide.
        number_option_per_slide:
          anyOf:
            - type: integer
            - type: 'null'
          title: Number Option Per Slide
          description: Optional. Number of options per slide. Defaults to 1.
          default: 5
      type: object
      title: SlideOptionsRequest
    OutlineItemOption:
      properties:
        slide_id:
          type: string
          title: Slide Id
          description: >-
            FlashDocs `id` of the slide. Can be found in the
            `https://api.flashdocs.ai/v1/documents/{document_id}/full` endpoint
            with `include_slides=true` in the `id` key for the slide object. Can
            only provide 1 of `layout_instruction` OR `slide_id`.
          example: slide_123
        preview_link:
          type: string
          title: Preview Link
          description: URL link to the preview of the slide.
          example: https://secure.flashdocs.com/xyz
        content_description:
          anyOf:
            - type: string
            - type: 'null'
          title: Content Description
          description: Optional. Description of the content of the slide.
          example: >-
            Renewable energy is the energy derived from natural processes that
            are replenished on a human timescale, such as sunlight, wind, rain,
            tides, waves, and geothermal heat, and biomass.
      type: object
      required:
        - slide_id
        - preview_link
      title: OutlineItemOption
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    OutlineItemFullContent:
      properties:
        content_instruction:
          anyOf:
            - type: string
            - type: 'null'
          title: Content Instruction
          description: Optional. Instruction for the content of the slide.
          example: Introduce the topic of renewable energy and its importance.
        layout_instruction:
          anyOf:
            - type: string
            - type: 'null'
          title: Layout Instruction
          description: >-
            Optional. Instruction for the layout/design of the slide. Can only
            provide 1 of `layout_instruction` OR `slide_id`.
          example: Title slide with a background image.
        markdown:
          anyOf:
            - type: string
            - type: 'null'
          title: Markdown
          description: >-
            Optional. Markdown content for the slide. Can only provide 1 of
            `markdown` OR [`layout_instruction`, `content_instruction`].
          example: |-
            # Parallel Inference on GPUs for LLMs
            ## **Data Parallelism**
            - Distributes batches of input data across GPUs.
            - **Benefits:** Increased throughput via simultaneous processing.
            ## **Model Parallelism**
            - Splits the model's layers or components among GPUs.
            ## **Pipeline Parallelism**
            - Overlaps different stages of inference, reducing idle time.
            - **Advantage:** Maximizes resource utilization.
                - Use various layers of DNN see [here](https://developer.nvidia.com/blog).
        text_placeholder_manual_insertions:
          anyOf:
            - items:
                $ref: '#/components/schemas/TextPlaceholderValueWithOptions'
              type: array
            - type: 'null'
          title: Text Placeholder Manual Insertions
          description: >-
            Optional. A list of manual insertions of placeholder text into the
            generated deck. Useful for users who want to control the exact
            values of text placeholders in the slide. The placeholder must exist
            in the slides as Text Placeholder; therefore, we recommend using
            this text_placeholder_manual_insertions parameter when you know the
            placeholder values: `template` deck types and custom decks where the
            slide id is specified in the `outline` parameter. We support
            markdown content (lists, heading, bold, italics, underline, links,
            etc.)!
          example:
            - placeholder: '[title]'
              value: Renewable Energy Innovations 2027
            - placeholder: '[content]'
              value: Introduce the topic of renewable energy and its importance.
        image_placeholder_manual_insertions:
          anyOf:
            - items:
                $ref: '#/components/schemas/ImagePlaceholderManualInsertion'
              type: array
            - type: 'null'
          title: Image Placeholder Manual Insertions
          description: >-
            Optional. A list of manual insertions of image placeholders into the
            generated deck.
          example:
            - alt_text: '[top right]'
              slide_index: 0
              url: https://example.com/image.jpg
            - alt_text: '[bottom left]'
              slide_index: 1
              url: https://example.com/image2.jpg
      type: object
      title: OutlineItemFullContent
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    TextPlaceholderValueWithOptions:
      properties:
        placeholder:
          type: string
          title: Placeholder
          description: The placeholder text in the slide
          example: '[title]'
        value:
          type: string
          title: Value
          description: Value for the placeholder
          example: Introduce the topic of renewable energy and its importance.
        resize:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Resize
          description: >-
            Optional. Whether to resize the placeholder to fit the content. If
            not specified, the placeholder will be resized by default.
          default: false
          example: true
      type: object
      required:
        - placeholder
        - value
      title: TextPlaceholderValueWithOptions
    ImagePlaceholderManualInsertion:
      properties:
        alt_text:
          type: string
          title: Alt Text
          description: The alt text for the image, which must exist in the template
          example: '[top right]'
        url:
          type: string
          minLength: 1
          format: uri
          title: Url
          description: URL for the image
          example: https://example.com/image.jpg
      type: object
      required:
        - alt_text
        - url
      title: ImagePlaceholderManualInsertion
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: token

````