make_grid
Make a collage or multi-panel meme from 2 to 9 of the user's photos and get one download link. No images are bundled: the layout goes around THEIR photos. sources are upload handles like "upload:abc123" (request_upload; one link can carry several photos) or https:// image URLs (downloaded first; if any fails the grid is not made and the error names which). layout: 2x1 (two side by side), 1x2 (two stacked), 2x2, 3x3 (these need exactly that many photos) or auto (default: the most square grid for the count; empty cells at the end show the background). cell: 1:1 (default), 4:5, or original (the first photo's shape). Each photo is scaled to COVER its cell, centred, and clipped to it. gap: pixels between cells and around them (0 to 100, default 8). background: #rrggbb (default white). labels (optional, one per photo, "" for none): short text at the bottom-left of each cell, white with a black outline, fitted to a box - the two-panel meme. width: the final image width (default 1080 px per column; the default is reduced to fit the server's pixel and layer limits, an explicit width over them is refused). format jpg (default) or png. The grid opens as a NEW image (its id is in the result) as live layers; on any failure the new image is closed again and nothing is left open.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| gap | No | Pixels between cells and around the edge. | |
| cell | No | The shape of each cell: 1:1, 4:5 (portrait), or original (the first photo's shape). | 1:1 |
| width | No | Final image width in pixels. Default 1080 per column. | |
| format | No | Output format. | jpg |
| labels | No | One short text per photo ("" for none), bottom-left in its cell. | |
| layout | No | Columns x rows, or auto. | auto |
| sources | Yes | 2 to 9 photos: "upload:<id>" handles or https:// image URLs, in reading order (left to right, top to bottom). | |
| background | No | Gap and margin color, #rrggbb. | #ffffff |