---
title: "Upload Brand Image"
method: POST
path: "/brand-assets/images/add"
tags: ["Images"]
---

# Upload Brand Image

`POST /brand-assets/images/add`

## Request

- Base URL: `https://api.orshot.com/v1`
- URL: `https://api.orshot.com/v1/brand-assets/images/add`
- Auth: HTTP bearer

Learn how to upload brand assets to your workspace

## Query parameters

- `embedId` string
- `embedUserId` string

## Request body

- object
  - `file` string, required: URL, binary or base64-encoded string of the image
  - `fileName` string: Custom filename for the asset (default: auto-generated based on timestamp)
  - `fileType` string: MIME type of the file (e.g., "image/png"). If omitted, the type comes from the URL's Content-Type or extension, or from the `data:` prefix. Raw base64 without a prefix is treated as PNG, so pass `fileType` for SVG, JPEG, WebP or GIF
  - `tags` string[]: Array of tags to associate with the asset (e.g., `["logo", "brand"]`)
  - `meta` object: Arbitrary metadata to store with the asset (e.g., `{ "source": "product-catalog" }`)

## Response `200`

Successful response

- object

## Other responses

- `400`: The request was malformed or a parameter was invalid.
- `401`: Authentication is required and was not supplied.
- `402`: The workspace has no credits left. Either the render needs credits it does not have, or the key was paused after repeatedly calling with none (`code: api_key_paused`). That one resumes by itself on the first request we can accept.
- `403`: The API key is missing, invalid, or not permitted to perform this action.
- `404`: The requested route or resource does not exist.
- `429`: The workspace rate limit was exceeded. Retry after the interval given by the Retry-After header.
- `500`: An unexpected error occurred on our side.

## Changes

- **2026-09-03** `a0c2c3003dc0`: 1 info
  - added the non-success response with the status `402`
- **2026-08-24** `b2284a52aaad`: 6 info
  - added the media type `application/json` for the response with the status `401`
  - added the media type `application/json` for the response with the status `429`
  - added the non-success response with the status `400`
  - added the non-success response with the status `403`
  - …2 more
- **2026-08-21** `532754e07934`: 2 info
  - added the new optional `query` request parameter `embedId`
  - added the new optional `query` request parameter `embedUserId`

[Operation history](https://skmtc.dev/orshot/apis/orshot-api/changes/brand-assets/images/add/post.md)

---

[API](https://skmtc.dev/orshot/apis/orshot-api.md) - [All operations](https://skmtc.dev/orshot/apis/orshot-api/llms.txt) - [OpenAPI document](https://skmtc.dev/orshot/apis/orshot-api/revisions/1210d6bcbb90?raw)
