yt_update_video
Updates an existing YouTube video's metadata, visibility, schedule, or custom thumbnail while preserving any fields you omit, so partial edits do not clear current settings.
Instructions
Perform a partial, idempotent update on an existing YouTube video's metadata, visibility, schedule, or custom thumbnail in YouTube Studio via YouTube Data API v3 (videos.list + videos.update, costs ~51 quota units). Requires channel-owner OAuth2. Fetches current snippet/status first so omitted parameters (title, description, tags, privacy_status, publish_at) are preserved unchanged rather than cleared. Setting publish_at automatically forces privacy_status='private' as required by YouTube's scheduling API. Returns {videoId, studioUrl, updatedFields}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Replacement list of YouTube SEO keyword tags. Leave omitted to keep existing tags. | |
| title | No | New video title (1–100 characters). Leave omitted to keep existing title. | |
| video_id | Yes | 11-character YouTube video ID to update. | |
| publish_at | No | Future ISO 8601 timestamp with timezone offset to schedule publication (e.g. '2026-11-05T17:00:00+01:00'). Forces privacy_status='private'. | |
| description | No | New video description (up to 5,000 characters). Leave omitted to keep existing description. | |
| privacy_status | No | Updated visibility status. Ignored and forced to 'private' if publish_at is provided. | |
| thumbnail_path | No | Optional absolute local filesystem path to a readable PNG/JPG image (<=2MB) to upload via thumbnails.set. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | ||
| studioUrl | Yes |