Visuals API
Render on-brand images, carousels and app screenshots.
5 endpoints. Every path is relative to the API base URL and needs a bearer token unless it is marked public. See the REST API overview for authentication, errors and pagination.
POST/v1/orgs/{orgId}/marketing/visuals/carousel
Render a branded carousel (2 to 15 slides) as a PDF document for LinkedIn and as PNG slides for Instagram and X.
Path parameters
orgIdstring (uuid)required
Request body application/json
slidesarray<object>requiredItem fields
titlestringrequiredeyebrowstringbodystringbulletsarray<string>statstringattributionstringctastringlayoutstringone of
cover,point,stat,quote,list,cta
formatstringone of
portrait,squarethemestringone of
brand,light,darkincludeLogobooleanhandlestringaiBackgroundobjectFields
promptstringrequiredmodelstring
outputsarray<string>
Responses
200Render a branded carousel (2 to 15 slides) as a PDF document for LinkedIn and as PNG slides for Instagram and X.
dataobjectrequiredFields
documentobject | nullrequiredFields
assetIdstring (uuid)requiredurlstring (uri)requiredcontentType"application/pdf"requiredsizeBytesintegerrequiredpageCountintegerrequired
slidesarray<object>requiredItem fields
assetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerrequiredheightintegerrequiredformatstringrequiredone of
square,portrait,landscape,link,story,pin,x_header,linkedin_bannerpageinteger
postMediaobjectrequiredFields
linkedinobject | nullrequiredOption 1
kind"image"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerheightintegeraltTextstring
Option 2
kind"images"requiredimagesarray<object>requiredItem fields
assetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerheightintegeraltTextstring
Option 3
kind"document"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentType"application/pdf"requiredsizeBytesintegerrequiredtitlestringrequiredpageCountintegerpreviewImageUrlsarray<string (uri)>
Option 4
kind"video"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequireddurationSecondsnumberrequiredwidthintegerrequiredheightintegerrequired
xobject | nullrequiredOption 1
kind"image"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerheightintegeraltTextstring
Option 2
kind"images"requiredimagesarray<object>requiredItem fields
assetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerheightintegeraltTextstring
Option 3
kind"document"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentType"application/pdf"requiredsizeBytesintegerrequiredtitlestringrequiredpageCountintegerpreviewImageUrlsarray<string (uri)>
Option 4
kind"video"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequireddurationSecondsnumberrequiredwidthintegerrequiredheightintegerrequired
facebookobject | nullrequiredOption 1
kind"image"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerheightintegeraltTextstring
Option 2
kind"images"requiredimagesarray<object>requiredItem fields
assetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerheightintegeraltTextstring
Option 3
kind"document"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentType"application/pdf"requiredsizeBytesintegerrequiredtitlestringrequiredpageCountintegerpreviewImageUrlsarray<string (uri)>
Option 4
kind"video"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequireddurationSecondsnumberrequiredwidthintegerrequiredheightintegerrequired
instagramobject | nullrequiredOption 1
kind"image"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerheightintegeraltTextstring
Option 2
kind"images"requiredimagesarray<object>requiredItem fields
assetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerheightintegeraltTextstring
Option 3
kind"document"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentType"application/pdf"requiredsizeBytesintegerrequiredtitlestringrequiredpageCountintegerpreviewImageUrlsarray<string (uri)>
Option 4
kind"video"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequireddurationSecondsnumberrequiredwidthintegerrequiredheightintegerrequired
aiBackgroundobject | nullrequiredFields
modelstringrequiredestimatedCostMilliUsdnumberrequired
renderMsintegerrequired
curl -X POST "https://api.adventur.ai/v1/orgs/$ORG_ID/marketing/visuals/carousel" \ -H "Authorization: Bearer $ADVENTURAI_TOKEN" \ -H "Content-Type: application/json" \ -d '{"slides":[{"title":"string"}]}'POST/v1/orgs/{orgId}/marketing/visuals/image
Render a branded image from a template in the workspace's colours, fonts and logo, in one or more formats, optionally over your own photo or an AI-generated background.
Path parameters
orgIdstring (uuid)required
Request body application/json
contentobjectrequiredFields
titlestringrequiredeyebrowstringbodystringbulletsarray<string>statstringattributionstringctastring
templatestringone of
headline,quote,stat,list,photoformatstringone of
square,portrait,landscape,link,story,pin,x_header,linkedin_bannerthemestringone of
brand,light,darkincludeLogobooleanhandlestringbackgroundImageobjectFields
assetIdstring (uuid)urlstring (uri)
aiBackgroundobjectFields
promptstringrequiredmodelstring
alsoFormatsarray<string>outputsarray<string>
Responses
200Render a branded image from a template in the workspace's colours, fonts and logo, in one or more formats, optionally over your own photo or an AI-generated background.
dataobjectrequiredFields
imagesarray<object>requiredItem fields
assetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerrequiredheightintegerrequiredformatstringrequiredone of
square,portrait,landscape,link,story,pin,x_header,linkedin_bannerpageinteger
postMediaobject | nullrequiredOption 1
kind"image"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerheightintegeraltTextstring
Option 2
kind"images"requiredimagesarray<object>requiredItem fields
assetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerheightintegeraltTextstring
Option 3
kind"document"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentType"application/pdf"requiredsizeBytesintegerrequiredtitlestringrequiredpageCountintegerpreviewImageUrlsarray<string (uri)>
Option 4
kind"video"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequireddurationSecondsnumberrequiredwidthintegerrequiredheightintegerrequired
aiBackgroundobject | nullrequiredFields
modelstringrequiredestimatedCostMilliUsdnumberrequired
renderMsintegerrequired
curl -X POST "https://api.adventur.ai/v1/orgs/$ORG_ID/marketing/visuals/image" \ -H "Authorization: Bearer $ADVENTURAI_TOKEN" \ -H "Content-Type: application/json" \ -d '{"content":{"title":"string"}}'GET/v1/orgs/{orgId}/marketing/visuals/options
Formats, templates, themes, carousel layouts and AI image models available for branded visuals, plus the brand colours, fonts and logo they will use.
Path parameters
orgIdstring (uuid)required
Query parameters
includeAllModelsboolean | stringrequired
Responses
200Formats, templates, themes, carousel layouts and AI image models available for branded visuals, plus the brand colours, fonts and logo they will use.
dataobjectrequiredFields
formatsarray<object>requiredItem fields
idstringrequiredone of
square,portrait,landscape,link,story,pin,x_header,linkedin_bannerlabelstringrequiredwidthintegerrequiredheightintegerrequiredaspectRatiostringrequireduseForstringrequired
templatesarray<object>requiredItem fields
idstringrequiredone of
headline,quote,stat,list,photolabelstringrequireddescriptionstringrequiredfieldsarray<string>required
themesarray<object>requiredItem fields
idstringrequiredone of
brand,light,darklabelstringrequireddescriptionstringrequired
carouselobjectrequiredFields
formatsarray<string>requiredlayoutsarray<object>requiredItem fields
idstringrequiredone of
cover,point,stat,quote,list,ctadescriptionstringrequired
minSlidesintegerrequiredmaxSlidesintegerrequired
screenshotobjectrequiredFields
formatsarray<string>requiredlayoutsarray<object>requiredItem fields
idstringrequiredone of
centered,tilted,closeuplabelstringrequireddescriptionstringrequired
aiBackgroundobjectrequiredFields
availablebooleanrequireddefaultModelstringrequiredrecommendedModelsarray<object>requiredItem fields
idstringrequireduseForstringrequired
totalModelsintegerrequiredmodelsarray<string>
brandobjectrequiredFields
colorsarray<string>requiredheadingFontstringrequiredbodyFontstringrequiredbackgroundstring | nullrequiredhasLogobooleanrequiredlogoobject | nullrequiredFields
widthnumberrequiredheightnumberrequired
curl -X GET "https://api.adventur.ai/v1/orgs/$ORG_ID/marketing/visuals/options?includeAllModels=true" \ -H "Authorization: Bearer $ADVENTURAI_TOKEN"POST/v1/orgs/{orgId}/marketing/visuals/preview
Render a branded image, framed screenshot or every slide of a carousel small and return it inline as PNG data URIs, for a live preview while editing. Nothing is stored.
Path parameters
orgIdstring (uuid)required
Request body application/json
Send an empty JSON object.
Responses
200Render a branded image, framed screenshot or every slide of a carousel small and return it inline as PNG data URIs, for a live preview while editing. Nothing is stored.
dataobjectrequiredFields
imagestringrequiredwidthintegerrequiredheightintegerrequiredrenderMsintegerrequiredslidesarray<string>
curl -X POST "https://api.adventur.ai/v1/orgs/$ORG_ID/marketing/visuals/preview" \ -H "Authorization: Bearer $ADVENTURAI_TOKEN" \ -H "Content-Type: application/json" \ -d '{"kind":"image","content":{"title":"string"}}'POST/v1/orgs/{orgId}/marketing/visuals/screenshot
Frame an app screenshot in a Mac-style browser window on a branded canvas, with an optional headline, in one or more formats.
Path parameters
orgIdstring (uuid)required
Request body application/json
screenshotobjectrequiredFields
assetIdstring (uuid)urlstring (uri)
layoutstringone of
centered,tilted,closeupformatstringone of
landscape,square,portrait,link,storythemestringone of
brand,light,darkincludeLogobooleanhandlestringcontentobjectFields
eyebrowstringtitlestringbodystring
addressBarstringwindowThemestringone of
auto,light,darkcropobjectFields
zoomnumberfocusXnumberfocusYnumber
alsoFormatsarray<string>outputsarray<string>
Responses
200Frame an app screenshot in a Mac-style browser window on a branded canvas, with an optional headline, in one or more formats.
dataobjectrequiredFields
imagesarray<object>requiredItem fields
assetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerrequiredheightintegerrequiredformatstringrequiredone of
square,portrait,landscape,link,story,pin,x_header,linkedin_bannerpageinteger
postMediaobject | nullrequiredOption 1
kind"image"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerheightintegeraltTextstring
Option 2
kind"images"requiredimagesarray<object>requiredItem fields
assetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequiredwidthintegerheightintegeraltTextstring
Option 3
kind"document"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentType"application/pdf"requiredsizeBytesintegerrequiredtitlestringrequiredpageCountintegerpreviewImageUrlsarray<string (uri)>
Option 4
kind"video"requiredassetIdstring (uuid)requiredurlstring (uri)requiredcontentTypestringrequiredsizeBytesintegerrequireddurationSecondsnumberrequiredwidthintegerrequiredheightintegerrequired
aiBackgroundobject | nullrequiredFields
modelstringrequiredestimatedCostMilliUsdnumberrequired
renderMsintegerrequired
curl -X POST "https://api.adventur.ai/v1/orgs/$ORG_ID/marketing/visuals/screenshot" \ -H "Authorization: Bearer $ADVENTURAI_TOKEN" \ -H "Content-Type: application/json" \ -d '{"screenshot":{}}'