Skip to main content

youtube

youtube.delete_comment

Delete YouTube comment

Effects: delete, write

Permanently delete a YouTube comment by id (or 'youtube:comment:<id>'). Cannot be undone. Costs 50 quota units.

Arguments

ArgumentTypeRequiredDescription
comment_idstringyesBare commentId OR 'youtube:comment:<id>'.

youtube.delete_video

Delete YouTube video

Effects: delete, write

Permanently delete a YouTube video by id (or 'youtube:video:<id>'). Cannot be undone. Costs 50 quota units. Caller must own the channel.

Arguments

ArgumentTypeRequiredDescription
video_idstringyesBare videoId OR 'youtube:video:<id>'.

youtube.list_comments

List YouTube comments

Effects: read

List comment threads on a YouTube video. Pass video_id (e.g. 'dQw4w9WgXcQ') or channel_ref ('youtube:video:<id>'). Returns top-level comments with inline replies.

Arguments

ArgumentTypeRequiredDescription
max_resultsintegernoPage size, 1-100. Default 25.
page_tokenstringnoPagination cursor from a previous call's next_page_token.
video_idstringyesYouTube videoId — bare 11-char form OR full 'youtube:video:<id>'.

youtube.list_videos

List YouTube videos

Effects: read

List videos on the connected YouTube channel. Returns id, title, published_at, view_count. Paginate via page_token.

Arguments

ArgumentTypeRequiredDescription
max_resultsintegernoPage size, 1-50. Default 25.
page_tokenstringnoPagination cursor returned in a previous call's next_page_token. Omit for the first page.

youtube.moderate_comment

Moderate YouTube comment

Effects: write

Apply a moderation status to a YouTube comment. Allowed status values: heldForReview, published, rejected, spam. Costs 50 quota units.

Arguments

ArgumentTypeRequiredDescription
comment_idstringyesBare commentId OR 'youtube:comment:<id>'.
statusstringyesOne of: heldForReview, published, rejected, spam.

youtube.post_comment_reply

Post YouTube comment / reply

Effects: write

Post a comment on a YouTube video, or reply to an existing comment. Pass video_id for a top-level comment, OR parent_comment_id to reply. AI-disclosure suffix appended automatically when configured.

Arguments

ArgumentTypeRequiredDescription
parent_comment_idstringnoBare commentId or 'youtube:comment:<id>' — for a reply.
textstringyesComment body. 1-10000 chars. AI-disclosure suffix may be auto-appended.
video_idstringnoBare videoId or 'youtube:video:<id>' — for a top-level comment.

youtube.update_video

Update YouTube video

Effects: write

Update title, description, privacy, or tags on a YouTube video. Costs 1600 quota units. Only fields provided are changed.

Arguments

ArgumentTypeRequiredDescription
descriptionstringnoNew description (max 5000 chars). Omit to keep current.
privacystringno'private', 'unlisted', or 'public'. Omit to keep current. (one of private, unlisted, public)
tagsarraynoNew tags list. Omit to keep current.
titlestringnoNew title (max 100 chars). Omit to keep current.
video_idstringyesBare videoId OR 'youtube:video:<id>'.

youtube.upload_video

Upload video to YouTube

Effects: write

Upload a workspace-owned video file (file_id) to the connected YouTube channel. Returns video_id + thread_id. Costs 1600 quota units. Default privacy is 'private' — pass privacy='public' to publish.

Arguments

ArgumentTypeRequiredDescription
category_idstringnoYouTube category ID (default '22' = People & Blogs). See https://developers.google.com/youtube/v3/docs/videoCategories/list. (default 22)
channel_account_idintegernoThe connected YouTube channel_account.id. OMIT to auto-resolve the workspace's YouTube account.
descriptionstringnoVideo description (max 5000 chars). OMIT to upload without a description.
file_idintegeryesWorkspace files.id of the video to upload. Must be a video/* MIME type and status='ready'. Get IDs from the [ATTACHMENTS] block, files.search, or search.files.
made_for_kidsbooleannoCOPPA flag. OMIT for the standard (non-kids) default.
privacystringnoPrivacy status. 'private' (default), 'unlisted', or 'public'. (one of private, unlisted, public; default private)
tagsarraynoOptional list of tag strings (max ~500 chars total).
titlestringyesVideo title (max 100 chars).

youtube.video_query

Ask Gemini about a YouTube video

Effects: read

Ask Gemini about a YouTube video. Pass a video URL and any prompt — verbatim transcript with timestamps, summary, targeted Q&A about content or visuals, translation, etc. Works on any public/unlisted video.

Arguments

ArgumentTypeRequiredDescription
promptstringyesWhat to ask Gemini about the video. Examples: 'Provide a verbatim transcript with [HH:MM:SS] timestamps.' / 'What is the main claim made in the first 30 seconds?' / 'Describe what's shown on screen at 0:30.' / 'Translate the spoken Spanish to English.'
urlstringyesYouTube video URL. Supported forms: youtube.com/watch?v=…, youtu.be/…, youtube.com/shorts/…, m.youtube.com/watch?v=…. Pass-through to Gemini verbatim.