未经审核的源稿

视频 · Claude Opus

卡通动物冷知识短视频

制作一支节奏明快的动物科普短片,以夸张卡通角色、动态字幕和趣味比喻讲解事实。

查看原始出处

Prompt

<inputs>
请先问我想要哪种动物,或提出3个各有一个惊人真相的动物。再问我有哪种图像模型(任何接受参考图的模型都可以),并问我想用付费语音(ElevenLabs)还是免费语音(Kokoro)。然后撰写30–35秒的脚本和分镜计划,并在生成或花费任何费用之前把两者都给我看。
</inputs>

<direction>
一段1080x1920的卡通动物知识短视频。画风为平面2D卡通:粗深棕色轮廓线,平涂色彩配简单的赛璐璐阴影,大而富有表现力的眼睛,矢量风格。角色是抠图,在插画背景上移动,场景每隔2–3秒切换一次。
字幕为白色药丸形,居中于y 1470:字体 Luckiest Guy 66px,墨色文字#1f1418,药丸高度为字号的1.55倍,墨色描边7px,每组2–3个词。每组中有一个关键词为黄色#ffd21f,其墨色描边为字号的0.14倍。每组字幕以0.82倍缩放弹入,耗时0.13秒,带回弹缓动。
大标题词位于y 430,字体为Luckiest Guy,104–170px。墨色描边为字号的0.22倍,其下方有一层较深的副本,尺寸为0.09倍。配色组合:黄色#ffd21f/#c27a10,红色#ff4a3d/#8e1a14,粉色#ff7ab8/#a8336d,白色#ffffff/#9aa6b4。它们以弹簧效果弹入,缩放为1 - 0.6·e^(-9t)·cos(20t),然后摆动±1.4°。
标注为红色马克笔圆圈(20px墨色描边 + 11px #ff3b30,倾斜-7°)以及弯曲红色箭头(26px墨色描边 + 13px红色)。命中效果为黄白色星爆,配白色速度线。每个水下或空中场景都有飘动的光点,每个场景都有柔和的暗角。
禁止:任何1秒内没有任何运动的画面,对静止画面的缓慢推近,角色被烘焙进背景,写实渲染,文字渐变,表情符号,标题中的句号。
</direction>

<structure>
时长:由配音决定,30–35秒,语速约每秒3.5词,每句一个事实,每个事实配一个幽默比喻。
0秒处的开场钩子提问“为什么这种动物要做[weirdest fact]?”,同时角色在屏幕上亲自做出这一动作。红圈在指代该主体的词上围绕主体绘制,命中效果落在动词上,伴随星爆、标题词和抖动 → 名称卡:动物带着速度线入场,其名称以标题形式猛然砸入 → 在新背景上出现对比段落(怪物、巨人、致命),关键词上伴随1.1倍的变焦冲击和抖动 → 现实世界的大小对比(一个指尖、一部手机、一辆公交车),配弯曲红色箭头和测量数字 → 每个后续事实都有自己的比喻场景(空荡的夜店对应“罕见”,婚礼对应“许多伴侣”,保安对应“防御”,清单卡对应“它失去的东西”,数字用计数器从1弹跳到N)。每个事实都要有新背景或新构图,关键词处有姿势切换,一个标题词和一个音效。最令人作呕或最震惊的事实获得最大的标题,并配悲伤长号 → 最后一句把开场钩子翻转为妙语,以一个大的收尾动作(巨型爱心、爆炸)结束,并让标题保持到最后。每1.5–3秒切一次镜头;镜头内部,每0.5–1秒就要有新的事情发生。
</structure>

<build>
1. 工具:Python、带Chromium的Playwright、FFmpeg、faster-whisper、OpenCV、Pillow。缺什么就安装什么,并告诉我你装了哪些。
2. 美术,仅使用2张图片:
   - 姿势表:一张1:1图,分辨率2K,提示词为“一个3×3的姿势表,9个独立姿势位于纯白底上,留白充足,互不接触,无网格线,无文字,无地面阴影”。
     - 9个姿势:中性、张嘴大喊、震惊、脸红尴尬、心形眼的恋爱状、冒汗担忧、攻击、用于收尾的破败或干瘪版本,以及一个配角。所有姿势朝同一方向;用代码翻转。
     - 图像模型常常在每个格子里只画一个角色。若出现这种情况,就用代码生成第二个角色:在Lab色彩空间中重新上色,并裁切或添加特征。
   - 背景网格:一张9:16图,分辨率4K,以姿势表作为风格参考,提示词为“一个3×3的网格,包含9个等高面板,由细白色间距隔开,每个都是空场景,无角色,无文字,保持下方中间区域空白”。
     - 沿白色间距切分(最小通道均值超过232的行和列),向内裁切4px,用Lanczos缩放到1080x1920,然后以半径2、强度60%进行USM锐化。
3. 抠图:
   - 从边界开始对白色做漫水填充,每个通道的浮动范围为7;这也会去除柔和的光晕。对被鳍或肢体包围的白色区域手动添加种子点。
   - 在每个形状外侧生成一条3px柔和的alpha带,按(250 - 最小通道值) / 150计算,然后从边缘像素中去除白色混合。
   - 按网格单元对连通域分组,裁切并保存为PNG。
   - 若某个姿势触及图表边缘,则通过模板匹配,从另一个姿势移植缺失部分。
4. 配音:ElevenLabs eleven_v4(单次录制)或 Kokoro。
   - 将超过0.2秒的每个停顿缩短至0.13秒,且仅在10毫秒窗口内响度低于-40 dB的位置。
   - 用 ffmpeg atempo 加速(约1.14倍),直到时长落在30–33秒之间。
   - 对最终文件运行带词级时间戳的 faster-whisper small.en,并写入 words.js。每个切点、姿势切换、标题和音效都从真实单词的开始时间开始。
5. 制作:使用一个 HTML canvas,每一帧都是时间的纯函数。暴露 window.seek(t)、字体和图片加载完成后的 window.READY、window.END,以及包含每个音效事件时间的 window.EV。
   - 角色:用位置、缩放、旋转和翻转绘制每个抠图。
     - 游动或行走时,将其切成28条垂直切片绘制,每条按sin(8t - 4.5u) × 10px(快速冲刺时为14px)偏移,并按((u - 0.3) / 0.7)^1.5 向尾部加权。
     - 待机起伏幅度为10px,频率为2.7 rad/s,另加±0.035 rad的倾斜。
     - 姿势切换是瞬时换图,并带有挤压效果1 + 0.18·e^(-10t)·cos(22t)。
     - 入场以三次方缓出,历时0.3–0.5秒,伴随5条白色速度线,宽度9px,相距34px。
     - 击中效果是24角的黄白色星爆(半径不超过105px,绝不覆盖面部),在0.45秒内出现10条飞散线,并伴随镜头抖动22–34px,以e^(-7t)衰减。
     - 附着于角色的任何元素都放置在该角色的局部坐标系中,因此会随之移动。绘制顺序决定前后与内外关系。
   - 摄影机:用 setTransform 设置缩放和焦点。关键词上使用1.1倍的变焦冲击,并在2秒内做1到1.4倍的推近。当摄影机推向背景元素时,在世界坐标中绘制该背景,使其不会滑动。
   - 背景:铺满式适配,每秒缓慢漂移1–2%的缩放。添加40个光点(2–6.5px,透明度0.45,每秒上升14–50px)以及0.35–0.55的暗角。
   - 代码中的道具:红圈(0.28秒内绘制完成)、弯曲箭头、带红色X印章的清单卡片、从1弹跳计数到N的计数器、上升的爱心、用于变形的烟团云,以及DNA、风滚草或带流动细胞的容器等简单图形。
6. 渲染:
   - 使用 Playwright Chromium,每一帧调用--allow-file-access-from-files calls seek,以60 fps渲染,在半帧时长内生成6个运动模糊子帧,并以 globalAlpha 1/(i+1) 混合。
   - 将JPEG帧通过管道输入ffmpeg libx264,CRF为16。
   - 在完整渲染之前,先给我看12–15帧的接触表,并修复被遮挡、移出画面或未运动的任何元素。
7. 声音:
   - 音乐:一首轻快的卡通配乐(Pixabay免费素材),每个乐句都比人声低7–10 dB。
   - 音效:每个事件使用一个从Mixkit下载的音效。入场用呼啸声,击中用咀嚼声或撞击声,标题用爆裂声,落地用弹跳声,爱心用亲吻声,恶心事实用悲伤长号,被拒用失败蜂鸣声,变形用噗声,水下场景用气泡声。
   - 混音至约-14 LUFS,然后以CRF 21重新编码以便上传。
</build>

<gotchas>
图像模型往往会忽略“两个不同的角色”这一要求,因此从一开始就要规划重新上色。不要把绘制函数命名为 frame,因为渲染器的抓帧钩子可能会使用 window.frame。Whisper 会拆分复合名称("angler fish");匹配字幕之前先将其合并,并检查字幕词数是否与转录词数相等。静止姿势超过1秒就会显得像 AI 粗制滥造,因此屏幕上的所有内容都要每帧起伏、摇摆或产生反应。
</gotchas>

<start>
请先问我要哪种动物,或提出3个备选,然后把脚本和分镜计划给我看。
</start>

使用建议

先选一种动物或从三个冷知识选题中挑一个,再指定参考图模型和配音方案。

信息

类型
视频
模型
Claude Opus
来源
Finn
许可
Source-author-rights
发布时间

反馈这条内容