---
title: "Add Watermark"
method: POST
path: "/watermark"
tags: ["Watermark"]
---

# Add Watermark

`POST /watermark`

## Request

- Base URL: `https://video-api.picsart.io/v1`
- URL: `https://video-api.picsart.io/v1/watermark`
- Auth: API key in header `X-Picsart-API-Key`

Add watermark to your video.

## Request body `multipart/form-data`

- object
  - `video_url` string, uri: Source video URL.
  - `watermark` string, binary, nullable: Source watermark image file (binary). (If this parameter is present, the other watermark image source parameters must be empty.)
  - `watermark_url` string, uri, nullable: Source watermark image URL. (If this parameter is present, the other watermark image source parameters must be empty.)
  - `watermark_anchor_point` 'left-top' | 'left-middle' | 'left-bottom' | 'center-top' | 'center-middle' | 'center-bottom' | 'right-top' | 'right-middle' | 'right-bottom' | 'pattern': Anchor point for the watermark.
  - `watermark_width` union: Width of watermark. A pixel value like `100` (>= 1), or a percentage of the canvas width like `"10%"` / `"12.5%"` (> 0, <= 100).
    - integer, nullable
    - string
  - `watermark_height` union: Height of watermark. A pixel value like `100` (>= 1), or a percentage of the canvas height like `"10%"` / `"12.5%"` (> 0, <= 100).
    - integer, nullable
    - string
  - `watermark_opacity` integer, nullable: Define the opacity of the watermark. Takes values from 0 to 100. Default is 100 (opaque). Set to 0 to make it transparent.
  - `watermark_angle` integer, nullable: Define the angle of the watermark. Takes values from 0 to 360.
  - `watermark_padding_x` union: Define the horizontal padding of the watermark. A pixel value like `20` (>= 0), or a percentage of the canvas width like `"2%"` (>= 0, <= 100).
    - integer, nullable
    - string
  - `watermark_padding_y` union: Define the vertical padding of the watermark. A pixel value like `20` (>= 0), or a percentage of the canvas height like `"2%"` (>= 0, <= 100).
    - integer, nullable
    - string

## Response `202`

Request successfully accepted for an asynchronous transformation.

- object
  - `transaction_id` string, nullable
  - `status` 'success' | 'error' | 'processing' | 'queued'

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `402`: Payment Required
- `403`: Forbidden
- `404`: Not Found
- `405`: Method Not Allowed
- `413`: Request Entity Too Large
- `415`: Unsupported Media Type
- `429`: Too Many Requests
- `431`: Request Header Fields Too Large
- `500`: Internal Server Error
- `503`: Service Unavailable
- `529`: Overloaded. The model provider is overloaded and could not complete this request. Please retry shortly, or switch to a different model.

---

[API](https://skmtc.dev/picsart/apis/picsart-programmable-video-apis.md) - [All operations](https://skmtc.dev/picsart/apis/picsart-programmable-video-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/picsart/apis/picsart-programmable-video-apis/revisions/e3f1d0bea43b?raw)
