Docs

API reference

Image

Place a portable still image from the selected deck's assets folder.

presentation.tsx

<Image id="cover" x={52} y={8} w={40} h={84} src="assets/cover.webp" alt="Descriptive subject" fit="cover" />

Props reference

Keep these values literal and serializable so Canvas, Inspector, validation, and export can process them reliably.

APIPropertyType / valuesRequiredDescription
Shared native-layer propsidstringYesStable, unique layer identifier. Required for every visible native layer.
xnumberYesLeft position as a percentage of the slide canvas.
ynumberYesTop position as a percentage of the slide canvas.
wnumberYesFrame width as a percentage of the slide canvas.
hnumberYesFrame height as a percentage of the slide canvas.
groupIdstring—Groups native children without adding a wrapper element.
groupNamestring—Human-readable name for a group in Workbench.
sharedIdstring—Matches the same layer type across adjacent Morph slides; unique within each slide.
rotationnumber—Clockwise rotation in degrees.
opacitynumber—Layer opacity from 0 to 1.
motionJSON string—Versioned declarative action sequence. Keep a complete static final frame.
interactionJSON string—Versioned click interaction for slide navigation or a link.
ImagesrcstringYesPortable local image path, normally under assets/.
altstring—Alternative description for the image.
fitcover | contain | fill | scale-down—How image content fits its frame.
cropX / cropYnumber—Image translation within its frame, in percent.
scaleX / scaleYnumber—Image-content scale on each axis.
radiusnumber—Frame corner radius.
filterstring—Paper image-filter identifier.
filterPresetstring—Preset for the selected image filter.
filterDistortion / filterSize / filterAngle / filterContrast / filterSpeed / filterDetailnumber—Fine controls for the selected paper filter.

Required syntax

Use id, x, y, w, h, and src. src should be a verified relative asset path such as assets/cover.webp.

Accessibility and crop

Provide a useful alt description. Use fit="cover" when the image should fill its frame; do not use absolute paths, blob URLs, or Base64 data.