Create a carousel
create_carouselRender 2–20 pictures, in order, into one carousel: an image set in the library, one picture per page, each with at most one line of text and one inset (a real screenshot in a phone frame). Every source is a ready image generation or an image upload. Text sits at top, middle or bottom inside the canvas's reading zone, in one style for the whole set; a line too long for its band shrinks until it fits, down to 24px, so keep lines short enough to read on a phone. Rendering costs no credits and returns immediately with the set's generation id; get_generation waits until it is ready, then get_download_url on it returns one ordered ZIP.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pages | Yes | In page order. source is { type: "generation", generation_id } or { type: "upload", upload_id }. text is null or { content, position: "top" | "middle" | "bottom" }. inset is null or { source, frame: "phone" | "none" }. focus { x, y } anchors the crop, 0.5/0.5 by default. | |
| style | No | How every line is set: { align, font_id, font_weight, font_size, color, outline, box }. Omitted, the photo-slideshow look: tiktok-sans at 600, 64px, white with outline, no box. box puts a solid band behind each line. | |
| title | No | The set's name in the library; pages are named after it. | |
| canvas | Yes | The page shape: 9:16 for a TikTok photo post, 4:5 for an Instagram feed carousel. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| generation | Yes |