用 AI 制作会讲故事的猫猫网页

这种往下滚、猫猫就跟着转身做动作的网页,以前得会写代码才做得出来。我自己一行代码没写,用 AI 生成猫猫图片和动画,再让 Claude 拼成网页,一个下午就做完了。完整步骤和提示词都在这里,猫猫也可以换成你自己的形象或产品。

猫猫网页封面:Mochi 猫抬爪打招呼与 Hi, I’m Mochi 字样
成品预览:zomo-mochi.netlify.app(海外域名,国内打开会有些慢)

1. 你需要准备

工具用途说明
Pinterest / Cosmos / 花瓣找参考图免费
Lovart生成猫猫图(用 NanoBanana 2 模型)lovart.ai,免费试用
即梦 Seedance关键帧 → 动态视频Pro 版会员
剪映合并视频免费
Claude Code生成网页代码Claude 效果最好,其他Coding工具调试时间成本会高一些

2. Step 1 · 出一组猫猫图(关键帧)

① 找参考图

打开 Pinterest,搜关键词找一张喜欢的猫猫插画。

② 生成风格统一的多张图

把参考图扔进 Lovart,选 NanoBanana 2 模型,用这段 prompt 一次生多张,再挑最喜欢的一张定下主元素:

提示词
生成相同风格,不同品种的小猫/小狗,6张

③ 扩图到 1920×1080

用 Lovart 把背景扩成 16:9 横屏,提示词如下:

提示词
尺寸调整为1920x1080(16:9比例)

④ 生成不同姿势(这一步最关键)

继续用 Lovart,基于定稿图生成不同姿势的猫猫;关键帧越多,网页内容就越长,提示词如下:

提示词
用图片中的小猫,生成不同的动作,9张

3. Step 2 · 让图动起来

① 生成关键帧之间的过渡视频

在即梦选择「视频生成 → Seedance → 首尾帧模式」,上传相邻两张关键帧,按「镜头运动 + 主体动作」写提示词生成视频,满意后补帧、提升分辨率并保存。

② 生成开头 + 结尾循环动画(2 段)

开头循环的首尾帧都用第一张图,按「固定镜头 + 主体动作 + 循环动画」写提示词生成,结尾循环也按同样的方法制作。

③ 剪映合并

在剪映中按顺序拼接过渡视频并导出 MP4(H.264,码率 8–12 Mbps),加上开头和结尾的循环动画,一共准备好以下 3 个文件:

  • intro-loop.mp4(开头循环)
  • main.mp4(主视频)
  • outro-loop.mp4(结尾循环)

4. Step 3 · 让 AI 拼成网页(不用写代码)

① 准备第 4 个文件:排版参考图

从 Awwwards、花瓣或 Pinterest 找一张喜欢的网页排版截图,AI 会参考它的字体层级、对齐方式和配色。

② 把 4 个文件 + 下面这段 Prompt 一起发给 Claude

提示词
我要做一个 scrollytelling 网页,核心逻辑:
用户滚动页面时,主视频进度跟随滚动同步变化
(向下滚=前进,向上滚=倒放)。

【素材】
- 【这里替换开头视频】intro-loop.mp4:开头循环动画(用户未滚动时循环播放)
- 【这里替换主视频】main.mp4:主视频(滚动驱动进度)
- 【这里替换结尾视频】outro-loop.mp4:结尾循环动画(滚到底后循环播放)
- 【这里替换排版参考图】reference.jpg:文字排版参考图

【视频主题/情绪】
这条视频想传达的是:【这里替换你的网页想表达的主题】

请分四步完成:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【一、视频叙事拆解】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
基于上面的主题 + main.mp4 的画面节奏,
拆 【这里替换成你的关键节点数量】 个关键节奏点,每个节奏点:
- 标注对应 main.mp4 的时间区间
- 写一句有情绪感的中文文案(15-30 字)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【二、三段式切换逻辑】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 滚动进度 = 0 → intro-loop(autoplay loop muted)
- 滚动进度 0-1 → main(滚动驱动,不 autoplay)
- 滚动进度 ≥ 0.98 → outro-loop(autoplay loop muted)

切换实现:
- 三段视频同时渲染,用 opacity 控制显隐
- 0.5s fade 过渡,避免硬切
- 三个视频都加 playsInline preload="auto"

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【三、参考图排版应用】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
先分析 reference.jpg 的排版语言:
- 字体:衬线/无衬线、字重对比、是否全大写
- 字号层级:主标题 / 副标题 / 描述 的比例
- 对齐方式:居左 / 居中 / 非对称多栏
- 颜色体系:主色、强调色、背景色
- 装饰元素:CTA 按钮、标签、icon、分割线
- 整体气质:极简 / 密集 / 对比强 / 呼吸感

然后把这套排版语言完整应用到每段文案上:
- 字体/字号比例/颜色/布局全部还原参考图
- 字体用 Google Fonts,无匹配的找最接近款
- 如果参考图是"多栏布局",每段文案按相同结构排
- 如果参考图有 CTA/tags,在最后一段同步出现

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【四、技术实现要求(避坑重点)】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
技术栈:纯 HTML + CSS + JavaScript,不用任何框架。

- 视频全屏背景:position: fixed, object-fit: cover
- 主视频必须 muted + playsInline + preload="auto",不 autoplay
- 页面总高度 = main 时长 × 100vh
- scroll 进度(0-1) × main.duration = main.currentTime
- 用 requestAnimationFrame 平滑 seek,避免卡顿
- 文案容器 position: fixed 居中,fade in/out 切换
- 移动端兼容:iOS Safari 必须 playsInline
- 响应式:PC 多栏布局在移动端自动堆叠

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【输出】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
直接输出完整 index.html 文件。```

5. ⭐️ 性能优化(如果做出来播放卡顿)

网页在手机或电脑上滑动卡顿时,可以先用 ffmpeg 压缩视频,减轻浏览器的负担;不想安装的话,也可以用剪映降低导出码率。

① 在终端安装 ffmpeg

可复制内容
brew install ffmpeg

② 压缩视频

在终端用 cd 进入视频文件夹后运行下面的命令;要压缩开头或结尾动画,把文件名换成 intro-loop.mp4 或 outro-loop.mp4 即可:

可复制内容
ffmpeg -i main.mp4 -vf scale=1920:-1 -r 30 -crf 25 -an main-small.mp4

6. 你还可以尝试(举一反三)👇

同样的方法也可以换个主角:

  • 你自己的 3D 形象 → 做个人网站
  • 你的产品 → 做产品的细节介绍
  • 你的爱好 → 做"我的收藏"的展览馆