YouTube Channel Management: Upload File Manager videos, update video metadata, privacy, localizations, thumbnails, captions, playlists, playlist items, chann...
---
name: youtube-channel-management
description: "YouTube Channel Management: Upload File Manager videos, update video metadata, privacy, localizations, thumbnails, captions, playlists, playlist items, channel sections, channel branding, watermarks, and discover YouTube categories/capabilities. Use when an agent needs youtube channel management, youtube api, upload youtube shorts or standard videos from file manager; update titles, descriptions, tags, privacy, add video to playlist, playlist id through AgentPMT-hosted remote tool calls."
version: 1.0.0
homepage: https://www.agentpmt.com/marketplace/youtube-api
compatibility: "Agent instructions for AgentPMT-hosted remote tool calls. Follow this skill body for supported account, wallet, and setup routes. No local command runtime is declared."
metadata: {"author":"agentpmt","openclaw":{"homepage":"https://www.agentpmt.com/marketplace/youtube-api"}}
---
# YouTube Channel Management
## Freshness
Last updated: `2026-06-24`.
If the current date is more than 7 days after the last updated date, reinstall this skill from skills.sh or ClawHub before relying on endpoints, schemas, setup steps, or examples.
## What This Tool Does
Upload File Manager videos to YouTube, set metadata, thumbnails, captions, privacy, and publish timing, then organize channel content with playlists, channel sections, branding, and watermarks.
## Product Instructions
### YouTube Channel Management
Upload File Manager videos, edit video metadata/privacy, manage thumbnails, captions, playlists, channel sections, branding, and watermarks.
#### Video Actions
##### `upload_video`
Required: `source_file_id`, `title`
Optional: `description`, `tags`, `category_id`, `default_language`, `localizations`, `privacy_status` (`public`/`unlisted`/`private`, default `unlisted`), `publish_at`, `made_for_kids`, `license` (`youtube`/`creativeCommon`), `embeddable`, `public_stats_viewable`, `contains_synthetic_media`, `recording_date`, `notify_subscribers` (default `false`), `playlist_id`, `position`, `source_content_type`, `chunk_size_bytes`
```json
{"action":"upload_video","source_file_id":"file_abc123","title":"Product Demo","description":"Short walkthrough","privacy_status":"unlisted","notify_subscribers":false}
```
##### `get_video`
Required: `video_id`
```json
{"action":"get_video","video_id":"dQw4w9WgXcQ"}
```
##### `update_video`
Required: `video_id` plus at least one video metadata/status field from `upload_video`.
```json
{"action":"update_video","video_id":"dQw4w9WgXcQ","title":"Updated Title","license":"creativeCommon","embeddable":true}
```
##### `delete_video`
Required: `video_id`
```json
{"action":"delete_video","video_id":"dQw4w9WgXcQ"}
```
##### `set_video_thumbnail`
Required: `video_id`, `thumbnail_file_id`
Optional: `thumbnail_content_type`
```json
{"action":"set_video_thumbnail","video_id":"dQw4w9WgXcQ","thumbnail_file_id":"file_thumb123"}
```
#### Caption Actions
##### `list_captions`
Required: `video_id`
```json
{"action":"list_captions","video_id":"dQw4w9WgXcQ"}
```
##### `upload_caption`
Required: `video_id`, `caption_file_id`, `language`, `name`
Optional: `is_draft`, `caption_content_type`
```json
{"action":"upload_caption","video_id":"dQw4w9WgXcQ","caption_file_id":"file_srt123","language":"en","name":"English","is_draft":false}
```
##### `update_caption`
Required: `caption_id` and at least one of `caption_file_id`, `is_draft`
Optional: `caption_content_type`
```json
{"action":"update_caption","caption_id":"caption123","is_draft":true}
```
##### `download_caption`
Required: `caption_id`
Optional: `caption_format` (`sbv`/`scc`/`srt`/`ttml`/`vtt`), `translation_language`, `output_filename`
```json
{"action":"download_caption","caption_id":"caption123","caption_format":"srt","output_filename":"captions.srt"}
```
##### `delete_caption`
Required: `caption_id`
```json
{"action":"delete_caption","caption_id":"caption123"}
```
#### Playlist Actions
##### `create_playlist`
Required: `title`
Optional: `description`, `tags`, `privacy_status` (`public`/`unlisted`/`private`, default `unlisted`)
```json
{"action":"create_playlist","title":"Customer Stories Q2","privacy_status":"private"}
```
##### `list_playlists`
Optional: `max_results` (1-50, default `25`), `page_token`
```json
{"action":"list_playlists","max_results":10}
```
##### `get_playlist`, `update_playlist`, `delete_playlist`
Required: `playlist_id`; update also needs one of `title`, `description`, `tags`, `privacy_status`.
```json
{"action":"update_playlist","playlist_id":"PLxxxxxxxx","title":"Updated Playlist"}
```
##### `add_video_to_playlist`
Required: `playlist_id`, `video_id`
Optional: `position`
```json
{"action":"add_video_to_playlist","playlist_id":"PLxxxxxxxx","video_id":"dQw4w9WgXcQ","position":0}
```
##### `list_playlist_items`
Required: `playlist_id`
Optional: `max_results` (1-50), `page_token`
```json
{"action":"list_playlist_items","playlist_id":"PLxxxxxxxx","max_results":50}
```
##### `remove_playlist_item`, `remove_video_from_playlist`
Use `remove_playlist_item` with `playlist_item_id`, or `remove_video_from_playlist` with `playlist_id`, `video_id`, optional `remove_all`.
```json
{"action":"remove_video_from_playlist","playlist_id":"PLxxxxxxxx","video_id":"dQw4w9WgXcQ","remove_all":true}
```
#### Channel Actions
##### `get_my_channel`
Optional: `channel_id` (omit to use the connected account's channel)
```json
{"action":"get_my_channel"}
```
##### `update_channel_branding`
Optional filter: `channel_id`
Required: at least one of `channel_description`, `keywords`, `country`, `default_language`, `unsubscribed_trailer_video_id`
```json
{"action":"update_channel_branding","channel_description":"Official product videos and tutorials","country":"US"}
```
##### Channel sections
Actions: `list_channel_sections`, `create_channel_section`, `update_channel_section`, `delete_channel_section`
Use `section_type`, `section_title`, `section_position`, `playlist_ids`, `channel_ids`, and `channel_section_id` as required by the action.
```json
{"action":"create_channel_section","section_type":"multiplePlaylists","section_title":"Product Videos","playlist_ids":["PLxxxxxxxx"]}
```
##### Watermarks
Actions: `set_channel_watermark`, `unset_channel_watermark`
Set requires `channel_id`, `watermark_file_id`; optional `watermark_timing_type`, `watermark_offset_ms`, `watermark_duration_ms`, `target_channel_id`, `watermark_content_type`.
Watermark position is fixed to YouTube's top-right corner placement; timing is configurable.
```json
{"action":"set_channel_watermark","channel_id":"UCxxxx","watermark_file_id":"file_watermark123","watermark_offset_ms":0}
```
#### Discovery
##### `list_video_categories`
Optional: `region_code` (default `US`), `hl`
```json
{"action":"list_video_categories","region_code":"US"}
```
##### `get_youtube_capabilities`
Returns supported API-backed features and unsupported Studio-only surfaces.
```json
{"action":"get_youtube_capabilities"}
```
#### Notes
- Video, thumbnail, caption, and watermark uploads require File Manager file IDs.
- Update actions fetch current YouTube resources and merge supplied fields to avoid clearing omitted metadata.
- Links in descriptions are supported as description text. Public API support is not available for cards, end screens, or custom in-video linked-video elements; use playlists and channel sections for connected video organization.
## When To Use
- Use this skill for `YouTube Channel Management` on AgentPMT.
- Use it when an agent needs this specific tool's behavior, schema, inputs, outputs, and invocation shape.
- Search and activation keywords: youtube channel management, youtube api, upload youtube shorts or standard videos from file manager; update titles, descriptions, tags, privacy, add video to playlist, playlist id.
- Supported action names: `add_video_to_playlist`, `create_channel_section`, `create_playlist`, `delete_caption`, `delete_channel_section`, `delete_playlist`, `delete_video`, `download_caption`, `get_my_channel`, `get_playlist`, `get_video`, `get_youtube_capabilities`, `list_captions`, `list_channel_sections`, `list_playlist_items`, `list_playlists`, `list_video_categories`, `remove_playlist_item`, `remove_video_from_playlist`, `set_channel_watermark`, `set_video_thumbnail`, `unset_channel_watermark`, `update_caption`, `update_channel_branding`, `update_channel_section`, `update_playlist`, `update_video`, `upload_caption`, `upload_video`.
## Use Cases
- Upload YouTube Shorts or standard videos from File Manager; update titles
- descriptions
- tags
- privacy
- licensing
- synthetic media disclosure
- publish scheduling
- and localizations; set custom thumbnails; upload
- update
- download
- list
- and delete captions; create and manage playlists and playlist items; manage channel sections for connected video organization; update safe channel branding fields; set or unset channel watermarks; discover categories and API capability limits.
## Related Product Skills
- File Storage - 10MB or less: ../file-storage-10mb-or-less (ClawHub: `file-storage-10mb-or-less`, page: https://clawhub.ai/agentpmt/file-storage-10mb-or-less; skills.sh: `npx skills add AgentPMT/agent-skills --skill file-storage-10mb-or-less`)
- File Storage - Over 10MB: ../file-storage-over-10mb (ClawHub: `file-storage-over-10mb`, page: https://clawhub.ai/agentpmt/file-storage-over-10mb; skills.sh: `npx skills add AgentPMT/agent-skills --skill file-storage-over-10mb`)
- File Management: ../file-management (ClawHub: `file-management`, page: https://clawhub.ai/agentpmt/file-management; skills.sh: `npx skills add AgentPMT/agent-skills --skill file-management`)
## Categories And Industries
No categories or industry tags are published for this tool.
## Actions And Schema
Complete generated action schema: `./schema.md`.
Supported action count: `29`.
x402 availability: not enabled for this product.
- `add_video_to_playlist` (action slug: `add-video-to-playlist`): Add a YouTube video to a playlist. Price: `25` credits. Parameters: `playlist_id`, `position`, `video_id`.
- `create_channel_section` (action slug: `create-channel-section`): Create a channel section such as singlePlaylist, multiplePlaylists, multipleChannels, recentUploads, or popularUploads. Price: `25` credits. Parameters: `channel_ids`, `playlist_id`, `playlist_ids`, `section_position`, `section_title`, `section_type`.
- `create_playlist` (action slug: `create-playlist`): Create a YouTube playlist. Price: `25` credits. Parameters: `description`, `privacy_status`, `tags`, `title`.
- `delete_caption` (action slug: `delete-caption`): Delete a caption track. Price: `25` credits. Parameters: `caption_id`.
- `delete_channel_section` (action slug: `delete-channel-section`): Delete a channel section. Price: `25` credits. Parameters: `channel_section_id`.
- `delete_playlist` (action slug: `delete-playlist`): Delete a playlist. Price: `25` credits. Parameters: `playlist_id`.
- `delete_video` (action slug: `delete-video`): Delete a YouTube video by ID. Price: `25` credits. Parameters: `video_id`.
- `download_caption` (action slug: `download-caption`): Download a caption track and save it to AgentPMT File Manager. Price: `25` credits. Parameters: `caption_format`, `caption_id`, `output_filename`, `translation_language`.
- `get_my_channel` (action slug: `get-my-channel`): Fetch channel details for the connected account or a supplied channel ID. Price: `25` credits. Parameters: `channel_id`.
- `get_playlist` (action slug: `get-playlist`): Fetch a playlist by ID. Price: `25` credits. Parameters: `playlist_id`.
- `get_video` (action slug: `get-video`): Fetch a YouTube video by ID with supported read parts. Price: `25` credits. Parameters: `video_id`.
- `get_youtube_capabilities` (action slug: `get-youtube-capabilities`): Return supported and unsupported YouTube public API capabilities. Price: `25` credits. Parameters: none.
- `list_captions` (action slug: `list-captions`): List caption tracks associated with a video. Price: `25` credits. Parameters: `video_id`.
- `list_channel_sections` (action slug: `list-channel-sections`): List channel sections for the connected account, a channel, or a section ID. Price: `25` credits. Parameters: `channel_id`, `channel_section_id`.
- `list_playlist_items` (action slug: `list-playlist-items`): List items in a playlist. Price: `25` credits. Parameters: `max_results`, `page_token`, `playlist_id`.
- `list_playlists` (action slug: `list-playlists`): List playlists for the connected YouTube channel. Price: `25` credits. Parameters: `max_results`, `page_token`.
- `list_video_categories` (action slug: `list-video-categories`): List supported YouTube video categories for a region. Price: `25` credits. Parameters: `hl`, `region_code`.
- `remove_playlist_item` (action slug: `remove-playlist-item`): Remove a playlist item by playlistItem ID. Price: `25` credits. Parameters: `playlist_item_id`.
- `remove_video_from_playlist` (action slug: `remove-video-from-playlist`): Remove one or all playlist items matching a video ID from a playlist. Price: `25` credits. Parameters: `playlist_id`, `remove_all`, `video_id`.
- `set_channel_watermark` (action slug: `set-channel-watermark`): Set a channel watermark from an AgentPMT File Manager image. Price: `25` credits. Parameters: `channel_id`, `target_channel_id`, `watermark_content_type`, `watermark_duration_ms`, `watermark_file_id`, `watermark_offset_ms`, `watermark_timing_type`.
- `set_video_thumbnail` (action slug: `set-video-thumbnail`): Set a custom video thumbnail from an AgentPMT File Manager image. Price: `25` credits. Parameters: `thumbnail_content_type`, `thumbnail_file_id`, `video_id`.
- `unset_channel_watermark` (action slug: `unset-channel-watermark`): Remove a channel watermark. Price: `25` credits. Parameters: `channel_id`.
- `update_caption` (action slug: `update-caption`): Update a caption file, draft status, or both. Price: `25` credits. Parameters: `caption_content_type`, `caption_file_id`, `caption_id`, `is_draft`.
- `update_channel_branding` (action slug: `update-channel-branding`): Update safe channel branding fields using fetch-merge-update semantics. Price: `25` credits. Parameters: `channel_description`, `channel_id`, `country`, `default_language`, `keywords`, `unsubscribed_trailer_video_id`.
- `update_channel_section` (action slug: `update-channel-section`): Update a channel section. Price: `25` credits. Parameters: `channel_ids`, `channel_section_id`, `playlist_id`, `playlist_ids`, `section_position`, `section_title`, `section_type`.
- `update_playlist` (action slug: `update-playlist`): Update mutable playlist fields using fetch-merge-update semantics. Price: `25` credits. Parameters: `description`, `playlist_id`, `privacy_status`, `tags`, `title`.
- `update_video` (action slug: `update-video`): Update mutable YouTube video fields using fetch-merge-update semantics to preserve omitted metadata. Price: `25` credits. Parameters: `category_id`, `contains_synthetic_media`, `default_language`, `description`, `embeddable`, `license`, `localizations`, `made_for_kids`, plus 7 more.
- `upload_caption` (action slug: `upload-caption`): Upload a caption file from AgentPMT File Manager. Price: `25` credits. Parameters: `caption_content_type`, `caption_file_id`, `is_draft`, `language`, `name`, `video_id`.
- `upload_video` (action slug: `upload-video`): Upload a video from AgentPMT File Manager to YouTube with metadata, privacy, scheduling, and optional playlist placement. Price: `25` credits. Parameters: `category_id`, `chunk_size_bytes`, `contains_synthetic_media`, `default_language`, `description`, `embeddable`, `license`, `localizations`, plus 12 more.
## Live Schema And Examples
Use the compact schema above for ordinary calls. Before a new production integration, or whenever parameters, enum values, nested objects, outputs, or examples are unclear, fetch live details first.
- Exact schema: call `agentpmt-tool-search-and-execution` with `action: "get_schema"`, and `tool_id: "youtube-api"`.
- Detailed examples: call `agentpmt-tool-search-and-execution` with `action: "get_instructions"` and `tool_id: "youtube-api"`, or call this product with `action: "get_instructions"` when the product tool is already selected.
- Treat returned live schema and instructions as more specific than this generated summary.
MCP schema lookup through the main AgentPMT MCP server:
```json
{
"method": "tools/call",
"params": {
"name": "AgentPMT-Tool-Search-and-Execution",
"arguments": {
"action": "get_schema",
"tool_id": "youtube-api"
}
}
}
```
For live examples, keep the same MCP tool and use these arguments:
```json
{
"action": "get_instructions",
"tool_id": "youtube-api"
}
```
Authenticated AgentPMT REST schema lookup body:
```json
{
"name": "agentpmt-tool-search-and-execution",
"parameters": {
"action": "get_schema",
"tool_id": "youtube-api"
}
}
```
Authenticated AgentPMT REST live examples body:
```json
{
"name": "agentpmt-tool-search-and-execution",
"parameters": {
"action": "get_instructions",
"tool_id": "youtube-api"
}
}
```
## Call This Tool
Product slug: `youtube-api`
Marketplace page: https://www.agentpmt.com/marketplace/youtube-api
- AgentPMT account route: first use `../agentpmt-account-mcp-rest-api-setup` to connect the main MCP server or REST API for an Agent Group where this tool is enabled.
- x402 route: not enabled for this product.
- AgentPMT overview: use `../what-is-agentpmt` for marketplace, Agent Group, workflow, MCP, REST, and payment concepts.
If those setup skills are not installed beside this product skill, use the downloads below.
Core AgentPMT setup skills:
- What AgentPMT is: ../what-is-agentpmt
- ClawHub page: https://clawhub.ai/agentpmt/what-is-agentpmt
- OpenClaw install: `openclaw skills install what-is-agentpmt`
- skills.sh install: `npx skills add AgentPMT/agent-skills --skill what-is-agentpmt`
- AgentPMT account MCP/REST setup: ../agentpmt-account-mcp-rest-api-setup
- ClawHub page: https://clawhub.ai/agentpmt/agentpmt-account-mcp-rest-api-setup
- OpenClaw install: `openclaw skills install agentpmt-account-mcp-rest-api-setup`
- skills.sh install: `npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup`
skills.sh install script:
```bash
npx skills add AgentPMT/agent-skills --skill what-is-agentpmt
npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup
```
MCP call shape after the main AgentPMT MCP server is connected:
```json
{
"method": "tools/call",
"params": {
"name": "YouTube-Channel-Management",
"arguments": {
"action": "add_video_to_playlist",
"playlist_id": "example playlist id",
"position": 1,
"video_id": "example video id"
}
}
}
```
Use the exact tool name returned by `tools/list`; the name above is the expected readable form.
Authenticated AgentPMT REST call body:
```json
{
"name": "youtube-api",
"parameters": {
"action": "add_video_to_playlist",
"playlist_id": "example playlist id",
"position": 1,
"video_id": "example video id"
}
}
```
Use the setup skill for the account connection details before making REST calls.
## Response Handling
- Treat the returned JSON as the source of truth for this tool call.
- If the response includes warnings or correction targets, apply them before retrying.
- If the response includes a `passed` or success-style boolean, use it as the workflow gate.
- If validation fails or the response shape is unclear, call `get_schema` or `get_instructions` before retrying.
- If `add_video_to_playlist` fails, preserve the request parameters and retry only after fixing schema, auth, or payment errors.
## Security
- Do not place account secrets, wallet private keys, mnemonics, signatures, or payment headers in prompts or logs.
- Keep tool inputs scoped to the minimum content needed for the task.
- Use the setup skills for credential handling; this product skill only defines product-specific behavior.
## AgentPMT Reference
- What AgentPMT is: ../what-is-agentpmt (ClawHub: `what-is-agentpmt`, page: https://clawhub.ai/agentpmt/what-is-agentpmt; skills.sh: `npx skills add AgentPMT/agent-skills --skill what-is-agentpmt`)
- AgentPMT account MCP/REST setup: ../agentpmt-account-mcp-rest-api-setup (ClawHub: `agentpmt-account-mcp-rest-api-setup`, page: https://clawhub.ai/agentpmt/agentpmt-account-mcp-rest-api-setup; skills.sh: `npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup`)
- Marketplace product: https://www.agentpmt.com/marketplace/youtube-api
- AgentPMT main MCP server: https://api.agentpmt.com/mcp/
- AgentPMT REST invoke endpoint: https://api.agentpmt.com/products/purchase
don't have the plugin yet? install it then click "run inline in claude" again.