Efeitos: 51 efeitos de vídeo (por Ray, @raycfu)
O usuário geralmente não é técnico. Mantenha as respostas curtas e amigáveis, faça o trabalho por eles e nunca peça para executarem comandos sozinhos.
Todos os caminhos abaixo são relativos à pasta deste skill (a pasta onde este SKILL.md está). Use o caminho absoluto nos comandos.
1. Primeira execução: configuração (uma vez)
Execute bash scripts/setup.sh. Ele imprime READY quando terminar (na primeira vez leva de 1 a 3 minutos).
NEED_FFMPEG: instale para eles. No Mac:brew install ffmpeg(sebrewestiver faltando, peça para instalarem o Homebrew de brew.sh primeiro). No Windows:winget install ffmpeg.NEED_PYTHON: instale Python 3.12 (Mac:brew install [email protected], Windows:winget install Python.Python.3.12), depois execute a configuração novamente.- No Windows, o Python está em
.venv\Scripts\python.exeem vez de.venv/bin/python. - Windows sem
bash: executepy -3.12 -m venv .venv, depois.venv\Scripts\python.exe -m pip install -r requirements.txt. Corte de fundo opcional mais limpo: baixe https://github.com/PeterL1n/RobustVideoMatting/releases/download/v1.0.0/rvm_mobilenetv3_fp32.onnx emmodels/. NEED_PYTHON_312: o Python padrão não conseguiu instalar os pacotes. Instale Python 3.12 como acima e execute a configuração novamente.- Linhas de log inofensivas do TensorFlow Lite, MediaPipe ou OpenCV (
INFO:,WARNING:,W0000,[ WARN) são normais. ApenasDone:ousavedsignifica sucesso.
2. Obter o vídeo e o efeito
- Vídeo: o usuário arrasta o arquivo para o chat ou fornece um caminho. Um vídeo vertical de celular funciona melhor.
- Efeito: de
/effects <nome>, ou do que eles descreverem. Corresponda as palavras deles à tabela abaixo. Não tem certeza? Mostre a lista. - Nome e identificador deles: efeitos que mostram um perfil (glass-widgets, comment-box, pastel-word, profile-wall, headline-wall e outros) usam Ray / @raycfu como padrão. Pergunte ao usuário uma vez e passe
nameehandleem todos os efeitos.
3. Encontrar a temporização
- Se eles disserem "na palavra X" ou "quando eu disser ...", execute
.venv/bin/python scripts/words.py <video>e use esses tempos. - Se não fornecerem temporização, aplique o efeito no clipe inteiro ou pergunte qual parte (uma pergunta curta).
- Janelas curtas ficam melhores: 1,5 a 4 segundos por efeito.
4. Rascunho, verificação, renderização
- Escreva o plano ao lado do vídeo como
<video-name>_effects.json:{"effects": [ {"fx": "orbit", "start": 3.2, "end": 6.0}, {"fx": "backdrop-word", "start": 14.0, "end": 16.3, "text": "CLAUDE"} ]} - Verifique os quadros primeiro (rápido):
.venv/bin/python scripts/fx.py --plan <plan.json> <video> <folder>/check.png --still 4.5,15.2, usando o meio de cada efeito. Veja os PNGs você mesmo. Corrija o texto, a temporização ou as opções se algo parecer errado (cobrindo o rosto, cortado pela borda, ilegível). - Renderize:
.venv/bin/python scripts/fx.py --plan <plan.json> <video> <video-name>_effects.mp4. A saída mantém o áudio original. Renderiza em 1080p por padrão; adicione--width 2160para 4K (mais lento). - Diga a eles onde o arquivo está. Lembre-os em uma linha para assistir antes de publicar: é um rascunho, eles aprovam.
Um único efeito não precisa de plano: .venv/bin/python scripts/fx.py orbit <video> <out.mp4> --start 3 --end 6 --text "..." --opt key=value.
Os 51 efeitos
| # | Nome fx | O que faz | Opções (todas opcionais) |
|---|---|---|---|
| 1 | noise | Reels se acumulam atrás da sua cabeça, um a cada quarto de segundo | images (pasta de capturas de tela ou clipes), size |
| 2 | lineup | Blocos numerados se espalham em um arco acima da sua cabeça | text (nomes dos blocos unidos com |) |
| 3 | locked-on | Suportes de canto se prendem ao seu rosto, a câmera segue você | zoom (padrão 1.35), text (tag) |
| 4 | orbit | Seus reels circulam sua cabeça: na frente na parte inferior, atrás na parte superior | images, count, speed, size |
| 5 | lean-in | Um zoom rápido em uma palavra | zoom (padrão 1.45, máx. 2), speed |
| 6 | backdrop-word | Uma palavra gigante cai atrás de você | text, color (hex), font (bold ou serif) |
| 7 | spotlight | Apaga as luzes, mantém você iluminado | text (palavra brilhante atrás de você), color, push |
| 8 | the-bill | Imprime suas instruções como um recibo na parede acima da sua cabeça | text (linhas unidas com |) |
| 9 | moody | Uma gradação de cor dramática | grade (moody, bw, warm, cool, pop) |
| 10 | swipe | Um controle deslizante de antes e depois varre você | grade (a aparência "depois") |
| 11 | todo | Um cartão de lista de verificação ao lado da sua cabeça marca itens enquanto você fala | text (itens com |), ticks (segundos de vídeo com |), title |
| 12 | comment-box | Uma barra de comentários do Instagram digita uma palavra e a publica | text (padrão EFFECTS) |
| 13 | tap | Um botão Seguir aparece e vira Seguindo | at (segundo do vídeo da virada), x, y (0 a 1), color |
| 14 | pause-point | Congela o quadro e aponta para você com uma seta desenhada à mão | text (rótulo), color, label_x |
| 15 | uninstall | Uma barra de desinstalação com falhas quebra o quadro | text |
| 16 | reel-frame | Seu vídeo encolhe em um cartão de reel do Instagram | text (identificador) |
| 17 | shortcut-rain | Teclas de atalho chovem atrás de você | text (teclas com |), count |
| 18 | reject-stamp | Um grande carimbo vermelho bate na tela | text, color, angle, y |
| 19 | countdown-flip | Um relógio de contagem regressiva 3, 2, 1 acima da sua cabeça | from |
| 20 | rabbit-hole | O quadro se desloca em um túnel, girando | ratio, speed, spin |
| 21 | cover-star | Você se torna uma capa de revista, título atrás da sua cabeça | text (título), lines (com |), issue, color |
| 22 | scribble | Rabiscos de marcador se desenham ao seu redor | text (rótulo), color |
| 23 | glass-widgets | Widgets de vidro fosco e mini artefatos flutuam ao redor da sua cabeça, mais uma pílula Editado por Claude | text (número grande), name, handle, look (simple para a versão de 3 widgets) |
| 24 | red-collage | Você em preto e branco, uma palavra vermelha gigante atrás, três linhas batem | text (palavra vermelha), lines (com |), tag |
| 25 | split-headline | Um cartão de manchete desliza para baixo e empurra você para a metade inferior | text (linhas com |), hl (palavra destacada), pill |
| 26 | pastel-word | Sala lavanda, palavra gigante atrás de você, um cartão de perfil é seguido | text, name, handle |
| 27 | check-pills | Sala de papel quadriculado, quadros de reel atrás de você, um cursor clica em pílulas azuis | text (pílulas com |), images |
| 28 | timeline | Uma gradação de filme vermelha escura com uma linha do tempo de edição, um timecode REC e um indicador de reprodução brilhante | text (título), sub, tc |
| 29 | headline-box | Um zoom com uma manchete de duas linhas, a segunda linha em uma caixa branca | text (linhas com |), zoom |
| 30 | profile-wall | Sua grade de reels preenche a parede atrás de você enquanto um contador aumenta | images, count, label |
| 31 | tier-list | Uma lista de níveis aparece e Claude voa para o nível S | title, item, others |
| 32 | broll-split | B-roll em cima com um adesivo de preço, você embaixo | images, text (tag) |
| 33 | phone-fan | Seus reels se espalham como uma mão de telefones sob uma manchete | images, text (linhas com |) |
| 34 | dot-reveal | Sua cena se constrói a partir de pontos brilhantes e então se fixa na imagem completa | color, cell |
| 35 | headline-wall | Suas próprias manchetes se acumulam atrás da sua cabeça, então um total aparece na frente | text (headline::meta|...), total, label |
| 36 | checklist | Uma lista de tarefas do Claude sob seu queixo: cada etapa gira, então fica verde | text (step::meta|...), title |
| 37 | liquid-glass-graph | Um cartão de vidro líquido sob seu queixo: um gráfico verde sobe enquanto o número aumenta | text (rótulo), from, to (ex. 197K, 59%), color |
| 38 | carousel-spin | Seus reels giram ao seu redor em um carrossel 3D, depois desaceleram até parar | images, count, size, turns |
| 39 | match-cut | Páginas de notícias cortam em uma palavra, travadas em uma caixa vermelha atrás da sua cabeça | text (a palavra, padrão Claude), color |
| 40 | apple-toggles | Um cartão de configurações do iPhone sob seu queixo vira suas chaves, uma linha de cada vez | text (linhas com |), ticks (segundos com |), color |
| 41 | led-sign | As luzes caem e uma placa de LED brilhante se digita atrás de você | text (linhas com |), color, push |
| 42 | slow-push | Um zoom cinematográfico lento em seu rosto enquanto o ambiente derrete fora de foco | zoom (padrão 1.6), blur |
| 43 | over-the-shoulder-zoom | A câmera empurra para um canto superior e um gráfico de vidro líquido transparente aparece ao lado da sua cabeça (linha sobe, número aumenta), recua, depois o outro canto com um segundo gráfico de barras relacionado. Sua cabeça fica na frente | text (dois rótulos com |), to (dois números com |, ex. 197K|672K), zoom (padrão 2.0) |
| 44 | messages | Notificações do iMessage aparecem uma após a outra, vidro cremoso com um brilho suave, empilhando-se acima da parte inferior do quadro | text (mensagens com |), title (padrão Messages), y |
| 45 | place-in-grid | Você encolhe no bloco central da sua grade de perfil 3x3 em vidro fosco, então 8 reels aparecem ao seu redor, um por quadro, com contagens de visualizações do Instagram em cada bloco | images (pasta dos seus reels ou capas), views (9 contagens com |, a 9ª é sua) |
| 46 | tape-label | Uma tira nivelada de fita amarela com sua linha pousa no seu peito, mantida longe do seu rosto | text |
| 47 | select-resize | Uma caixa de seleção azul com alças pega seu número acima da sua cabeça e um cursor o arrasta para maior | text (padrão 2X) |
| 48 | wave-trim | Um painel escuro acima da sua cabeça mostra sua voz; o silêncio pontilhado vermelho em ambas as extremidades colapsa até que apenas suas palavras restem | nenhum |
| 49 | huge-strike | Uma palavra serifada enorme aparece atrás da sua cabeça, então uma linha vermelha a risca | text, at (segundos após o início do efeito quando o risco atinge, padrão 0.6) |
| 50 | crayon-write | Um giz de cera vermelho escreve sua palavra atrás da sua cabeça, depois a sublinha e voa para longe | text |
| 51 | fan-build | Suas capas de reel se distribuem em um leque atrás da sua cabeça, uma carta de cada vez | images (pasta das suas capas), count (padrão 13) |
Aparências nomeadas (mesmo efeito, uma aparência mais sofisticada; não adicionam à contagem):
glitter-spotlight=spotlightcomlook=sparkle: o ambiente escurece, raios dourados emanam de trás da sua cabeça, uma grande palavra dourada com um brilho, faíscas cintilantes e um brilho ao seu redor.text(a palavra),color,push.cover-starcomlook=editorial: uma aparência de filme quente e suave, um cabeçalho clássico serifado atrás da sua cabeça, uma linha de edição e linhas de capa elegantes.text(cabeçalho),issue,lines(3 linhas com\|),right(linhas com\|),color,accent,lines_y,right_y.liquid-glass-graphcomlook=bento: o gráfico ascendente se move para uma tela de vidro fumê atrás da sua cabeça, com blocos bento de vidro na sua frente (um donut, um KPI, barras).text,from,to,donut(29%::label),kpi(672K::label),bars(197\|140\|124::label).apple-togglesagora fica acima de você, escondido atrás da sua cabeça, com um zoom suave (pos=belowpara o antigo cartão sob o queixo;overlap,zoom).
Aliases também funcionam: bill, to-do, follow, stamp, countdown, cover, rain, pause.
Regras
- Nunca cubra o rosto. Tudo vai atrás da pessoa ou evita o rosto por si só; se um quadro de verificação ainda mostrar texto sobre o rosto, mova (
x,y) ou encurte o texto. - Os efeitos são executados na ordem listada. Coloque os efeitos de câmera (
locked-on,lean-in,spotlight) primeiro quando eles se sobrepuserem a outros. - O zoom nunca passa de 2x, para que o vídeo permaneça nítido.
- Este skill adiciona apenas visuais. Efeitos sonoros e legendas são por conta do usuário (CapCut funciona bem).
- Estas são versões iniciais. Seja honesto sobre isso se o usuário as comparar com um reel que viram.
Opções extras (Edição do Ray)
Estas foram adicionadas além dos efeitos iniciais para corrigir o que parecia estranho em filmagens reais. Passe-as como qualquer outra opção ("key": "value" em um plano, ou --opt key=value).
| Efeito | Opção | O que faz |
|---|---|---|
| qualquer efeito de cartão/órbita | play=1 | Reproduz cada vídeo na pasta images dentro do seu cartão em vez de uma imagem estática |
liquid-glass-graph | pos=behind | Coloca o gráfico em uma tela de vidro escura atrás da sua cabeça em vez de sobre o peito |
liquid-glass-graph | smoke=0.5..0.85 | Vidro fumê escuro em vez de vidro líquido transparente (sem cópia manchada do seu corpo) |
liquid-glass-graph, over-the-shoulder-zoom | to=$32,000 | Prefixos de moeda e separadores de milhares contam corretamente |
checklist | smoke, scale=0.86, bottom=0.95, guard=0 | Cartão escuro legível, menor, posicionado baixo para nunca tocar seu rosto |
checklist | span=2.9 | Segundos durante os quais as marcações caem, de modo que a última marcação coincida com seu gesto |
spotlight | flicker=0, lift=0.8 | Desliga o acender cintilante do néon ou abaixa a palavra para que sua cabeça cubra parte dela |
cover-star | mast_y=0.15 | Altura fixa do cabeçalho (combine com um corte mais apertado para que sua cabeça se sobreponha a ele) |
comment-box | lock=1, avatar_color=#FDB827 | Fixa a folha de comentários no lugar, define a cor do avatar (a letra vem de handle) |
Mãos na frente de um cartão: renderize o efeito, depois execute .venv/bin/python scripts/hands_front.py <original> <with_effect> <out>.
Qualidade do recorte: se models/rvm_mobilenetv3_fp32.onnx existir, todo efeito usa Robust Video Matting para o recorte da pessoa (cabelo mais limpo, sem cintilação). Defina FX_MATTE=mp para usar o segmentador MediaPipe original.