Generate Watermark For Videos API

ApyHub
ApyHub
verified icon
550 atoms
Premium tier

About

This API adds a text or image watermark to any video by simply sending a JSON payload of text or image URL.
Ideal for businesses or individuals who want to protect their videos from unauthorized use and/or want to use watermarks as a way to highlight and promote a brand. This can improve the overall appearance and security of a video by including images (e.g. a logo) or other important information as a watermark.
Try out the Video Watermarking API in the API playground for free, improve your workflow, and reduce video security risks with a simple API call.
Note: This API accepts video files, video URLs, and links from platforms like YouTube and Dailymotion, although there may be occasional functionality and accessibility issues due to platform policies.
Select API Endpoints
Input
Output

API Playground

API Documentation

input file: output file
POST
https://api.apyhub.com/generate/video/watermark/file

Request example

1
curl --location --request POST 'https://api.apyhub.com/generate/video/watermark/file?output=test-sample.mp4' \
2
--header 'apy-token: {{token}}' \
3
--form 'video=@"sample.mp4"'
4
--form 'watermark_text="lorem ipsum"'
Method: POST
Content Type: multipart/form-data
Query Parameter(s)
AttributeTypeMandatoryDescription
outputStringNoThe name of the output file, defaults to test-sample.mp4
Request Body
AttributeTypeMandatoryDescription
videoFileYesthe source video file in any of supported formats (mp4,webm,flv,avi,mkv,mov,3gp)
watermark_textStringYes (if watermark_image not given)the text or content which you want to use as watermark text to give text in multiple line add new-line("\n") For example sample \n text. If watermark_text and watermark_image both are present in the request then watermark_text will be applied as watermark.
watermark_imageFileYes (if watermark_text not given)the path of watermark image file in (png,jpeg,jpg,gif) format which should be accessible by ApyHub. If watermark_text and watermark_image both are present in the request then watermark_text will be applied as watermark.
watermark_positionStringNothe watermark position. For example: you want to add the watermark at center position then it will be as position: center and it defaults to bottom_right and user can enter any of top_right,top_left,bottom_right,bottom_left,center,top_center,bottom_center,center_left,center_right
watermark_opacityStringNothe opacity of the watermark , should be in decimal format. Range is from 0.0 to 1.0 and it defaults to 0.5
watermark_text_background_colorStringNothe background color of the watermark text, should be in hexadecimal color#rrggbb format. For example #000000 for white and it defaults to "" i.e. transparent
watermark_font_sizeStringNothe font-size of the watermark text, should be in numeric format. For example 50 and it defaults to 24
watermark_font_colorStringNothe font color of the watermark text, should be in hexadecimal color#rrggbb format. For example #ffffff for white and it defaults to #ffffff
watermark_text_paddingNumberNothe text-padding of the watermark text and background box, should be in numeric format. For example 15 and it defaults to 10
watermark_image_sizeStringNothe dimensions of the watermark image, should be in WidthxHeight format and it defaults to 50x50
sizeStringNothe dimensions of the generated video file, should be in WidthxHeight format where Width and Height must be divisible by 2 and it defaults to original_size
gif_loopbooleanNoLoop the GIF watermark image throughout the entire video if it is in GIF format, should be in boolean format and it defaults to false
Sample Response
The method returns the watermarked video in the output file mentioned in the URI.

HTTP Response Codes

The method may return one of the following HTTP status codes:
Status CodeDescription
200The request was successful.
401Required authentication information is either missing or not valid for the resource.
400Invalid input - the provided files are corrupt or the supported inputs are not provided.
500If any unexpected error occurs while processing the request.

Authentication

All API requests to ApyHub services need to be authenticated. Currently we support tokens or basic authentication mechanisms. You can generate and view your existing credentials from your workspace settings (on the left side of the navbar) and go to “API Keys".
Points to note:
  • Credential secrets are generated on the fly and are not stored in plain text, so on generating a credential please save the secrets somewhere safe.
  • Use the apy-token as the header parameter to pass the token.
  • Use the Authorization header to send the basic authentication credentials.

Error codes

1
{
2
"error": {
3
"code": 105,
4
"message": "Invalid URL"
5
}
6
}
To search for a specific error code, enter the code in the search box below. Alternatively, you can click on the button to view a complete list of all error codes.
Table of contents
AboutAPI PlaygroundAPI DocumentationAuthenticationError codesRelated Utility APIsRelated Articles