Assets Upload Video Asset
assets_upload_video_assetUpload a video to YouTube via the Google Ads API after validating the request and obtaining checksum approval, especially for large files.
Instructions
Uploads a video to YouTube natively via the Google Ads API.
Once a video has been uploaded, it can be used to create a video asset.
This operation executes via a FastMCP background task to gracefully handle large file uploads
(supported in local stdio mode only).
Once the upload finishes successfully, using the search tool and querying the you_tube_video_upload
resource matching the returned ID allows you to retrieve the YouTube Video ID and processing status.
Propose & Confirm Workflow (validate_only and checksum):
Call
upload_video_assetwithvalidate_only=True(the default). After validation passes, the tool returns structuredchange_itemsand achecksumwithout uploading the video.Present the
change_itemsto the user and wait for explicit user approval.Only after user confirmation, call
upload_video_assetwithvalidate_only=Falsealong with the exact same parameters and thechecksumreturned by the previousvalidate_only=Truecall.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"customer_id": "<customer_id>",
"video_title": "<video_title>",
"video_description": "<video_description>",
"video_path": "<video_path>"
},
"name": "assets_upload_video_asset"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| checksum | No | Checksum of the validated operation returned by a prior `validate_only=True` call. Required when `validate_only=False`. | |
| video_path | Yes | The absolute path on the local filesystem to the video file to be uploaded (local stdio mode only). | |
| customer_id | Yes | Google Ads Customer ID (digits or hyphenated, e.g. '1234567890'). | |
| video_title | Yes | The title you wish your video to have on YouTube. | |
| validate_only | No | If True (default), validates the request and returns proposed `change_items` and a `checksum` without uploading the video. If False, requires `checksum` from a prior `validate_only=True` call to execute the video upload. | |
| video_privacy | No | The privacy setting of the video on YouTube. Default is UNLISTED. Valid values are: PUBLIC, UNLISTED, PRIVATE. Note: PUBLIC is only allowed for brand channels. | UNLISTED |
| login_customer_id | No | Optional manager customer ID to use as the login-customer-id header. | |
| video_description | Yes | The description text attached to your YouTube video. | |
| youtube_channel_id | No | Optional. The ID of the YouTube channel the video will be uploaded to. If not provided, it will be uploaded to a Google-managed YouTube channel linked to your ads account. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |