youtube-playlist について
youtube-playlistは、YouTubeのプレイリスト閲覧と動画の文字起こし取得を行うエージェント向けスキルです。動画一覧のページ送りや、チャンネルからのプレイリスト検索に対応します。
主な機能
- 01プレイリスト動画のページ取得
- 02動画の文字起こし取得
- 03チャンネルのプレイリスト閲覧
- 04URLまたはIDで指定
活用シーン
- 01プレイリスト内の動画整理
- 02動画の文字起こし取得
- 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
}
ページネーションの流れ:
- 最初のリクエスト:
?playlist=PLxxx— 最初の動画100件とcontinuation_tokenを返します - 次のリクエスト:
?continuation=TOKEN— 次の動画100件と新しいトークンを返します 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/1010 | Cloudflare によるブロック | User-Agent ヘッダーを追加または修正してください |
| 404 | プレイリストが見つからない | プレイリストが公開されているか確認してください |
| 408 | タイムアウト | 1回再試行してください |
| 422 | プレイリスト形式が無効 | 有効なプレイリスト URL または ID を指定してください |
1ページあたり1クレジットです。無料プラン:100クレジット、毎分300リクエスト。
コピーして使える例
このファイル内のすべてのリクエストを、すぐに実行できる1行形式で掲載しています:references/curl-examples.md