Kalpana Docs
Designer MCP

Working with designs

Fonts, images, motion and previews in Kalpana Designer, and how its work meets edits made in the Studio.

Fonts and images

  • Fonts come only from the workspace's library: Kalpana's fonts and the workspace's uploads, because batches load their fonts from Kalpana. list_fonts lists them, and any other font is refused.
  • Images are the workspace's own (find_images), your uploads (upload_images: PNG, JPEG or WebP, up to 5 MB each), or public https links. A linked image is copied into the workspace when it is placed, so batches never fetch it from outside. The workspace's allowed image domains apply.
  • An image you only show in the chat cannot be sent as data. upload_images without files returns a link where you drop the images into the workspace.

Motion

Layers can carry keyframes on a timeline. animate adds presets such as fade, slide, pop and draw-on, and builders such as kinetic_type, make_transition, make_particles, make_cursor, make_list, make_carousel and camera make layers and their motion in one call. The assistant checks motion as frames with render_contact_sheet and render_timeline.

create_flow joins some of a template's pages into one video, with a transition into each page. A template can have any number of flows; the Studio calls a flow a video.

The designer exports no video. A moving template renders as video in the Studio, or through Kalpana Batch with an mp4 or gif format. As an image, a row shows the page's still moment (set with set_timeline), or else the last frame.

Previews

render_design and render_contact_sheet return PNG previews for the assistant to judge its work by, not files to use. They are at most 800 px on the longest side and carry a faint "Kalpana preview" mark that is never in the template, its exports or batch renders.

Edits in the Studio

A template the designer saves is a normal Kalpana template. Open it in the Studio and change anything.

  • Changes save to the template a few seconds after each call. set_template_info saves anything still waiting.
  • When someone edits the page in the Studio, the assistant's next call works on that version, and the reply tells it to read the page again with get_design. To change a layer only if it is still as it was read, update_layers takes the layer's etag as if_match.
  • Calls on one workspace run one at a time.

Errors

MessageWhat it means
need render creditsNo render credits are left for the next block of calls. Subscribe or top up on the billing page.
was changed in KalpanaSomeone edited the page in the Studio since the last call. Read it with get_design before changing what was edited.
Unknown fieldThe tool does not take that field. The error lists the ones it takes.
401 UnauthorizedThe sign-in expired or was revoked. The client signs in again.

Limits

LimitValue
Designer calls from one connected assistant60 a minute
Page size from create_design1 to 8192 px a side
Page size from duplicate1 to 8000 px a side
Preview size800 px on the longest side
Image uploadPNG, JPEG or WebP, up to 5 MB each, 20 a call
One tool call1 MB

See Security and limits for the rest.

Was this page helpful?

Updated 4 Nov 2026

On this page