1. Overview
YouTube is the world's largest video-sharing platform, allowing users to upload, view, share, and manage video content. The YouTube Data API provides programmatic access to YouTube's features, enabling developers to integrate YouTube functionality into their applications.
Through GoInsight's YouTube node, you can seamlessly integrate YouTube operations into your automation workflows. You can achieve comprehensive management of videos, playlists, channels, and related content, including:
- Uploading and managing video content with metadata and thumbnails.
- Creating, updating, and organizing playlists to group related videos.
- Searching and retrieving videos, playlists, channels, and categories.
- Managing channel settings and customization options.
- Interacting with content through ratings and comments.
2. Prerequisites
Before using this node, you need to have a valid Google account with access to YouTube. You may need administrator or specific permissions to create and manage API credentials for programmatic access to YouTube Data API.
3. Credentials
For detailed guidance on how to obtain and configure credentials, please refer to our official documentation: Credentials Configuration Guide.
4. Supported Operations
This node operates around several main resources: Videos (video content), Playlists (collections of videos), Playlist Items (videos within playlists), Channels (user/organization channels), and Video Categories (classification of videos).
Summary
| Resource | Operation | Description |
|---|---|---|
| Video | Delete a Video | Delete a YouTube video by video ID. Use this to permanently remove a video. |
| Video | Find Videos | Search for YouTube videos by IDs, popularity chart, or user rating. Use this to find videos; for channel info use 'Get Channel'. |
| Video | Get a Video | Retrieve a single YouTube video's detailed information by video ID. Use this to get metadata like title, description, and statistics; for searching... |
| Video | Rate a Video | Add a like, dislike, or remove rating for a YouTube video. Use this to set the authenticated user's personal rating on a video. |
| Video | Update a Video | Update a video's metadata on YouTube. Use this to modify title, description, tags, privacy status, or other properties of an existing video; for re... |
| Video | Upload a Video | Upload a video file to YouTube. Use this to upload new content to a channel. Required: VideoFilePath, Title, CategoryId. Optional: Description, Tag... |
| Playlist | Create a Playlist | Create a new playlist on YouTube. Use this to organize videos into a collection; for modifying existing playlists use 'Update a Playlist'. |
| Playlist | Delete a Playlist | Delete a YouTube playlist by ID. Use this to permanently remove a playlist; for removing items from a playlist use 'Delete Playlist Item'. |
| Playlist | Find Playlists | Find YouTube playlists based on filters. Use this to search channel playlists, list own playlists, or batch retrieve by IDs; for getting a single p... |
| Playlist | Get a Playlist | Retrieves the details of a specific YouTube playlist using its ID. Requires OAuth 2.0 authentication and consumes 1 quota unit (YouTube API has a d... |
| Playlist | Update a Playlist | Update an existing YouTube playlist's properties. Use this to modify title, description, or privacy status; for creating new playlists use 'Create ... |
| Playlist Item | Add a Playlist Item | Add a video to a YouTube playlist. Use this to organize videos; for creating playlists use 'Create a Playlist'. |
| Playlist Item | Delete a Playlist Item | Delete a video from a YouTube playlist by playlist item ID. Use this to remove an item; for deleting a playlist use 'Delete a Playlist'. ⚠️ WARNING... |
| Playlist Item | Find Playlist Items | Retrieve playlist items from YouTube using YouTube Data API v3. Use this to list videos in a playlist or get details for specific playlist items. |
| Playlist Item | Get a Playlist Item | Get a specific playlist item from YouTube. Use this to retrieve details of a single item; for listing items in a playlist use 'List Playlist Items'. |
| Channel | Find Channels | Find YouTube channels by ID, username, or for the authenticated user. Use this to retrieve channel details; for searching videos use 'Search Videos'. |
| Channel | Get a Channel | Retrieve a single YouTube channel's details. Use this to get channel info by ID, handle, or username. |
| Channel | Update a Channel | Behavior: Performs a PUT replacement on the specified part. Only fields included in ChannelData are updated; omitted fields in the same part retain... |
| Channel Banner | Upload a Channel Banner | Upload a channel banner image to YouTube. Use this as step 1 of the 3-step banner update process (Upload -> Extract URL -> Update Channel). |
| Video Category | Find Video Categories | Find video categories in YouTube. Use this to retrieve a list of categories by IDs or region; for searching videos use 'Search Videos'. |
Operation Details
Delete a Video
Delete a YouTube video by video ID. Use this to permanently remove a video.
Input Parameters:
- VideoId: The unique identifier of the video to delete. You can obtain the video ID from: 1. The video URL (e.g., https://www.youtube.com/watch?v=dQw4w9WgXcQ -> ID is 'dQw4w9WgXcQ'); 2. The 'List Videos' or 'Search Videos' action; 3. The YouTube Studio dashboard. Note: Only videos owned by the authenticated user can be deleted. Example: "dQw4w9WgXcQ"
Options:
- OnBehalfOfContentOwner: Advanced option: Only for YouTube Content Partners. The onBehalfOfContentOwner parameter indicates that the request is being made on behalf of the YouTube CMS (Content Management System) content owner. Regular personal accounts should leave this empty.
Output:
- VideoId (string): The ID of the video targeted for deletion. Example: "dQw4w9WgXcQ"
- IsDeleted (bool): Indicates if the video was successfully deleted from YouTube.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 204 for successful deletion). Default 0 means no HTTP request was made.
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors reflected in ErrorMessage), 500 = system error (network failure, timeout, code crash), -1 = parameter validation error (request not sent).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Find Videos
Search for YouTube videos by IDs, popularity chart, or user rating. Use this to find videos; for channel info use 'Get Channel'.
Input Parameters:
- Part: The video properties to retrieve (comma-separated). Available parts: snippet (Basic info), contentDetails (Technical details), statistics (Engagement data), status (Visibility info), player (Embed code), topicDetails (Topic categories). Example: "snippet,statistics"
Options:
- VideoIds: Comma-separated list of YouTube video IDs to retrieve. Max 50 IDs. Example: "dQw4w9WgXcQ,jNQXAC9IVRw"
- Chart: The chart to retrieve. Currently only 'mostPopular' is supported. Example: "mostPopular"
- MyRating: Retrieve videos rated by the user. Options: 'like', 'dislike'. Example: "like"
- MaxResults: Maximum number of items to return (1-50). IMPORTANT: This parameter is ONLY supported when using the 'MyRating' mode. It is ignored in 'VideoIds' and 'Chart' modes. Default is 5.
- PageToken: Token for the next page of results. Only for MyRating mode. Example: "CAUQAA"
- VideoCategoryId: Filter by video category ID (Chart mode only). Common IDs: 1 (Film & Animation), 10 (Music), 17 (Sports), 20 (Gaming), 22 (People & Blogs), 23 (Comedy), 24 (Entertainment), 25 (News & Politics), 28 (Science & Technology). Example: "10"
- AdditionalFields: Advanced optional parameters. Supported keys: RegionCode (string) - ISO 3166-1 alpha-2 country code for Chart mode; Hl (string) - Language code; OnBehalfOfContentOwner (string) - Content owner ID. Example: {"RegionCode": "US", "Hl": "en_US"}
Output:
- TotalResults (number): Total number of videos in the result set.
- ResultsPerPage (number): Number of videos included in the current API response.
- NextPageToken (string): Token for retrieving the next page of results.
- PrevPageToken (string): Token for retrieving the previous page of results.
- Videos (object-array): A list of video resources matching the search criteria. Each item includes: VideoId, VideoTitle, VideoDescription, ChannelId, ChannelTitle, PublishedAt, Duration (ISO 8601 format like PT3M33S), ViewCount, LikeCount, CommentCount, PrivacyStatus, and Video (full raw object). The 'Video' field contains the complete raw API response object with structure: {id, kind, etag, snippet{...}, contentDetails{...}, statistics{...}, status{...}, player{...}, topicDetails{...}}.
- VideoCount (number): Number of videos returned in the current response.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200, 403, 404).
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors), 500 = system error, -1 = parameter validation error.
- ErrorMessage (string): Error description if operation fails, empty string on success.
Get a Video
Retrieve a single YouTube video's detailed information by video ID. Use this to get metadata like title, description, and statistics; for searching videos use 'Search Videos'.
Input Parameters:
- VideoId: The unique ID of the video (e.g., "dQw4w9WgXcQ"). How to get it: 1. From YouTube video URL (v=VIDEO_ID), 2. From share link (youtu.be/VIDEO_ID), 3. From previous search results using Search Videos action. Example: "dQw4w9WgXcQ"
Options:
- Part: Comma-separated list of resource parts to return. Common combinations: 1. Basic: "snippet,statistics", 2. Full: "snippet,contentDetails,statistics,status" (default). Available parts: snippet (title/description), contentDetails (duration), statistics (views/likes), status (privacy), player (embed HTML). Owner-only parts: fileDetails (file metadata), processingDetails (encoding status), suggestions (optimization tips). Note: Each part consumes additional quota. Example: "snippet,contentDetails,statistics"
- Hl: Interface language code for localized titles and descriptions. Common values: "en_US" (English), "zh_CN" (Simplified Chinese), "ja_JP" (Japanese). If localized content exists, it will be returned in the snippet. Example: "en_US"
Output:
- VideoId (string): The unique ID of the video.
- VideoTitle (string): The title of the video.
- VideoDescription (string): The description of the video.
- ChannelId (string): The unique ID of the channel that published the video.
- ChannelTitle (string): The title of the channel that published the video.
- PublishedAt (string): The date and time when the video was published (ISO 8601 format).
- Duration (string): Video length in ISO 8601 duration format. Format: PT[hours]H[minutes]M[seconds]S. Examples: "PT3M33S" (3 min 33 sec), "PT1H20M" (1 hour 20 min). Example: "PT3M33S"
- ViewCount (string): The number of times the video has been viewed.
- LikeCount (string): The number of users who have liked the video.
- CommentCount (string): The number of comments for the video.
- PrivacyStatus (string): The privacy status of the video.
- Video (object): Complete video resource object from YouTube API. Core fields: 1. snippet (title, description, tags, categoryId), 2. contentDetails (duration, definition), 3. statistics (viewCount, likeCount, commentCount), 4. status (privacyStatus, embeddable). Fields depend on the 'Part' input parameter.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200 for success, 404 for not found). Default 0 means no HTTP request was made.
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors reflected in ErrorMessage), 500 = system error (network failure, timeout, code crash), -1 = parameter validation error (request not sent).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Rate a Video
Add a like, dislike, or remove rating for a YouTube video. Use this to set the authenticated user's personal rating on a video.
Input Parameters:
- VideoId: The unique 11-character alphanumeric ID of the YouTube video (e.g., 'dQw4w9WgXcQ'). Found in video URLs after 'v=' or obtained via 'Search Videos' action. Example: "dQw4w9WgXcQ"
- Rating: The rating to apply. Values: 'like' (adds to user's liked videos), 'dislike' (personal dislike, hidden from public), 'none' (removes existing rating). Example: "like"
Output:
- VideoId (string): The ID of the video that was rated.
- Rating (string): The rating type that was set (like, dislike, or none).
- Success (bool): Whether the rating operation was successful.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 204 for success, 400 for bad request).
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors reflected in ErrorMessage), 500 = system error (network failure, timeout, code crash), -1 = parameter validation error (request not sent).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Update a Video
Update a video's metadata on YouTube. Use this to modify title, description, tags, privacy status, or other properties of an existing video; for retrieving video details use 'Get Video'.
Input Parameters:
- VideoId: The ID of the video to update (required). Get from 'Search Videos' or 'Get Many Videos' action. Example: "dQw4w9WgXcQ"
Options:
- Part: Comma-separated list of data modules (resource parts) to update. Think of these as 'property groups'. For example, use 'snippet' to update title/description, or 'status' for privacy. Values: snippet, status, contentDetails, recordingDetails, localizations. Default: "snippet,status". Example: "snippet,status"
- Title: 🚨 REQUIRED when 'Part' contains 'snippet'. The video title. Note: If omitted while updating snippet, the title may be cleared. Example: "How to Build AI Agents"
- CategoryId: 🚨 REQUIRED when 'Part' contains 'snippet'. The video category ID. Common categories: '1' (Film & Animation), '10' (Music), '22' (People & Blogs), '24' (Entertainment), '28' (Science & Technology). Full list: Get from 'Get Video Categories' action. Example: "28"
- Description: The video description (max 5000 chars). Warning: If 'Part' contains 'snippet' but this is omitted, existing description will be deleted. Example: "Full tutorial on AI agents..."
- Tags: Comma-separated video tags. Warning: If 'Part' contains 'snippet' but this is omitted, existing tags will be deleted. Example: "AI,tutorial,python"
- DefaultLanguage: The BCP-47 language code for the video's default title and description (e.g., 'en', 'zh-CN'). This must be set if you are providing 'Localizations' (translations for the title and description in other languages). Example: "en"
- PrivacyStatus: The privacy status of the video. - 'public': Anyone can search and view. - 'unlisted': Only people with the link can view (not searchable). - 'private': Only you and people you choose can view. Note: Must be 'private' if setting PublishAt for a scheduled release. Example: "public"
- AdditionalFields: Extended fields (key-value pairs). Supported keys: Embeddable (bool), License (string: 'youtube'/'creativeCommon'), PublicStatsViewable (bool), PublishAt (string, ISO8601), SelfDeclaredMadeForKids (bool), ContainsSyntheticMedia (bool), RecordingDate (string, YYYY-MM-DD), Localizations (object), OnBehalfOfContentOwner (string). Example: {"Embeddable": true, "License": "youtube"}
Output:
- VideoId (string): The ID of the updated video.
- VideoTitle (string): The updated title of the video.
- PrivacyStatus (string): The updated privacy status of the video.
- Video (object): The complete video object returned by YouTube. Key fields:
- IsUpdated (bool): Whether the video was successfully updated.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200 for success, 400 for bad request). Default 0 means no HTTP request was made.
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors reflected in ErrorMessage), 500 = system error (network failure, timeout, code crash), -1 = parameter validation error (request not sent).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Upload a Video
Upload a video file to YouTube. Use this to upload new content to a channel. Required: VideoFilePath, Title, CategoryId. Optional: Description, Tags, PrivacyStatus, PublishAt, AdditionalFields. Returns: Video (object), VideoId, IsUploaded. Dependency: CategoryId from 'Get Video Categories'. Behavior: Uploads local file; validates file size (max 256GB). Limitations: Unverified API projects restricted to private mode.
Input Parameters:
- VideoFilePath: Path to the video file (required). Supports absolute or relative path on local file system. Maximum file size: 256GB. Example: "/home/user/videos/tutorial.mp4"
- Title: Video title (required). The display name of the video. Example: "Python Tutorial: Getting Started with APIs"
- CategoryId: Video category ID (required). Get from 'Get Video Categories' action. Common values: "22" (People & Blogs), "24" (Entertainment), "27" (Education), "28" (Science & Technology). Example: "27"
Options:
- Description: Video description (max 5000 characters). Supports newlines. Example: "Learn how to work with REST APIs in Python."
- Tags: Comma-separated video tags. Example: "python,tutorial,api,programming"
- PrivacyStatus: Privacy status. Values: "private" (only creator/specified users), "public" (everyone), "unlisted" (link holders). Default: "private".
- PublishAt: Scheduled publish time in ISO 8601 format (UTC). Note: When setting this value, PrivacyStatus must be set to "private". Example: "2024-12-31T23:59:59.000Z"
- AdditionalFields: Extended parameters (key-value pairs). Supported keys: - part (string): Resource parts to return, default "snippet,status". - default_language (string): Default language code (e.g., "en-US"). - embeddable (bool): Allow embedding, default true. - license (string): "youtube" or "creativeCommon", default "youtube". - public_stats_viewable (bool): Show stats publicly, default true. - self_declared_made_for_kids (bool): Mark as kids content, default false. - contains_synthetic_media (bool): Contains AI content, default false. - recording_date (string): ISO 8601 date (e.g., "2024-01-15"). - notify_subscribers (bool): Notify subscribers, default true. - on_behalf_of_content_owner (string): Content owner ID (partners only). - localizations (object): Localization config. Example: {"zh-CN": {"title": "...", "description": "..."}}
Output:
- VideoId (string): The ID of the uploaded video. Example: "dQw4w9WgXcQ"
- Video (object): The complete video object returned by the YouTube API. Key fields: id (string), snippet.title (string), snippet.description (string), snippet.categoryId (string), status.privacyStatus (string), status.uploadStatus (string). Refer to YouTube Data API documentation for full field list.
- IsUploaded (bool): Whether the video was successfully uploaded.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200 for success, 400 for bad request). Default 0 means no HTTP request was made.
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors reflected in ErrorMessage), 500 = system error (network failure, timeout, code crash), -1 = parameter validation error (request not sent).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Create a Playlist
Create a new playlist on YouTube. Use this to organize videos into a collection; for modifying existing playlists use 'Update a Playlist'.
Input Parameters:
- Title: The title of the playlist. Required parameter. The display name of the playlist.
Options:
- Description: The description of the playlist. Optional. Detailed explanation text for the playlist.
- PrivacyStatus: The privacy setting of the playlist. Options: 'public' (visible to everyone), 'private' (visible only to you), 'unlisted' (visible to anyone with the link). Defaults to 'private' to prevent accidental public exposure of new playlists. Example: 'public'
- DefaultLanguage: Default language code for the playlist (e.g., "zh-CN", "en-US"). Must be set to use localizations.
- Localizations: Localization configuration for providing titles and descriptions in different languages. Each key is a BCP-47 language code (e.g., 'en', 'zh-CN'), and the value is an object containing 'title' and 'description' strings. Note: Requires 'DefaultLanguage' to be set to the primary language. Example: {"zh-CN": {"title": "Chinese Title", "description": "Chinese Description"}}
- Part: A comma-separated list of playlist properties to include in the response. Available parts: 'snippet' (basic details like title/description), 'status' (privacy settings), 'contentDetails' (video count). Recommend using 'snippet,status' for most cases. Example: 'snippet,status'
- OnBehalfOfContentOwner: Advanced: The content owner ID for whom the playlist is being created. Only used by YouTube CMS/Content Partners managing multiple channels. Regular users should leave this empty. Example: 'CONTENT_OWNER_ID'
- OnBehalfOfContentOwnerChannel: Content owner channel ID. Only for YouTube content partners. Used together with OnBehalfOfContentOwner.
Output:
- PlaylistId (string): The unique identifier of the created playlist.
- PlaylistTitle (string): The title of the created playlist.
- PlaylistDescription (string): The description of the created playlist.
- PrivacyStatus (string): The privacy status of the playlist (private, public, or unlisted).
- PublishedAt (string): The creation time of the playlist in ISO 8601 format.
- ChannelId (string): The ID of the channel that owns the playlist.
- ChannelTitle (string): The title of the channel that owns the playlist.
- DefaultLanguage (string): The default language code of the playlist.
- ItemCount (number): The number of items in the playlist (0 for newly created playlist).
- Playlist (object): Complete playlist object from YouTube API response. Key fields include: 'id' (string): Unique playlist ID; 'snippet' (object): Contains 'title', 'description', 'publishedAt', 'channelId', and 'defaultLanguage'; 'status' (object): Contains 'privacyStatus' (public/private/unlisted); 'contentDetails' (object): Contains 'itemCount' (number of videos).
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 201 for created, 400 for bad request). Default 0 means no HTTP request was made.
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors reflected in ErrorMessage), 500 = system error (network failure, timeout, code crash), -1 = parameter validation error (request not sent).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Delete a Playlist
Delete a YouTube playlist by ID. Use this to permanently remove a playlist; for removing items from a playlist use 'Delete Playlist Item'.
Input Parameters:
- PlaylistId: The unique identifier of the playlist to delete (e.g., "PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf"). You can obtain this ID by: 1. Calling the 'List Playlists' action. 2. From the YouTube playlist URL: copy the value after the 'list=' parameter. Note: System-generated playlists cannot be deleted.
Options:
- OnBehalfOfContentOwner: Content owner identifier. Only for YouTube content partners (advanced users with Content Management System/CMS access). Specifies the content owner on whose behalf the action is performed. Most individual users should leave this empty.
Output:
- PlaylistId (string): The unique identifier of the deleted playlist.
- IsDeleted (bool): Boolean indicating whether the playlist was successfully deleted. True when StatusCode is 200 and ErrorMessage is empty.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 204 for success, 403 for forbidden).
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors), 500 = system error, -1 = parameter validation error.
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully.
Find Playlists
Find YouTube playlists based on filters. Use this to search channel playlists, list own playlists, or batch retrieve by IDs; for getting a single playlist by ID use 'Get Playlist'.
Options:
- PlaylistIds: Comma-separated list of playlist IDs to retrieve (e.g., "PLxxxx1,PLxxxx2"). Note: Must specify one of PlaylistIds, ChannelId, or Mine.
- ChannelId: Channel ID to retrieve all playlists owned by the specified channel. Note: Must specify one of PlaylistIds, ChannelId, or Mine.
- Mine: Whether to retrieve playlists owned by the authenticated user. Set to true to retrieve authenticated user's playlists. Note: Must specify one of PlaylistIds, ChannelId, or Mine.
- Part: Comma-separated list of resource parts to return. Each part represents a group of fields: snippet (Basic info: title, description, channel, publish time, thumbnails, tags), contentDetails (Content statistics: number of videos in playlist), status (Privacy status: public, unlisted, private), id (Playlist ID), localizations (Localized metadata), player (Embedded player HTML). Default: "snippet,contentDetails,status". Note: Requesting more parts increases API quota cost.
- MaxResults: Maximum number of playlists to return per page. Range: 0-50. Default is 5.
- PageToken: Page token for pagination. Identifies a specific page in the result set. Obtained from NextPageToken or PrevPageToken in previous API response.
- AdditionalFields: Extended parameters for specialized queries. Supported keys: hl (string) - Language code (e.g., "en_US"); onBehalfOfContentOwner (string) - Content owner ID; onBehalfOfContentOwnerChannel (string) - Content owner channel ID.
Output:
- TotalResults (number): Total number of playlists in the result set.
- ResultsPerPage (number): Number of playlists included in the current API response.
- NextPageToken (string): Token for retrieving the next page of results.
- PrevPageToken (string): Token for retrieving the previous page of results.
- Playlists (object-array): A list of playlist objects. Each object contains: PlaylistId (string), PlaylistTitle (string), PlaylistDescription (string), ChannelId (string), ChannelTitle (string), PublishedAt (string), PrivacyStatus (string), ItemCount (number), and Playlist (object). The Playlist object contains: kind (string), etag (string), id (string), snippet (object: includes publishedAt, channelId, title, description, thumbnails, channelTitle, tags, localized), contentDetails (object: itemCount), status (object: privacyStatus), player (object: embedHtml), localizations (object: localized titles/descriptions).
- PlaylistCount (number): Number of playlists returned in the current response.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200 for success, 403 for forbidden). Default 0 means no HTTP request was made.
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors reflected in ErrorMessage), 500 = system error (network failure, timeout, code crash), -1 = parameter validation error (request not sent).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Get a Playlist
Retrieves the details of a specific YouTube playlist using its ID. Requires OAuth 2.0 authentication and consumes 1 quota unit (YouTube API has a daily quota limit of 10,000 units by default; exceeding this will result in a 403 error).
Input Parameters:
- PlaylistId: The unique ID of the playlist (e.g., "PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf"). How to obtain: 1. From YouTube playlist URL (value after 'list='); 2. From 'Search Playlists' or 'List Channel Playlists' actions; 3. From the 'id' field in any playlist object.
Options:
- Part: Comma-separated list of playlist resource properties to include (e.g., 'snippet,contentDetails,status'). Note: Each specified part affects quota consumption. Requesting core parts consumes 1 unit; adding 'localizations' increases consumption.
- Hl: Language code for localized resource metadata (e.g., "zh_CN", "en_US"). Must be a YouTube supported language code. If localized content exists for the language, snippet.localized object will contain localized values.
Output:
- PlaylistId (string): The unique ID of the playlist.
- PlaylistTitle (string): The title of the playlist.
- PlaylistDescription (string): The description of the playlist.
- ChannelId (string): The unique ID of the channel that owns the playlist.
- ChannelTitle (string): The title of the channel that owns the playlist.
- PublishedAt (string): The date and time when the playlist was created (ISO 8601 format).
- PrivacyStatus (string): The privacy status of the playlist. Values: 'public' (visible/searchable by anyone), 'unlisted' (accessible only via direct link), 'private' (visible only to the owner).
- ItemCount (number): The number of items in the playlist.
- Playlist (object): Complete playlist detail object. Core fields: 'id' (string), 'kind' (youtube#playlist), 'snippet' (object: title, description, thumbnails, channelTitle), 'status' (object: privacyStatus), 'contentDetails' (object: itemCount).
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200, 403, 404).
- StatusCode (number): HTTP status code: 200 (success), 400 (bad request), 403 (forbidden/quota exceeded), 404 (not found), 500 (server error), -1 (parameter error).
- ErrorMessage (string): Error description if operation fails, empty string on success.
Update a Playlist
Update an existing YouTube playlist's properties. Use this to modify title, description, or privacy status; for creating new playlists use 'Create a Playlist'.
Input Parameters:
- PlaylistId: The unique ID of the playlist to update. Sources: 1. Use 'List My Playlists' action. 2. Use 'Search' action. 3. Copy from the browser address bar after 'list=' (e.g., PLrAVy9KDrs...). Example: "PLrAVy9KDrs-tRqX2fHilgKHAYVJcJzgXI"
- Title: ⚠️ PUT Warning: If provided, this replaces the existing title. Example: "My Updated Music Videos"
Options:
- Description: ⚠️ PUT Warning: If provided, this replaces the existing description. If left empty, the description will be cleared. To keep the current description, fetch it first using 'Get Playlist Details'. Example: "A collection of my favorite music videos updated via API"
- PrivacyStatus: The playlist's privacy status. ⚠️ PUT Warning: If left empty, existing settings may be reset. Valid values: 'public' (visible to everyone), 'unlisted' (link only), 'private' (owner only). Example: "public"
- DefaultLanguage: ⚠️ Conditional Required: Must be set if 'Localizations' is used. Specifies the language for the default Title and Description (ISO 639-1 code). ⚠️ PUT Warning: If left empty, existing language settings will be cleared. Example: "en"
- Localizations: Localized titles and descriptions. Key is the language code (e.g., 'es', 'ja'). Example: {"es": {"title": "My Updated Music Videos in Spanish", "description": "Updated via API"}}
- AdditionalFields: ⚠️ Advanced Options: Usually leave empty. Supported keys: 'part' (string) - controls returned data blocks (default 'snippet,status'); 'onBehalfOfContentOwner' (string) - for MCNs; 'podcastStatus' (string) - set to 'enabled' for podcasts. Example: {"part": "snippet,status,localizations"}
Output:
- PlaylistId (string): The ID of the updated playlist.
- PlaylistTitle (string): The updated title of the playlist.
- PlaylistDescription (string): The updated description of the playlist.
- PrivacyStatus (string): The updated privacy status (private/public/unlisted).
- PodcastStatus (string): The updated podcast status.
- PublishedAt (string): The date and time when the playlist was created (ISO 8601 format).
- ChannelId (string): The ID of the channel that owns the playlist.
- ChannelTitle (string): The title of the channel that owns the playlist.
- DefaultLanguage (string): The default language of the playlist.
- ItemCount (number): The number of items in the playlist.
- Playlist (object): The updated playlist resource object.
- IsUpdated (bool): Whether the playlist was successfully updated.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200 for success, 403 for quota exceeded).
- StatusCode (number): The system execution status code. 200 indicates the tool executed successfully, even if the API returned a business error.
- ErrorMessage (string): Error description if operation fails, empty string on success.
Add a Playlist Item
Add a video to a YouTube playlist. Use this to organize videos; for creating playlists use 'Create a Playlist'.
Input Parameters:
- PlaylistId: The unique ID of the playlist. Get it from the 'list=' parameter in a YouTube URL or via 'Get Many Playlists' action. Example: 'PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf'
- VideoId: The unique ID of the video to add. Get it from the 'v=' parameter in a YouTube URL or via 'Search Videos' action. Example: 'q94n3eWOWXM'
Options:
- Part: Specify which information to return. Default: 'snippet,contentDetails'. - snippet: Basic info (video title, position, thumbnails). Use for display. - contentDetails: Playback settings (note, start/end time). - id: Only return the item ID. - status: Privacy status. Example: 'snippet,contentDetails'
- Position: The 0-based position to insert the video. Use -1 to add to the end. Example: 0
- Note: A custom note for this item (max 280 chars). Example: 'Check this tutorial'
- StartAt: Start time in seconds for video playback. 0 means start from the beginning. Example: 30
- EndAt: End time in seconds for video playback. Example: 90
- OnBehalfOfContentOwner: Content owner identifier. Leave empty unless you are a YouTube Content Partner. This parameter is only for YouTube Multi-Channel Networks (MCNs) or content management companies. Regular users should ignore this field. Example: ''
Output:
- PlaylistItem (object): Complete playlist item object.
- PlaylistItemId (string): The unique identifier of the added playlist item.
- PlaylistId (string): The playlist ID where the video was added.
- VideoId (string): The video ID that was added to the playlist.
- VideoTitle (string): The title of the added video.
- Position (number): The position of the video in the playlist (0-based index).
- Note (string): The note associated with the playlist item.
- ChannelId (string): The channel ID that owns the playlist.
- ChannelTitle (string): The title of the channel that owns the playlist.
- IsAdded (bool): Boolean indicating whether the video was successfully added to the playlist.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200 for success, 403 for forbidden). Default 0 means no HTTP request was made.
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors reflected in ErrorMessage), 500 = system error (network failure, timeout, code crash), -1 = parameter validation error (request not sent).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Delete a Playlist Item
Delete a video from a YouTube playlist by playlist item ID. Use this to remove an item; for deleting a playlist use 'Delete a Playlist'. ⚠️ WARNING: This operation is irreversible.
Input Parameters:
- PlaylistItemId: The unique identifier of the playlist item to delete. How to obtain: Use the 'List Playlist Items' action to get IDs of items in a specific playlist, or 'Search Videos' action. Format: A string like 'PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf'. Note: This is NOT the video ID, but the ID of the entry in the playlist.
Options:
- OnBehalfOfContentOwner: Content owner identifier. Only for YouTube official certified content partners (MCN (Multi-Channel Network), media companies, etc.). For individual users and regular channels: Leave this field empty.
Output:
- PlaylistItemId (string): The unique identifier of the deleted playlist item.
- IsDeleted (bool): Boolean indicating whether the playlist item was successfully deleted.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 204 for successful deletion).
- StatusCode (number): Operation status code: 200=Success (check ErrorMessage and IsDeleted for actual result), -1=Parameter validation error, 500=System error (may retry). OriginalStatusCode contains the raw YouTube API status code (e.g., 204 for successful deletion).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Find Playlist Items
Retrieve playlist items from YouTube using YouTube Data API v3. Use this to list videos in a playlist or get details for specific playlist items.
Options:
- Part: Comma-separated list of resource parts to return. Default: "snippet,contentDetails". Options: - snippet: Basic info (title, description, thumbnails, channel). Most commonly used. - contentDetails: Additional details (videoId, note, videoPublishedAt). Recommended for video metadata. - id: Playlist item ID only. Use for lightweight queries. - status: Privacy status (public/private/unlisted). Use for permission checks. Cost: Each part increases quota usage. Example: "snippet,contentDetails"
- PlaylistItemIds: Comma-separated list of playlist item IDs to retrieve. How to get: Use Find Playlist Items to list all items first, or extract from YouTube URL parameter index=X. Note: Must specify either PlaylistItemIds or PlaylistId. Example: "UExBcnRtRXJaZ..."
- PlaylistId: Unique ID of the playlist. How to get: Use Find Playlists action or extract from YouTube playlist URL parameter list=. Example: "PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf"
- VideoId: Filter items by video ID. How to get: Use Search Videos action or extract from YouTube video URL parameter v=. Example: "dQw4w9WgXcQ"
- MaxResults: Maximum number of items to return (1-50). Default: 5. Example: 10
- PageToken: Token for pagination. Get from NextPageToken in previous response. Example: "CAUQAA"
- OnBehalfOfContentOwner: Advanced Option: Only for YouTube content partners (MCN = Multi-Channel Network). Specifies the content owner ID for managing multiple channels. Regular users should leave this empty.
Output:
- PlaylistItems (object-array): Array of playlist item objects. Key fields:
- TotalResults (number): The total number of results in the result set.
- ResultsPerPage (number): The number of results included in the API response.
- NextPageToken (string): The token for the next page.
- PrevPageToken (string): The token for the previous page.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200, 400, 404). Use for precise error diagnosis.
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors), 500 = system error, -1 = parameter validation error.
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully.
Get a Playlist Item
Get a specific playlist item from YouTube. Use this to retrieve details of a single item; for listing items in a playlist use 'List Playlist Items'.
Input Parameters:
- PlaylistItemId: The unique ID of the playlist item to retrieve. Note: This is NOT the Playlist ID (which starts with 'PL'). Playlist Item IDs are longer Base64-encoded strings. Can be obtained from: 1. 'List Playlist Items' action: use the 'id' field from the items array. 2. 'Search Playlist Items' action: use the 'id.playlistItemId' field. Example: "UExBWHRtRXJaZ09laUttNHNnTk9rbkd2Tmpiejllc2RkZi41NkI0NEY2RDEwNTU3Q0M2"
Options:
- Part: Specifies which data fields to include in the response. Use this to control the amount of data returned and reduce API quota usage. Available values: 'snippet' (basic info like title/thumbnails), 'contentDetails' (video ID/publish time), 'status' (privacy status), 'id' (item ID only). Default: "snippet,contentDetails". Example: "snippet,contentDetails"
- OnBehalfOfContentOwner: Advanced option: Only for members of the YouTube Partner Program acting on behalf of a specific content owner. Regular individual creators or small businesses should leave this empty. If you are not part of a Content Management System (CMS), do not use this. Example: ""
Output:
- PlaylistItem (object): The complete playlist item object. Key fields: id (unique item ID), snippet.title (video title), snippet.description (video description), snippet.thumbnails (object containing 'default', 'medium', 'high', 'standard', 'maxres' sizes, each with url, width, height), snippet.position (0-based order), snippet.resourceId.videoId (the actual YouTube video ID), contentDetails.videoId (same as resourceId).
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200 for success, 404 for not found).
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors), 500 = system error, -1 = parameter validation error.
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully.
Find Channels
Find YouTube channels by ID, username, or for the authenticated user. Use this to retrieve channel details; for searching videos use 'Search Videos'.
Options:
- ChannelIds: Comma-separated list of YouTube channel IDs (starts with 'UC'). How to get: 1. From channel URL: youtube.com/channel/UCxxx (copy the UCxxx part); 2. From 'Search Videos' tool: Use the 'channelId' field in results. Mutually exclusive with Mine and ForUsername. Example: "UCuAXFkgsw1L7xaCfnd5JJOw"
- Mine: Whether to retrieve the authenticated user's channel. Mutually exclusive with ChannelIds and ForUsername. Default: "false".
- ForUsername: Retrieve channel for a specific legacy username. Mutually exclusive with ChannelIds and Mine. Example: "GoogleDevelopers"
- Part: Comma-separated resource parts to return. Recommended parts: 'snippet' (Channel name, description, and avatar), 'statistics' (Subscriber count, video count, view count), 'contentDetails' (Upload playlist ID). Advanced parts: 'brandingSettings' (Banner image and keywords), 'status' (Privacy status). Example: "snippet,statistics"
- MaxResults: Maximum number of items to return (1-50). Default: "5".
- PageToken: Token for the next page of results.
- Hl: Language code for localized channel title and description. Format: language_REGION (e.g., en_US for American English, zh_CN for Simplified Chinese). Common codes: en_US, zh_CN, ja_JP, es_ES. Example: "en_US"
Output:
- Channels (object-array): Formatted channel objects. Fields: ChannelId (string), ChannelTitle (string), ChannelDescription (string), SubscriberCount (string, numeric format e.g. "2340000"), VideoCount (string, numeric format), ViewCount (string, numeric format). Note: Count fields are strings to preserve large numbers.
- RawChannels (object-array): Full YouTube API v3 channel resource objects. Nested structures: 1. snippet.thumbnails: contains default/medium/high sizes, each with url/width/height; 2. contentDetails.relatedPlaylists.uploads: Playlist ID containing all uploaded videos; 3. statistics: viewCount, subscriberCount, videoCount (all strings). See ResponseExample for full structure.
- TotalResults (number): Total number of results matching the query.
- ResultsPerPage (number): Number of results returned in this response.
- NextPageToken (string): Token to retrieve the next page.
- PrevPageToken (string): Token to retrieve the previous page.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200 for success, 404 for not found). Default 0 means no HTTP request was made.
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors reflected in ErrorMessage), 500 = system error (network failure, timeout, code crash), -1 = parameter validation error (request not sent).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Get a Channel
Retrieve a single YouTube channel's details. Use this to get channel info by ID, handle, or username.
Options:
- ChannelId: REQUIRED (one of three): Unique 24-character ID starting with 'UC'. Obtain from 'Search Channels' action or extract from channel URL (youtube.com/channel/UC...). Example: "UC_x5XG1OV2P6uZZ5FSM9Ttw"
- ForUsername: REQUIRED (one of three): The legacy YouTube username (e.g., "Google"). Use this if ChannelId is unknown. Example: "Google"
- ForHandle: REQUIRED (one of three): The YouTube handle (e.g., "@Google"). The '@' prefix is optional. Example: "@Google"
- Part: Select data types to return (comma-separated). Options: snippet (title, desc), statistics (subscribers, views), contentDetails (upload playlist), status (privacy), brandingSettings. Default: "snippet,contentDetails,statistics". Example: "snippet,statistics"
- Hl: The BCP-47 language code for localized text (e.g., 'en_US', 'zh_CN', 'ja_JP'). Defaults to English if not specified. Example: "en_US"
Output:
- ChannelId (string): The unique ID of the YouTube channel.
- ChannelTitle (string): The title of the channel.
- ChannelDescription (string): The description of the channel.
- CustomUrl (string): The custom URL of the channel.
- PublishedAt (string): The date and time when the channel was created (ISO 8601 format).
- SubscriberCount (number): The number of subscribers the channel has. Note: Parsed to number for easier comparison.
- VideoCount (number): The number of videos uploaded to the channel. Note: Parsed to number for easier comparison.
- ViewCount (number): The total number of views for the channel. Note: Parsed to number for easier comparison.
- Country (string): The country associated with the channel.
- Channel (object): Complete YouTube Channel resource object. Key fields:
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200 for success, 404 for not found). Default 0 means no HTTP request was made.
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors reflected in ErrorMessage), 500 = system error (network failure, timeout, code crash), -1 = parameter validation error (request not sent).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Update a Channel
Behavior: Performs a PUT replacement on the specified part. Only fields included in ChannelData are updated; omitted fields in the same part retain values unless nested objects are replaced. Side Effects: Changes are immediately visible to viewers. No email notifications or internal workflows are triggered. If the channel description contains policy-violating content, YouTube may flag the channel for review after the update.
Input Parameters:
- ChannelId: The unique ID of the YouTube channel to update. Find it in YouTube Studio > Settings > Customization > Basic info (scroll down to Channel ID), or by calling the 'List_Channels' action with 'mine=true'. Example: "UC7_YGaQnfr1WGiTgS6yS5_w"
- Part: The channel resource part to update. Options: 'brandingSettings' (update description, keywords, country), 'invideoPromotion' (configure featured videos), 'localizations' (localized titles). Note: Only one part can be updated per request. The ChannelData structure must match the selected Part; mismatched data will result in a 400 Bad Request error. Example: "brandingSettings"
- ChannelData: The channel metadata to update, structured according to the 'Part' parameter. Example: If Part='brandingSettings', use {"brandingSettings": {"channel": {"description": "New description"}}}
Options:
- OnBehalfOfContentOwner: Optional. Content owner ID for YouTube CMS users. Allows authenticated access to all linked channels once. Requires linking CMS account to the specified YouTube content owner.
Output:
- ChannelId (string): The ID of the updated channel.
- Title (string): The current title of the channel.
- Description (string): The updated description of the channel.
- UpdatedPart (string): The name of the part that was updated (brandingSettings, invideoPromotion, or localizations).
- ChannelData (object): The updated channel resource object. Includes: kind (resource type 'youtube#channel'), etag (version identifier), id (channel ID), brandingSettings (SEO/branding), snippet (title/description), and localizations (translations).
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200, 400, 403, 404). Default 0 means no HTTP request was made.
- StatusCode (number): Operation status code: 200 (Success/Business Error), -1 (Validation Error), 500 (System Error). For 200, check ErrorMessage for business-level issues like 403 Permission Denied (when OriginalStatusCode is 403).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Upload a Channel Banner
Upload a channel banner image to YouTube. Use this as step 1 of the 3-step banner update process (Upload -> Extract URL -> Update Channel).
Input Parameters:
- ImageFilePath: The local absolute or relative path of the image file to upload (required). Supported formats: JPEG, PNG. File size limit: 6MB. Image requirements: 16:9 aspect ratio, at least 2048x1152 pixels. Examples: - Unix/Linux/Mac: /home/user/images/banner.jpg - Windows: C:\Users\username\Documents\banner.png - Relative: ./assets/channel_banner.jpg
Options:
- OnBehalfOfContentOwner: The ID of the content owner that the API request is being made on behalf of. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. You can find this ID in your YouTube Content Manager dashboard. Only required if you are managing multiple channels under a content owner account. Example: "contentOwnerABC123"
Output:
- ChannelBanner (object): The complete channel banner resource object returned by the YouTube API. Key fields: kind (string), etag (string), url (string). Refer to YouTube Data API documentation for full field list.
- Url (string): The publicly accessible URL of the uploaded banner image (format: https://yt3.ggpht.com/...). Use this URL in a subsequent 'Update Channel' call to set the 'brandingSettings.image.bannerExternalUrl' property.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200, 401, 403, 404). Default 0 means no HTTP request was made.
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors reflected in ErrorMessage), 500 = system error (network failure, timeout, code crash), -1 = parameter validation error (request not sent).
- ErrorMessage (string): Error description message. Empty string if the operation completed successfully. Contains specific error details when StatusCode is non-200 or when the upstream API returns a business error.
Find Video Categories
Find video categories in YouTube. Use this to retrieve a list of categories by IDs or region; for searching videos use 'Search Videos'.
Options:
- Part: Specifies the resource parts that the API response will include. For this action, it is fixed to "snippet" to retrieve basic category information (title, assignable status, etc.). Usually, you do not need to change this value. Example: "snippet"
- CategoryIds: A comma-separated list of video category IDs (no spaces). Example: "1,10,17,22". ⚠️ Mutual Exclusivity: You must specify either CategoryIds or RegionCode, but not both. Use this parameter if you know the specific IDs you want to retrieve.
- RegionCode: The parameter instructs the API to return the list of video categories available in the specified country. Use ISO 3166-1 alpha-2 country codes (two uppercase letters). Common Examples: "US" (United States), "GB" (United Kingdom), "JP" (Japan), "DE" (Germany), "FR" (France), "CN" (China). ⚠️ Mutual Exclusivity: You must specify either CategoryIds or RegionCode, but not both.
- Hl: The language that should be used for text values in the API response. Format: "language_REGION" (ISO 639-1 language code followed by an underscore and ISO 3166-1 alpha-2 region code). Examples: "en_US" (English/US), "zh_CN" (Simplified Chinese), "zh_TW" (Traditional Chinese), "ja_JP" (Japanese). Default is "en_US".
Output:
- TotalResults (number): Total number of video categories in the result set.
- ResultsPerPage (number): Number of video categories included in the API response.
- NextPageToken (string): Token for retrieving the next page of results (if any).
- PrevPageToken (string): Token for retrieving the previous page of results (if any).
- Categories (object-array): A list of video category resources. Each object contains: id (string), snippet.title (string), snippet.assignable (boolean), snippet.channelId (string). Refer to YouTube Data API documentation for full list.
- OriginalStatusCode (number): The raw HTTP status code returned by the YouTube API (e.g., 200 for success, 404 for not found).
- StatusCode (number): System operation status code. 200 = system healthy (including API business errors), 500 = system error, -1 = parameter validation error.
- ErrorMessage (string): Error description if operation fails, empty string on success.
5. Example Usage
This section will guide you through creating a simple workflow that uploads a video to your YouTube channel.
Workflow Overview:
The example workflow consists of three main components:
Start → Upload a Video → Answer
Step-by-Step Guide:
- Add the YouTube Node:
- In the workflow canvas, click the "+" button to add a new node.
- In the pop-up panel, select the "Tools" tab.
- Find and select Youtube from the tool list.
- In the list of supported operations, click Upload a Video to add the node to your canvas.
- Configure the Node:
- Click the newly added Upload a Video node. The configuration panel will appear on the right side.
- Credentials Configuration: At the top of the panel, find the credentials field. Click the dropdown menu and select your pre-configured Youtube credentials.
- Parameter Configuration: Fill in the required parameters:
- Title: Enter the title for your video, for example: "My First YouTube Video".
- VideoFilePath: Provide the local file path to the video file you want to upload, for example: "C:\\Videos\\myvideo.mp4".
- Part (Optional): You can leave this as the default "snippet,status" or customize it based on what metadata you want to include.
- Description (Optional): Add a description for your video to help viewers understand the content.
- Run and Verify:
- Once all required parameters are correctly filled in, any error indicators in the top-right corner of the canvas will disappear.
- Click the "Test Run" button in the top-right corner to execute the workflow.
- After successful execution, click the log icon in the top-right corner to view the detailed input and output of the node, verifying that the video was uploaded successfully.
Workflow Summary:
After completing the above steps, your workflow is fully configured. When you click "Test Run", the video will be uploaded to your YouTube channel, and you'll receive the video ID and other metadata in the output.
6. FAQs
Q: I'm getting a 401 or 403 error when trying to use YouTube operations.
A: This typically indicates an authentication or authorization issue. Please check the following:
- Ensure your YouTube credentials are correctly configured and have not expired.
- Verify that your Google account has the necessary permissions for the YouTube Data API.
- Check that your API quota has not been exceeded.
- Make sure you have authorized the appropriate scopes when setting up OAuth2 credentials.
Q: How do I find the PlaylistId or VideoId I need for certain operations?
A: You can obtain these IDs in several ways:
- From YouTube URLs: The VideoId appears as the v= parameter in video URLs (e.g., https://www.youtube.com/watch?v=VIDEO_ID). The PlaylistId appears as the list= parameter in playlist URLs.
- Using Find operations: Use Find Videos, Find Playlists, or Find Channels operations to search for content and retrieve the corresponding IDs.
- From previous operations: Many operations return IDs as output, which can be used as input for subsequent operations.
Q: My video upload is failing with a file size error.
A: YouTube has specific file size and duration limits:
- Default accounts can upload videos up to 15 minutes.
- Verified accounts can upload videos up to 12 hours or 256 GB.
- Ensure your video file format is supported (MP4, AVI, MOV, WMV, etc.).
- Consider compressing large video files before uploading.
Q: Can I schedule videos or set them as private/unlisted?
A: Yes, you can control the privacy status when uploading or updating videos:
- Use the PrivacyStatus parameter in Upload a Video or Update a Video operations.
- Available options are: public, private, or unlisted.
- For scheduling, you can set the video as private initially and use the PublishAt parameter (if supported by your workflow setup) or update it later.
Leave a Reply.