---
title: "Create an OpenPost Image Editor design from a template"
method: POST
path: "/image-editor/templates/{id}/instantiate"
tags: ["OpenPost Image Editor"]
---

# Create an OpenPost Image Editor design from a template

`POST /image-editor/templates/{id}/instantiate`

## Request

- Base URL: `https://app.openpo.st/api/v1`
- URL: `https://app.openpo.st/api/v1/image-editor/templates/{id}/instantiate`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `openpost_session`

## Path parameters

- `id` string, required

## Request body

- InstantiateImageEditorTemplateInputBody
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `title` string, required
  - `workspace_id` string, required

## Response `200`

OK

- ImageEditorDocumentResponse
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `can_edit` boolean, required
  - `cover_preview_media_id` string
  - `created_at` string, required
  - `created_by_id` string, required
  - `document` ImageEditorDocumentPayload, required
    - `brand_kit_id` string
    - `brand_kit_revision` integer, required
    - `export_defaults` ImageEditorExportDefaults, required
      - `format` 'png' | 'jpeg' | 'webp', required
      - `matte_color` string, required
      - `quality` number, double, required
    - `height_px` integer, required
    - `pages` ImageEditorPagePayload[], nullable, required
      - `background` ImageEditorPageBackground
        - `color` string
        - `gradient` ImageEditorGradientValue
          - `end` ImageEditorPaintPoint, required
            - `x` number, double, required
            - `y` number, double, required
          - `reverse` boolean, required
          - `start` ImageEditorPaintPoint, required
            - `x` number, double, required
            - `y` number, double, required
          - `stops` ImageEditorGradientStop[], nullable, required
            - `color` string, required
            - `offset` number, double, required
          - `type` 'linear' | 'radial' | 'angle' | 'reflected' | 'diamond', required
        - `image` ImageEditorPageBackgroundImage
          - `fit` 'cover' | 'contain' | 'stretch', required
          - `media_id` string, required
        - `opacity` number, double, required
        - `type` 'transparent' | 'solid' | 'gradient' | 'image', required
      - `background_color` string, required
      - `color_grade` ImageEditorColorGrade
        - `brightness` number, double, required
        - `contrast` number, double, required
        - `curves` ImageEditorColorCurves
          - `bluePoints` string
          - `greenPoints` string
          - `masterPoints` string
          - `redPoints` string
        - `exposure` number, double, required
        - `highlights` number, double, required
        - `hue` number, double, required
        - `saturation` number, double, required
        - `shadows` number, double, required
        - `temperature` number, double, required
        - `tint` number, double, required
        - `vibrance` number, double, required
        - `wheels` ImageEditorColorWheels
          - `gain` number, double, required
          - `gamma` number, double, required
          - `highlightsAmount` number, double, required
          - `highlightsHue` number, double, required
          - `lift` number, double, required
          - `midtonesAmount` number, double, required
          - `midtonesHue` number, double, required
          - `offset` number, double, required
          - `offsetAmount` number, double, required
          - `offsetHue` number, double, required
          - `shadowsAmount` number, double, required
          - `shadowsHue` number, double, required
      - `color_grade_version` 1
      - `guides` ImageEditorPageGuides
        - `horizontal` number[], nullable, required
        - `vertical` number[], nullable, required
      - `height_px` integer
      - `id` string, required
      - `latest_export_media_id` string
      - `layers` ImageEditorLayer[], nullable, required
        - `effects` ImageEditorLayerEffects
          - `blend_mode` 'normal' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'soft_light', required
          - `drop_shadow` ImageEditorShadowEffect
            - `angle` number, double, required
            - `blur` number, double, required
            - `color` string, required
            - `distance` number, double, required
            - `opacity` number, double, required
          - `inner_shadow` ImageEditorShadowEffect
            - `angle` number, double, required
            - `blur` number, double, required
            - `color` string, required
            - `distance` number, double, required
            - `opacity` number, double, required
          - `stroke` ImageEditorStrokeEffect
            - `color` string, required
            - `opacity` number, double, required
            - `position` 'inside' | 'center' | 'outside', required
            - `width` number, double, required
        - `erase_mask` ImageEditorEraseMask
          - `source_height` number, double, required
          - `source_width` number, double, required
          - `spans` ImageEditorPaintSpan[], nullable, required
            - `width` number, double, required
            - `x` number, double, required
            - `y` number, double, required
          - `strokes` ImageEditorEraseStroke[], nullable, required
            - `points` ImageEditorPaintPoint[], nullable, required
              - …
            - `size` number, double, required
        - `id` string, required
        - `image` ImageEditorImageValue
          - `adjustments` ImageEditorImageAdjustments, required
            - `blur` number, double, required
            - `brightness` number, double, required
            - `contrast` number, double, required
            - `curves` ImageEditorColorCurves
              - …
            - `exposure` number, double, required
            - `highlights` number, double, required
            - `hue` number, double, required
            - `saturation` number, double, required
            - `shadows` number, double, required
            - `temperature` number, double, required
            - `tint` number, double, required
            - `vibrance` number, double, required
            - `wheels` ImageEditorColorWheels
              - …
          - `color_grade_version` 1
          - `crop` ImageEditorCrop, required
            - `height` number, double, required
            - `width` number, double, required
            - `x` number, double, required
            - `y` number, double, required
          - `fit` 'cover' | 'contain' | 'stretch', required
          - `intrinsic_pending` boolean
          - `media_id` string, required
          - `source_height` integer, required
          - `source_width` integer, required
        - `locked` boolean, required
        - `mask` ImageEditorLayerMask
          - `inset` number, double, required
          - `radius` number, double, required
          - `shape` 'rectangle' | 'rounded_rectangle' | 'circle' | 'ellipse' | 'diamond', required
        - `name` string, required
        - `opacity` number, double, required
        - `paint` ImageEditorPaintValue
          - `color` string, required
          - `gradient` ImageEditorGradientValue
            - `end` ImageEditorPaintPoint, required
              - …
            - `reverse` boolean, required
            - `start` ImageEditorPaintPoint, required
              - …
            - `stops` ImageEditorGradientStop[], nullable, required
              - …
            - `type` 'linear' | 'radial' | 'angle' | 'reflected' | 'diamond', required
          - `kind` 'stroke' | 'fill' | 'gradient', required
          - `opacity` number, double, required
          - `points` ImageEditorPaintPoint[], nullable, required
            - `x` number, double, required
            - `y` number, double, required
          - `size` number, double, required
          - `source_height` number, double, required
          - `source_width` number, double, required
          - `spans` ImageEditorPaintSpan[], nullable, required
            - `width` number, double, required
            - `x` number, double, required
            - `y` number, double, required
        - `parent_id` string
        - `shape` ImageEditorShapeValue
          - `fill` string, required
          - `kind` 'rectangle' | 'rounded_rectangle' | 'ellipse' | 'line', required
          - `radius` number, double, required
          - `stroke` string, required
          - `stroke_width` number, double, required
        - `text` ImageEditorTextValue
          - `align` string, required
          - `color` string, required
          - `curve` ImageEditorTextCurve
            - `offset` number, double, required
            - `reverse` boolean, required
            - `strength` number, double, required
            - `type` 'none' | 'arc_up' | 'arc_down' | 'wave' | 'circle' | 'ellipse', required
          - `font_asset_id` string
          - `font_family` string, required
          - `font_size` number, double, required
          - `font_style` string, required
          - `font_weight` integer, required
          - `highlight_color` string
          - `letter_spacing` number, double, required
          - `line_height` number, double, required
          - `runs` ImageEditorTextRun[], nullable
            - `color` string
            - `end` integer, required
            - `font_style` string
            - `font_weight` integer
            - `start` integer, required
            - `underline` boolean
          - `shadow` ImageEditorTextShadow, required
            - `blur` number, double, required
            - `color` string, required
            - `offset_x` number, double, required
            - `offset_y` number, double, required
          - `strike` boolean
          - `stroke_color` string
          - `stroke_width` number, double, required
          - `text` string, required
          - `underline` boolean
          - `wrap` 'word' | 'character'
        - `transform` ImageEditorTransform, required
          - `flip_x` boolean, required
          - `flip_y` boolean, required
          - `height` number, double, required
          - `rotation` number, double, required
          - `width` number, double, required
          - `x` number, double, required
          - `y` number, double, required
        - `type` 'text' | 'image' | 'shape' | 'paint' | 'group', required
        - `visible` boolean, required
      - `name` string, required
      - `preview_media_id` string
      - `width_px` integer
    - `preset_key` string, required
    - `schema_version` integer, required
    - `template_slots` ImageEditorTemplateSlot[], nullable
      - `max_characters` integer, required
      - `name` string, required
      - `target_id` string, required
    - `title` string, required
    - `width_px` integer, required
  - `id` string, required
  - `revision` integer, required
  - `updated_at` string, required
  - `workspace_id` string, required

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/openpo/apis/openpost-api.md) · [All operations](https://skmtc.dev/openpo/apis/openpost-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openpo/apis/openpost-api/revisions/67d3964458a7?raw)
