Carousel Steps Post

Generates a series of 1080×1080 images in the CallAI (Warm Signal) identity. Text is rendered programmatically (Satori), not baked in by the model — no AI typos.

Slides (5)

Edit slide 1

Agent API

Agent API

Public rendering API for coding agents. A machine-readable quick reference is also available at /llms.txt.

Render one PNG slide

GET
/api/og/instagram-slide → image/png
Required
heading, body
Optional
eyebrow, footer, icon, accent, themeId, index, total
curl -G 'https://instagram.soowa.it/api/og/instagram-slide' \
  --data-urlencode 'heading=Call now' \
  --data-urlencode 'body=Tell CallAI what needs doing.' \
  --data-urlencode 'icon=phone' \
  --data-urlencode 'accent=terracotta' \
  --data-urlencode 'themeId=warm-signal' \
  --output slide.png

Render a series

POST
/api/instagram/series
Request
application/json: { format?: "zip" | "json", slides: Slide[] }
Response
application/zip by default, or JSON with base64 PNGs for format: "json"
curl -X POST 'https://instagram.soowa.it/api/instagram/series' \
  -H 'content-type: application/json' \
  -d '{"format":"zip","slides":[{"heading":"Call now","body":"Tell CallAI what needs doing.","icon":"phone","accent":"terracotta","themeId":"warm-signal"}]}' \
  --output series.zip

Input guide

  • Icons: phone, mic, check, mail, calendar, sparkles, plug, arrow.
  • Accents: terracotta or mint.
  • Themes: warm-signal, cream-paper, mint-deep, terracotta-bold, noir, studio-cyan, plum-banner, simple-plum, simple-cream, simple-mint.
  • Invalid inputs return 400 application/json; rendering failures return 500 application/json.

Theme

Layout + palette. Scroll with the arrows, click to apply to the whole series.

Preview 1080×1080 — slide 1 / 5
Slide 1
Download this slide only