mcpField
R
remotion-ads

remotion-ads

github.com/maartenlouis营销与增长64328 次安装25 周前更新
代码仓库

关于 remotion-ads

Remotion Ads 是一款用于制作视频广告、讲解视频和轮播图的 Skill,结合 Remotion、配音与动态字幕。它提供按格式划分的工作流、品牌配置,以及从网页或脚本构建场景的方法。

主要功能

  1. 01支持 Reels、讲解视频和轮播图
  2. 02品牌配置与安全区域
  3. 03场景 JSON 与配音生成
  4. 04动态字幕与可复用组件
  5. 05将网页内容转换为视频场景

适用场景

  1. 01制作短篇 Instagram Reels 广告
  2. 02制作带旁白的网站讲解视频
  3. 03将网页转换为视频场景
  4. 04设计多页广告轮播图

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/maartenlouis/remotion-ads --skill remotion-ads

安装后在 Claude Code 中输入/remotion-ads确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

package-lock.json
README.md
.gitignore
package.json
LICENSE
assets/dictionaries/
example.pls
template.pls
references/
ad-copywriting.md
animations.md
brand-config-template.md
captions.md
carousels.md
formats.md
html-in-canvas.md
local-assets.md
gemini-tts.md
natural-transitions.md
copy-frameworks.md
paid-ads.md
components.md
ohneis-style.md
social-content.md
music.md
setup.md
url-to-video.md
website-videos.md
sound-effects.md
scripts/
gemini-tts.mjs
suno-direct.ts
url-to-scenes.js

详细介绍

Remotion 广告

使用 Remotion、ElevenLabs 配音和动画字幕,制作专业的视频广告和讲解视频。

设置

  1. 将 references/brand-config-template.md 复制到 references/brand-config.md
  2. 填写品牌颜色、字体、语音、字幕样式和内容规则
  3. 使用 assets/dictionaries/template.pls 创建发音词典

依赖项和文件夹结构请参阅 references/setup.md。


支持的格式

格式宽高比分辨率时长场景
Instagram Reels9:161080×192015-60s4(Hook→问题→解决方案→CTA)
Instagram Reels(Ohneis)9:161080×192015-45s按节拍驱动(词级)
网站讲解视频16:91920×108060-160s6(Hook→问题→背景→解决方案→流程→CTA)
轮播图4:51080×1350静态5-10 张幻灯片

安全区域和裁剪规格请参阅 references/formats.md。 按节拍驱动的电影感 Reels 模板请参阅 references/ohneis-style.md。 16:9 长视频格式请参阅 references/website-videos.md。


工作流

从头开始
# 1. Write scene JSON
# 2. Generate voiceover with word timestamps
node scripts/generate.js \
  --scenes scenes.json \
  --with-timestamps \
  --dictionary your-brand \
  --output-dir public/audio/ad-example/

# 3. Create Remotion composition using actualDuration from info.json
# 4. Render
npx remotion render AdExample out/ad-example.mp4 --codec=h264 --crf=18
从 URL 开始(页面 → 视频)
# 1. Extract page data into scene JSON
node scripts/url-to-scenes.js --url https://example.com/page --format reels --output scenes.json
# 2. Review/edit the generated scenes.json
# 3. Continue with voiceover + composition as above

完整的 URL 转视频工作流请参阅 references/url-to-video.md。


安全区域(重要)

Reels(1080×1920)
┌──────────────────────────┐ 0px
│     TOP DANGER (285px)   │
├──────────────────────────┤
│ ←80px  SAFE AREA  120px→ │
│      880×1235px          │
├──────────────────────────┤
│   BOTTOM DANGER (400px)  │
└──────────────────────────┘ 1920px
const SAFE = { top: 285, bottom: 400, left: 80, right: 120 };
网站视频(1920×1080)
const SAFE = { top: 60, bottom: 60, left: 80, right: 80 };

场景 JSON 格式

{
  "name": "ad-example",
  "voice": "VoiceName",
  "character": "narrator",
  "dictionary": "your-brand",
  "scenes": [
    { "id": "scene1", "text": "Hook text.", "duration": 3.5, "character": "dramatic" },
    { "id": "scene2", "text": "Problem.", "duration": 4.5 },
    { "id": "scene3", "text": "Solution.", "duration": 4.0, "character": "expert" },
    { "id": "scene4", "text": "CTA.", "duration": 3.0, "character": "calm" }
  ]
}
配音角色预设
角色风格稳定性相似度风格参数
dramatic强烈、富有情感0.30.80.7
narrator专业、流畅0.50.750.4
expert权威0.60.850.3
calm舒缓、令人安心0.70.80.2
conversational随意、友好0.450.70.5

合成模板

import { AbsoluteFill, Audio, Series, staticFile } from "remotion";

// Import from your brand-config.md values
const COLORS = { primary: "#000", accent: "#888", dark: "#111", background: "#fff" };

export const AdTemplate: React.FC = () => {
  const { fps } = useVideoConfig();
  // Use actualDuration from info.json, not estimated
  const DURATIONS = { scene1: 3.42, scene2: 4.35, scene3: 4.12, scene4: 3.31 };
  const pad = 5;

  return (
    <AbsoluteFill>
      <Audio src={staticFile("audio/ad-example/ad-example-combined.mp3")} />
      <Series>
        <Series.Sequence durationInFrames={Math.round(DURATIONS.scene1 * fps) + pad}>
          <Scene1Hook />
        </Series.Sequence>
        {/* ... remaining scenes */}
      </Series>
    </AbsoluteFill>
  );
};

可复用的场景组件请参阅 references/components.md。 TransitionSeries 音频同步请参阅 references/voiceover.md。


参考文件

根据任务按需加载以下文件:

核心(先阅读)
文件阅读时机
setup.md初始化项目
brand-config-template.md配置品牌:颜色、字体、语音、字幕、合规性
formats.md尺寸规格、安全区域、裁剪预览
视频制作
文件阅读时机
ohneis-style.md按节拍驱动的电影感 Reels 模板:混合字体排版、硬切、氛围感照片
voiceover.mdElevenLabs TTS、模型、场景 JSON、时间同步、词典
captions.md动画字幕:TikTok 风格、逐词显示、卡拉 OK
animations.mdSpring 配置、转场、动画组件
components.md可复用的场景模板组件
html-in-canvas.md将实时 DOM 渲染到画布,并应用 2D 滤镜或 WebGL2 着色器(复古效果、渐进式模糊、页面导览模型)
website-videos.md16:9 长视频格式、6 场景结构
url-to-video.md根据现有网页制作视频
音频
文件阅读时机
sound-effects.md使用 ElevenLabs 生成音效
music.md使用 ElevenLabs 或 Suno 制作背景音乐
资源与静态内容
文件阅读时机
local-assets.md背景图片、图标、插图
carousels.md4:5 轮播图设计和批量渲染
文案创作
文件阅读时机
ad-copywriting.md脚本框架、吸睛开场公式、行动号召模式
copy-frameworks.md标题模板、章节公式
natural-transitions.md自然流畅的过渡,避免显露 AI 痕迹
分发
文件阅读时机
paid-ads.mdMeta 广告系列策略、定向、预算
social-content.md内容日历、内容再利用框架

脚本

脚本用途
scripts/generate.js使用词典生成 ElevenLabs 配音,并拼接请求(注意:--with-timestamps 标志目前不起作用)
scripts/gemini-tts.mjsGemini TTS——单次请求生成,并按文本比例边界选择器切分静音
scripts/suno-direct.tsSuno 背景音乐生成
scripts/url-to-scenes.js将页面内容提取为场景 JSON

上传前检查清单

Reels
  • 1080×1920、H.264、30fps
  • 所有文本均位于安全区域内
  • 顶部 285px 或底部 400px 区域内没有内容
  • 字号 ≥ 48px
  • 配音已同步,字幕时间已对齐
  • 总时长约 15s
网站视频
  • 1920×1080、H.264、30fps
  • 字号 ≥ 36px
  • 时长 60-160s
  • 采用包含合适配音角色的 6 场景结构
轮播图
  • 1080×1350、PNG
  • 距边缘留出 80px 内边距
  • 5-10 张幻灯片,并带有滑动指示

评论

支持 Markdown