mcpField
Y
youtube-playlist

youtube-playlist

github.com/zeropointrepo生産性1.1k721 回インストール5 週間前に更新
リポジトリ

youtube-playlist について

youtube-playlistは、YouTubeのプレイリスト閲覧と動画の文字起こし取得を行うエージェント向けスキルです。動画一覧のページ送りや、チャンネルからのプレイリスト検索に対応します。

主な機能

  1. 01プレイリスト動画のページ取得
  2. 02動画の文字起こし取得
  3. 03チャンネルのプレイリスト閲覧
  4. 04URLまたはIDで指定

活用シーン

  1. 01プレイリスト内の動画整理
  2. 02動画の文字起こし取得
  3. 03チャンネルからプレイリストを検索

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/zeropointrepo/youtube-skills --skill youtube-playlist

インストール後、Claude Code で/youtube-playlistを入力して読み込まれたか確認します。

同梱ファイルreferences/auth-setup.mdreferences/curl-examples.md

詳細

YouTube プレイリスト

TranscriptAPI.com を使って、プレイリストを閲覧し、文字起こしを取得します。

セットアップ

$TRANSCRIPT_API_KEY が設定されていない場合は、references/auth-setup.md を読み、そこに記載された手順に従ってキーを取得し、保存してください。

必須ヘッダー

すべてのリクエストには、次の2つのヘッダーが必要です。

  • Authorization: Bearer $TRANSCRIPT_API_KEY
  • User-Agent: わかる場合は、エージェント名とバージョン(例:HermesAgent/0.11.0、ClaudeCode/1.0)。バージョンは省略可能で、エージェント名だけでもかまいません。このヘッダーを省略したり、デフォルトのまま送信したりしないでください。Cloudflare が 403(エラーコード 1010)を返し、リクエストをブロックします。

API リファレンス

OpenAPI の完全な仕様:transcriptapi.com/openapi.json — 最新のパラメーターとスキーマについては、こちらを参照してください。

GET /api/v2/youtube/playlist/videos — 1クレジット/ページ

ページ分割されたプレイリストの動画一覧(1ページあたり100件)です。playlist — YouTube のプレイリスト URL またはプレイリスト ID を指定します。

# First page
GET https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_ID
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# Next pages
GET https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
パラメーター必須検証
playlist条件付きプレイリストの URL または ID(PL/UU/LL/FL/OL のいずれかで始まる)
continuation条件付き空でない文字列

playlist と continuation のどちらか一方だけを指定してください。両方は指定できません。

受け付けるプレイリスト ID の接頭辞:

  • PL — ユーザー作成のプレイリスト
  • UU — チャンネルのアップロード動画プレイリスト
  • LL — 高く評価した動画
  • FL — お気に入り
  • OL — その他のシステムプレイリスト

レスポンス:

{
  "results": [
    {
      "videoId": "abc123xyz00",
      "title": "Playlist Video Title",
      "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
      "channelTitle": "Channel Name",
      "channelHandle": "@handle",
      "lengthText": "10:05",
      "viewCountText": "1.5M views",
      "thumbnails": [{ "url": "...", "width": 120, "height": 90 }],
      "index": "0"
    }
  ],
  "playlist_info": {
    "title": "Best Science Talks",
    "numVideos": "47",
    "description": "Top science presentations",
    "ownerName": "TED",
    "viewCount": "5000000"
  },
  "continuation_token": "4qmFsgKlARIYVVV1...",
  "has_more": true
}

ページネーションの流れ:

  1. 最初のリクエスト:?playlist=PLxxx — 最初の動画100件と continuation_token を返します
  2. 次のリクエスト:?continuation=TOKEN — 次の動画100件と新しいトークンを返します
  3. has_more: false または continuation_token: null になるまで繰り返します

プレイリストから文字起こしを取得するワークフロー

# 1. List playlist videos
GET https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_ID
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# 2. Get transcript from a video in the playlist
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

プレイリスト ID がわからない場合:チャンネルから探す

まずチャンネルのプレイリストを閲覧し(1クレジット/ページ)、その中から1つを選んで動画を一覧表示します。

# 1. List the channel's playlists
GET https://transcriptapi.com/api/v2/youtube/channel/playlists?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# 2. List videos in the chosen playlist (playlistId from step 1)
GET https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PLAYLIST_ID
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

URL からプレイリスト ID を抽出する

https://www.youtube.com/playlist?list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf の場合、プレイリスト ID は PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf です。playlist パラメーターには URL 全体を直接渡すこともできます。

エラー

コード意味対処
400パラメーターが両方またはどちらも指定されていないplaylist または continuation のどちらか一方だけを指定してください
402クレジット不足transcriptapi.com/billing
403/1010Cloudflare によるブロックUser-Agent ヘッダーを追加または修正してください
404プレイリストが見つからないプレイリストが公開されているか確認してください
408タイムアウト1回再試行してください
422プレイリスト形式が無効有効なプレイリスト URL または ID を指定してください

1ページあたり1クレジットです。無料プラン:100クレジット、毎分300リクエスト。

コピーして使える例

このファイル内のすべてのリクエストを、すぐに実行できる1行形式で掲載しています:references/curl-examples.md

コメント