reel

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Reel pronto, renderizado na sua máquina

在你的电脑上完成渲染的即用 Reel

Com um pedido como "faz um reel sobre 3 erros de quem começa a correr, para o meu perfil de corrida", você entrega o reel pronto: gancho, roteiro cena a cena, narração, trilha e o MP4 vertical 1080x1920, renderizado localmente com Remotion. Nada é enviado para app de edição.
O vídeo é tipográfico: fundo escuro com um brilho suave, cenas com título grande, lista numerada, número animado, cartão de antes/depois e um bloco final "Comenta PALAVRA", com a legenda aparecendo palavra por palavra no centro, alternando peso forte e itálico.
<skill>
abaixo é a pasta desta skill (onde está este SKILL.md).
对于类似“做一个关于‘刚开始跑步的人常犯的 3 个错误’的 Reel,适合我的跑步账号”这样的请求,你可以交付一个现成可用的 Reel:包括开场钩子、逐场景脚本、旁白、背景音乐,以及使用 Remotion 在本地渲染的 1080x1920 竖屏 MP4。无需将内容发送到任何视频编辑应用。
视频采用纯排版设计:深色背景配柔和光晕,场景包含大号标题、编号列表、动画数字、前后对比卡片,以及结尾的“评论 PALAVRA”区块;字幕在画面中央逐词出现,粗体与斜体交替呈现。
<skill>
是此 skill 所在的文件夹(此 SKILL.md 位于其中)。

Pré-requisitos

前置条件

  • Node 18 ou mais novo (
    node -v
    ). Obrigatório.
  • ffmpeg (opcional). Só para nivelar o volume da trilha. Sem ele, a música entra como está. Mac:
    brew install ffmpeg
    . Windows:
    winget install ffmpeg
    . Linux:
    sudo apt install ffmpeg
    .
  • Chave do ElevenLabs (opcional). Sem ela o reel sai sem voz, só com legenda animada e trilha.
  • Uns 600 MB livres para o Remotion (instalado uma vez) e o navegador que ele baixa no primeiro render. Internet no primeiro render, para baixar as fontes do Google Fonts.
  • Node 18 或更高版本 (
    node -v
    )。必需。
  • ffmpeg(可选)。仅用于统一背景音乐的音量。没有它时,音乐会按原样加入。 Mac:
    brew install ffmpeg
    。Windows:
    winget install ffmpeg
    。Linux:
    sudo apt install ffmpeg
    。
  • ElevenLabs API key(可选)。没有它时,Reel 不会包含配音,只有动画字幕和背景音乐。
  • 约 600 MB 可用空间,用于 Remotion(仅安装一次)及其在首次渲染时下载的浏览器。首次渲染需要联网,以下载 Google Fonts。

O fluxo, em 7 passos

流程:共 7 个步骤

1. Entrevista rápida (uma mensagem só)

1. 快速访谈(只需一条消息)

Pergunte tudo de uma vez, com sugestão padrão entre parênteses, para a pessoa responder em uma linha. Se ela já disse alguma coisa no pedido, não pergunte de novo.
  1. Nicho e perfil: sobre o que é o perfil?
  2. Público: quem assiste? (iniciante no assunto)
  3. Objetivo do reel: alcance, salvar, ou gerar comentário para mandar um material? (comentário)
  4. CTA: qual palavra a pessoa comenta e o que recebe? (ex.: "Comenta GUIA e eu te mando o guia")
  5. Tom: direto, didático, provocativo, leve? (direto)
  6. Voz e música: tem chave do ElevenLabs? Tem uma música (MP3 seu ou de biblioteca livre)? Quer cores específicas? (sem voz, sem música, tema escuro com destaque amarelo)
Nunca peça para a pessoa colar a chave no chat. Ela vai no arquivo
.env
(passo 4).
一次性询问所有问题,并在括号中提供默认建议,让用户用一行作答。如果用户已在请求中说明某项信息,不要再次询问。
  1. 领域与账号定位:这个账号主要讲什么?
  2. 受众:谁会观看?(该主题的初学者)
  3. Reel 目标:提升触达、获得收藏,还是引导评论以发送某份资料?(引导评论)
  4. CTA:用户要评论哪个关键词,评论后会得到什么?(例如:“评论 GUIA,我就把指南发给你”)
  5. 语气:直接、循循善诱、挑衅还是轻松?(直接)
  6. 配音与音乐:有 ElevenLabs API key 吗?有音乐吗(你自己的 MP3 或免费素材库中的音乐)?需要指定颜色吗?(无配音、无音乐,采用深色主题和黄色强调色)
绝不能让用户把 API key 粘贴到聊天中。它应放在
.env
文件中(步骤 4)。

2. Gancho e roteiro

2. 开场钩子与脚本

Escreva antes de qualquer código e mostre em bloco: gancho, cenas numeradas (tipo + o que aparece na tela + a fala) e a duração estimada. Peça ok antes de gerar narração, porque a narração gasta crédito do ElevenLabs. Sem narração, pode seguir direto se a pessoa pediu "só faz".
Gancho (cena 1, até 2 segundos)
  • No máximo 6 ou 7 palavras faladas. Se precisa de mais, não é gancho, é introdução.
  • A tela já mostra o gancho inteiro no primeiro quadro (o tipo
    gancho
    faz isso).
  • Formatos que seguram: pergunta com a dor ("Treina todo dia e nada muda?"), afirmação contra o senso comum ("Postar todo dia está te atrapalhando"), número concreto ("3 erros que travam seu primeiro 5 km"), consequência ("Isso aqui faz você perder cliente no direct").
  • Nada de "Oi, gente", "Neste vídeo", "Você sabia" ou apresentação pessoal.
Roteiro (20 a 45 segundos no total)
  • De 4 a 8 cenas. Cada cena entre 1,5 e 6 segundos: no ritmo de 2,9 palavras por segundo, são de 5 a 17 palavras de fala por cena.
  • Fala contínua, não picada. O texto de todas as cenas, lido em sequência, precisa soar como uma pessoa falando sem parar: cada cena continua a frase ou a ideia da anterior. Nada de frases de uma palavra, reticências para "dar pausa" ou listas faladas sem verbo. Escreva primeiro o texto corrido inteiro e só depois corte nas cenas.
  • Uma ideia por cena. A tela mostra a versão curta (título, itens, número); a fala explica.
  • Números curtos em dígito na fala ("23 horas", "1,6 grama") para a legenda ficar limpa.
  • Promessa só do que é verdade. Não invente estatística: se não tem fonte, use outro tipo de cena.
  • Última cena é sempre
    cta
    , e a fala diz a palavra em voz alta ("Comenta GUIA que eu te mando o passo a passo").
编写任何代码之前,先按块展示:开场钩子、编号场景(类型 + 画面内容 + 旁白)和预计时长。生成旁白前先请求确认,因为旁白会消耗 ElevenLabs 额度。如果不生成旁白,且用户已说“直接做”,则可以继续。
开场钩子(场景 1,最多 2 秒)
  • 旁白最多 6 或 7 个词。如果需要更多,那就不是钩子,而是引言。
  • 第一帧就已显示完整钩子(
    gancho
    类型会这样处理)。
  • 适合吸引注意力的形式:带痛点的问题(“每天训练却毫无变化?”)、反常识陈述(“每天发帖正在拖慢你”)、具体数字(“3 个错误拖住你的第一个 5 公里”)、后果(“这样会让私信里的客户流失”)。
  • 不要使用“大家好”“在本视频中”“你知道吗”或自我介绍。
脚本(总时长 20 至 45 秒)
  • 4 至 8 个场景。每个场景 1.5 至 6 秒:按每秒 2.9 个词计算,每个场景的旁白为 5 至 17 个词。
  • 旁白要连续,不能零碎。 按顺序朗读所有场景的文字时,应像一个人不间断地说话:每个场景都要延续上一场景的句子或想法。不要使用只有一个词的句子,不要为了“制造停顿”而使用省略号,也不要使用没有谓语的口头清单。先写完整连续文本,再将其切分到各场景。
  • 每个场景只讲一个想法。画面显示简短版本(标题、列表项、数字),旁白负责解释。
  • 在旁白中使用简短数字(“23 小时”“1.6 克”),让字幕更简洁。
  • 只承诺真实存在的内容。不要编造统计数据:没有来源时,改用其他类型的场景。
  • 最后一个场景始终是
    cta
    ,旁白要明确说出关键词(“评论 GUIA,我就把分步指南发给你”)。

3. Montar o estúdio (uma vez) e a pasta do reel

3. 搭建工作区(仅一次)并创建 Reel 文件夹

O estúdio é uma pasta com o Remotion instalado; cada reel novo é só uma subpasta com o seu
cenas.json
, então o
npm install
acontece uma vez só.
bash
undefined
工作区是一个已安装 Remotion 的文件夹;每个新 Reel 只是一个包含自身
cenas.json
的子文件夹,因此
npm install
只需执行一次。
bash
undefined

primeira vez

primeira vez

cp -R <skill>/template ~/reels-estudio cd ~/reels-estudio && npm install
cp -R <skill>/template ~/reels-estudio cd ~/reels-estudio && npm install

a cada reel (troque <slug> por um nome curto, ex.: 3-erros-corrida)

a cada reel (troque <slug> por um nome curto, ex.: 3-erros-corrida)

mkdir -p ~/reels-estudio/reels/<slug>/public

Escreva `~/reels-estudio/reels/<slug>/cenas.json` (formato abaixo). O `cenas.json` da raiz do
estúdio é só o exemplo que abre no Studio; não precisa mexer nele.
mkdir -p ~/reels-estudio/reels/<slug>/public

将 `~/reels-estudio/reels/<slug>/cenas.json` 写入对应位置(格式见下文)。工作区根目录中的 `cenas.json` 只是会在 Studio 中打开的示例,无需修改。

4. Narração (só com chave do ElevenLabs)

4. 旁白(仅在使用 ElevenLabs API key 时)

A chave fica em
~/reels-estudio/.env
(copie de
<skill>/.env.exemplo
):
ELEVENLABS_API_KEY=sua_chave
ELEVENLABS_VOICE_ID=id_da_voz   # opcional
Os scripts leem do ambiente ou desse
.env
e nunca imprimem a chave. Não leia, não mostre e não copie a chave para nenhum outro lugar.
bash
cd ~/reels-estudio
node <skill>/scripts/narrar.mjs --projeto reels/<slug> --simular   # valida, mostra custo, não chama a API
node <skill>/scripts/narrar.mjs --vozes-pt                         # vozes pt-BR da biblioteca pública
node <skill>/scripts/narrar.mjs --projeto reels/<slug>             # gera de verdade
  • Rode
    --simular
    antes, sempre. Ele valida o
    cenas.json
    e diz quantos caracteres (créditos) a narração vai consumir.
  • Voz: deixe a pessoa escolher.
    --vozes-pt
    lista vozes em português do Brasil da biblioteca pública; para usar uma delas, a pessoa adiciona à conta dela na Voice Library do site ("Add to my voices") e você passa
    --voz <id>
    ou põe
    ELEVENLABS_VOICE_ID
    no
    .env
    .
    --vozes
    lista as que já estão na conta. Sem escolha, o script usa uma voz pré-pronta do ElevenLabs que fala português com sotaque não nativo: avise isso.
  • O texto inteiro vai numa chamada só (
    /v1/text-to-speech/{voice_id}/with-timestamps
    ), para a entonação sair contínua. Os tempos de cada caractere viram o tempo de cada palavra (legenda sincronizada) e o tempo de cada cena.
  • Saída:
    reels/<slug>/public/narracao.mp3
    e
    public/palavras.json
    , e o
    cenas.json
    passa a apontar para eles. Rodar de novo com o mesmo texto e a mesma voz não gasta crédito; para outra tomada,
    --refazer
    .
    --velocidade 1.08
    acelera (0.7 a 1.2).
  • Mudou a fala depois de narrar? Rode
    narrar.mjs
    de novo.
    A legenda vem do áudio.
Sem chave: pule este passo. O reel sai sem voz, com a legenda animada no tempo estimado pela fala (2,9 palavras por segundo) e a trilha, se houver.
API key 放在
~/reels-estudio/.env
中(从
<skill>/.env.exemplo
复制):
ELEVENLABS_API_KEY=sua_chave
ELEVENLABS_VOICE_ID=id_da_voz   # opcional
脚本会从环境变量或此
.env
中读取,并且绝不会打印 API key。不要读取、显示或将该 key 复制到其他任何位置。
bash
cd ~/reels-estudio
node <skill>/scripts/narrar.mjs --projeto reels/<slug> --simular   # valida, mostra custo, não chama a API
node <skill>/scripts/narrar.mjs --vozes-pt                         # vozes pt-BR da biblioteca pública
node <skill>/scripts/narrar.mjs --projeto reels/<slug>             # gera de verdade
  • 务必先运行
    --simular
    。它会验证
    cenas.json
    ,并告知旁白将消耗多少字符(额度)。
  • 声音:让用户自行选择。
    --vozes-pt
    会列出公共素材库中的巴西葡萄牙语声音;要使用其中一种,用户需在网站的 Voice Library 中通过“Add to my voices”将其添加到自己的账号,然后传入
    --voz <id>
    ,或在
    .env
    中设置
    ELEVENLABS_VOICE_ID
    。
    --vozes
    会列出账号中已有的声音。如果用户未选择,脚本会使用 ElevenLabs 预设的葡萄牙语声音,其口音并非母语者口吻:应提前告知用户。
  • 整段文本会在一次调用中处理(
    /v1/text-to-speech/{voice_id}/with-timestamps
    ),以保证语调连贯。每个字符的时间戳会转换为每个单词的时间(用于同步字幕)以及每个场景的时长。
  • 输出:
    reels/<slug>/public/narracao.mp3
    和
    public/palavras.json
    ,同时
    cenas.json
    会改为指向它们。使用相同文本和相同声音再次运行不会消耗额度;如需另一版,则使用
    --refazer
    。
    --velocidade 1.08
    可加速(范围 0.7 至 1.2)。
  • 修改旁白后,请重新运行
    narrar.mjs
    。字幕以音频为准。
没有 API key 时,跳过此步骤。Reel 不会包含配音,但会保留动画字幕,并按旁白语速估算字幕时间(每秒 2.9 个词);如果有背景音乐,也会一并加入。

5. Trilha (só se a pessoa fornecer)

5. 背景音乐(仅在用户提供时)

A música vem da pessoa: uma faixa dela ou de biblioteca livre (YouTube Audio Library, Pixabay Music), respeitando a licença de cada faixa. Nunca baixe música de site de "download de MP3", de vídeo do YouTube ou de qualquer fonte de licença duvidosa, nem sugira isso. Sem trilha, o reel sai sem música.
bash
node <skill>/scripts/mixar.mjs /caminho/da/musica.mp3 --projeto reels/<slug>
node <skill>/scripts/mixar.mjs /caminho/da/musica.mp3 --projeto reels/<slug> --inicio 12   # pula a introdução
Com ffmpeg, o script corta no tamanho do reel (repete a música se for curta), nivela o volume e põe fade de entrada e saída. Sem ffmpeg, copia como está. No render, a trilha fica baixa e abaixa sozinha quando há voz (ducking simples na composição). Volume:
volumeTrilha
no
cenas.json
, de 0 a 1 (padrão 0,3 com narração, 0,8 sem).
Se a pessoa trouxer a música depois da narração, rode
mixar.mjs
depois de
narrar.mjs
para o corte usar a duração real.
音乐由用户提供:可以使用用户自己的音轨,也可以使用免费素材库中的音乐(YouTube Audio Library、Pixabay Music),但必须遵守每条音轨的许可。**绝不要从“MP3 下载网站”、YouTube 视频或任何许可不明确的来源下载音乐,也不要建议这样做。**没有背景音乐时,Reel 不会包含音乐。
bash
node <skill>/scripts/mixar.mjs /caminho/da/musica.mp3 --projeto reels/<slug>
node <skill>/scripts/mixar.mjs /caminho/da/musica.mp3 --projeto reels/<slug> --inicio 12   # pula a introdução
使用 ffmpeg 时,脚本会将音乐裁剪至 Reel 的长度(音乐过短时重复播放)、统一音量,并添加淡入和淡出。没有 ffmpeg 时,则按原样复制。渲染时,背景音乐的音量会较低,并且在有人声时自动降低(合成中采用简单 ducking)。音量通过
cenas.json
中的
volumeTrilha
设置,范围为 0 至 1(有旁白时默认 0.3,无旁白时默认 0.8)。
如果用户在生成旁白后才提供音乐,请在
narrar.mjs
之后运行
mixar.mjs
,这样剪切长度会采用实际时长。

6. Conferir, olhar e renderizar

6. 检查、预览与渲染

bash
cd ~/reels-estudio
node <skill>/scripts/checar.mjs --projeto reels/<slug>
Corrija todo
✖
(erro) e leia os
!
(avisos). Depois, olhe 3 quadros antes do render (gancho, meio, CTA). Pegue os tempos na saída do
narrar.mjs
ou multiplique os segundos por 30:
bash
npx remotion still Reel out/<slug>-q1.png --props=reels/<slug>/cenas.json --public-dir=reels/<slug>/public --frame=30
npx remotion still Reel out/<slug>-q2.png --props=reels/<slug>/cenas.json --public-dir=reels/<slug>/public --frame=<meio>
npx remotion still Reel out/<slug>-q3.png --props=reels/<slug>/cenas.json --public-dir=reels/<slug>/public --frame=<fim-20>
Abra as imagens e confira texto cortado, linha órfã e sobreposição. Então renderize:
bash
npx remotion render Reel out/<slug>.mp4 --props=reels/<slug>/cenas.json --public-dir=reels/<slug>/public
Um reel de 30 s leva de 1 a 4 minutos. Em máquina fraca, some
--concurrency=2
. Para um rascunho rápido,
--scale=0.5
(sai em 540x960).
bash
cd ~/reels-estudio
node <skill>/scripts/checar.mjs --projeto reels/<slug>
修正每个
✖
(错误),并查看所有
!
(警告)。随后,在渲染前检查 3 帧画面(钩子、中间部分、CTA)。从
narrar.mjs
的输出中获取时间点,或将秒数乘以 30:
bash
npx remotion still Reel out/<slug>-q1.png --props=reels/<slug>/cenas.json --public-dir=reels/<slug>/public --frame=30
npx remotion still Reel out/<slug>-q2.png --props=reels/<slug>/cenas.json --public-dir=reels/<slug>/public --frame=<meio>
npx remotion still Reel out/<slug>-q3.png --props=reels/<slug>/cenas.json --public-dir=reels/<slug>/public --frame=<fim-20>
打开这些图像,检查文字被截断、孤行和元素重叠。然后渲染:
bash
npx remotion render Reel out/<slug>.mp4 --props=reels/<slug>/cenas.json --public-dir=reels/<slug>/public
一个 30 秒的 Reel 需要 1 至 4 分钟。在性能较弱的机器上,可使用
--concurrency=2
。如需快速生成草稿,可使用
--scale=0.5
(输出 540x960)。

7. Entregar com o checklist

7. 交付内容与检查清单

Entregue o caminho do MP4 (
~/reels-estudio/out/<slug>.mp4
), o roteiro final e a sugestão de legenda do post. Antes, confirme e diga que conferiu:
  • Contraste: a legenda lê bem sobre o fundo (o
    checar.mjs
    mede; mínimo 4,5:1).
  • Nada parado mais de ~3 s: nenhuma cena acima de 6 s e nenhuma pausa longa sem legenda.
  • Gancho em até 2 s, já visível no primeiro quadro.
  • CTA no fim, na tela e na fala, com a palavra certa.
  • Duração entre 20 e 45 s.
  • Com voz: a legenda bate com a fala (veja um trecho do meio no MP4).
  • Os PNGs de prévia em
    out/
    podem ser apagados.
交付 MP4 文件路径(
~/reels-estudio/out/<slug>.mp4
)、最终脚本和帖子配文建议。在交付前,确认并说明以下各项已经检查:
  • 对比度:字幕在背景上清晰可读(
    checar.mjs
    会进行测量;最低 4.5:1)。
  • 不出现超过约 3 秒的静止画面:没有场景超过 6 秒,也没有长时间无字幕的停顿。
  • 钩子不超过 2 秒,并且在第一帧就已显示。
  • 结尾包含 CTA,画面和旁白中都有,并使用正确的关键词。
  • 时长在 20 至 45 秒之间。
  • 有旁白时,字幕与旁白一致(在 MP4 中抽查中间片段)。
  • out/
    中的 PNG 预览图可以删除。

O
cenas.json

cenas.json

json
{
  "cores": { "fundo": "#0E0F12", "texto": "#F4F4F2", "destaque": "#FFC94A", "suave": "#9A9CA3", "sobreDestaque": "#0E0F12" },
  "fonte": "Inter",
  "fonteItalica": "Instrument Serif",
  "legenda": true,
  "narracao": null,
  "palavras": null,
  "trilha": null,
  "cenas": [
    { "tipo": "gancho", "titulo": "Treina todo dia e nada muda?", "destaque": "nada muda",
      "fala": "Treina todo dia e nada muda?" },
    { "tipo": "titulo", "titulo": "O problema não é o treino.", "subtitulo": "É o que acontece nas outras 23 horas.",
      "fala": "O problema quase nunca é o treino, é o que você faz nas outras 23 horas." },
    { "tipo": "lista", "titulo": "Os 3 vilões",
      "itens": ["Dormir menos de 7 horas", "Comer pouca proteína", "Repetir a mesma carga"],
      "fala": "São três vilões: dormir menos de sete horas, comer pouca proteína e repetir a mesma carga por meses." },
    { "tipo": "numero", "de": 0, "ate": 1.6, "decimais": 1, "sufixo": " g", "rotulo": "de proteína por quilo de peso, por dia",
      "fala": "Uma referência comum para quem treina é 1,6 grama de proteína por quilo, todo dia." },
    { "tipo": "antes-depois", "antes": "Treino novo toda semana", "depois": "Mesmo treino, carga subindo",
      "fala": "Em vez de trocar o treino toda semana, mantenha o mesmo e suba a carga." },
    { "tipo": "cta", "chamada": "Comenta", "palavra": "PLANO", "promessa": "que eu te mando o checklist das 23 horas",
      "fala": "Comenta PLANO que eu te mando o checklist das 23 horas." }
  ]
}
O mesmo exemplo está em
<skill>/exemplos/cenas.exemplo.json
.
json
{
  "cores": { "fundo": "#0E0F12", "texto": "#F4F4F2", "destaque": "#FFC94A", "suave": "#9A9CA3", "sobreDestaque": "#0E0F12" },
  "fonte": "Inter",
  "fonteItalica": "Instrument Serif",
  "legenda": true,
  "narracao": null,
  "palavras": null,
  "trilha": null,
  "cenas": [
    { "tipo": "gancho", "titulo": "Treina todo dia e nada muda?", "destaque": "nada muda",
      "fala": "Treina todo dia e nada muda?" },
    { "tipo": "titulo", "titulo": "O problema não é o treino.", "subtitulo": "É o que acontece nas outras 23 horas.",
      "fala": "O problema quase nunca é o treino, é o que você faz nas outras 23 horas." },
    { "tipo": "lista", "titulo": "Os 3 vilões",
      "itens": ["Dormir menos de 7 horas", "Comer pouca proteína", "Repetir a mesma carga"],
      "fala": "São três vilões: dormir menos de sete horas, comer pouca proteína e repetir a mesma carga por meses." },
    { "tipo": "numero", "de": 0, "ate": 1.6, "decimais": 1, "sufixo": " g", "rotulo": "de proteína por quilo de peso, por dia",
      "fala": "Uma referência comum para quem treina é 1,6 grama de proteína por quilo, todo dia." },
    { "tipo": "antes-depois", "antes": "Treino novo toda semana", "depois": "Mesmo treino, carga subindo",
      "fala": "Em vez de trocar o treino toda semana, mantenha o mesmo e suba a carga." },
    { "tipo": "cta", "chamada": "Comenta", "palavra": "PLANO", "promessa": "que eu te mando o checklist das 23 horas",
      "fala": "Comenta PLANO que eu te mando o checklist das 23 horas." }
  ]
}
同一示例位于
<skill>/exemplos/cenas.exemplo.json
。

Tipos de cena

场景类型

Todas têm
fala
(obrigatória) e
duracao
em segundos (opcional; só vale sem narração).
tipocamposuso
gancho
titulo
,
destaque
Primeira cena. Título enorme;
destaque
é o trecho em itálico na cor de destaque. Se o título é igual à fala, a legenda não repete.
titulo
titulo
,
subtitulo
,
destaque
Uma afirmação forte. Título até ~50 caracteres.
lista
titulo
,
itens
(2 a 5)
Itens numerados entrando um a um. Cada item até ~30 caracteres.
numero
ate
,
de
,
prefixo
,
sufixo
,
decimais
,
rotulo
Número que conta até o valor. Ex.:
"prefixo": "R$ "
,
"sufixo": "%"
.
antes-depois
antes
,
depois
,
rotuloAntes
,
rotuloDepois
Dois cartões; o "depois" entra no meio da cena, em destaque.
cta
palavra
,
chamada
,
promessa
Última cena. "Comenta" + PALAVRA num bloco + o que a pessoa recebe. Palavra até 9 letras.
所有场景都包含
fala
(必填)和
duracao
(可选,单位为秒;仅在没有旁白时生效)。
类型字段用途
gancho
titulo
、
destaque
第一个场景。标题非常大;
destaque
是以强调色显示的斜体片段。如果标题与旁白相同,字幕不会重复。
titulo
titulo
、
subtitulo
、
destaque
一句有力的陈述。标题最多约 50 个字符。
lista
titulo
、
itens
(2 至 5 个)
编号项逐个进入。每个项最多约 30 个字符。
numero
ate
、
de
、
prefixo
、
sufixo
、
decimais
、
rotulo
数字动画会计数至目标值。例如:
"prefixo": "R$ "
、
"sufixo": "%"
。
antes-depois
antes
、
depois
、
rotuloAntes
、
rotuloDepois
两张卡片;“depois” 会在场景中途进入并加以突出。
cta
palavra
、
chamada
、
promessa
最后一个场景。“评论” + PALAVRA 区块 + 用户将获得的内容。关键词最多 9 个字母。

Cores e fontes

颜色与字体

  • cores
    : qualquer cor
    #rrggbb
    . O padrão é neutro escuro com destaque amarelo. Para tema claro, inverta
    fundo
    e
    texto
    e escolha um
    destaque
    escuro o bastante. O
    checar.mjs
    reprova contraste baixo.
  • fonte
    e
    fonteItalica
    : nomes de famílias do Google Fonts (ex.:
    "Montserrat"
    ,
    "Playfair Display"
    ). A
    fonte
    precisa ter peso 900. Use
    "sistema"
    para não baixar nada. Se a família não existir ou faltar internet, o render segue com a fonte do sistema.
  • legenda: false
    desliga a legenda palavra por palavra.
  • cores
    :任意
    #rrggbb
    颜色。默认采用中性深色背景和黄色强调色。若使用浅色主题,请反转
    fundo
    和
    texto
    ,并选择足够深的
    destaque
    。
    checar.mjs
    会判定对比度过低。
  • fonte
    和
    fonteItalica
    :Google Fonts 字体系列名称(例如:
    "Montserrat"
    、
    "Playfair Display"
    )。
    fonte
    必须具有 900 字重。使用
    "sistema"
    可避免下载任何字体。如果字体系列不存在或网络不可用,渲染仍会使用系统字体。
  • legenda: false
    关闭逐词字幕。

Problemas comuns

常见问题

  • "palavras.json é de outra versão do cenas.json": a fala mudou depois da narração. Rode
    narrar.mjs
    de novo.
  • ElevenLabs 401: chave errada ou sem permissão de text-to-speech. 404: a voz não está na conta; adicione pela Voice Library.
  • Texto saindo da tela: encurte o título ou os itens; o
    checar.mjs
    avisa os longos.
  • Render lento ou travando:
    --concurrency=2
    , feche o navegador, e confira o espaço em disco.
  • Primeiro render demora mais: o Remotion baixa um navegador headless (uma vez só).
  • “palavras.json é de outra versão do cenas.json”:旁白在生成后被修改,导致音频与场景脚本不匹配。请重新运行
    narrar.mjs
    。
  • ElevenLabs 401:API key 错误,或没有 text-to-speech 权限。404:声音不在你的账号中;请通过 Voice Library 添加。
  • 文字超出画面:缩短标题或列表项;
    checar.mjs
    会提示内容过长。
  • 渲染缓慢或卡住:使用
    --concurrency=2
    ,关闭浏览器,并检查磁盘空间。
  • 首次渲染耗时更长:Remotion 会下载一次 headless 浏览器。

O que esta skill não faz

此 skill 不具备的功能

  • Não filma nem usa vídeo gravado, imagem ou avatar: o reel é tipográfico (texto, número, cartões). Para editar filmagem, use outra ferramenta.
  • Não clona voz nem gera voz sem a chave do ElevenLabs da própria pessoa.
  • Não escolhe nem baixa música: a trilha é sempre fornecida pela pessoa.
  • Não publica no Instagram nem agenda post.
  • O ducking é simples (a música baixa quando há fala); não substitui uma mixagem profissional.
  • 不拍摄,也不使用录制的视频、图片或 avatar:Reel 采用排版形式(文字、数字、卡片)。如需编辑实拍素材,请使用其他工具。
  • 不克隆声音,也不会在没有用户自己的 ElevenLabs API key 时生成语音。
  • 不选择也不下载音乐:背景音乐始终由用户提供。
  • 不在 Instagram 发布,也不安排帖子发布时间。
  • ducking 只是简单处理(有人声时降低音乐音量),不能替代专业混音。