Images, fonts and shaders
What a design may use: the workspace's fonts and images, the user's uploads and shader fills.
list_fonts
Font families in Kalpana's library for this workspace: the global library and the workspace's uploads. Only these can be used.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
family | string | No | — | A family name. Its styles come back when the name matches exactly, ignoring case; otherwise the families whose name contains it; otherwise close_matches. |
- Returns: Without
family, every family with its number of styles. With it, as above, each style with its name, weight and italic.
find_images
The workspace's images (photos, logos, product shots), newest first, with a numbered preview sheet. Without filters the reply also names the workspace's collections.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
collection | string | No | — | Only images in this collection, by name. |
search | string | No | — | Only images whose file name contains this. |
limit | integer | No | 6 | 1 to 12. |
- Returns: Each image's
imagekey (for designs),asset_id(for batch rows), name and pixel size, and the preview sheet. A cut-out with transparent margins also getsvisible_box[x, y, w, h], where its subject sits in image px, to place and crop it by.
upload_images
Bring the user's own images into the workspace: PNG, JPEG or WebP, up to 5 MB each.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
collection | string | No | — | Collection to put them in, by name; made when it does not exist. |
files | object[] | No | — | Up to 20 files the agent will upload itself: sha256 (lowercase hex), content_type (image/png, image/jpeg or image/webp) and size_bytes (at most 5,242,880). |
done | object[] | No | — | Up to 20 uploaded files to record: sha256 and the file name. |
- Without
files: returns a link to the workspace's Images page (or the collection's) where the user drops the images in; afterwardsfind_imageswith that collection finds them. - With
files: returns anupload_urlper file. PUT each file's bytes to it with thatContent-Type, then call again withdone. The reply gives each image'simagekey andasset_id.
Image data is never sent as base64. Images already on the web can be placed straight from their https URL.
list_shaders
Free. List the procedural fills a layer can use: dot grids and halftone, grain and mesh gradients, god rays, noise, waves, dithering and more. Use one as a layer fill with {shader, preset, params, speed}; speed: 0 keeps it still. Each shader has a look line saying what it looks like.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | No | — | One shader, by name: its settings with defaults, presets and named options. Omit to list them all, with a picture of every shader. |
The image filter shaders (halftone-cmyk, halftone-dots, image-dithering, lens-distortion, water) filter a photo. With no image filter of their own, they filter the image fill under them, as that fill frames it.
Updated 5 Nov 2026