From 5925b1581533aa93008d2fde8a49f6c4d900ba70 Mon Sep 17 00:00:00 2001 From: zhanglinghao Date: Sun, 4 Oct 2026 12:27:07 +0800 Subject: [PATCH 1/6] Docs: a Douyin case study, a landscape variant for knowledge films, ideation prompts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The maintainer sent ten Douyin "Vibe知识大赏" films (2026-09-25 to 10-03). The four most-liked are 16:9 and 2.5–5 min, while type 02 only described 30–90 s vertical films. - cases/douyin-vibe-knowledge.md: the ten films (date, likes, length, frame, opening), what the top four share, caption sizes measured on two, and two films on the 37% rule; linked from cases/README, type 02 and the CLAUDE.md route table (AGENTS.md regenerated). - video-types/02: a "Douyin landscape mid-length" variant (--aspect 16:9, desktop floor for body text, feed floor for hook text, 2–5 min). - playbook/12: two prompt-table rows (a historical scene as the vehicle; hand the idea back to the viewer) and the 37% pair. - playbook/07: Douyin frames without login, X at 1080p, measuring caption size, one browser tab per agent. --- AGENTS.md | 2 +- CHANGELOG.md | 16 +++++++ CLAUDE.md | 2 +- cases/README.md | 2 + cases/douyin-vibe-knowledge.md | 69 +++++++++++++++++++++++++++++++ playbook/07-reverse-engineer.md | 10 ++++- playbook/12-ideation.md | 6 ++- video-types/02-knowledge-short.md | 28 ++++++++++++- 8 files changed, 130 insertions(+), 5 deletions(-) create mode 100644 cases/douyin-vibe-knowledge.md diff --git a/AGENTS.md b/AGENTS.md index 3064000..d06fa84 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -100,7 +100,7 @@ effort 管 agent 自己查得多细,导演模式管人拍板哪些事,两个 | 用户想要 | 读 | 首选引擎 | 案例 | |---|---|---|---| | 数学、物理、算法的原理讲解,3b1b 风格 | `video-types/01-math-science-explainer.md` | Manim CE | `showcase/03-math-fourier/`、`cases/explainer-code2video.md`、`cases/opus55-gallery.md` 第 7 节(抽象代数宣传片深读) | -| 知识科普短视频,竖屏或横屏(抖音、B站、小红书、视频号、Shorts) | `video-types/02-knowledge-short.md` | HyperFrames | `showcase/02-short-leo-doppler/`、`cases/explainer-interstellar-blackhole.md` | +| 知识科普短视频,竖屏或横屏(抖音、B站、小红书、视频号、Shorts) | `video-types/02-knowledge-short.md` | HyperFrames | `showcase/02-short-leo-doppler/`、`cases/explainer-interstellar-blackhole.md`、`cases/douyin-vibe-knowledge.md` | | 产品宣传、发布片、App 或 SaaS 介绍、功能演示 | `video-types/03-product-promo.md` | HyperFrames | `showcase/00-promo-launch-film/`、`showcase/04-intro-film/`(Blender 星河开场 + 一镜到底 3D + 代码作曲)、`cases/promo-hyperframes-launches.md` | | 歌词视频、MV、配合音乐的动画 | `video-types/04-lyric-music-video.md` | ClaudeAnimationBase(手绘)或 HyperFrames(排版) | `cases/mv-pdoom.md`、`cases/mv-functional-emotions.md`、`cases/mv-claude-pop.md` | | 数据故事、动画图表、数字可视化 | `video-types/05-data-story.md` | HyperFrames + SVG | — | diff --git a/CHANGELOG.md b/CHANGELOG.md index 8dc47e9..a468bda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,22 @@ ## Unreleased +**Docs: a Douyin case study, a landscape variant for knowledge films, and two ideation prompts** +- Why: the maintainer sent ten Douyin "Vibe知识大赏" films (2026-09-25 to 10-03) and asked what is worth learning from them. The four most-liked (148k–667k likes) are all 16:9 and 2.5–5 min long, while type 02 only described 30–90 s vertical films. +- `cases/douyin-vibe-knowledge.md` covers the ten films: post date, likes (a 10-04 snapshot), length, frame and opening. It describes the structure the top four share, the caption sizes measured on two of them (about 42–56 px at 1080p, the `desktop` tier) and two films on the same topic (the 37% rule). The case is linked from `cases/README.md`, type 02 and the CLAUDE.md route table. +- `video-types/02-knowledge-short.md` adds a "Douyin landscape mid-length" variant: + - start it with `bin/vh new short --aspect 16:9`; + - body text and captions at the `desktop` floor; hook text at the `feed` floor (an inference); + - 2–5 min, laid out with playbook/09's beat sheet; + - notes on captions, post copy and series titles. + The platform table also notes that landscape is common on Douyin. +- `playbook/12-ideation.md`: two new rows in the prompt table ("find a historical scene" to carry the concept; "hand it back to the viewer" at the end), plus a real pair of films on the same topic. +- `playbook/07-reverse-engineer.md`: how to get Douyin frames without logging in: + - resolve the short link to an id, which also gives the post time; + - the mobile share page's description has the caption, the date and the like count; + - the `playwm` URL plays as a bare media file. + Also added: getting 1080p frames from X, measuring caption size against the §4 floors, and opening your own browser tab when other agents share the browser. + **The review desk: tick, comment and submit in a page, and the agent carries on by itself (`bin/vh desk`)** - Why: reviewing a film's first gate through the static pages, the maintainer found the outline, captions and stages hard to read (some were raw `.md` links), had no way to tick or comment in place, had to reply in chat with codes like "1 S1", and got a new one-off page every time. A prototype desk fixed that, and after two real rounds in it: "返回还是要手动给你触发,我觉得可以加一个监控", the outline should be split by content, not by 起承转合, reuse needs a basic infrastructure, and the desk belongs to `studio`, in Chinese or English by the first request. - `tools/desk/` (stdlib Python, offline, no CDN, light and dark): `bin/vh desk [--port N]` serves one project on 127.0.0.1 (the first free port of 8780–8799; a second start prints the running one's address). Ten views read fresh from the project's own files: this round (decisions with options, least sure, decided for you), concept and outline (a time bar by segment), captions or narration (grouped by segment, term chips, a rough reading speed), the storyboard synced to its video, sound (sections named from the gate JSON, listen prompts, timecoded notes), fact check, the film with timecoded notes (C key), the decision ledger, history, and every doc rendered as text. Any item can be marked ok / change / question with a line and a "change to"; a tray collects them and submits once. diff --git a/CLAUDE.md b/CLAUDE.md index a63f087..4dfe700 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -97,7 +97,7 @@ effort 管 agent 自己查得多细,导演模式管人拍板哪些事,两个 | 用户想要 | 读 | 首选引擎 | 案例 | |---|---|---|---| | 数学、物理、算法的原理讲解,3b1b 风格 | `video-types/01-math-science-explainer.md` | Manim CE | `showcase/03-math-fourier/`、`cases/explainer-code2video.md`、`cases/opus55-gallery.md` 第 7 节(抽象代数宣传片深读) | -| 知识科普短视频,竖屏或横屏(抖音、B站、小红书、视频号、Shorts) | `video-types/02-knowledge-short.md` | HyperFrames | `showcase/02-short-leo-doppler/`、`cases/explainer-interstellar-blackhole.md` | +| 知识科普短视频,竖屏或横屏(抖音、B站、小红书、视频号、Shorts) | `video-types/02-knowledge-short.md` | HyperFrames | `showcase/02-short-leo-doppler/`、`cases/explainer-interstellar-blackhole.md`、`cases/douyin-vibe-knowledge.md` | | 产品宣传、发布片、App 或 SaaS 介绍、功能演示 | `video-types/03-product-promo.md` | HyperFrames | `showcase/00-promo-launch-film/`、`showcase/04-intro-film/`(Blender 星河开场 + 一镜到底 3D + 代码作曲)、`cases/promo-hyperframes-launches.md` | | 歌词视频、MV、配合音乐的动画 | `video-types/04-lyric-music-video.md` | ClaudeAnimationBase(手绘)或 HyperFrames(排版) | `cases/mv-pdoom.md`、`cases/mv-functional-emotions.md`、`cases/mv-claude-pop.md` | | 数据故事、动画图表、数字可视化 | `video-types/05-data-story.md` | HyperFrames + SVG | — | diff --git a/cases/README.md b/cases/README.md index 4567251..3e5fda4 100644 --- a/cases/README.md +++ b/cases/README.md @@ -17,6 +17,7 @@ | [community-prompts.md](community-prompts.md):社区公开的 prompt | 各类 | 各类 | 二手合集 | 成功 prompt 的八个共同点 | | [opus55-gallery.md](opus55-gallery.md):Opus 5.5 社区代码视频精选 | 各类,另有 3D 长片深读 | 各类;Austerlitz 为 WebGL2 | `awesome-opus5-5-videos/`、`opus55-catalog-zhuyansen/`、`Battle-of-Austerlitz-Film/`(均无 license,只读) | 389 支作品的 prompt 统计和精选;Austerlitz 用旁白实测时长驱动镜头,从画面推导音效 | | [oneshot-five.md](oneshot-five.md):五支社区代码视频(3 秒钟、我眼中的你、用做法讲做法、FunTech、Mirage) | 科普、肖像、自我介绍、showreel、发布片 | 未公开(推测为 HTML/WebGL,FunTech 混有生成素材) | 无 | 立意装置先于风格;具体的数字和原话;和我们口味规则的出入 | +| [douyin-vibe-knowledge.md](douyin-vibe-knowledge.md):抖音"Vibe知识大赏"十支(2026-09 底) | 知识讲解为主,横屏中视频 | 未公开(多数自述用 Claude / Opus 写代码;1 支生成式视频) | 无 | 赞数最高的几支的共同排法:具体场景开场、带年份的人和事、回到观众;横屏 2.5–5 分钟、字幕按全屏看;同一个题目的两种立意 | ## 按需求查案例 @@ -25,5 +26,6 @@ - 要做讲解或论文视频:interstellar-blackhole(一句话能做到什么程度)→ code2video → paper2video,外加 hyperframes-launches 里的 `claude-paper-launch/`。 - 想拆解一支别人的视频:按 `playbook/07-reverse-engineer.md` 走,产出格式参考 interstellar-blackhole。 - 想找"一个点子撑起全片"的做法(时间放大镜、机器视角的肖像、用做法讲做法、吉祥物穿越风格、工作流即故事):oneshot-five。 +- 要做抖音上的横屏知识中视频,或者想看同一个题目被做成两支不同的片子:douyin-vibe-knowledge。 - 想知道 prompt 怎么写:community-prompts,再从 opus55-gallery 第 3 节挑同类型的。 - 要做 3D 场景或几分钟的长片:opus55-gallery 第 6 节(Austerlitz 深读)。 diff --git a/cases/douyin-vibe-knowledge.md b/cases/douyin-vibe-knowledge.md new file mode 100644 index 0000000..ae54e33 --- /dev/null +++ b/cases/douyin-vibe-knowledge.md @@ -0,0 +1,69 @@ +# 案例:抖音"Vibe知识大赏"十支(2026-09-25 至 10-03) + +2026 年 9 月下旬,Opus 5.5 发布后的一两周里,抖音上出现了一批用 AI 写代码做的知识动画,多数挂着 #vibe知识大赏 话题。下面 10 支是维护者自己刷到、转过来的,不是随机抽样:7 支是知识讲解,2 支在展示工具或模型本身,1 支是生成式视频做的名画漫游(其中工具那支是 4 月发的,作对照)。各支发布了 1–9 天不等,赞数只能当信号看,不能拿来归因。 + +**怎么拆的**(2026-10-04,做法见 `playbook/07-reverse-engineer.md` 第 1 节的"抖音"一条): +- 从分享短链解析出视频 id,id 右移 32 位就是发布时间; +- 手机版分享页的 description 里有完整文案、发布日期和精确赞数,下表的赞数是 10-04 当天的快照; +- 每支等间隔取 12–16 帧,拼成联系表,共约 150 帧。斗转星移、电子智人两支的开场逐秒看过,并用 10 px 网格量了字幕高度; +- 没有量声音,没有下载原片,下文不附原片画面。 + +**许可**:原片和文案归各自作者。下文是转述和分析,引文都很短。 + +| # | 作者 | 题目 | 发布 | 赞 | 时长 / 画幅 | 画面 | 开场 | +|---|---|---|---|---|---|---|---| +| 1 | 电子智人 | 信息论:惊奇之学 | 09-28 | 666,996 | 5:03 / 16:9 | 黑底,金色细字,粒子和波形;中英双语字幕 | 屏幕中央逐字打出"床前明月",留一个空,旁边一条"惊奇"读数接近 0 | +| 2 | 斗转星移 | 幸存者偏差 | 10-02 | 425,347 | 2:29 / 16:9 | 深色底、暖金线描:夜里的公寓楼、坠楼的猫、二战轰炸机的弹孔、神庙里的还愿画 | 一只猫从 32 楼掉下去,48 小时后出院;接着是 1984 年纽约兽医统计的 132 只坠楼的猫 | +| 3 | Iwanau | 多修一条路,为什么反而更堵 | 10-01 | 187,568 | 2:29 / 16:9 | 夜景城市俯拍、发光的路网、拥堵的红线;旧报纸和一份旧论文当道具 | 环形路网的动画,约 10 秒出标题问题,再进 1990 年纽约封 42 街 | +| 4 | 长留zero | 37% 法则 | 10-01 | 147,939 | 2:46 / 16:9 | 黑底,金色发光曲线和柱状图 | 第一帧满屏一个"37%" | +| 5 | 秋刀鱼不过期(沉淀版) | AI 重现名画:《罗纳河上的星夜》 | 09-28 | 51,444 | 0:24 / 约 4:3 | 生成式视频:镜头飞进油画,画里的人物走动 | 河面的灯影,镜头慢推 | +| 6 | 浙大猫学长 | 开源 vibe-motion:一句话生成动画 | 04-06 | 40,522 | 3:56 / 3:4 | 录屏、终端、梗图 | 问句标题卡加进度条 | +| 7 | YZ | AI 的 76 年,91 秒一镜到底 | 09-27 | 16,583 | 1:34 / 9:16 | 体素 3D 世界;一条红线穿过各个年份 | 体素山坡上,红线出发 | +| 8 | 小宇 | 贝叶斯:对方一直没回消息 | 10-03 | 14,686 | 2:18 / 16:9 | 深紫 UI 卡片、百人点阵、仪表盘;结尾两个小角色 | 手机聊天界面,消息没有回 | +| 9 | 风摇叶见蝶 | 苏轼《定风波》 | 09-28 | 14,574 | 1:26 / 16:9 | 水墨竹林、雾、月、书法字 | 一个墨点,接着是"一〇七九 乌台诗案"的大字 | +| 10 | 大师的AI小灶 | Opus 5.5 动画测试 | 09-25 | 3,956 | 0:33 / 16:9 | 浅暖色的仿剪辑软件界面,一只像素小怪物在剪片 | 剪辑台和一张备忘卡 | + +10 支里有 6 支在标题或话题里点名 Claude / Opus("Opus 5.5 直出"、"画面由 Opus5.5 编写的代码实时渲染"一类);第 6 支提到的是 MiniMax,第 5 支只标了 #AIGC。 + +## 1. 赞数最高的四支,做法几乎一样 + +第 1–4 支(15 万到 67 万赞)题材不同,排法很像: + +- **题目是一个有名字的知识概念**:信息论、幸存者偏差、布雷斯悖论、37% 法则。观众多半听过这个名字,但说不清它是什么。 +- **开场是一个具体的东西,不先下定义**:一句人人能接的诗加一个空(第 1 支);一只从 32 楼掉下去还活着的猫(第 2 支);一张路网和一个反常识的问题(第 3 支);满屏一个数字(第 4 支)。 +- **中段用一串带年份的人和事讲机制**:1948 年的香农、1964 年两位工程师清走天线里的鸽子,那段嘶嘶声还在(第 1 支);二战轰炸机的弹孔、古人挂在神庙里的还愿画(第 2 支);1968 年布雷斯的论文、1990 年纽约封掉 42 街(第 3 支)。知识藏在故事里。 +- **结尾把概念交还给观众**,用一句话收:第 1 支劝人去找自己猜不到的东西;第 4 支收在"遗憾有上限"这一句上;第 3 支收在"人人都抢的捷径"那一句。 +- **一个反复回来的读数或主体**:第 1 支的"惊奇"读数开场就出现,后面反复回来;第 3 支的路网从头用到尾,拥堵用红线表示。 + +其余几支里,第 8 支(贝叶斯)也是这个排法,但从生活场景切入,发布只有一天;第 9 支(定风波)讲的是人物和诗,画面完成度很高。样本太小,说不出哪一条是赞数的原因。 + +## 2. 规格:横屏,2.5–5 分钟,字幕按全屏看来做 + +- **画幅和时长**:10 支里 8 支是横的(7 支 16:9,1 支约 4:3)。赞数最高的四支都是 16:9,时长 2:29–5:03。两支竖的(第 6、7 支)都不在前四。 +- **字幕很小**:量了两支。第 2 支字幕的字高在 720p 原片上约 34 px,换算到 1080p 约 50 px,字号约 52–56 px;第 1 支约 42 px,下面还有一行更小的英文。对照 `playbook/03-motion-design.md` §4,接近 `desktop` 档(字幕 ≥ 48),离 `feed` 档(≥ 115)很远。在竖着拿手机的信息流里(画面约 360 px 宽),这些字幕只有约 8–10 px。 +- **推断**【推测】:这批片子是按"点开全屏、横过来看"做的;抖音没有公开横屏视频的全屏观看比例。观众决定点不点开,还是在信息流里那几秒,而开场的字都比正文大得多:第 4 支第一帧满屏一个"37%",大约占画面高度的一半;第 1 支开场那行诗约 100 px(1080p 换算),是它字幕的两倍多,但还不到 `feed` 档的 150。 + +## 3. 系列和文案 + +- **标题格式固定**:Iwanau 每支都是"vibe知识大赏|《题目》——一句副标题",还有"月老的算法2"这样的续集。 +- **同一套做法,赞数差两个数量级**:Iwanau 分享页上能看到 7 支:搭话的心理学 1,604,吃辣 2,100,混沌 3,011,诱饵效应 2.3 万+,囚徒困境 3.0 万+,37% 法则 5.0 万+,第 3 支 187,568。做法一样,题目差别带来的赞数差,远大于做法差别带来的【推测】。 +- **文案写成一段短文**:复述全片论点,带年份、人名和实验。Iwanau 会注明片中改编过的地方(例如一支借古诗开场的,说明原诗的情节和片中不同),这是信任信号。 +- **话题**:除了 #vibe知识大赏,常见 #抖音前沿科技首发计划、#ai新星计划、#创作者成长进阶计划,并 @抖音科技。是不是官方活动、有没有流量扶持,没核实。 + +## 4. 同题不同立意:两支 37% 法则 + +10 月 1 日前后,两位作者各做了一支 37% 法则,结论一样(前 37% 只看不选,之后遇到比前面都好的就停;即使这样,大约 63% 的时候还是选不到最好的),片子完全不同: + +| | Iwanau《月老的算法2》 | 长留zero《什么是 37% 法则》 | +|---|---|---| +| 载体 | 一个历史人物:开普勒 1611 年丧妻,两年里见了 11 位相亲对象,37% 法则正好停在他最心动的第 5 位 | 一个抽象模型:100 个人里挑一个,只能看一次、不能回头 | +| 画面 | 跟着人物和事件走 | 发光曲线、柱状图和点阵 | +| 落点 | 真实的人会拒绝你,规则要跟着现实调整 | 做对一切仍可能遗憾,那是数学的上限 | + +题目撞了,载体和落点还可以不撞。`playbook/12-ideation.md` 第 3 节的撬法表据此加了两行:找一个历史现场当载体,把概念交还给观众。 + +## 5. 用本仓库做 + +- **横屏中视频**:`bin/vh new short --aspect 16:9`;规格、字号和结构见 `video-types/02-knowledge-short.md` 的"变体:抖音横屏中视频"。 +- **立意**:第 1 节的排法是这批片子的共同点,不是模板。第 4 节说明同一个题目可以有完全不同的载体和落点;先按 `playbook/12-ideation.md` 想自己的点子。 +- **事实**:带年份的人物故事最容易出错,也最容易被挑。人名、年份、数字按硬规则 5 记进 `NOTES.md`;改编过的地方,像 Iwanau 那样在文案里说明。 diff --git a/playbook/07-reverse-engineer.md b/playbook/07-reverse-engineer.md index e75589a..749e1db 100644 --- a/playbook/07-reverse-engineer.md +++ b/playbook/07-reverse-engineer.md @@ -5,10 +5,18 @@ ## 1. 拿到帧 - **本地文件**:用 ffmpeg 抽帧(见下面的命令)。 -- **网页上的视频**(X、B站、YouTube): +- **网页上的视频**(X、B站、YouTube、抖音): - 下载属于文件下载,要先征得用户同意;还要注意平台条款和版权,拆解结果只用于学习,不要重新发布原片的画面。 - 不下载的做法:在浏览器里用 JS 把 `