360 Secure SkillHub
360 安全技能中心

Youtube Master

通过 Python 脚本调用 YouTube Data API 获取指定视频的标题、描述、频道、播放量、点赞数、评论数、上传日期、缩略图与标签,可选通过 Apify 获取字幕文本;需配置相应密钥,默认只使用免费的视频信息接口。

tevfikgulep
tevfikgulep
热度 90.47
最近更新 2026-05-11 17:27:32
分类:数据依赖:代码执行 / 第三方 API / 读写文件应用场景:研究

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add youtube-master
Metadata
name
youtube-master
description
Get YouTube video info, statistics, descriptions, thumbnails, and optionally transcripts. Uses YouTube Data API (free) for basic info and Apify (optional) for transcripts.
metadata
{"openclaw":{"emoji":"🎬","requires":{"env":["YOUTUBE_API_KEY","APIFY_TOKEN"]},"install":[{"id":"youtube_api","kind":"env","label":"YouTube Data API Key (YOUTUBE_API_KEY)"},{"id":"apify_token","kind":"env","label":"Apify API Token (APIFY_TOKEN) - Optional for transcripts"}]}}

🎬 YouTube Master

Get comprehensive YouTube video data including metadata, statistics, descriptions, thumbnails, and optionally transcripts.

Why This Skill?

YouTube videos require multiple APIs to get complete data. This skill intelligently uses:

  • YouTube Data API (FREE) → Video metadata, stats, description
  • Apify API (OPTIONAL) → Only when transcripts requested

Advantages

💰 Cost Effective

  • Default: YouTube API only (free quota)
  • Transcript: Only 1 Apify request when explicitly requested
  • No wasted API calls

⚡ Fast Performance

  • YouTube API: ~200ms response
  • Apify: Only loads when needed

📊 Complete Data

Data Source
Title ✅ YouTube API
Description ✅ YouTube API
Channel Name ✅ YouTube API
View Count ✅ YouTube API
Like Count ✅ YouTube API
Comment Count ✅ YouTube API
Upload Date ✅ YouTube API
Thumbnail URL ✅ YouTube API
Tags ✅ YouTube API
Transcript ✅ Apify (on demand)

How It Works

┌─────────────────┐
│  Input: URL└────────┬/ID   │
────────┘
         │
         ▼
┌─────────────────┐
│ YouTube API    │ ◄── FREE, always runs
│ (viewCount,    │
│  description,   │
│  title, etc.)  │
└────────┬────────┘
         │
    ┌────┴────┐
    │         │
    ▼         ▼
┌───────┐ ┌──────────────┐
│ --    │ │ --transcript │
│info   │ │ is requested │
│only   │ └──────┬───────┘
└───┬───┘        │
    │            ▼
    │    ┌─────────────────┐
    │    │ Apify API      │ ◄── Only runs if
    │    │ (transcript)   │     explicitly asked
    │    └────────┬────────┘
    │             │
    └─────┬───────┘
          │
          ▼
┌─────────────────┐
│   Full Output   │
└─────────────────┘

Credentials Setup

Option 1: Environment Variables

export YOUTUBE_API_KEY="AIzaSy..."
export APIFY_TOKEN="apify_api_..."

Option 2: Credentials File (Recommended)

Add to ~/.openclaw/workspace/credentials/api-credentials.json:

{
  "google": {
    "api_key": "AIzaSy..."
  },
  "apify": {
    "api_key": "apify_api_..."
  }
}

Getting YouTube API Key

  1. Go to Google Cloud Console
  2. Create a project
  3. Enable YouTube Data API v3
  4. Create credentials (API Key)
  5. Free quota: 10,000 units/day

Getting Apify Token

  1. Go to Apify
  2. Sign up / Login
  3. Copy API token from Settings

Usage

Default (Info Only - FREE)

python3 get_transcript.py "VIDEO_ID"
python3 get_transcript.py "https://www.youtube.com/watch?v=VIDEO_ID"

With Transcript (Uses Apify)

python3 get_transcript.py "VIDEO_ID" --transcript
python3 get_transcript.py "VIDEO_ID" -t
python3 get_transcript.py "VIDEO_ID" --transcript --lang tr

Info Only

python3 get_transcript.py "VIDEO_ID" --info-only

Examples

Basic Video Info

python3 get_transcript.py dQw4w9WgXcQ

Video + Transcript

python3 get_transcript.py Oi3Z1wlZXhg --transcript --lang tr

Save to File

python3 get_transcript.py VIDEO_ID > output.txt

API Quotas

YouTube Data API (Free)

  • 10,000 units/day (default)
  • Video list: 1 unit per request
  • Enough for ~10,000 video queries/day

Apify

  • Free tier available
  • Only charged when transcript requested

Files

  • get_transcript.py - Main script