---
title: Content Import API - Upload Your Own Slides
description: Import your own slide content to create custom carousels. Full control over headings, descriptions, and images with PostNitro's import API.
canonical: https://postnitro.ai/docs/embed/api/initiate/import
---

# Initiate Import

**POST** `https://embed-api.postnitro.ai/post/initiate/import`

Creates a carousel post by importing your own slide content.

## Headers
- `Content-Type: application/json`
- `embed-api-key: your-api-key-here` (required)

## Request Body

| Field | Type | Required | Description | Allowed Values |
|-------|------|----------|-------------|----------------|
| `postType` | string | Yes | Type of post to generate | `"CAROUSEL"` |
| `requestorId` | string | No | Custom identifier for tracking | Any string |
| `templateId` | string | Yes | ID of the template to use | Valid template ID |
| `brandId` | string | Yes | ID of the brand configuration | Valid brand ID |
| `responseType` | string | No | Output format (default: "PDF") | `"PDF"`, `"PNG"` |
| `slides` | array | Yes | Array of slide objects | See slide structure below |


### Slide Structure

Each slide must have the following structure:

| Field | Type | Required | Description | Allowed Values |
|-------|------|----------|-------------|----------------|
| `type` | string | Yes | Type of slide | `"starting_slide"`, `"body_slide"`, `"ending_slide"` |
| `heading` | string | Yes | Main heading text | Any string |
| `sub_heading` | string | No | Subtitle text | Any string |
| `description` | string | No | Description text | Any string |
| `image` | string | No | Image URL | Valid URL |
| `background_image` | string | No | Background image URL | Valid URL |
| `cta_button` | string | No | Call-to-action button text | Any string |
| `layoutType` | string | No | Slide layout type | `"default"`, `"infographic"` |
| `layoutConfig` | object | No (required when `layoutType` is `"infographic"`) | Infographics configuration | [Layout Configuration](#layout-configuration-infographics) |

##### Layout Configuration (Infographics)

| Field | Type | Required | Description | Allowed Values |
|-------|------|----------|-------------|----------------|
| `columnCount` | number | Yes | Number of columns to display | 1, 2, and 3 |
| `columnDisplay` | string | Yes | To show cyclical or grid layout for infographic | `"cycle"`, `"grid"` |
| `displayCounterAs` | string | Yes | Display counter? | `"none"`, `"counter"` |
| `hasHeader` | boolean | Yes | Display header for each column | `true`, `false` |
| `columnData` | array | No | Array of column data | [Column Data](#infographics-column-data) |

##### Infographics Column Data

| Field | Type | Required | Description | Allowed Values |
|-------|------|----------|-------------|----------------|
| `header` | string | Yes | Column header text | Any string |
| `content` | array | Yes | Array of column items | Objects of shape `{"title": "<content_title>", "description": "<content_description>"}` |

### Important Information!

- **Exactly 1** `starting_slide` (required) — must be the **first** slide
- **At least 1** `body_slide` (required) — placed between the starting and ending slides
- **Exactly 1** `ending_slide` (required) — must be the **last** slide
- **Column Count** should not exceed 3
- **Layout Type** set as `infographic` will replace the `image` field (any provided image is ignored on that slide)
- **Column Display** can either be set as `cycle` or `grid`
- **Cyclical Infographic** (`columnDisplay: "cycle"`) accepts data in the **first** `columnData` entry only, so no need to add information in columns two or three

## Example Requests

### Default

```bash
curl --location 'https://embed-api.postnitro.ai/post/initiate/import' \
--header 'Content-Type: application/json' \
--header 'embed-api-key: pn-plnnepb6v9omx2ik88v793ak' \
--data '{
    "postType": "CAROUSEL",
    "templateId": "xtrnxgfgk9a08tmsz2601k1c",
    "brandId": "cmdhb8oe10006v0pmh6a4no6t",
    "responseType": "PNG",
    "slides": [
        {
            "type": "starting_slide",
            "sub_heading": "My Awesome Subtitle",
            "heading": "Welcome to the Carousel!",
            "description": "This is how you start with a bang.",
            "cta_button": "Swipe to learn more",
            "background_image": "https://example.com/background1.jpg"
        },
        {
            "type": "body_slide",
            "heading": "Section 1: The Core Idea",
            "description": "Explain your first key point here. This point might have multiple lines too.",
            "image": "https://example.com/image1.jpg"
        },
        {
            "type": "body_slide",
            "heading": "Section 2: Deeper Dive",
            "description": "More details for the second point.",
            "image": "https://example.com/image2.png"
        },
        {
            "type": "ending_slide",
            "sub_heading": "Ready to Act?",
            "heading": "Get Started Today!",
            "description": "A final encouraging message.",
            "cta_button": "Visit Our Website",
            "image": "https://example.com/logo.png",
            "background_image": "https://example.com/background2.jpg"
        }
    ]
}'
```

### With Infographics

```bash
curl --location 'https://embed-api.postnitro.ai/post/initiate/import' \
--header 'Content-Type: application/json' \
--header 'embed-api-key: pn-plnnepb6v9omx2ik88v793ak' \
--data '{
    "postType": "CAROUSEL",
    "templateId": "xtrnxgfgk9a08tmsz2601k1c",
    "brandId": "cmdhb8oe10006v0pmh6a4no6t",
    "responseType": "PNG",
    "slides": [
        {
            "type":"starting_slide",
            "sub_heading":"Import API Feature",
            "heading":"PostNitro Infographics",
            "description":"Create stunning visual carousels with structured data using PostNitro's powerful infographics feature.",
            "cta_button":"Learn More",
            "background_image":"https://example.com/postnitro-bg.jpg"
        },
        {
            "type":"body_slide",
            "heading":"Grid Layout Infographics",
            "description":"Display multiple data points in an organized grid format with PostNitro's flexible column system.",
            "layoutType":"infographic",
            "layoutConfig":{
                "columnCount":2,
                "columnDisplay":"grid",
                "displayCounterAs":"counter",
                "hasHeader":true,
                "columnData":[
                {
                    "header":"Layout Options",
                    "content":[
                        {
                            "title":"Grid Display",
                            "description":"Organize content in structured columns for easy comparison and readability."
                        },
                        {
                            "title":"Counter Support",
                            "description":"Add numbered counters to help users follow the sequence of information."
                        }
                    ]
                },
                {
                    "header":"Customization",
                    "content":[
                        {
                            "title":"Column Headers",
                            "description":"Enable or disable headers for each column to match your content structure."
                        },
                        {
                            "title":"Flexible Columns",
                            "description":"Choose between 1, 2, or 3 columns to fit your data presentation needs."
                        }
                    ]
                }
                ]
            }
        },
        {
            "type":"body_slide",
            "heading":"Standard Content Slides",
            "description":"Mix infographics with traditional image-based slides for comprehensive storytelling with PostNitro.",
            "image":"https://skfhtbmyanoeqbvrtxqa.supabase.co/storage/v1/object/public/media/static/postnitro-on-the-moon.png"
        },
        {
            "type":"body_slide",
            "heading":"Cyclical Infographics",
            "description":"Perfect for step-by-step processes or sequential information using PostNitro's cycle display.",
            "layoutType":"infographic",
            "layoutConfig":{
                "columnCount":1,
                "columnDisplay":"cycle",
                "displayCounterAs":"counter",
                "hasHeader":true,
                "columnData":[
                {
                    "header":"Implementation Steps",
                    "content":[
                        {
                            "title":"Set Layout Type",
                            "description":"Configure layoutType as 'infographic' to enable structured data display."
                        },
                        {
                            "title":"Choose Display Mode",
                            "description":"Select 'cycle' for sequential presentation or 'grid' for comparative layout."
                        },
                        {
                            "title":"Add Column Data",
                            "description":"Structure your content with titles and descriptions for each data point."
                        },
                        {
                            "title":"Configure Options",
                            "description":"Set column count, headers, and counters to match your presentation needs."
                        }
                    ]
                }
                ]
            }
        },
        {
            "type":"ending_slide",
            "sub_heading":"Start Creating Today",
            "heading":"Try PostNitro Infographics",
            "description":"Transform your data into engaging visual carousels with PostNitro's Import API.",
            "cta_button":"Get Your API Key"
        }
    ]
}'
```

### Carousel Output (Infographics)

![Example Carousel Output](https://postnitro.ai/docs/images/embed-api/example-carousel.webp)

## Response

```json
{
    "success": true,
    "message": "CAROUSEL generation initiated",
    "data": {
        "embedPostId": "post123",
        "status": "PENDING"
    }
}
```

> **Generation is asynchronous.** This endpoint returns immediately with an `embedPostId` while the carousel is rendered in the background. Poll [Check Post Status](https://postnitro.ai/docs/embed/api/request-status) with the `embedPostId` until the status is `COMPLETED`, then call [Get Post Output](https://postnitro.ai/docs/embed/api/post-output) to retrieve the final files.
