Presentation and Slides GPT: PowerPoints, PDFs

Presentation and Slides GPT: PowerPoints, PDFs · Actions GPT

SlidesGPT API

API for generating presentation slides with deep content and images. Can search for images by captions, returning a collection of images along with metadata for slides.

  • POST /chat/generateGenerate presentation slides

    Generates a single slide for a presentation with specified content at a Ph.D. depth level.

  • GET /chat/searchSearch images by caption

    Retrieves images related to the given caption, allowing filtering of results.

Schéma original API
{
  "openapi": "3.1.0",
  "info": {
    "title": "SlidesGPT API",
    "version": "2",
    "description": "API for generating presentation slides with deep content and images. Can search for images by captions, returning a collection of images along with metadata for slides.",
    "contact": {
      "name": "SlidesGPT",
      "url": "http://twitter.com/@slidesgpt"
    }
  },
  "servers": [
    {
      "url": "https://slidesgpt.com",
      "description": "Production server for SlidesGPT API."
    }
  ],
  "paths": {
    "/chat/generate": {
      "post": {
        "summary": "Generate presentation slides",
        "description": "Generates a single slide for a presentation with specified content at a Ph.D. depth level.",
        "operationId": "generateSlide",
        "x-openai-isConsequential": false,
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string",
                    "description": "Specifies the API version being used.",
                    "default": "2"
                  },
                  "slidecode": {
                    "type": "object",
                    "$ref": "#/components/schemas/Slide"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the URL of the generated slide image for embedding and the URL to view the presentation.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "image_url": {
                          "type": "string",
                          "description": "URL of the generated slide image."
                        },
                        "presentation_view_url": {
                          "type": "string",
                          "description": "URL to view the presentation."
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/chat/search": {
      "get": {
        "operationId": "searchImages",
        "summary": "Search images by caption",
        "description": "Retrieves images related to the given caption, allowing filtering of results.",
        "parameters": [
          {
            "name": "caption",
            "in": "query",
            "description": "Concise description of an illustration or stock photo that is suitable to be shown for the slide content. Your description will be used to search for an image in an image database.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved image results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "doc_time": {
                      "type": "number",
                      "format": "double",
                      "description": "Time taken to document the search."
                    },
                    "documents": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ImageDocument"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Slide": {
        "type": "object",
        "required": [
          "title",
          "subtitle",
          "slidenum",
          "imgage_id",
          "body",
          "talktrack",
          "sources"
        ],
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the slide."
          },
          "subtitle": {
            "type": "string",
            "description": "Subtitle of the slide."
          },
          "slidenum": {
            "type": "integer",
            "description": "Slide number in the presentation."
          },
          "image_id": {
            "type": "string",
            "description": "Unique identifier for the slide image as returned from search endpoint. Leave as empty string if no relevant image is found. Do not add a caption here."
          },
          "body": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BulletPoint"
            }
          },
          "talktrack": {
            "type": "string",
            "description": "The detailed talktrack of the slide. Avoid repeating the content but rather add value added narrative for the presenter as a talk track. Don't start with 'this slide', but rather start with a meaningful statement e.g. 'We need to consider ...' or continuation of story line 'Next, in addition to ..."
          },
          "sources": {
            "type": "array",
            "description": "Array of sources. Can be an empty array if no sources are used within the context of the slide.",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Title of the source, e.g. 'The State of AI in 2023: Generative AIs Breakout Year, McKinsey & Company, August 2023.'. "
                },
                "link": {
                  "type": "string",
                  "description": "URL link to the source if provided, e.g.: 'https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai'. Leave empty if the source does not have a link such as a pdf being uploaded."
                }
              }
            }
          },
          "force_edit": {
            "type": "boolean",
            "description": "If true, the slide will be overwritten if it already exists."
          }
        }
      },
      "BulletPoint": {
        "type": "object",
        "required": [
          "point",
          "description",
          "icon"
        ],
        "properties": {
          "point": {
            "type": "string",
            "description": "The main point to be made in this section of the slide, e.g. 'Increased efficiency'"
          },
          "description": {
            "type": "string",
            "description": "Interpreting and expanding on the concepts of the main point, e.g. 'Transactions are processed quickly and without the need for a middleman'. Highly condensed, short and concise expansion of the point. Avoid wordy descriptions."
          },
          "icon": {
            "type": "string",
            "description": "Class name of Font Awesome Free 5.15 icon representing the subsection. Example: fa-cogs. Strictly needs to be a Font Awesome Free 5.15 icon class name that does indeed exist in the library. Do not hallucinate an icon class name. If in doubt choose an icon that you are sure does exist and matches the point closely. No emoji codes."
          }
        }
      },
      "ImageDocument": {
        "type": "object",
        "properties": {
          "author_handle": {
            "type": "string",
            "description": "Social media handle of the image author."
          },
          "author_name": {
            "type": "string",
            "description": "Name of the image author."
          },
          "caption": {
            "type": "string",
            "description": "Caption associated with the image."
          },
          "image_id": {
            "type": "string",
            "description": "Unique identifier for the image."
          },
          "url": {
            "type": "string",
            "description": "URL of the image for embedding."
          },
          "orientation": {
            "type": "string",
            "enum": [
              "portrait",
              "landscape"
            ],
            "description": "Orientation of the image."
          },
          "retrieval": {
            "type": "string",
            "description": "Method used for retrieving the image."
          }
        }
      }
    }
  }
}