Image component
Contenttype: "image"Displays an image from a URL with object-fit sizing, positioning, borders, rounding and shadows. Swap the URL at render time to personalize every image.
Design JSON
{
"title": "Image sample",
"description": "A rounded dynamic photo",
"dimensions": {
"width": 800,
"height": 420
},
"background": {
"color": "#ffffff"
},
"components": [
{
"id": "sample-image",
"key": "photo",
"type": "image",
"position": {
"x": 250,
"y": 60
},
"rotation": 0,
"size": {
"width": 300,
"height": 300
},
"dynamic": true,
"image": "https://picsum.photos/600/600",
"properties": {
"imageSize": "cover",
"borderRadius": 16,
"opacity": 1
}
}
]
}Like what you built? The full editor — canvas, templates and the render API — is free to start.
Open the editorImage examples
Real renders of the image — each one is the same component with different property values, and the API payload below each preview reproduces it exactly.
E-commerce product hero
A wide cover-cropped product photo filling the card, corners rounded.
API overrides for this example
{
"photo.imageSize": "cover",
"photo.borderRadius": 16
}Article thumbnail with soft shadow
A blog-post thumbnail lifted off the canvas by a deep drop shadow.
API overrides for this example
{
"photo.borderRadius": 24,
"photo.boxShadow": "0 20px 40px rgba(0,0,0,0.2)"
}All image styles
Every style rendered live — each is just a different set of property values on the same component, and each has its own page with a dedicated preview, use cases and API example.
Use cases
What developers typically build with the image component.
- Product cards that pull each item photo from your catalog URL
- OG images featuring the author avatar or article hero image
- E-commerce promo visuals with the featured product swapped per render
- Certificates and badges stamped with a partner or event logo
Use it dynamically via the API
Point '<key>.image' (or just '<key>') at any image URL per render; opacity, borders and padding can be overridden too.
Full API request with the sample design's current values — the playground above sends only the properties you change
curl --location 'https://render.imejis.io/v1/{{YOUR_DESIGN_ID}}' \
--header 'dma-api-key: {{YOUR_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
"photo.image": "https://picsum.photos/600/600",
"photo.imageSize": "cover",
"photo.borderRadius": 16,
"photo.opacity": 1
}'Only send the properties you want to change — everything else keeps its design value. See the API documentation for all languages.
Property reference
Every property the image component accepts — in the editor, in design JSON, and as API overrides.
| Property | Type | Edits as | Default | Description |
|---|---|---|---|---|
| image | string | text | — | Image URL (stored on the component's top-level image field; overridable via config). |
| imageSize | 'cover' | 'contain' | 'fill' | 'none' | 'scale-down' | covercontainfillnonescale-down | "cover" | How the image fits its box (CSS object-fit). |
| imagePosition | string | text | "center" | Focal point of the image within its box (CSS object-position). |
| backgroundColor | color | transparent | "transparent" | Background color visible behind/around the image. |
| padding | string | text | "0" | CSS padding between the box edge and the image. |
| opacity | number | 1 | 1 | Overall component opacity from 0 (transparent) to 1 (opaque). |
| borderWidth | number | 0 | 0 | Border thickness in pixels around the component. |
| borderColor | color | transparent | "transparent" | Border color (any CSS color). |
| borderStyle | 'solid' | 'dashed' | 'dotted' | 'double' | 'none' | soliddasheddotteddoublenone | "solid" | Border line style. |
| borderRadius | number | 0 | 0 | Corner radius in pixels. |
| boxShadow | string | text | — | CSS box-shadow applied to the component, e.g. "0 4px 6px rgba(0,0,0,0.1)". |