Render a canvas art image or animation from HTML
Renders a self-contained HTML canvas at exact pixel dimensions and returns a permanent public URL — for social posts, story graphics, quote cards, and link preview art. Author the HTML per the design guidelines in this tag’s description (curated Google Fonts, Lucide icons, minimal text, exact-size body). Costs 1 data credit per call.
Pass animated=true to record the canvas as a looping MP4 instead of a still PNG (animate with infinite CSS keyframes); that returns videoId and an MP4 url, and costs 3 data credits.
Authorizations
Company API key - scoped to a specific company. Generate from the Integrations page in your dashboard.
Body
Canvas to render
Company ID whose data credits are billed for the call
Complete standalone HTML document for the canvas. Must be fully self-contained (inline ; Google Fonts links, the Tailwind CDN script, and the Lucide icons CDN script are allowed) with html,body{margin:0} and the body sized to EXACTLY the canvas dimensions with overflow:hidden. Static — no animations — unless animated is true, in which case animate with infinite, seamlessly looping CSS keyframes. Follow the design guidelines in the Canvas tag description.
Canvas format: 'square' (1080x1080 feed), 'portrait' (1080x1350 feed, default), 'story' (1080x1920 Stories/Reels), 'landscape' (1200x630 link preview), 'slide' (1920x1080 presentation slide background). Ignored when width/height are given.
Custom canvas width in px (200-2160); requires height
Custom canvas height in px (200-2160); requires width
Record the canvas as a looping MP4 video instead of a still PNG. The response returns videoId and an MP4 url instead of imageId. Costs 3 data credits instead of 1. Default false.
Video length in seconds when animated is true (1-15, out-of-range values are clamped; default 5). Match it to the CSS animation cycle so the loop tiles cleanly. Ignored for stills.
Response
The rendered canvas with its public image (or video) URL
Rendered canvas
ID of the saved image (still canvases only)
ID of the saved video (animated canvases only)
Permanent public URL of the rendered PNG, or of the recorded MP4 when animated
Rendered width in px
Rendered height in px
Video length in seconds (animated canvases only)

