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.
/api/public/infographicscurl -X POST https://postiv.ai/api/public/infographics \
-H "Authorization: Bearer pk_postiv_..." \
-H "Content-Type: application/json" \
-d '{
"title": "Launch lessons",
"integrationId": 123
}'{
"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
titlestringrequired1-240 chars.
integrationIdintrequiredoutline.topicstringrequiredoutline.targetAudiencestringoutline.objectivestringoutline.anglestringoutline.styleInstructionsstringOmit unless the user explicitly requested a specific look: otherwise the saved brand theme applies automatically.
outline.backgroundStylestringnonegriddotsdiagonalwavessubtle-noisegradient-onlyoutline.themeOverrideobjectSame shape as create-carousel's themeOverride; omit entirely unless explicit colors were requested.
outline.headlinestringrequiredMax 8-10 words.
outline.subtitlestringoutline.archetypestringstat-gridtimelineprocesscomparisonfunneldonutranked-barsmyth-vs-factchecklistcycleautooutline.sections[]arrayrequiredMax 4. Each { title?, kind: stats|steps|comparison|timeline|list|chart|text, items: [{ label, value?, description? }] }.
outline.dataPoints[]arrayMax 6, { value, label }: real numbers only, never invented.
outline.sourceNotestringSmall attribution/citation line.
outline.ctastringoutline.imageUrls[]string[]Max 3.
planItemIduuidResponse
The created infographic (a carousel row with a single slide).
carousel.id / title / status / integrationId / planItemId / createdAtmixedformatstringAlways 'infographic'.
versionId / versionNumber / slideCount (always 1) / slides / openInPostivUrl / warningsmixedSame shape as create-carousel.
Errors
| 400 | missing_title / invalid_outline (missing headline) |
| 404 | linkedin_profile_not_found |
| 502 | carousel_generation_failed |
Good to know
- Status is 201 Created. No PDF concept applies: render-carousel renders a single canvas PNG for infographics.