We are updating the Data API to match how YouTube counts views for Shorts.
Learn more
ChannelBanners: insert
Stay organized with collections
Save and categorize content based on your preferences.
Uploads a channel banner image to YouTube. This method represents the first two steps in a three-step process to update the banner image for a channel:
- Call the
channelBanners.insert
method to upload the binary image data to YouTube. The image must have a 16:9 aspect ratio and be at least 2048x1152 pixels. We recommend uploading a 2560px by 1440px image. - Extract the
url
property's value from the response that the API returns for step 1. - Call the
channels.update
method to update the channel's branding settings. Set the brandingSettings.image.bannerExternalUrl
property's value to the URL obtained in step 2.
This method supports media upload. Uploaded files must conform to these constraints:
- Maximum file size: 6MB
- 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/channelBanners/insert
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/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 |
Optional parameters |
onBehalfOfContentOwner |
string
This parameter can only be used in a properly authorized request.
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
Do not provide a request body when calling this method.
Response
If successful, this method returns a channelBanner
resource in the response body.
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) |
bannerAlbumFull |
Your YouTube Channel Art album has too many images. To fix this, go to Google Photos, then navigate to the albums page and remove some images from that album. |
badRequest (400) |
mediaBodyRequired |
The request does not include the image content. |
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 allows you to upload a channel banner image to YouTube, which is the initial stage of a three-step process for updating a channel's banner image.\u003c/p\u003e\n"],["\u003cp\u003eThe image uploaded must adhere to specific constraints, requiring a 16:9 aspect ratio, a minimum resolution of 2048x1152 pixels (recommended 2560x1440), a maximum file size of 6MB, and supported MIME types including \u003ccode\u003eimage/jpeg\u003c/code\u003e, \u003ccode\u003eimage/png\u003c/code\u003e, and \u003ccode\u003eapplication/octet-stream\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAfter uploading the image, you need to extract the URL from the API response and use it in the \u003ccode\u003echannels.update\u003c/code\u003e method to set the channel's \u003ccode\u003ebannerExternalUrl\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eUtilizing this API method will incur a quota cost of 50 units, and it necessitates authorization with one of the specified scopes: \u003ccode\u003ehttps://www.googleapis.com/auth/youtube.upload\u003c/code\u003e, \u003ccode\u003ehttps://www.googleapis.com/auth/youtube\u003c/code\u003e, or \u003ccode\u003ehttps://www.googleapis.com/auth/youtube.force-ssl\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe content owner can use the \u003ccode\u003eonBehalfOfContentOwner\u003c/code\u003e optional parameter to make the request, by authenticating with their CMS account, allowing to manage multiple channels.\u003c/p\u003e\n"]]],["To update a YouTube channel banner, first, use the `channelBanners.insert` method to upload a 16:9 aspect ratio image (at least 2048x1152 pixels, recommended 2560x1440px). The image file must be under 6MB and of `image/jpeg`, `image/png`, or `application/octet-stream` type. Then, extract the image URL from the API response. Finally, use the `channels.update` method to set the `brandingSettings.image.bannerExternalUrl` to the extracted URL. This method has a quota cost of 50 units.\n"],null,["Uploads a channel banner image to YouTube. This method represents the first two steps in a three-step process to update the banner image for a channel:\n\n\u003cbr /\u003e\n\n1. Call the `channelBanners.insert` method to upload the binary image data to YouTube. The image must have a 16:9 aspect ratio and be at least 2048x1152 pixels. We recommend uploading a 2560px by 1440px image.\n2. Extract the `url` property's value from the response that the API returns for step 1.\n3. Call the [channels.update](/youtube/v3/docs/channels/update) method to update the channel's branding settings. Set the [brandingSettings.image.bannerExternalUrl](/youtube/v3/docs/channels#brandingSettings.image.bannerExternalUrl) property's value to the URL obtained in step 2.\n\n\u003cbr /\u003e\n\nThis method supports media upload. Uploaded files must conform to these constraints:\n\n- **Maximum file size:** 6MB\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\nHTTP request \n\n```\nPOST https://www.googleapis.com/upload/youtube/v3/channelBanners/insert\n```\n\nAuthorization\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/youtube.upload` |\n| `https://www.googleapis.com/auth/youtube` |\n| `https://www.googleapis.com/auth/youtube.force-ssl` |\n\nParameters\n\nThe following table lists the parameters that this query supports. All of the parameters listed are query parameters.\n\n| Parameters ||\n|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| **Optional parameters** |||\n| `onBehalfOfContentOwner` | `string` This parameter can only be used in a properly [authorized request](/youtube/v3/guides/authentication). **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\nRequest body\n\nDo not provide a request body when calling this method.\n\nResponse\n\nIf successful, this method returns a [channelBanner](/youtube/v3/docs/channelBanners#resource) resource in the response body.\n\nErrors\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)` | `bannerAlbumFull` | Your YouTube Channel Art album has too many images. To fix this, go to [Google Photos](http://photos.google.com), then navigate to the albums page and remove some images from that album. |\n| `badRequest (400)` | `mediaBodyRequired` | The request does not include the image content. |\n\nTry it!\n\nUse the APIs Explorer to call this API and see the API request and response."]]