Skip to main content
Glama

Update Video

update_video
DestructiveIdempotent

Change a YouTube video's title, description, tags, privacy, category, or schedule by passing only fields to update; other metadata stays unchanged.

Instructions

Change a video's metadata. Only the fields you pass change; the rest keep their values.

Quota: 51 units.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoNew tags, replacing the current ones. An empty list removes all tags. YouTube may store them in a different order.
titleNoNew title.
videoYesVideo ID or URL.
privacyNoNew privacy status. Making a scheduled video public or unlisted cancels the schedule.
languageNoLanguage of the title and description, e.g. en-US.
ai_contentNoWhether AI made realistic content: a real person saying or doing something they didn't, altered footage of a real event or place, a realistic scene that didn't happen, or music that's the video's focus. Not for scripts, captions, or obviously unreal content. Left out, the current answer stays.
my_channelNoWhich of your logged-in channels to work on: UC… ID, @handle or exact title. Omit for the default channel.
publish_atNoSchedule publication at this date or datetime. The video must end up private.
category_idNoNew category ID (see the video categories listing).
descriptionNoNew description.
made_for_kidsNoWhether the video is made for kids (COPPA).
audio_languageNoLanguage spoken in the video, e.g. en-US.
paid_promotionNoWhether the video includes paid promotion: a sponsorship, product placement, or endorsement.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
urlYes
tagsNoIn the order YouTube stores them, which may differ from yours.
statsNo
titleNo
privacyNo
durationNo
languageNoLanguage of the title and description, e.g. en-US.
ai_contentNoDeclared to contain realistic AI-made content, as set by this upload or update. YouTube doesn't report it when reading a video.
channel_idNo
publish_atNo
studio_urlNoEdit page in YouTube Studio; only for videos on channels you're logged in to.
category_idNo
descriptionNo
published_atNo
channel_titleNo
upload_statusNouploaded, processed, failed, rejected, or deleted.
audio_languageNoLanguage spoken in the video, e.g. en-US.
paid_promotionNoDeclared to include paid promotion.
duration_secondsNo
rejection_reasonNoWhy YouTube rejected the video, e.g. copyright, duplicate, length, termsOfService. YouTube reports no reason for a video kept private because its API project isn't verified.
upload_failure_reasonNoWhy a failed upload failed, e.g. codec, conversion, emptyFile, invalidFile, tooSmall.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuine context beyond that: partial-update semantics and a quota cost of 51 units. It stops short of disclosing the practical consequences of the destructive hint (e.g., unpublishing a public video, cancelling a scheduled publish) or any ownership/permission requirements, which the schema only hints at for the schedule case.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences and a quota line, all front-loaded with the core behavior first. Nothing is redundant or padded, and the partial-update rule is stated before the quota note.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the schema thoroughly documents all 13 parameters. For a 13-parameter destructive mutation on an open-world system, though, the description omits prerequisites (must own the video), what happens on invalid combinations (e.g., publish_at with a non-private outcome), and what error surfaces look like. Adequate but thin for the complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across all 13 parameters, with per-field detail including enum-ish values, nullability and side effects, so the schema carries the burden. The description's "only the fields you pass change" adds cross-parameter semantics the schema can't express, but nothing else about individual parameters is contributed. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Change a video's metadata" gives a specific verb and resource, which cleanly separates it from update_channel, update_playlist, upload_video and delete_video in the sibling list. It does not explicitly name an alternative, but the resource scope leaves little ambiguity. Slight imprecision: privacy and publish_at are more than "metadata," so the stated scope under-describes the tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Only the fields you pass change; the rest keep their values" is real guidance on how to call it (partial update semantics) and usefully implies you don't need to resend everything. However, there is no when-to-use vs. when-not guidance: no mention that thumbnails go to set_thumbnail, playlist placement to move_in_playlist, or that deletion is delete_video. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.