---
title: "Edit Thumbnail Board Image"
method: POST
path: "/api/v1/channels/{channel}/thumbnails/board/edits"
tags: ["thumbnails"]
---

# Edit Thumbnail Board Image

`POST /api/v1/channels/{channel}/thumbnails/board/edits`

## Request

- Base URL: `https://subscribr.ai`
- URL: `https://subscribr.ai/api/v1/channels/{channel}/thumbnails/board/edits`
- Auth: HTTP bearer

Spend 1 thumbnail credit to edit one ready board image with a plain-language instruction. Non-destructive: the result arrives as a new item beside the original, which is never altered. Pass an optional region to confine the change to a rectangle, in which case pixels outside it are guaranteed identical to the original. Rendering is asynchronous; poll getThumbnailBoard until the returned item turns "ready".

## Headers

- `Idempotency-Key` string
- `If-Match` string

## Request body

- EditThumbnailBoardImageRequest
  - `instruction` string, required: One plain-language change, e.g. "remove the text" or "make the sky stormy".
  - `item_id` integer, required: A ready image item on this board to edit.
  - `region` object: Optional rectangle, as fractions of the image (0-1), confining the edit. Pixels outside it are guaranteed identical to the original.
    - `height` number, required
    - `width` number, required
    - `x` number, required
    - `y` number, required

## Response `200`

Successful response.

- EditThumbnailBoardImageResponse
  - `data` object, required
    - `board_id` integer, required
    - `credits_remaining` integer, required
    - `credits_spent` integer, required
    - `items` ThumbnailBoardItem[], required
      - `assigned_script_id` integer, nullable: Set when this image is the current thumbnail of a script (project).
      - `assigned_script_title` string, nullable
      - `content` string, nullable
      - `error` string, nullable: For failed items: the user-facing reason the generation failed. Absent on other items.
      - `frame_id` integer, nullable
      - `height` integer, required
      - `id` integer, required
      - `label` string, nullable
      - `prompt` string, nullable
      - `shape` 'rectangle' | 'ellipse' | 'arrow' | 'arrow_curve' | 'null', nullable: Set on shape items: the drawing primitive.
      - `source` string, nullable
      - `status` 'ready' | 'generating' | 'failed', required
      - `style_format` string, nullable: Set on generated images: the channel's proven thumbnail format this variation was built on.
      - `type` 'image' | 'text' | 'shape' | 'frame', required
      - `url` string, uri, nullable
      - `usage` string, nullable
      - `width` integer, required
      - `x` integer, required
      - `y` integer, required
    - `note` string, required
  - `success` boolean, required

## Other responses

- `400`: The request could not be processed.
- `401`: Authentication is required.
- `403`: The token, role, entitlement, or object policy denies this action.
- `404`: The resource was not found or is not visible.
- `422`: One or more request fields are invalid.
- `429`: The request exceeded a rate limit.
- `500`: The service is temporarily unavailable.

---

[API](https://skmtc.dev/subscribr/apis/subscribr-customer-api.md) · [All operations](https://skmtc.dev/subscribr/apis/subscribr-customer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/subscribr/apis/subscribr-customer-api/revisions/d1f105b58bbd?raw)
