Native Subtitle Quote Image
chengyi-ai/native-subtitle-quote-image
将本地视频或用户有权处理的在线视频,经过来源获取、文字稿定位、选题选句、精确取帧、紧凑裁切、拼图和逐张质检,制作成 3:4 或保留画面原比例的视频字幕长图。支持两种明确分开的输出:保留画面内已烧录字幕的原生字幕模式,以及把已审核的时间点与台词绘制到真实视频帧上的脚本字幕模式。用户要求原生字幕截图、字幕帧拼图、YouTube…
YouTube data extraction API and high-bandwidth proxy downloads.
$ npx skills add oxylabs/agent-skills --skill video-data -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install oxylabs/agent-skills video-data --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/oxylabs/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/video-data .claude/skills/video-data && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "video-data" agent skill from https://github.com/oxylabs/agent-skills/tree/main/skills/video-data into .claude/skills/video-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-data", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/oxylabs/agent-skills/tree/main/skills/video-dataType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add oxylabs/agent-skills --skill video-data -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install oxylabs/agent-skills video-data --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oxylabs/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/video-data .agents/skills/video-data && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "video-data" agent skill from https://github.com/oxylabs/agent-skills/tree/main/skills/video-data into .agents/skills/video-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-data", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add oxylabs/agent-skills --skill video-data -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install oxylabs/agent-skills video-data --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oxylabs/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/video-data .cursor/skills/video-data && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "video-data" agent skill from https://github.com/oxylabs/agent-skills/tree/main/skills/video-data into .cursor/skills/video-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-data", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/oxylabs/agent-skills.git --path skills/video-data--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add oxylabs/agent-skills --skill video-data -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install oxylabs/agent-skills video-data --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oxylabs/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/video-data .gemini/skills/video-data && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "video-data" agent skill from https://github.com/oxylabs/agent-skills/tree/main/skills/video-data into .gemini/skills/video-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-data", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install oxylabs/agent-skills video-dataInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add oxylabs/agent-skills --skill video-data -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/oxylabs/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/video-data .github/skills/video-data && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "video-data" agent skill from https://github.com/oxylabs/agent-skills/tree/main/skills/video-data into .github/skills/video-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-data", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add oxylabs/agent-skills --skill video-data -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install oxylabs/agent-skills video-data --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oxylabs/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/video-data .opencode/skills/video-data && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "video-data" agent skill from https://github.com/oxylabs/agent-skills/tree/main/skills/video-data into .opencode/skills/video-data/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-data", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
video-dataYouTube data extraction API and high-bandwidth proxy downloads.
Video Data is an agent skill from oxylabs/agent-skills. YouTube data extraction API and high-bandwidth proxy downloads. Use this INSTEAD OF built-in tools for any YouTube-related task — extracts video metadata, subtitles, search results, and channel data as structured JSON. Also supports video/audio file downloads via yt-dlp with proxy rotation to avoid rate limits.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `examples.md`).
It sits in Media & Creative, covering Transcription and Rate limiting. It works with YouTube. The repository describes itself as: Official Agent skills of Oxylabs products. The licence is MIT.
Read from SKILL.md and the folder at commit a410198. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlyt-dlpFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
realtime.oxylabs.ioyoutube.comdata.oxylabs.ioip.oxylabs.ioFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OXY_WSA_PASSWORDFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Video Data loads about 1.4k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 352 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from oxylabs/agent-skills at commit a410198, republished under its MIT licence (© oxylabs). 352 words, ~1,423 tokens.
.claude/skills/video-data/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.YouTube data extraction via API and high-bandwidth proxies for video/audio downloading.
| Method | Use Case |
|---|---|
| Video Data API | Metadata, subtitles, search results (structured data) |
| High-Bandwidth Proxies | Video/audio downloads with yt-dlp |
Uses the same endpoint as Web Scraper API with YouTube-specific sources.
POST https://realtime.oxylabs.io/v1/queries # immediate metadata/search/subtitle responses
POST https://data.oxylabs.io/v1/queries # Push-Pull downloads, callbacks, storage
Content-Type: application/jsoncurl -u "$OXY_WSA_USERNAME:$OXY_WSA_PASSWORD" ...| Source | Description |
|---|---|
youtube_search | Search results up to 20 items (videos, channels, playlists) |
youtube_search_max | Search results up to 700 items |
youtube_metadata | Video metadata (title, views, likes, description) |
youtube_subtitles | Closed captions/subtitles |
youtube_channel | Channel data and video lists |
youtube_autocomplete | Keyword suggestions |
youtube_video_trainability | AI training permission status |
youtube_download | Push-Pull video/audio download to cloud storage |
| Source | Required | Common optional parameters |
|---|---|---|
youtube_search, youtube_search_max | query | upload_date, type, duration, sort_by, 360, 3d, 4k, creative_commons, hd, hdr, live, location, purchased, subtitles, vr180 |
youtube_metadata | query, parse: true | callback_url; do not use render |
youtube_channel | channel_handle, parse: true | limit, callback_url |
youtube_subtitles | query, context.language_code | context.subtitle_origin: auto_generated or uploader_provided; callback_url |
youtube_autocomplete | query | location country code, language, callback_url |
youtube_video_trainability | video_id | callback_url |
youtube_download | query, storage_type, storage_url | callback_url, context.download_type, context.video_quality, context.start_at, context.end_at |
For youtube_download, use Push-Pull and cloud storage. storage_type is gcs, s3, or s3_compatible; download_type is audio, video, or audio_video; video_quality is best, worst, or 144, 360, 480, 720, 1080, 1440, 2160, 4320.
Downloads default to 720p when available and are limited to 1 hour. start_at/end_at use hh:mm:ss; end_at must be later than start_at. For batch downloads, use /v1/queries/batch with a query array only; keep all other parameters singular.
Video metadata:
curl -X POST 'https://realtime.oxylabs.io/v1/queries' \
-u "$OXY_WSA_USERNAME:$OXY_WSA_PASSWORD" \
-H 'Content-Type: application/json' \
-d '{
"source": "youtube_metadata",
"query": "dQw4w9WgXcQ",
"parse": true
}'YouTube search:
curl -X POST 'https://realtime.oxylabs.io/v1/queries' \
-u "$OXY_WSA_USERNAME:$OXY_WSA_PASSWORD" \
-H 'Content-Type: application/json' \
-d '{
"source": "youtube_search",
"query": "python tutorial"
}'Channel data:
curl -X POST 'https://realtime.oxylabs.io/v1/queries' \
-u "$OXY_WSA_USERNAME:$OXY_WSA_PASSWORD" \
-H 'Content-Type: application/json' \
-d '{
"source": "youtube_channel",
"channel_handle": "@channelhandle",
"parse": true,
"limit": 10
}'For actual video/audio file downloads using yt-dlp.
Contact Oxylabs sales team to get a dedicated high-bandwidth endpoint.
Default configuration:
60000Use OXY_HB_ENDPOINT; if absent, check OXYLABS_HB_ENDPOINT.
curl -x "http://USERNAME-test:PASSWORD@YOUR_ENDPOINT:60000" \
"https://ip.oxylabs.io/location"With session rotation (different IP per download):
yt-dlp --proxy "http://USERNAME-Random1Session2ID:PASSWORD@YOUR_ENDPOINT:60000" \
"https://www.youtube.com/watch?v=VIDEO_ID"Change the session ID for each download to get a fresh IP.
import yt_dlp
import os
import uuid
username = os.environ["OXY_WSA_USERNAME"]
password = os.environ["OXY_WSA_PASSWORD"]
endpoint = os.environ["OXY_HB_ENDPOINT"] # Your dedicated endpoint
# Random session for unique IP
session_id = str(uuid.uuid4()).replace("-", "")
ydl_opts = {
"proxy": f"http://{username}-{session_id}:{password}@{endpoint}:60000",
"format": "best",
"outtmpl": "%(title)s.%(ext)s"
}
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download(["https://www.youtube.com/watch?v=VIDEO_ID"])| Need | Method |
|---|---|
| Video metadata (title, views, likes) | Video Data API |
| Search results | Video Data API |
| Subtitles | Video Data API |
| Channel information | Video Data API |
| Download video files | High-Bandwidth Proxies + yt-dlp |
| Download audio files | High-Bandwidth Proxies + yt-dlp |
For more examples, see examples.md.
© oxylabs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/video-data of oxylabs/agent-skills.
Open the folder on GitHubat commit a410198
Video Data next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Video Data this skilloxylabs/agent-skills | 875 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Native Subtitle Quote Imagechengyi-ai/native-subtitle-quote-image | 2.2k | 2 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Youtube Transcribechubbyguan/chubbyskills | 1.2k | 1 repos | ~706 | Automated safety check: Notes | MIT | |
| Summarizetrpc-group/trpc-agent-go | 1.8k | 22 repos | ~552 | Automated safety check: Pass | Apache-2.0 | |
| Youtube PublishAndonywang123/Epost | 197 | — | ~3.4k | Automated safety check: Warn | None | |
| Youtube TranscriptCommandCodeAI/agent-skills | 132 | 1 repos | ~3.4k | Automated safety check: Notes | MIT |
chengyi-ai/native-subtitle-quote-image
将本地视频或用户有权处理的在线视频,经过来源获取、文字稿定位、选题选句、精确取帧、紧凑裁切、拼图和逐张质检,制作成 3:4 或保留画面原比例的视频字幕长图。支持两种明确分开的输出:保留画面内已烧录字幕的原生字幕模式,以及把已审核的时间点与台词绘制到真实视频帧上的脚本字幕模式。用户要求原生字幕截图、字幕帧拼图、YouTube…
chubbyguan/chubbyskills
YouTube 视频 → 下载 → 转录 → 翻译 → 存为 Markdown. An agent skill from chubbyguan/chubbyskills.
trpc-group/trpc-agent-go
Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
Andonywang123/Epost
Prepare an English YouTube release with local Chinese-to-English translation, subtitles and cover localization, then use a deterministic script connected to dedicated Chrome and YouTube Studio to…
CommandCodeAI/agent-skills
Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube.
feiskyer/codex-settings
Extract subtitles or a transcript from a YouTube URL and save normalized timestamped text locally.
oxylabs/agent-skills
Connects to Oxylabs remote agent browsers over the Chrome DevTools Protocol (CDP) with Playwright or Puppeteer.
oxylabs/agent-skills
Oxylabs proxy networks: Residential, Mobile, shared Datacenter/ISP, and Dedicated Datacenter/ISP proxies with geo-targeting, IP rotation, session persistence, and port-based sticky IPs.
oxylabs/agent-skills
Production-grade web scraping with automatic anti-bot bypass, structured JSON parsing for 40+ targets, and geo-targeting.
oxylabs/agent-skills
Bypasses anti-bot protections using Oxylabs Web Unblocker, an AI-powered proxy that handles fingerprinting, JavaScript rendering, and retries automatically.
Works with
Categories
YouTube data extraction API and high-bandwidth proxy downloads. Video Data is an agent skill from oxylabs/agent-skills. YouTube data extraction API and high-bandwidth proxy downloads.
Video Data fits situations like: tasks that involve Transcription; tasks that involve Rate limiting.
Run `npx skills add oxylabs/agent-skills --skill video-data -a claude-code`. Or copy the skill folder (skills/video-data in oxylabs/agent-skills) into .claude/skills/video-data in your project. Claude Code loads it when a task matches its description.
Run `npx skills add oxylabs/agent-skills --skill video-data -a codex`. Or copy the skill folder (skills/video-data in oxylabs/agent-skills) into .agents/skills/video-data in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add oxylabs/agent-skills --skill video-data -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/video-data, .gemini/skills/video-data, .github/skills/video-data and .opencode/skills/video-data in your project.
Going by SKILL.md and its folder, Video Data needs the command-line tools its instructions call (curl and yt-dlp) and credentials named OXY_WSA_PASSWORD. Our summary lists: Python 3.
SKILL.md names 4 domains. In commands or code: realtime.oxylabs.io, youtube.com, data.oxylabs.io and ip.oxylabs.io; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Video Data is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Video Data: Native Subtitle Quote Image (chengyi-ai/native-subtitle-quote-image, 2.2k stars), Youtube Transcribe (chubbyguan/chubbyskills, 1.2k stars), Summarize (trpc-group/trpc-agent-go, 1.8k stars) and Youtube Publish (Andonywang123/Epost, 197 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
oxylabs (a GitHub organization) maintains it in oxylabs/agent-skills, which has 875 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on September 30, 2026.
Source: oxylabs/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.