We are updating the Data API to match how YouTube counts views for Shorts.
Learn more
Watermarks: set
Stay organized with collections
Save and categorize content based on your preferences.
Uploads a watermark image to YouTube and sets it for a channel.
This method supports media upload. Uploaded files must conform to these constraints:
- Maximum file size: 10MB
- Accepted Media MIME types:
image/jpeg
, image/png
, application/octet-stream
Quota impact: A call to this method has a quota cost of 50 units.
Request
HTTP request
POST https://www.googleapis.com/upload/youtube/v3/watermarks/set
Authorization
This request requires authorization with at least one of the following scopes. To read more about authentication and authorization, see Implementing OAuth 2.0 authorization.
Scope |
https://www.googleapis.com/auth/youtubepartner |
https://www.googleapis.com/auth/youtube.upload |
https://www.googleapis.com/auth/youtube |
https://www.googleapis.com/auth/youtube.force-ssl |
Parameters
The following table lists the parameters that this query supports. All of the parameters listed are query parameters.
Parameters |
Required parameters |
channelId |
string
The channelId parameter specifies the YouTube channel ID for which the watermark is being provided. |
Optional parameters |
onBehalfOfContentOwner |
string
Note: This parameter is intended exclusively for YouTube content partners.
The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. |
Request body
Provide a watermark
resource in the request body.
Response
If successful, this method returns an HTTP 204 No Content
status code.
Errors
The following table identifies error messages that the API could return in response to a call to this method. For more details, see YouTube Data API - Errors.
Error type |
Error detail |
Description |
badRequest (400) |
imageFormatUnsupported |
The image you provided is in an unsupported format. |
badRequest (400) |
imageTooTall |
The image you provided is too tall. |
badRequest (400) |
imageTooWide |
The image you provided is too wide. |
badRequest (400) |
mediaBodyRequired |
The request does not include the image content. |
forbidden (403) |
forbidden |
The watermark can't be set for the specified channel. The request may not be properly authorized, or the channelId parameter is set to an invalid value. |
Try it!
Use the APIs Explorer to call this API and see the API request and response.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-20 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-20 UTC."],[[["\u003cp\u003eThis method enables uploading a watermark image to YouTube and applying it to a specific channel, supporting file sizes up to 10MB.\u003c/p\u003e\n"],["\u003cp\u003eAccepted image formats for the watermark include JPEG and PNG, and the method uses \u003ccode\u003eapplication/octet-stream\u003c/code\u003e as an accepted MIME type.\u003c/p\u003e\n"],["\u003cp\u003eSetting a watermark using this method consumes 50 quota units, and requires proper authorization using at least one of the specified scopes.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003echannelId\u003c/code\u003e is a required parameter, while \u003ccode\u003eonBehalfOfContentOwner\u003c/code\u003e is an optional parameter meant only for YouTube content partners.\u003c/p\u003e\n"],["\u003cp\u003eA successful request returns a \u003ccode\u003e204 No Content\u003c/code\u003e status, and common errors include unsupported image format, incorrect image dimensions, and missing image content.\u003c/p\u003e\n"]]],["The content describes uploading a watermark image to a YouTube channel using the `watermarks/set` method. This process involves a POST request to the API endpoint, requiring a `channelId` parameter and authorization with specific scopes. The image file must be under 10MB and of `image/jpeg`, `image/png`, or `application/octet-stream` MIME type. This operation costs 50 quota units. A successful request returns a `204` status; errors can include invalid format, size issues, or authorization problems.\n"],null,["# Watermarks: set\n\nUploads a watermark image to YouTube and sets it for a channel.\n\nThis method supports media upload. Uploaded files must conform to these constraints:\n\n- **Maximum file size:** 10MB\n- **Accepted Media MIME types:** `image/jpeg`, `image/png`, `application/octet-stream`\n\n**Quota impact:** A call to this method has a [quota cost](/youtube/v3/getting-started#quota) of 50 units.\n\nRequest\n-------\n\n### HTTP request\n\n```\nPOST https://www.googleapis.com/upload/youtube/v3/watermarks/set\n```\n\n### Authorization\n\nThis request requires authorization with at least one of the following scopes. To read more about authentication and authorization, see [Implementing OAuth 2.0 authorization](/youtube/v3/guides/authentication).\n\n| Scope |\n|-----------------------------------------------------|\n| `https://www.googleapis.com/auth/youtubepartner` |\n| `https://www.googleapis.com/auth/youtube.upload` |\n| `https://www.googleapis.com/auth/youtube` |\n| `https://www.googleapis.com/auth/youtube.force-ssl` |\n\n### Parameters\n\nThe following table lists the parameters that this query supports. All of the parameters listed are query parameters.\n\n| Parameters ||\n|--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| **Required parameters** |||\n| `channelId` | `string` The **channelId** parameter specifies the YouTube channel ID for which the watermark is being provided. |\n| **Optional parameters** |||\n| `onBehalfOfContentOwner` | `string` **Note:** This parameter is intended exclusively for YouTube content partners. The **onBehalfOfContentOwner** parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. |\n\n### Request body\n\nProvide a [watermark](/youtube/v3/docs/watermarks#resource) resource in the request body.\n\nResponse\n--------\n\nIf successful, this method returns an HTTP `204 No Content` status code.\n\nErrors\n------\n\nThe following table identifies error messages that the API could return in response to a call to this method. For more details, see [YouTube Data API - Errors](/youtube/v3/docs/errors).\n\n| Error type | Error detail | Description |\n|--------------------|--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `badRequest (400)` | `imageFormatUnsupported` | The image you provided is in an unsupported format. |\n| `badRequest (400)` | `imageTooTall` | The image you provided is too tall. |\n| `badRequest (400)` | `imageTooWide` | The image you provided is too wide. |\n| `badRequest (400)` | `mediaBodyRequired` | The request does not include the image content. |\n| `forbidden (403)` | `forbidden` | The watermark can't be set for the specified channel. The request may not be properly authorized, or the `channelId` parameter is set to an invalid value. |\n\nTry it!\n-------\n\nUse the APIs Explorer to call this API and see the API request and response."]]