Communitygithub.com

DandySultana/one-line-motion-gratis

Gratis One Line Motion(10种风格:扁平卡通、科学黑板、8位像素、复古霓虹、漫画分镜、低多边形3D、粘土、电影感、火柴人、水彩),将一句话创意转化为带配音的动态图形视频(MP4),适用于解说视频、Shorts/Reels/TikTok、视频片头、促销广告、产品广告、动态文字等场景。

one-line-motion-gratis 是什么?

One Line Motion Gratis 是一个面向开发者和创作者的AI Agent技能,旨在将用户提供的一句话创意自动转化为完整的动态图形视频。该技能免费版内置10种预设风格(扁平卡通、科学黑板、8位像素、复古霓虹、漫画分镜、低多边形3D、粘土、电影感、火柴人、水彩),完整版另有52种风格、UMKM广告、3D透视图、世界地图等。工作流程严格按顺序进行:需求收集(5个关键点)→ 提供3个不同隐喻的概念方案供用户选择 → 逐镜头脚本(包含旁白、视觉、动画、屏幕文字、音效表格)→ 使用ElevenLabs或TTS回退生成旁白 → 基于Remotion框架的动画(单镜头单文件、全部使用 `useCurrentFrame` 和 `interpolate`,禁止CSS动画)→ 强制QA检查单(检查文字重叠、动画空洞、低对比度等)→ 渲染输出MP4(带-14 LUFS标准化、缩略图、轻量版)→ 生成发布包(标题、文案、话题标签)。同时支持一键品牌套件保存、一键式单句修改流程。该技能按步骤生成3个概念 → 脚本 → 配音 → 动画 → QA → 渲染,所有颜色、字体、动画节奏均以品牌配置文件 `brand.json` 为统一核心。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/DandySultana/remotion-skill/tree/HEAD/one-line-motion-gratis

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

One Line Motion Gratis

版本 gratis 包含 10 种预设风格。完整版本(52 种预设、UMKM 广告、3D 透视、世界地图、YouTube 长格式)见 onelinemotion.com。当用户请求的风格不在 references/styles.md 中时,请从这 10 种风格中选择最接近的预设,并说明该风格在完整版中可用。

本技能可将用户的一句话创意转化为动态图形视频(真实动画而非幻灯片),包含旁白、音效、字幕、缩略图和发布文案。默认工作语言为印度尼西亚语,除非用户另有要求。

本技能文件夹包含:

  • template/:可用的 Remotion 项目(时间线基于旁白时长、风格令牌、动画组件、自动字幕、音乐与闪避)。
  • scripts/:new-project.sh、make-sfx.sh、make-music.mjs、tts-fallback.sh、sync-timeline.mjs、qa-sheet.mjs、finish.sh。
  • examples/:10 个示例视频代码,每种预设一个(参见 references/styles.md 中的表格)。在开始动画之前,请先阅读所选预设对应的示例代码,作为起点(调色板、组件、运动方式)。
  • references/:styles.md(预设风格)、motion.md(运动原则与布局)、audio.md(音频、SFX、音乐)、formats.md(平台规格与上传包)、revisions.md(修改字典)、prompts.md(供用户使用的提示库)。

请在提示中引用此技能路径为 $SKILL(即此文件所在文件夹)。

核心原则

  1. 顺序不可跳跃。 概念锁定后才能写脚本,脚本锁定后才能配音,配音完成后才能进行动画。每个镜头的时长由旁白时长决定,不可反之。
  2. 一个镜头,一个想法。 如果一个镜头需要两句话来解释,请拆分为两个镜头。
  3. 始终保持动态。 任何静止画面不超过 1.5 秒。
  4. 风格锁定在 brand.json 中。 所有颜色、字体、线宽、节奏均从此文件读取,确保第 20 个视频与第一个视频同样精致。
  5. 渲染前先检查。 QA 检查单必须通过肉眼阅读(Read)确认无误后,再进行完整渲染。
  6. 不可编造事实。 数字和声明需通过网页搜索验证,并记录来源。

工作流程

在每一步向用户显示简要进度,例如 Brief ✓ → 概念 ✓ → 脚本 … → 配音 → 动画 → QA → 渲染。

1. 需求收集(5 个要点)

  1. 什么:用一句话表达的核心信息。
  2. 面向谁:目标受众(初中生、大众、潜在买家等)。
  3. 时长:默认 Shorts 30–45 秒、解说 60–90 秒、片头 5–10 秒、促销 15–30 秒。
  4. 格式:9:16(Reels/TikTok/Shorts)、16:9(YouTube)、1:1(信息流)或多种同时,
  5. 基调和风格:教育、幽默、戏剧、高端、促销;如有偏好的预设风格也请说明。若为商业广告,还需询问业务数据(名称、价格/折扣、地址或购买方式),不可编造。

若有信息缺失,请在 一个 问题中一次性询问(如可用则使用 AskUserQuestion)。若用户表示“直接做”,则使用默认值并告知用户所采用的默认项。

同时检查 ~/.one-line-motion/brands/ 目录。若已存储品牌套件,询问用户是否使用(如“是否再次使用 Kopi Senja 品牌套件?”)。

2. 三个概念 → 用户选择一个

阅读 references/styles.md。每个概念需包含:

  • 名称(2–4 个单词)和核心 视觉隐喻(例如“格林兰作为拼图碎片”)。
  • 预设风格 + 5 色调色板(十六进制) + 字体配对。
  • 前 3 秒钩子:观众看到和听到的内容。
  • 镜头/运动流程(一句话描述)。

三个概念必须使用不同的隐喻,而不仅仅是颜色不同。其中一个应标记为推荐,并给出理由(一句话)。用户选择后,根据该概念编写项目 brand.json。

3. 逐镜头脚本

若主题为事实性内容,请先通过网页搜索验证事实,并将来源记录在 notes/sources.md 中。然后呈现表格:

| # | 时长 | 旁白 | 视觉 | 运动 | 屏幕文字 | SFX |

规则:

  • 印度尼西亚语旁白语速约 2.3 词/秒(电影感约 2.0;促销动感约 2.6)。计算总词数,确保总时长匹配。
  • 镜头 1 = 钩子 ≤ 3 秒:问题、惊人事实或矛盾。
  • 最后一个镜头 = 收尾 + 行动号召(关注、评论、访问店铺)。
  • Shorts 4–7 个镜头;解说 60–90 秒 6–10 个镜头。
  • 屏幕文字每行最多 6 词,最多 2 行。重要数字应放大显示。
  • 旁白需适合听觉:短句,日常用语,避免 TTS 难以读出的缩写(例如写“五倍”而非“5x”)。

请求用户批准脚本(说“ok”即可),除非用户已表示可以直接进行。

4. 准备项目

bash "$SKILL/scripts/new-project.sh" <project-folder> [~/.one-line-motion/brands/<name>.json]

该脚本会复制模板,在 public/sfx/ 中生成合成 SFX 库,并安装依赖。然后加载 remotion-best-practices 技能(如可用)后再编写镜头代码。

5. 先处理音频

阅读 references/audio.md。概括如下:

  1. 逐镜头旁 → public/audio/vo-01.mp3、vo-02.mp3、…
    • 主要使用 ElevenLabs(插件/MCP creative_generate_speech 或其他可用的 ElevenLabs 工具)。根据受众选择声音并告知用户名称。
    • 无账号的备用方案(用于草稿):bash "$SKILL/scripts/tts-fallback.sh" "<narration>" public/audio/vo-01.mp3。告知用户这是草稿音质。
  2. 填写 src/timeline.json:每个镜头一个条目(id、component、vo、text = 旁白、sfx)。
  3. 同步时长:node "$SKILL/scripts/sync-timeline.mjs" <project-folder>。镜头时长 = 旁白时长 + 0.45 秒。
  4. SFX:从 public/sfx/(pop、ding、click、whoosh、swoosh、riser、impact、boing、typing)或连接的 SFX 服务获取。仅在关键运动时刻使用,每镜头最多 2–3 个。at 以帧为单位,从镜头开始计算。
  5. 音乐:根据氛围生成免版税背景音乐,长度等于视频总时长 + 2 秒: node "$SKILL/scripts/make-music.mjs" <cheerful|lofi|piano|angkasa|synthwave|funk|tech|gamelan> <seconds> public/audio/music.wav 或使用已连接的有版税音乐服务(确保账户有下载权限)或用户自有文件。填写 timeline.music。自动闪避在 Video.tsx 中实现。

6. 动画

阅读 references/motion.md 和 references/styles.md 中对应预设的部分。

  • 每个镜头一个文件,位于 src/scenes/,在 src/scenes/index.ts 中注册,文件名需与 timeline 中的 component 名称一致。
  • 优先使用内置组件:Background、Camera、Pop/usePop、KineticText(以 * 开头的词使用强调色)、BigNumber、DrawPath、Caption。示例镜头(Hook、Sunlight、Scatter、Payoff)展示了模式;不用的可删除。
  • 所有动画使用 useCurrentFrame、interpolate、spring。禁止使用 CSS 动画或过渡。
  • 颜色、字体、缓动、弹簧参数仅从 theme 获取。除非是特定插图(如彩虹色),否则禁止在镜头文件中写新的十六进制颜色。
  • 插图自行使用 SVG/React 绘制。纹理使用程序化生成。禁止使用有版权的角色、标志或图片。
  • 布局读取 useVideoConfig(),使同一镜头可渲染为 9:16 和 16:9 格式(Video-16x9)。
  • 新字体需在 src/fonts.ts 中注册。

在项目文件夹中运行 npx tsc --noEmit,直到没有错误。

7. 视觉 QA(必须)

node "$SKILL/scripts/qa-sheet.mjs" <project-folder>

使用 Read 打开 out/qa-sheet.jpg。每行 = 一个镜头,列 = 开始/中间/结束。检查并修正:

  • 文字与字幕或其他元素重叠、文字被截断、超出安全区域。
  • 中间/结束列中镜头“静止”(动画已结束但旁白仍在继续)。
  • 对比度低、元素在手机上过小。
  • 镜头间风格一致性。

重复直到无问题。如果用户希望预览,可将 QA 检查单展示给用户。

8. 渲染与收尾

cd <project-folder> && npx remotion render Video out/video.mp4 --codec h264
bash "$SKILL/scripts/finish.sh" out/video.mp4 <thumbnail-second>

输出:video-final.mp4(响度 -14 LUFS)、video-thumb.jpg、video-wa.mp4(轻量版)。如需其他格式:npx remotion render Video-16x9 out/video-16x9.mp4。长时间渲染可在后台运行。

9. 上传包

阅读 references/formats.md。使用 SendUserFile 发送最终 MP4,并附上:

  • 3 个标题选项(≤ 60 字符)、短文案、5–8 个相关话题标签。
  • 时长、格式、预设、使用的声音、音乐/SFX 来源。
  • 事实来源(若为教育内容)。

询问是否保存品牌套件:将 brand.json 复制到 ~/.one-line-motion/brands/<name>.json。

10. 单句修改

阅读 references/revisions.md。将用户请求(如“月亮再大些,加个脸”)转换为列表:镜头 → 元素 → 属性 → 新值。仅修改这些内容。

  • 修改旁白:仅重新生成对应镜头的 VO,运行 sync-timeline.mjs。
  • 若布局发生变化,再次运行 QA 检查单,然后重新渲染。
  • 记录在 notes/revisions.md(日期、请求、更改),并简要告知用户更改内容。

伦理与许可

  • 禁止模仿特定角色、品牌或工作室/创作者的特有风格。文化图案应以普遍的风格重新绘制,保持尊重。
  • 音乐和 SFX 仅来自许可来源、用户自行创作或 make-sfx.sh 合成。
  • 如果视频用于客户或付费广告,提醒用户检查语音/音乐服务的许可条款。
  • 科学简化可以接受,但不可出现概念错误。

相关技能