{
  "openapi": "3.0.1",
  "info": {
    "title": "PowerPoint Generator: Markdown or JSON to PPTX & PDF Slides",
    "description": "Make editable PowerPoint decks from Markdown or JSON: native charts, styled tables, KPI tiles, images, two columns, quotes and speaker notes, in a built-in theme or your own .pptx/.potx template. Get the .pptx, its PDF and pictures of the slides.",
    "version": "0.1",
    "x-build-id": "6UGsk5R9F4nXGgJqs"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jumblemog~pptx-deck-builder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jumblemog-pptx-deck-builder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/jumblemog~pptx-deck-builder/runs": {
      "post": {
        "operationId": "runs-sync-jumblemog-pptx-deck-builder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/jumblemog~pptx-deck-builder/run-sync": {
      "post": {
        "operationId": "run-sync-jumblemog-pptx-deck-builder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "markdown": {
            "title": "Slides as Markdown",
            "type": "string",
            "description": "One slide per ## heading (or ---). A # heading makes the title slide (first) or a section slide. Bullets (indent for sub-points), **bold**, *italic*, `code` and links; pipe tables; ![caption](image link); > quotes with — author; ||| splits a slide into two columns. ```chart blocks (type: column, then CSV) make native charts and ```stats blocks (value | label lines) make KPI tiles. A line starting Notes: becomes the speaker notes."
          },
          "slides": {
            "title": "Or slides as JSON",
            "type": "array",
            "description": "A list of slides, each {\"title\", and one of \"bullets\" (nested lists for sub-points), \"text\", \"table\" (rows of objects, or {\"header\", \"rows\"}), \"chart\" ({\"type\": column, bar, line, pie, doughnut, area, scatter, stackedColumn, stackedBar, percentColumn..., \"categories\", \"series\": [{\"name\", \"values\"}]}), \"image\" (a link) or \"stats\" ([{\"value\", \"label\"}]), plus \"notes\"}. {\"left\", \"right\"} makes two columns; {\"quote\", \"author\"} a quote slide; {\"layout\": \"section\"} a divider."
          },
          "title": {
            "title": "Deck title",
            "type": "string",
            "description": "Adds a title slide with this title when the slides don't start with one, and names the files."
          },
          "subtitle": {
            "title": "Subtitle",
            "type": "string",
            "description": "The title slide's subtitle."
          },
          "author": {
            "title": "Presenter",
            "type": "string",
            "description": "Shown on the title slide and saved as the file's author."
          },
          "date": {
            "title": "Date",
            "type": "string",
            "description": "Shown on the title slide, as typed."
          },
          "theme": {
            "title": "Theme",
            "enum": [
              "clean",
              "midnight",
              "sand",
              "slate"
            ],
            "type": "string",
            "description": "The built-in look, used when no template is given.",
            "default": "clean"
          },
          "template": {
            "title": "Your template (.pptx or .potx)",
            "type": "string",
            "description": "A link to your company's PowerPoint template or any deck in its style: the slides use its masters, layouts, fonts and colors (its own slides are left out). Google Drive, Dropbox and OneDrive share links work; base64 too."
          },
          "uploads": {
            "title": "Or upload the template",
            "type": "array",
            "description": "Upload one .pptx or .potx from your computer, or pick one already in an Apify key-value store."
          },
          "colors": {
            "title": "Brand colors",
            "type": "array",
            "description": "Up to 6 hex colors (\"#0B5FFF\") for accents, charts and tables, in order; they replace the theme's or template's accent colors.",
            "items": {
              "type": "string"
            }
          },
          "aspect": {
            "title": "Slide size",
            "enum": [
              "16:9",
              "4:3"
            ],
            "type": "string",
            "description": "For the built-in themes; a template keeps its own size.",
            "default": "16:9"
          },
          "slideNumbers": {
            "title": "Slide numbers",
            "type": "boolean",
            "description": "Number every slide but the title slide.",
            "default": true
          },
          "footer": {
            "title": "Footer",
            "type": "string",
            "description": "Text at the bottom of every slide but the title slide, such as \"Confidential\"."
          },
          "outputs": {
            "title": "Files",
            "type": "array",
            "description": "The files to save. An overview picture of the first slides is always made.",
            "items": {
              "type": "string",
              "enum": [
                "pptx",
                "pdf"
              ],
              "enumTitles": [
                "PowerPoint (.pptx)",
                "PDF"
              ]
            },
            "default": [
              "pptx",
              "pdf"
            ]
          },
          "slideImages": {
            "title": "Pictures of each slide",
            "type": "boolean",
            "description": "Also save a PNG of each slide (the first 30), for previews or to check the layout.",
            "default": false
          },
          "fileName": {
            "title": "File name",
            "type": "string",
            "description": "Without the extension. By default the deck's title."
          },
          "requests": {
            "title": "More decks",
            "type": "array",
            "description": "More decks in one run: each entry is Markdown text, a list of slides, or an object with \"markdown\" or \"slides\" and any of the fields above. The look and output fields above apply to each unless it sets its own. Up to 20."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}