douyin-video-acquisition

douyin-video-acquisition is a skill for Claude Code, Codex from yehyakin/hermes-skills. It costs 42 tokens per session (2,649 once invoked), scanned A, original, MIT.

A tool workflow for getting video files and basic metadata from Douyin sharing links. Douyin is a Chinese short-video platform.

In plain words
What is it for?
Use it to resolve short links, retrieve a video’s title, author, duration, topics, ID, cover, and download link, or return those details as JSON.
Why use it?
It removes the need to manually find video details or obtain the file from a shared link. The supplied workflow is intended to work around login restrictions.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Not installable: its command points at a path on the author’s own machine, so it runs nowhere else. The line is /Users/yehya/.hermes-guardian/venv/bin/python3.

Good fit Use it to resolve short links, retrieve a video’s title, author, duration, topics, ID, cover, and download link, or return those details as JSON.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

There is no command for this one: it runs only inside a plugin, and the catalogue could not identify which plugin ships it. The source is linked below.

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for douyin-video-acquisition

README.md
[![agentmods](https://agentmods.dev/badge/skills/yehyakin/hermes-skills/douyin-video-acquisition/github.svg)](https://agentmods.dev/skills/yehyakin/hermes-skills/douyin-video-acquisition)
Your own site
<a href="https://agentmods.dev/skills/yehyakin/hermes-skills/douyin-video-acquisition"><img src="https://agentmods.dev/badge/skills/yehyakin/hermes-skills/douyin-video-acquisition/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for douyin-video-acquisition

Your own site · 80×15
<a href="https://agentmods.dev/skills/yehyakin/hermes-skills/douyin-video-acquisition"><img src="https://agentmods.dev/badge/skills/yehyakin/hermes-skills/douyin-video-acquisition.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 42 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,649 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00042 $0.02649
Opus 5 $0.00021 $0.01324
Sonnet 5 $0.00008 $0.00530
Haiku 4.5 $0.00004 $0.00265

Measured 12d ago against content hash e0fb6fc64655, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

douyin-video-acquisition scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (examples/fetch_video_info.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

# Step 3: 用 Python websocket 库连接(不能用 curl)
douyin-video-acquisition/SKILL.md · 222 lines

How it starts

The opening of the file, as written. The whole thing — 222 lines — stays where its author put it; the contents beside it link to each section on GitHub.

抖音视频获取

核心方案

使用 CharlesPikachu/videodlDouyinVideoClient,在 Python 3.11 venv 下运行。

前置条件

videodl 已持久化在 ~/.hermes/scripts/videodl,无需额外安装。

Python 3.11 venv 路径:/Users/yehya/.hermes-guardian/venv/bin/python3

获取视频信息

/Users/yehya/.hermes-guardian/venv/bin/python3 ~/.hermes/scripts/douyin_get.py "https://v.douyin.com/xxxxx"

输出示例:

✅ 标题: 「Spima.铂金」120 支高支棉...
👤 作者: 秦磊男装旗舰店
⏱️  时长: 64.2秒
🏷️  话题: 秦磊, 秦磊男装, 男士搭配
🎬 视频ID: 7634125020805057801

📥 下载链接:
http://www.iesdouyin.com/aweme/v1/play/?video_id=xxx&ratio=1080p&line=0

JSON 格式输出

/Users/yehya/.hermes-guardian/venv/bin/python3 ~/.hermes/scripts/douyin_get.py "URL" --json

返回字段:title, author, duration_ms, cover_url, download_url, ext, aweme_id, hashtags

内部数据结构(经验值)

# 重要:raw_data 的路径是 loaderData['video_(id)/page']['videoInfoRes']
# 不是 loaderData['videoInfoRes']!踩坑发现的
info = results[0]
raw = info.raw_data
ld = raw.get('loaderData', {})
vid_page = ld.get('video_(id)/page', {})         # ← 特殊键名,含斜杠
vip = vid_page.get('videoInfoRes', {})
item = vip.get('item_list', [{}])[0]
# item 包含: desc, author.nickname, video.duration, aweme_id, text_extra(话题)

完整获取脚本

~/.hermes/scripts/douyin_get.py — 已封装好上述路径解析,直接调用:

# 文本输出
/Users/yehya/.hermes-guardian/venv/bin/python3 ~/.hermes/scripts/douyin_get.py "URL"

# JSON输出(程序调用)
/Users/yehya/.hermes-guardian/venv/bin/python3 ~/.hermes/scripts/douyin_get.py "URL" --json

下载视频

# Step 1: 获取 download_url(iesdouyin.com 格式)
URL=$(/Users/yehya/.hermes-guardian/venv/bin/python3 ~/.hermes/scripts/douyin_get.py "URL" --json 2>/dev/null | \
  /Users/yehya/.hermes-guardian/venv/bin/python3 -c "import sys,json; print(json.load(sys.stdin)['download_url'])")

# Step 2: yt-dlp 下载(加了 User-Agent 和 Referer 才能拿真实CDN链接)
yt-dlp -o "%(title)s.%(ext)s" "$URL" \
  --add-header "User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15" \
  --add-header "Referer:https://www.douyin.com/"

Read the full file on GitHub · 222 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 222 lines · 42 tokens per session scan A e0fb6fc64655

Subscribe to this mod's changes

douyin-video-acquisition is a skill published in the GitHub repository yehyakin/hermes-skills (9 stars, last pushed 3mo ago), licensed MIT. It adds 42 tokens to every session and 2,649 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.