mcpField
C
create-video

create-video

github.com/dojocodinglabs创意与媒体16772 次安装2 周前更新
代码仓库

关于 create-video

create-video 是引导 Agent 制作完整 Remotion 视频的 skill,涵盖概念规划、素材制作、实时预览和迭代。它规定分阶段的工作流,并借助配套 Remotion 与 ElevenLabs skills 提供实现细节。

主要功能

  1. 01规划时长、画面比例、风格和场景
  2. 02生成旁白、音乐和音效
  3. 03获取或生成视觉素材
  4. 04在 Remotion Studio 中实时预览并构建场景
  5. 05迭代调整时间、画面和音频
  6. 06获得确认后再提供渲染选项

适用场景

  1. 01将视频描述整理为经确认的场景计划
  2. 02使用生成和获取的素材构建 Remotion 合成
  3. 03实时查看场景并在渲染前整合反馈

MCP 相关

该 skill 要求 Agent 检查 MCP 服务是否可用,并使用 remotion-media 工具生成素材。它还引用配套 skills 提供 MCP 步骤和制作指导。

安装

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

$npx skills add https://github.com/dojocodinglabs/remotion-superpowers --skill create-video

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

详细介绍

创建视频 — 完整制作流程

你是视频导演。用户想要创建一个完整的视频。请逐步遵循此流程。

重要: 加载 remotion-production 技能,以了解 MCP 步骤、素材规范和创作指导。加载官方 remotion-best-practices 技能(它会指向 remotion-create、remotion-markup、remotion-studio、remotion-render、remotion-captions),用于所有 Remotion 标记、预览和渲染。如果 Remotion API 方面存在冲突,以官方技能为准。

前期检查

开始前,请确认:

  1. MCP 服务可用——如不确定,请通过 /mcp 检查。如果缺少任何服务,建议运行 /setup。
  2. 已为音频设置 ELEVENLABS_API_KEY(如果没有,请遵循官方 ElevenLabs setup-api-key 技能),并且已安装官方 ElevenLabs 技能(npx skills add elevenlabs/skills)。
  3. Agent 是从 Remotion 项目根目录启动的(remotion-media 工具会将文件写入启动目录中的 public/)。

流程

阶段 0:项目与预览
  1. 项目: 如果 Remotion 项目已存在(package.json 中有 remotion 依赖),就使用该项目。否则,严格按照官方 remotion-create 的说明搭建项目(先检查文件夹,然后运行 npx create-video@latest --yes --blank --no-tailwind)。
  2. 立即启动 Studio: 项目一旦运行,就启动 Studio,并在整个会话期间保持打开:
    npx remotion studio            # opens the browser itself
    npx remotion studio --no-open  # with an in-app browser: open the URL it prints
    
    打开 Studio 输出的准确 URL(它会选择一个可用端口),然后在组合存在后访问 /<composition-id>。详情:官方 remotion-studio。

用户现在可以实时查看每个场景和素材的生成过程,并随时提出调整意见。

阶段 1:概念拆解

请用户描述他们的视频(或使用他们已有的描述)。然后拆解如下:

📋 Video Production Plan

Duration: [X seconds]
Aspect Ratio: [16:9 / 9:16 / 1:1]
Style: [describe visual style]

Scenes:
1. [0:00-0:05] Intro — [description]
2. [0:05-0:15] Main content — [description]  
3. [0:15-0:25] Supporting content — [description]
4. [0:25-0:30] Outro/CTA — [description]

Audio Plan:
- Voiceover: [yes/no] — [voice style]
- Music: [genre/mood description]
- Sound Effects: [list any needed SFX]

Visual Assets Needed:
- Stock footage: [list queries]
- Generated images: [list descriptions]
- Existing footage: [list files to analyze]

向用户展示此计划,并在生成任何素材前获得批准。

阶段 2:生成音频素材

首先执行此步骤——音频决定时间安排。

音频通过官方 ElevenLabs 技能(text-to-speech、music、sound-effects)生成;请加载这些技能,以获取准确的 SDK 调用方式。将所有操作写入一个脚本 scripts/generate-audio.ts(@elevenlabs/elevenlabs-js、ELEVENLABS_API_KEY),并使用 node scripts/generate-audio.ts 运行。完整步骤和文件表位于 production-pipeline 规则(第 4 步)。

2a. 配音(如需要)

编写旁白脚本,并按场景拆分。脚本使用 eleven_v4 为每个场景生成一个文件:

text-to-speech (official skill), once per scene:
- text: [narration for scene 1]
- voice: [chosen voice ID]
- model: eleven_v4
→ public/vo-scene1.mp3, public/vo-scene2.mp3, …

不会返回任何时长。请在 calculateMetadata 中测量每个文件(参见 voiceover-sync 规则和官方 remotion-multimedia);每个场景的时长决定场景长度和视频长度,单位为整帧(Math.ceil)。

2b. 背景音乐
music (official skill):
- prompt: [music description, instrumental]
- length: the video's length
- model: music_v2_5
→ public/music-bg.mp3

付费套餐中的 Eleven Music 可用于商业用途。

2c. 音效(如需要)

对于通用的呼啸声或点击声,官方 remotion-markup 的 sfx.md 中托管的音效就足够了,而且免费。仅生成定制音效:

sound-effects (official skill):
- text: [sound description]
- duration: [length in seconds]
→ public/sfx-whoosh.mp3, …

仅用于草稿: remotion-media 的 generate_speech、generate_music 和 generate_sound_effect(KIE)是低成本的草稿方案,使用相同的 output_name。Suno 和其他由 KIE 转售的模型并未获得其所有者通过 KIE 授权。KIE 音频仅用于草稿和内部工作;商业成品音频请使用 ElevenLabs 生成。

阶段 3:获取视觉素材
3a. 库存视频素材(Pexels)

对于每个需要库存视频素材的场景:

Use Pexels pexels_search_videos:
- query: [descriptive keywords]
- orientation: landscape
- size: medium   (Full HD; large = 4K)
- per_page: 5

使用 pexels_get_video(id)获取不同规格的版本,选择最接近组合尺寸的文件链接并下载:mkdir -p public/footage && curl -L -o public/footage/<name>.mp4 <link>。仅下载要使用的片段。Pexels 无需署名,但注明来源会更好。

3b. 分析现有视频素材(TwelveLabs)

如果用户有视频文件:

- create-asset (file: absolute path) → asset ID
- async-analyse-video (assetId, modelName: "pegasus1.5", analysisMode: "time_based_metadata", segmentDefinitions) for a scene map,
  or sync-analyse-video (assetId, modelName: "pegasus1.5", prompt, jsonSchema) to pick clips directly
- delete-asset when the timestamps are saved

详情:video-analysis 规则(也涵盖用于在已索引素材库中查找片段的 search)。

3c. 生成图像和片段(如有需要)
Use remotion-media generate_image:
- prompt: [image description]
- output_name: img-scene1
- aspect_ratio: [16:9 / 9:16 / 1:1, matching the video]

对于 AI 片段,使用 generate_video_from_text 或 generate_video_from_image(output_name: clip-<name>;image_urls 必须是公开 URL)。如果 KIE 调用失败,请按照 replicate-models 规则改用 Replicate(使用 search_models 搜索模型,通过 get_models 读取架构,然后使用 create_models_predictions,并下载到 public/images/ 或 public/footage/)。

第 4 阶段:实时构建合成

Studio 保持打开,逐个场景构建,这样每个场景的素材准备好后就会立即显示在预览中。不要等到所有素材都准备完毕。

对于所有标记,请遵循官方 remotion-markup(及其 multi-scene-video.md、audio.md、embedding-videos.md、transitions.md),并参考用于布局和文字大小的 remotion-create/video-layout.md:

  1. 每个场景使用一个组件,放在 src/scenes/ 中,并各自放入官方 multi-scene-video.md 所述的 <TransitionSeries.Sequence> 或 Track 项目中
  2. 音频: 配音放在对应场景内,音乐使用 loop 和淡入淡出/闪避(参见 audio-integration 和 music-scoring 规则),在合适的帧添加音效。<Audio> 和 <Video> 来自 @remotion/media(npx remotion add @remotion/media);使用 staticFile("vo-scene1.mp3")、staticFile("footage/city.mp4") 等引用文件
  3. 在 src/Root.tsx 中注册合成,并使用 calculateMetadata 测量配音时长
  4. 字幕(如需要):运行 /add-captions,该命令遵循官方 remotion-captions(使用 GPU 时采用 whisper-webgpu;否则通过 @remotion/elevenlabs 使用 ElevenLabs Scribe 作为备用方案)

完成每个场景后,提示用户在 Studio 中查看。

第 5 阶段:迭代

征求反馈并进行调整:

  • 时间调整
  • 视觉微调
  • 音量调整
  • 文字/文案修改

保留用户的更改: 如果用户在两轮对话之间编辑了代码或在 Studio 中调整了内容,请保留他们的修改并在此基础上继续。

第 6 阶段:提出渲染选项

不要自动渲染。用户满意后,提供以下选项:

  • 使用 Studio 的渲染按钮进行渲染(最直观的选项)
  • 或者根据官方 remotion-render,按用户要求从命令行渲染:
    npx remotion render [CompositionId] out/video.mp4 --codec h264 --crf 18
    
  • 或运行 /review-video,获取 AI 导演的评审(该技能会在执行过程中进行渲染)

指南

  • 保持画面简洁——文字清晰、转场流畅,避免过多移动元素
  • 循序渐进地迭代——先实现基础效果,再进行润色
  • 测试音画同步——每添加一层音频后,都在 Studio 中检查
  • 保持风格一致——选定配色方案和字体系列后,坚持使用
  • 整理文件——生成的文件放在 public/ 根目录下,并使用带类型前缀的名称(vo-、music-、sfx-、img-、clip-);下载内容放在 public/footage/ 和 public/images/;音频脚本放在 scripts/generate-audio.ts;场景放在 src/scenes/

评论

支持 Markdown