Borrowing it
Nothing to install: this file belongs to DangJin/pdf2video. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/DangJin/pdf2video/main/.claude/skills/pdf-to-video/SKILL.mdgit clone --depth 1 https://github.com/DangJin/pdf2videoWrote 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.
[](https://agentmods.dev/skills/dangjin/pdf2video/pdf-to-video)<a href="https://agentmods.dev/skills/dangjin/pdf2video/pdf-to-video"><img src="https://agentmods.dev/badge/skills/dangjin/pdf2video/pdf-to-video/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.
<a href="https://agentmods.dev/skills/dangjin/pdf2video/pdf-to-video"><img src="https://agentmods.dev/badge/skills/dangjin/pdf2video/pdf-to-video.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00031 | $0.01221 |
| Opus 5.5 | $0.00012 | $0.00488 |
| Sonnet 5.5 | $0.00006 | $0.00244 |
| Haiku 4.5 | $0.00003 | $0.00122 |
Grade A, and why
pdf-to-video scanned grade A with 0 findings 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 2mo ago.
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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 142 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PDF to Video
将 PDF 文档转换为展示视频,自动提取核心观点并生成动态展示。
工作流程
digraph pdf_to_video {
rankdir=TB;
"接收 PDF 路径" -> "读取 PDF 内容";
"读取 PDF 内容" -> "分析提取核心观点";
"分析提取核心观点" -> "生成 props.json";
"生成 props.json" -> "复制 PDF 到 public";
"复制 PDF 到 public" -> "执行 remotion render";
"执行 remotion render" -> "输出 MP4 视频";
}
步骤详解
1. 读取 PDF 文件
使用 Read 工具读取用户提供的本地 PDF 文件路径。
2. 分析并提取核心观点
从 PDF 内容中识别:
- 标题:文档主标题,通常在首页
- 副标题:可选,如"核心内容概览"
- 核心观点:3-5 个关键页面及其标题
- 内容描述:每个关键页面的简要说明(1-2 句话),用于底部打字机效果展示
分析时关注:
- 章节标题和大纲
- 重点段落(加粗、高亮)
- 摘要和结论部分
- 图表和数据页面
3. 生成配置并渲染
目录结构:
props/ # 配置文件目录
glm45.json # 以文档名命名
report-2024.json
out/ # 输出视频目录
glm45.mp4
report-2024.mp4
public/ # 源 PDF 文件
document.pdf
创建 props/<name>.json:
{
"src": "/document.pdf",
"title": "文档标题",
"subtitle": "核心内容概览",
"highlights": [1, 3, 7, 12, 15],
"pageTitles": {
"1": "封面",
"3": "执行摘要",
"7": "市场分析"
},
"pageDescriptions": {
"1": "这是文档的封面页,展示了报告的主题和作者信息。",
"3": "执行摘要概述了报告的核心发现和建议。",
"7": "市场分析部分详细分析了当前市场趋势和竞争格局。"
}
}
执行命令:
# 复制 PDF 到 public 目录
cp /path/to/source.pdf ./public/document.pdf
# 写入配置到 props 目录(使用 Write 工具)
# 渲染视频(配置和输出使用相同命名)
npx remotion render PdfShowcase out/<name>.mp4 --props=./props/<name>.json
Props 参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
src |
string |
是 | PDF 文件路径,相对于 public 目录 |
title |
string |
否 | 主标题 |
subtitle |
string |
否 | 副标题 |
highlights |
number[] |
否 | 要聚焦展示的页码 |
pageTitles |
Record<string, string> |
否 | 每页的标题 |
pageDescriptions |
Record<string, string> |
否 | 每页的内容描述,底部打字机效果展示 |
script |
ScriptItem[] |
否 | 自定义脚本,完全控制展示流程 |
场景类型
可通过 script 参数使用不同的展示模式:
| 类型 | 说明 | 默认时长 |
|---|---|---|
stack |
卡片堆叠展示 | 60 帧 |
focus |
聚焦放大某页 | 120 帧 |
switch |
滑动切换 | 120 帧 |
fan |
扇形轮盘展示 | 150 帧 |
扇形模式示例:
{
"script": [
{ "type": "stack", "duration": 60 },
{ "type": "fan", "page": 1, "duration": 150 },
{ "type": "fan", "page": 3, "duration": 150 },
{ "type": "stack", "duration": 120 }
]
}
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.
- 2mo ago First seen · 142 lines · 31 tokens per session scan A f3a6caaebb8c
pdf-to-video is a skill published in the GitHub repository DangJin/pdf2video (395 stars, last pushed 9mo ago), licensed MIT. It adds 31 tokens to every session and 1,221 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
pdf-to-video compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| pdf-to-videoDangJin/pdf2video | Skill | 395 | 9mo ago | MIT | A | 31 | Claude Code |
| apify-youtube-transcript-scrapersickn33/agentic-awesome-skills | Skill | 49k | today | MIT | A | 48 | Claude Code |
| foundry-hosted-agent-validationmicrosoft/agent-framework | Skill | 15k | yesterday | MIT | A | 82 | Claude Code, Codex |
| skill-doc-deliverynyldn/claude-octopus | Skill | 4.4k | yesterday | MIT | A | 29 | Claude Code |
| meta-web-to-pdf-briefingopensquilla/opensquilla | Skill | 7.1k | 6d ago | Apache-2.0 | A | 45 | Claude Code, Codex |
| paper-readerhuangkiki/dailypaper-skills | Skill | 1.3k | 5d ago | Apache-2.0 | A | 135 | Claude Code, Codex |
| chat-complex-documentsvellum-ai/vellum-assistant | Skill | 1.5k | 2d ago | MIT | A | 90 | Claude Code, Codex |