/storytelling
┌──────────────────────┐
│ [4:12] [封面] [评论] │ 三张卡片,同时出现
│ 我几分钟就做好了 │ 黑框标题,1-2行
│ 这个轮播图 │
│ 它效果还不错 │ 小号白色副标题
│ (人脸) │ 一个连续镜头,微放大
│ 完整轮播图 │ TikTok字幕
└──────────────────────┘
首次使用
此技能文件夹是 Claude Code 加载时显示的“基础目录”。
SKILL_DIR="<基础目录路径>" # Claude Code 打印的“基础目录路径”
KIT=$(python3 -c 'import os,sys;print(os.path.realpath(os.path.join(sys.argv[1],"..","..","kit")))' "$SKILL_DIR")
PY="$KIT/.venv/bin/python"; [ -x "$PY" ] || bash "$KIT/setup.sh"
孟加拉语片段。 如果说话者使用孟加拉语,请确保在首次调用 words 之前设置 REEL_LANGUAGE=bn(可以导出该变量,或作为命令前缀),这样 Whisper 会以孟加拉语进行转录而非翻译。同时,所有屏幕上的文字(标题、标签、项目)也必须使用孟加拉语书写,并以 words 打印出的孟加拉语单词作为时间锚点。孟加拉语在相同字号下比英语更宽,因此请将标题限制在2~4个词内,并检查联系表是否存在溢出。Whisper 经常拼错孟加拉语(例如将“ঢাকার মেয়র”误写为“ধাকার মেওর”):在编写规范之前,请读取所选片段中的单词,直接在 <clip>.transcript.json 中修正拼写错误(仅修改 word 字段,保留 start/end),然后重新运行 words,以便字幕和锚点使用修正后的单词。如果 words 缺少一段较长的语音,请删除转录文件并重新运行 words;转录程序会重新检查被跳过的片段。如果视频片段不是9:16比例(比如一个1080x1080的方形手机视频),请检查第一帧:直接裁剪可能使人脸填满屏幕并遮挡视觉元素,因此请告知用户并建议改用9:16比例录制。
必须设置 GROQ_API_KEY 才能进行转录。需要 ffmpeg 和 Node。
步骤
- 片段。 任意9:16比例的人物讲话视频。
- 文字。 运行
"$PY" "$KIT/reel.py" words <视频文件>。它会逐句打印,每句末尾带有[ends …](表示最后一个单词的结束时间),请以此作为end。选取一段连续的4到8秒长的内容,讲述一个小故事或展示某种证明。不要拼接不同片段,因为跳剪会显得不自然。 - 规范。 编写
<clip>.storytelling.json(下面有模板)。规范中的所有路径都是相对于规范文件本身的。三张卡片用图片讲述故事:努力的过程、核心事物以及结果。 - 构建。 运行
"$PY" "$SKILL_DIR/build.py" <规范文件.json>。 - 检查。 查看
<输出文件>.sheet.jpg:- 卡片和标题应位于顶部220像素以上。
- 字幕不要遮挡嘴巴(可通过调整
caption_top实现,默认值为1385)。 - 标题内容应完整显示在指定行内。
- 交付 mp4文件的路径。
规范模板
{
"video": "my-clip.mp4", "start": 42.3, "end": 47.8,
"zoom": 1.3,
"cards": [
{"type": "stat", "label": "耗时", "value": "4:12", "unit": "分钟"},
{"type": "cover", "image": "my-photo.jpg", "text": "你用过的*最好的AI工具*\n当\n你*年轻又没钱*时"},
{"type": "comments", "title": "评论", "rows": [["sarah.creates", "轮播图"], ["mike.builds", "轮播图!!"]]}
],
"title": ["我几分钟就做好了", "这个轮播图"],
"subtitle": "它效果还不错"
}
cards 必须恰好包含三个,每个卡片支持以下类型之一:
image:{"src": "photo.jpg"},方形照片。cover:轮播图封面,包含image和text(*文字*会显示为黄色,\n表示换行)。它会缓慢移动。stat:统计数据,包含label、value、unit和一个环形进度条。- 如果
value是数字(如"250"、"10,000")或时间(如"4:12"),则会以计数动画显示。 ring(0到1之间)控制环形进度条的填充程度。
- 如果
comments:最多4行[用户名, 文字]格式的评论。text:{"big": "3×", "small": "更多收藏"}。
其他字段:
title:1到2行,每行最多约22个字符。subtitle:一行简短文字。zoom:镜头的放大倍数。默认1.3,1表示无放大。
审美要点
- 所有元素在0.3秒内同时出现,不要逐个显示。
- 标题是一口气讲完的故事,副标题是最终的回报。
- 卡片展示真实内容:用户自己的帖子、数字、截图。评论行和用户名必须是用户提供的真实信息。如果用户没有提供,请使用
text或stat类型的卡片,不要编造人物。