youtube-automation について
youtube-automation は、Rube MCP 経由で Composio の YouTube ツールキットを使い、YouTube の操作を自動化するスキルです。動画、プレイリスト、チャンネル、登録、コメントのワークフローに対応します。
主な機能
- 01動画のアップロードと編集
- 02動画、チャンネル、プレイリストの検索
- 03プレイリストの作成と管理
- 04チャンネルと動画の統計取得
- 05登録とコメントの管理
活用シーン
- 01メタデータ付き動画の公開
- 02動画やプレイリストの検索
- 03チャンネルと動画の指標確認
- 04プレイリストと登録の整理
MCP 対応
Rube MCP 経由で Composio の YouTube ツールキットにアクセスします。クライアントで Rube MCP に接続し、有効な YouTube 接続を確立する必要があります。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill youtube-automationインストール後、Claude Code で/youtube-automationを入力して読み込まれたか確認します。
詳細
Rube MCP を使った YouTube の自動化
Rube MCP を介して Composio の YouTube ツールキットを使い、YouTube の操作を自動化します。
ツールキットのドキュメント:composio.dev/toolkits/youtube
前提条件
- Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
RUBE_MANAGE_CONNECTIONSでツールキットyoutubeを指定した、有効な YouTube 接続- 最新のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
Rube MCP の取得:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを検証します- ツールキット
youtubeを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Google OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. 動画のアップロードと管理
使用する状況:ユーザーが動画のアップロードや動画のメタデータの更新を希望している場合
ツールの実行順序:
YOUTUBE_UPLOAD_VIDEO- 新しい動画をアップロードします[必須]YOUTUBE_UPDATE_VIDEO- タイトル、説明、タグ、公開設定を更新します[任意]YOUTUBE_UPDATE_THUMBNAIL- カスタムサムネイルを設定します[任意]
主なパラメーター:
title:動画のタイトル(最大 100 文字)description:動画の説明(最大 5000 バイト)tags:キーワードタグの配列categoryId:YouTube カテゴリ ID(例:People & Blogs の場合は「22」)privacyStatus:「public」、「private」、または「unlisted」videoFilePath:動画ファイルの{name, mimetype, s3key}を含むオブジェクト
注意点:
- UPLOAD_VIDEO はクォータを大量に消費するため、メタデータのみを変更する場合は UPDATE_VIDEO を優先してください
- videoFilePath は s3key を含むオブジェクトである必要があり、生のファイルパスや URL は指定できません
- タグの合計は、区切り文字を含めて 500 文字を超えてはいけません
- タグ内の山括弧
< >は自動的に削除されます - 説明の上限は 5000 バイトであり、文字数ではありません(マルチバイト文字はより多くのバイト数としてカウントされます)
2. YouTube コンテンツの検索
使用する状況:ユーザーが動画、チャンネル、または再生リストを探したい場合
ツールの実行順序:
YOUTUBE_SEARCH_YOU_TUBE- コンテンツを検索します[必須]YOUTUBE_VIDEO_DETAILS- 特定の動画の詳細を取得します[任意]YOUTUBE_GET_VIDEO_DETAILS_BATCH- 複数の動画の詳細を取得します[任意]
主なパラメーター:
q:検索クエリ(完全一致フレーズ、除外指定、チャンネルハンドルに対応)type:「video」、「channel」、または「playlist」maxResults:ページごとの結果数(1~50)pageToken:ページネーション用
注意点:
- 検索エンドポイントが返すのは「snippet」部分のみです。統計情報を取得するには VIDEO_DETAILS を使用してください
- 検索結果の上限は合計 500 件です
- 検索のクォータコストは 100 ユニットで、リストエンドポイント(1 ユニット)より高くなります
- BATCH 動画詳細の実用上の上限は、1 回あたり約 50 ID です。より多い場合は分割してください
3. 再生リストの管理
使用する状況:ユーザーが再生リストの作成や、再生リスト内のコンテンツの管理を希望している場合
ツールの実行順序:
YOUTUBE_LIST_USER_PLAYLISTS- ユーザーの既存の再生リストを一覧表示します[任意]YOUTUBE_CREATE_PLAYLIST- 新しい再生リストを作成します[任意]YOUTUBE_ADD_VIDEO_TO_PLAYLIST- 動画を再生リストに追加します[任意]YOUTUBE_LIST_PLAYLIST_ITEMS- 再生リスト内の動画を一覧表示します[任意]
主なパラメーター:
playlistId:再生リスト ID(ユーザー作成の場合は「PL...」、アップロード動画の場合は「UU...」)part:含めるリソース部分(例:「snippet,contentDetails」)maxResults:ページごとの項目数(1~50)pageToken:前回の応答から取得したページネーショントークン
注意点:
- チャンネル ID(「UC...」)を再生リスト ID として渡さないでください。アップロード動画の場合は「UC」を「UU」に変換します
- 大きな再生リストでは pageToken によるページネーションが必要です。nextPageToken がなくなるまで続けてください
- items[].id は videoId ではありません。items[].snippet.resourceId.videoId を使用してください
- 同じ名前の再生リストを複数作成できます。作成前に既存の再生リストを確認してください
4. チャンネルと動画のアナリティクスを取得する
使用する場面:ユーザーがチャンネルのパフォーマンスや動画の指標を分析したい場合
ツールの順序:
YOUTUBE_GET_CHANNEL_ID_BY_HANDLE- ハンドルからチャンネル ID を解決します[前提条件]YOUTUBE_GET_CHANNEL_STATISTICS- チャンネルの登録者数、視聴回数、動画数を取得します[必須]YOUTUBE_LIST_CHANNEL_VIDEOS- チャンネルのすべての動画を一覧表示します[任意]YOUTUBE_GET_VIDEO_DETAILS_BATCH- 動画ごとの統計情報を取得します[任意]YOUTUBE_GET_CHANNEL_ACTIVITIES- チャンネルの最近のアクティビティを取得します[任意]
主なパラメーター:
channelId:チャンネル ID('UC...')、ハンドル('@handle')、または 'me'forHandle:チャンネルのハンドル(例:'@Google')id:バッチ詳細取得用の動画 ID(カンマ区切り)parts:含めるリソースのパーツ(例:'snippet,statistics')
注意点:
- チャンネルの統計情報は累計値であり、期間ごとの値ではありません
- BATCH 動画詳細では、非公開または削除済みの動画について、要求した数より少ない項目が返される場合があります
- レスポンスデータは
dataまたはdata_previewの下にネストされる場合があります。どちらにも対応できるよう解析してください - contentDetails.duration は ISO 8601 形式です(例:'PT4M13S')
5. 登録とコメントを管理する
使用する場面:ユーザーがチャンネルに登録したい、または動画のコメントを確認したい場合
ツールの順序:
YOUTUBE_SUBSCRIBE_CHANNEL- チャンネルに登録します[任意]YOUTUBE_UNSUBSCRIBE_CHANNEL- チャンネルの登録を解除します[任意]YOUTUBE_LIST_USER_SUBSCRIPTIONS- 登録チャンネルを一覧表示します[任意]YOUTUBE_LIST_COMMENT_THREADS- 動画のコメントを一覧表示します[任意]
主なパラメーター:
channelId:登録または登録解除するチャンネルvideoId:コメントスレッドの動画 IDmaxResults:1 ページあたりの結果数pageToken:ページネーション用トークン
注意点:
- すでに登録済みのチャンネルに登録しようとすると、エラーが返される場合があります
- コメントスレッドにはトップレベルのコメントが返され、各コメントには最大 5 件の返信が含まれます
- 一部の動画ではコメントが無効になっている場合があります
- 登録解除にはチャンネル ID ではなく、登録 ID が必要です
よくあるパターン
チャンネル ID の解決
ハンドルからチャンネル ID へ:
1. Call YOUTUBE_GET_CHANNEL_ID_BY_HANDLE with '@handle'
2. Extract channelId from response
3. Use in subsequent channel operations
アップロード動画のプレイリスト:
1. Get channel ID (starts with 'UC')
2. Replace 'UC' prefix with 'UU' to get uploads playlist ID
3. Use with LIST_PLAYLIST_ITEMS to enumerate all videos
ページネーション
maxResultsを設定します(1 ページあたり最大 50 件)- レスポンスで
nextPageTokenを確認します - 次のリクエストでトークンを
pageTokenとして渡します nextPageTokenがなくなるまで続けます
動画詳細の一括取得
- 検索結果またはプレイリスト一覧から動画 ID を収集します
- 約 50 件ずつのグループに分割します
- グループごとに GET_VIDEO_DETAILS_BATCH を呼び出します
- 各グループの結果を統合します
既知の注意点
クォータ管理:
- YouTube API には 1 日あたりのクォータ上限があります(デフォルトは 10,000 単位)
- アップロードは 1600 単位、検索は 100 単位、リスト取得は 1 単位です
- 可能な場合は、検索よりリスト取得のエンドポイントを優先してください
- 1 日あたりの上限に達しないよう、クォータの使用状況を監視してください
ID の形式:
- 動画 ID:11 文字の英数字
- チャンネル ID:'UC' で始まり、その後に 22 文字が続きます
- プレイリスト ID:'PL'(ユーザー)または 'UU'(アップロード動画)で始まります
- チャンネル ID とプレイリスト ID を混同しないでください
サムネイル:
- カスタムサムネイルにはチャンネルの電話番号認証が必要です
- JPG、PNG、GIF 形式で、2MB 未満である必要があります
- 推奨サイズ:1280x720(アスペクト比 16:9)
レスポンスの解析:
- 統計値は整数ではなく文字列として返されるため、計算前に型を変換してください
- 動画の長さは ISO 8601 形式です(PT#H#M#S)
- バッチレスポンスでは、データが異なるキーの下にラップされる場合があります
クイックリファレンス
| タスク | ツールスラッグ | 主なパラメーター |
|---|---|---|
| 動画をアップロード | YOUTUBE_UPLOAD_VIDEO | title, description, tags, categoryId, privacyStatus, videoFilePath |
| 動画を更新 | YOUTUBE_UPDATE_VIDEO | video_id, title, description, tags |
| サムネイルを設定 | YOUTUBE_UPDATE_THUMBNAIL | videoId, thumbnailUrl |
| YouTube を検索 | YOUTUBE_SEARCH_YOU_TUBE | q, type, maxResults |
| 動画の詳細 | YOUTUBE_VIDEO_DETAILS | id, part |
| 動画の詳細を一括取得 | YOUTUBE_GET_VIDEO_DETAILS_BATCH | id, parts |
| 再生リストを一覧表示 | YOUTUBE_LIST_USER_PLAYLISTS | maxResults, pageToken |
| 再生リストを作成 | YOUTUBE_CREATE_PLAYLIST | (スキーマを確認) |
| 再生リストに追加 | YOUTUBE_ADD_VIDEO_TO_PLAYLIST | (スキーマを確認) |
| 再生リストのアイテムを一覧表示 | YOUTUBE_LIST_PLAYLIST_ITEMS | playlistId, maxResults |
| チャンネル統計情報 | YOUTUBE_GET_CHANNEL_STATISTICS | id/forHandle/mine |
| チャンネルの動画を一覧表示 | YOUTUBE_LIST_CHANNEL_VIDEOS | channelId, maxResults |
| ハンドルからチャンネル ID を取得 | YOUTUBE_GET_CHANNEL_ID_BY_HANDLE | channel_handle |
| チャンネルを登録 | YOUTUBE_SUBSCRIBE_CHANNEL | channelId |
| 登録チャンネルを一覧表示 | YOUTUBE_LIST_USER_SUBSCRIPTIONS | (スキーマを確認) |
| コメントを一覧表示 | YOUTUBE_LIST_COMMENT_THREADS | videoId |
| チャンネルのアクティビティ | YOUTUBE_GET_CHANNEL_ACTIVITIES | (スキーマを確認) |
Composio 提供