Using multiple templates

You may have a scenario where you want to build a PowerPoint using slides from multiple template PowerPoints.

To do this, you have to:

  1. Attach Files and/or Provide Template URLs:

    • File Attachment: Attach your template PowerPoint files as File attachments in the POST request, using the parameter name files.

    • Template URLs: You can also use URLs for templates stored online, such as in Google Drive or OneDrive, which provide direct download access.

  2. Define Templates in Your JSON Payload: Add a template_list parameter in your JSON payload, as shown below. The template_list should contain an entry for each template file, with a unique template_id and the name of each template file. Each template name must exactly match the filename of the corresponding "files" parameter sent in the form.

{
   "presentation":{
      "template_list":[
         {
            "template_id":1,
            "template":"template-1.pptx"
         },
         {
            "template_id":2,
            "template":"template-2.pptx"
         },
         {
            "template_id":3,
            "template":"template-3.pptx"
         }
      ]
      ....
      
  1. Assign Template IDs to Slides: In the JSON payload, specify a template_id for each slide to indicate which template file to use. Each slide object should include a slide_index and the template_id for the template it should follow.

"slides":[
   {
      "template_id":1,
      "slide_index":0,
   ....   

Important Note

You cannot use both a single template file and multiple templates together. The following example demonstrates incorrect syntax:

//This syntax is not allowed.
{
   "presentation":{
      "template":"template.pptx",
      "template_list":[
         {
            "template_id":1,
            "template":"template-1.pptx"
         },
         {
            "template_id":2,
            "template":"template-2.pptx"
         },
         {
            "template_id":3,
            "template":"template-3.pptx"
         }
      ],
      ....

Reference:

Download: input.zip | output.pptx


{
  "presentation": {
    "template_list": [
      {
        "template_id": 1,
        "template": "template-1.pptx"
      },
      {
        "template_id": 2,
        "template": "template-2.pptx"
      }
    ],
    "slides": [
      {
        "slide_index": 0,
        "template_id": 1,
        "shapes": [
          {
            "name": "Chart 1",
            "data": [
              [
                "Day 1",
                "Day 2",
                "Day 3",
                "Day 4",
                "Day 5",
                "Day 6",
                "Day 7",
                "Day 8",
                "Day 9"
              ],
              [
                "NPS - 3 month rolling"
              ],
              [
                49,
                20,
                5,
                39,
                57,
                50,
                40,
                85,
                28
              ]
            ]
          }
        ]
      },
      {
        "slide_index": 0,
        "template_id": 2,
        "shapes": [
          {
            "name": "Chart 1",
            "data": [
              [
                "Day 1",
                "Day 2",
                "Day 3",
                "Day 4",
                "Day 5",
                "Day 6"
              ],
              [
                "MAJAMAJA"
              ],
              [
                15,
                38,
                22,
                42,
                30,
                5
              ]
            ]
          }
        ]
      }
    ]
  }
}

Last updated

Was this helpful?