Circle component
Shapestype: "circle"A perfect circle with fill, border and shadow control — avatars frames, dots, badges and decorative accents.
Design JSON
{
"title": "Circle sample",
"description": "A dynamic colored circle",
"dimensions": {
"width": 800,
"height": 420
},
"background": {
"color": "#ffffff"
},
"components": [
{
"id": "sample-circle",
"key": "badge",
"type": "circle",
"position": {
"x": 300,
"y": 110
},
"rotation": 0,
"size": {
"width": 200,
"height": 200
},
"dynamic": true,
"properties": {
"fillColor": "#F59E0B",
"opacity": 1
}
}
]
}Like what you built? The full editor — canvas, templates and the render API — is free to start.
Open the editorCircle examples
Real renders of the circle — each one is the same component with different property values, and the API payload below each preview reproduces it exactly.
Notification count badge
A red circle sized to carry an imagined unread-count number on an app screenshot.
API overrides for this example
{
"badge.fillColor": "#EF4444",
"badge.boxShadow": "0 4px 12px rgba(239,68,68,0.4)"
}Brand accent orb
A glowing indigo orb used as a decorative backdrop element on a dark OG image.
API overrides for this example
{
"badge.fillColor": "#6366F1",
"badge.boxShadow": "0 0 60px rgba(99,102,241,0.6)"
}All circle 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 circle component.
- Status dots recolored by health or state
- Avatar frames and profile accents
- Notification-style count badges
Use it dynamically via the API
Recolor per render with '<key>.fillColor' (or just '<key>'); opacity and borderColor are overridable 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 '{
"badge.fillColor": "#F59E0B",
"badge.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 circle component accepts — in the editor, in design JSON, and as API overrides.
| Property | Type | Edits as | Default | Description |
|---|---|---|---|---|
| fillColor | color | #808080 | "#808080" | Fill color. |
| radius | number | 0 | — | Explicit radius in pixels (otherwise derived from the component size). |
| 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)". |