---
title: "Polaroid Image API — Framed photo cards via API | Imejis"
description: "Wrap photos in a padded white frame with a soft shadow for a printed-photo look, swapping the picture on every API call. Create polaroid images free."
url: "https://www.imejis.io/components/image/polaroid"
---

# Polaroid Image API — Framed photo cards via API | Imejis

Padded frame with a soft shadow for a printed-photo feel.

## Use cases

- Event photo recap graphics
- User-generated content showcases
- Nostalgic social media campaigns

## Properties

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| `image` | `string` | — | Image URL (stored on the component's top-level image field; overridable via config). |
| `imageSize` | `'cover' \| 'contain' \| 'fill' \| 'none' \| 'scale-down'` | `"cover"` | How the image fits its box (CSS object-fit). |
| `imagePosition` | `string` | `"center"` | Focal point of the image within its box (CSS object-position). |
| `backgroundColor` | `color` | `"transparent"` | Background color visible behind/around the image. |
| `padding` | `string` | `"0"` | CSS padding between the box edge and the image. |
| `opacity` | `number` | `1` | Overall component opacity from 0 (transparent) to 1 (opaque). |
| `borderWidth` | `number` | `0` | Border thickness in pixels around the component. |
| `borderColor` | `color` | `"transparent"` | Border color (any CSS color). |
| `borderStyle` | `'solid' \| 'dashed' \| 'dotted' \| 'double' \| 'none'` | `"solid"` | Border line style. |
| `borderRadius` | `number` | `0` | Corner radius in pixels. |
| `boxShadow` | `string` | — | CSS box-shadow applied to the component, e.g. "0 4px 6px rgba(0,0,0,0.1)". |

## Design JSON (this variant)

```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": 4,
        "opacity": 1,
        "padding": "12px",
        "backgroundColor": "#ffffff",
        "boxShadow": "0 10px 25px rgba(0,0,0,0.15)"
      }
    }
  ]
}
```

## Examples

### Event recap snapshot

A meetup photo in a thick white frame on a soft gray canvas.

API overrides that reproduce this example:

```json
{
  "photo.imageSize": "cover",
  "photo.padding": "16px",
  "photo.backgroundColor": "#ffffff",
  "photo.borderRadius": 4,
  "photo.boxShadow": "0 16px 32px rgba(0,0,0,0.2)"
}
```

### UGC photo feature

A customer photo framed in warm cream for a community showcase post.

API overrides that reproduce this example:

```json
{
  "photo.imageSize": "cover",
  "photo.padding": "12px",
  "photo.backgroundColor": "#FFF7ED",
  "photo.borderRadius": 2,
  "photo.boxShadow": "0 10px 25px rgba(0,0,0,0.15)"
}
```

## API overrides

Point '<key>.image' (or just '<key>') at any image URL per render; opacity, borders and padding can be overridden too.

Flat override payload (`key.property` addressing) with the sample design's current values — send only the keys you want to change:

```json
{
  "photo.image": "https://picsum.photos/600/600",
  "photo.imageSize": "cover",
  "photo.borderRadius": 16,
  "photo.opacity": 1
}
```

```bash
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
}'
```

`{{YOUR_DESIGN_ID}}` and `{{YOUR_API_KEY}}` are placeholders: first create
the design in your account (paste the sample design JSON above into the
editor at https://app.imejis.io, or create it programmatically via the
imejis MCP server's `create_design` + `update_design` tools), then render
it with the design's id and one of your API keys.

Agents: the MCP server at https://api.imejis.io/api/mcp exposes this same
catalog as structured data via the `list_component_types` tool (property
kinds, allowed values, bounds, ready-to-use sample designs).

## Related

- [Image component](https://www.imejis.io/components/image.md) — full reference and FAQs
- [Contain](https://www.imejis.io/components/image/contain.md) — The full image letterboxed inside its box on a neutral background.
- [Circle avatar](https://www.imejis.io/components/image/circle-avatar.md) — Fully-rounded crop with a ring border — profile photos and avatars.
