Carousels & Infographics

Create infographic

Creates a single 1080x1350 infographic canvas (stored as a one-slide carousel row with format='infographic') that publishes as a LinkedIn IMAGE post, not a document.

POST/api/public/infographics
cURLPOST /api/public/infographics
curl -X POST https://postiv.ai/api/public/infographics \
  -H "Authorization: Bearer pk_postiv_..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Launch lessons",
    "integrationId": 123
  }'
200Response
{
  "success": true,
  "carousel": {
    "id": "car2...",
    "title": "State of LinkedIn 2026",
    "status": "draft",
    "integrationId": 1234,
    "planItemId": null,
    "createdAt": "..."
  },
  "format": "infographic",
  "versionId": "cv1...",
  "versionNumber": 1,
  "slideCount": 1,
  "slides": [
    {
      "index": 0,
      "title": "State of LinkedIn 2026",
      "textPreview": "73% of B2B buyers..."
    }
  ],
  "openInPostivUrl": "https://postiv.ai/app/create?carouselId=car2...",
  "warnings": []
}

Authorization

Requires an organization API key with the posts:write scope, sent as Authorization: Bearer or x-api-key.

Body parameters

titlestringrequired

1-240 chars.

integrationIdintrequired
outline.topicstringrequired
outline.targetAudiencestring
outline.objectivestring
outline.anglestring
outline.styleInstructionsstring

Omit unless the user explicitly requested a specific look: otherwise the saved brand theme applies automatically.

outline.backgroundStylestring
One of:nonegriddotsdiagonalwavessubtle-noisegradient-only
outline.themeOverrideobject

Same shape as create-carousel's themeOverride; omit entirely unless explicit colors were requested.

outline.headlinestringrequired

Max 8-10 words.

outline.subtitlestring
outline.archetypestring
One of:stat-gridtimelineprocesscomparisonfunneldonutranked-barsmyth-vs-factchecklistcycleauto
outline.sections[]arrayrequired

Max 4. Each { title?, kind: stats|steps|comparison|timeline|list|chart|text, items: [{ label, value?, description? }] }.

outline.dataPoints[]array

Max 6, { value, label }: real numbers only, never invented.

outline.sourceNotestring

Small attribution/citation line.

outline.ctastring
outline.imageUrls[]string[]

Max 3.

planItemIduuid

Response

The created infographic (a carousel row with a single slide).

carousel.id / title / status / integrationId / planItemId / createdAtmixed
formatstring

Always 'infographic'.

versionId / versionNumber / slideCount (always 1) / slides / openInPostivUrl / warningsmixed

Same shape as create-carousel.

Errors

400missing_title / invalid_outline (missing headline)
404linkedin_profile_not_found
502carousel_generation_failed

Good to know

  • Status is 201 Created. No PDF concept applies: render-carousel renders a single canvas PNG for infographics.