video-editing
affaan-m/ECC
Edite filmagens reais utilizando um fluxo de trabalho que inclui o FFmpeg, o Remotion, o ElevenLabs, o fal.ai e editores tradicionais para cortar, estruturar e aprimorar as gravações brutas.
...Expandir tudoEdição de vídeo
Edição assistida por IA para filmagens reais. Não se trata da geração a partir de prompts. Edição rápida de vídeos existentes.
Quando ativar
- O usuário deseja editar, cortar ou estruturar imagens de vídeo
- Transformar gravações longas em conteúdo de formato curto
- Criação de vlogs, tutoriais ou vídeos de demonstração a partir de filmagens brutas
- Adicionar sobreposições, legendas, música ou narração a vídeos existentes
- Reformular vídeos para diferentes plataformas (YouTube, TikTok, Instagram)
- O usuário diz “editar vídeo”, “cortar essa filmagem”, “fazer um vlog” ou “fluxo de trabalho de vídeo”
Tese central
A edição de vídeo por IA é útil quando você para de pedir que ela crie o vídeo inteiro e começa a usá-la para compactar, estruturar e aprimorar filmagens reais. O valor não está na geração. O valor está na compactação.
O fluxo de trabalho
Screen Studio / filmagem bruta
→ Claude / Codex
→ FFmpeg
→ Remotion
→ ElevenLabs / fal.ai
→ Descript ou CapCut
Cada camada tem uma função específica. Não pule camadas. Não tente fazer com que uma única ferramenta faça tudo.
Camada 1: Captura (Screen Studio / Filmagem bruta)
Reúna o material de origem:
- Screen Studio: gravações de tela bem editadas para demonstrações de aplicativos, sessões de programação, fluxos de trabalho no navegador
- Filmagens brutas de câmera: vídeos de vlog, entrevistas, gravações de eventos
- Captura de tela via VideoDB: gravação de sessão com contexto em tempo real (veja a habilidade
videodb)
Resultado: arquivos brutos prontos para organização.
Camada 2: Organização (Claude / Codex)
Use o Claude Code ou o Codex para:
- Transcrever e rotular: gerar transcrição, identificar tópicos e temas
- Planejar a estrutura: decidir o que fica, o que é cortado e qual a ordem ideal
- Identificar seções desnecessárias: localizar pausas, digressões e tomadas repetidas
- Gerar lista de decisões de edição: marcas de tempo para cortes, segmentos a serem mantidos
- Estruturar o código do FFmpeg e do Remotion: gerar os comandos e as composições
Exemplo de solicitação:
“Aqui está a transcrição de uma gravação de 4 horas. Identifique os 8 segmentos mais fortes
para um vlog de 24 minutos. Forneça os comandos de corte do FFmpeg para cada segmento.”
Essa camada trata da estrutura, não do gosto criativo final.
Camada 3: Cortes determinísticos (FFmpeg)
O FFmpeg cuida do trabalho chato, mas essencial: dividir, aparar, concatenar e pré-processar.
Extrair segmento por carimbo de data/hora
ffmpeg -i raw.mp4 -ss 00:12:30 -to 00:15:45 -c copy segment_01.mp4
Corte em lote a partir da lista de decisões de edição
#!/bin/bash
# cuts.txt: início, fim, rótulo
while IFS=, read -r início fim rótulo; do
ffmpeg -i raw.mp4 -ss "$início" -to "$fim" -c copy "segments/${rótulo}.mp4"
done < cuts.txt
Concatenação de segmentos
# Criar lista de arquivos
for f in segments/*.mp4; do echo "arquivo '$f'"; done > concat.txt
ffmpeg -f concat -safe 0 -i concat.txt -c copy assembled.mp4
Criar proxy para edição mais rápida
ffmpeg -i raw.mp4 -vf "scale=960:-2" -c:v libx264 -preset ultrafast -crf 28 proxy.mp4
Extrair áudio para transcrição
ffmpeg -i raw.mp4 -vn -acodec pcm_s16le -ar 16000 audio.wav
Normalizar os níveis de áudio
ffmpeg -i segment.mp4 -af loudnorm=I=-16:TP=-1.5:LRA=11 -c:v copy normalized.mp4
Camada 4: Composição Programável (Remotion)
O Remotion transforma problemas de edição em código composível. Use-o para tarefas que os editores tradicionais tornam complicadas:
Quando usar o Remotion
- Sobreposições: texto, imagens, identidade visual, terços inferiores
- Visualizações de dados: gráficos, estatísticas, números animados
- Gráficos em movimento: transições, animações explicativas
- Cenas modulares: modelos reutilizáveis em vários vídeos
- Demonstrações de produtos: capturas de tela anotadas, destaques da interface do usuário
Composição básica do Remotion
import { AbsoluteFill, Sequence, Video, useCurrentFrame } from "remotion";
export const VlogComposition: React.FC = () => {
const frame = useCurrentFrame();
return (
{/* Filmagem principal */}
{/* Sobreposição de título */}
A pilha de edição com IA
{/* Próximo segmento */}
);
};
Renderização da saída
npx remotion render src/index.ts VlogComposition output.mp4
Consulte a documentação do Remotion para obter padrões detalhados e referência da API.
Camada 5: Recursos gerados (ElevenLabs / fal.ai)
Gere apenas o que você precisa. Não gere o vídeo inteiro.
Narração com o ElevenLabs
import os
import requests
resp = requests.post(
f"https://api.elevenlabs.io/v1/text-to-speech/{voice_id}",
headers={
"xi-api-key": os.environ["ELEVENLABS_API_KEY"],
"Content-Type": "application/json"
},
json={
"text": "Seu texto de narração aqui",
"model_id": "eleven_turbo_v2_5",
"voice_settings": {"stability": 0.5, "similarity_boost": 0.75}
}
)
with open("voiceover.mp3", "wb") as f:
f.write(resp.content)
Música e efeitos sonoros com fal.ai
Use a habilidade fal-ai-media para:
- Geração de música de fundo
- Efeitos sonoros (modelo ThinkSound para conversão de vídeo em áudio)
- Sons de transição
Visuais gerados com o fal.ai
Use para inserir imagens, miniaturas ou material de apoio que ainda não existam:
generate(app_id: "fal-ai/nano-banana-pro", input_data: {
"prompt": "miniatura profissional para vlog de tecnologia, fundo escuro, código na tela",
"image_size": "landscape_16_9"
})
Áudio generativo do VideoDB
Se o VideoDB estiver configurado:
voiceover = coll.generate_voice(text="Narração aqui", voice="alloy")
music = coll.generate_music(prompt="fundo lo-fi para vlog de programação", duration=120)
sfx = coll.generate_sound_effect(prompt="transição sutil com som de sopro")
Camada 6: Toque final (Descript / CapCut)
A última camada é feita por humanos. Use um editor tradicional para:
- Ritmo: ajustar cortes que pareçam muito rápidos ou lentos
- Legendas: geradas automaticamente e, em seguida, revisadas manualmente
- Correção de cor: correção básica e clima
- Mixagem final de áudio: equilibrar os níveis de voz, música e efeitos sonoros
- Exportação: formatos específicos para cada plataforma e configurações de qualidade
É aqui que entra o bom gosto. A IA elimina o trabalho repetitivo. Você toma as decisões finais.
Reestruturação para redes sociais
Plataformas diferentes exigem proporções de tela diferentes:
| Plataforma | Proporção da imagem | Resolução |
|---|---|---|
| YouTube | 16:9 | 1920x1080 |
| TikTok / Reels | 9:16 | 1080x1920 |
| Feed do Instagram | 1:1 | 1080x1080 |
| X / Twitter | 16:9 ou 1:1 | 1280x720 ou 720x720 |
Reenquadrar com o FFmpeg
# De 16:9 para 9:16 (recorte central)
ffmpeg -i input.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" vertical.mp4
# De 16:9 para 1:1 (recorte central)
ffmpeg -i input.mp4 -vf "crop=ih:ih,scale=1080:1080" square.mp4
Reenquadramento com o VideoDB
from videodb import ReframeMode
# Reenquadramento inteligente (rastreamento de objeto guiado por IA)
reframed = video.reframe(start=0, end=60, target="vertical", mode=ReframeMode.smart)
Detecção de cena e corte automático
Detecção de cena com o FFmpeg
# Detectar mudanças de cena (limite 0,3 = sensibilidade moderada)
ffmpeg -i input.mp4 -vf "select='gt(scene,0.3)',showinfo" -vsync vfr -f null - 2>&1 | grep showinfo
Detecção de silêncio para corte automático
# Localizar segmentos silenciosos (útil para cortar silêncios)
ffmpeg -i input.mp4 -af silencedetect=noise=-30dB:d=2 -f null - 2>&1 | grep silence
Extração de destaques
Use o Claude para analisar a transcrição + os marcadores de tempo das cenas:
“Dada esta transcrição com marcas de tempo e esses pontos de mudança de cena,
identifique os 5 clipes de 30 segundos mais envolventes para as redes sociais.”
O que cada ferramenta faz de melhor
| Ferramenta | Ponto forte | Ponto fraco |
|---|---|---|
| Claude / Codex | Organização, planejamento, geração de código | Não é a camada do gosto criativo |
| FFmpeg | Cortes determinísticos, processamento em lote, conversão de formatos | Sem interface de edição visual |
| Remotion | Sobreposições programáveis, cenas combináveis, modelos reutilizáveis | Curva de aprendizado para quem não é desenvolvedor |
| Screen Studio | Gravações de tela com acabamento profissional imediatamente | Apenas captura de tela |
| ElevenLabs | Voz, narração, música, efeitos sonoros | Não é o ponto central do fluxo de trabalho |
| Descript / CapCut | Ritmo final, legendas, acabamento | Manual, não automatizável |
Princípios-chave
- Edite, não gere. Este fluxo de trabalho serve para editar filmagens reais, não para criar a partir de sugestões.
- Estrutura antes do estilo. Defina bem a história na Camada 2 antes de mexer em qualquer elemento visual.
- O FFmpeg é a espinha dorsal. Chato, mas essencial. É onde filmagens longas se tornam gerenciáveis.
- Remotion para repetibilidade. Se você for fazer isso mais de uma vez, transforme-o em um componente do Remotion.
- Gere seletivamente. Use a geração por IA apenas para recursos que não existem, não para tudo.
- O bom gosto é a última camada. A IA elimina o trabalho repetitivo. Você toma as decisões criativas finais.
Habilidades relacionadas
fal-ai-media— Geração de imagens, vídeos e áudio por IAvideodb— Processamento, indexação e streaming de vídeo no lado do servidorcontent-engine— Distribuição de conteúdo nativa da plataforma
---
name: video-editing
description: Edit real video footage using a pipeline of FFmpeg, Remotion, ElevenLabs, fal.ai, and traditional editors for cutting, structuring, and augmenting raw captures.
---
# Video Editing
AI-assisted editing for real footage. Not generation from prompts. Editing existing video fast.
## When to Activate
- User wants to edit, cut, or structure video footage
- Turning long recordings into short-form content
- Building vlogs, tutorials, or demo videos from raw capture
- Adding overlays, subtitles, music, or voiceover to existing video
- Reframing video for different platforms (YouTube, TikTok, Instagram)
- User says "edit video", "cut this footage", "make a vlog", or "video workflow"
## Core Thesis
AI video editing is useful when you stop asking it to create the whole video and start using it to compress, structure, and augment real footage. The value is not generation. The value is compression.
## The Pipeline
```
Screen Studio / raw footage
→ Claude / Codex
→ FFmpeg
→ Remotion
→ ElevenLabs / fal.ai
→ Descript or CapCut
```
Each layer has a specific job. Do not skip layers. Do not try to make one tool do everything.
## Layer 1: Capture (Screen Studio / Raw Footage)
Collect the source material:
- **Screen Studio**: polished screen recordings for app demos, coding sessions, browser workflows
- **Raw camera footage**: vlog footage, interviews, event recordings
- **Desktop capture via VideoDB**: session recording with real-time context (see `videodb` skill)
Output: raw files ready for organization.
## Layer 2: Organization (Claude / Codex)
Use Claude Code or Codex to:
- **Transcribe and label**: generate transcript, identify topics and themes
- **Plan structure**: decide what stays, what gets cut, what order works
- **Identify dead sections**: find pauses, tangents, repeated takes
- **Generate edit decision list**: timestamps for cuts, segments to keep
- **Scaffold FFmpeg and Remotion code**: generate the commands and compositions
```
Example prompt:
"Here's the transcript of a 4-hour recording. Identify the 8 strongest segments
for a 24-minute vlog. Give me FFmpeg cut commands for each segment."
```
This layer is about structure, not final creative taste.
## Layer 3: Deterministic Cuts (FFmpeg)
FFmpeg handles the boring but critical work: splitting, trimming, concatenating, and preprocessing.
### Extract segment by timestamp
```bash
ffmpeg -i raw.mp4 -ss 00:12:30 -to 00:15:45 -c copy segment_01.mp4
```
### Batch cut from edit decision list
```bash
#!/bin/bash
# cuts.txt: start,end,label
while IFS=, read -r start end label; do
ffmpeg -i raw.mp4 -ss "$start" -to "$end" -c copy "segments/${label}.mp4"
done < cuts.txt
```
### Concatenate segments
```bash
# Create file list
for f in segments/*.mp4; do echo "file '$f'"; done > concat.txt
ffmpeg -f concat -safe 0 -i concat.txt -c copy assembled.mp4
```
### Create proxy for faster editing
```bash
ffmpeg -i raw.mp4 -vf "scale=960:-2" -c:v libx264 -preset ultrafast -crf 28 proxy.mp4
```
### Extract audio for transcription
```bash
ffmpeg -i raw.mp4 -vn -acodec pcm_s16le -ar 16000 audio.wav
```
### Normalize audio levels
```bash
ffmpeg -i segment.mp4 -af loudnorm=I=-16:TP=-1.5:LRA=11 -c:v copy normalized.mp4
```
## Layer 4: Programmable Composition (Remotion)
Remotion turns editing problems into composable code. Use it for things that traditional editors make painful:
### When to use Remotion
- Overlays: text, images, branding, lower thirds
- Data visualizations: charts, stats, animated numbers
- Motion graphics: transitions, explainer animations
- Composable scenes: reusable templates across videos
- Product demos: annotated screenshots, UI highlights
### Basic Remotion composition
```tsx
import { AbsoluteFill, Sequence, Video, useCurrentFrame } from "remotion";
export const VlogComposition: React.FC = () => {
const frame = useCurrentFrame();
return (
<AbsoluteFill>
{/* Main footage */}
<Sequence from={0} durationInFrames={300}>
<Video src="/segments/intro.mp4" />
</Sequence>
{/* Title overlay */}
<Sequence from={30} durationInFrames={90}>
<AbsoluteFill style={{
justifyContent: "center",
alignItems: "center",
}}>
<h1 style={{
fontSize: 72,
color: "white",
textShadow: "2px 2px 8px rgba(0,0,0,0.8)",
}}>
The AI Editing Stack
</h1>
</AbsoluteFill>
</Sequence>
{/* Next segment */}
<Sequence from={300} durationInFrames={450}>
<Video src="/segments/demo.mp4" />
</Sequence>
</AbsoluteFill>
);
};
```
### Render output
```bash
npx remotion render src/index.ts VlogComposition output.mp4
```
See the [Remotion docs](https://www.remotion.dev/docs) for detailed patterns and API reference.
## Layer 5: Generated Assets (ElevenLabs / fal.ai)
Generate only what you need. Do not generate the whole video.
### Voiceover with ElevenLabs
```python
import os
import requests
resp = requests.post(
f"https://api.elevenlabs.io/v1/text-to-speech/{voice_id}",
headers={
"xi-api-key": os.environ["ELEVENLABS_API_KEY"],
"Content-Type": "application/json"
},
json={
"text": "Your narration text here",
"model_id": "eleven_turbo_v2_5",
"voice_settings": {"stability": 0.5, "similarity_boost": 0.75}
}
)
with open("voiceover.mp3", "wb") as f:
f.write(resp.content)
```
### Music and SFX with fal.ai
Use the `fal-ai-media` skill for:
- Background music generation
- Sound effects (ThinkSound model for video-to-audio)
- Transition sounds
### Generated visuals with fal.ai
Use for insert shots, thumbnails, or b-roll that doesn't exist:
```
generate(app_id: "fal-ai/nano-banana-pro", input_data: {
"prompt": "professional thumbnail for tech vlog, dark background, code on screen",
"image_size": "landscape_16_9"
})
```
### VideoDB generative audio
If VideoDB is configured:
```python
voiceover = coll.generate_voice(text="Narration here", voice="alloy")
music = coll.generate_music(prompt="lo-fi background for coding vlog", duration=120)
sfx = coll.generate_sound_effect(prompt="subtle whoosh transition")
```
## Layer 6: Final Polish (Descript / CapCut)
The last layer is human. Use a traditional editor for:
- **Pacing**: adjust cuts that feel too fast or slow
- **Captions**: auto-generated, then manually cleaned
- **Color grading**: basic correction and mood
- **Final audio mix**: balance voice, music, and SFX levels
- **Export**: platform-specific formats and quality settings
This is where taste lives. AI clears the repetitive work. You make the final calls.
## Social Media Reframing
Different platforms need different aspect ratios:
| Platform | Aspect Ratio | Resolution |
|----------|-------------|------------|
| YouTube | 16:9 | 1920x1080 |
| TikTok / Reels | 9:16 | 1080x1920 |
| Instagram Feed | 1:1 | 1080x1080 |
| X / Twitter | 16:9 or 1:1 | 1280x720 or 720x720 |
### Reframe with FFmpeg
```bash
# 16:9 to 9:16 (center crop)
ffmpeg -i input.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" vertical.mp4
# 16:9 to 1:1 (center crop)
ffmpeg -i input.mp4 -vf "crop=ih:ih,scale=1080:1080" square.mp4
```
### Reframe with VideoDB
```python
from videodb import ReframeMode
# Smart reframe (AI-guided subject tracking)
reframed = video.reframe(start=0, end=60, target="vertical", mode=ReframeMode.smart)
```
## Scene Detection and Auto-Cut
### FFmpeg scene detection
```bash
# Detect scene changes (threshold 0.3 = moderate sensitivity)
ffmpeg -i input.mp4 -vf "select='gt(scene,0.3)',showinfo" -vsync vfr -f null - 2>&1 | grep showinfo
```
### Silence detection for auto-cut
```bash
# Find silent segments (useful for cutting dead air)
ffmpeg -i input.mp4 -af silencedetect=noise=-30dB:d=2 -f null - 2>&1 | grep silence
```
### Highlight extraction
Use Claude to analyze transcript + scene timestamps:
```
"Given this transcript with timestamps and these scene change points,
identify the 5 most engaging 30-second clips for social media."
```
## What Each Tool Does Best
| Tool | Strength | Weakness |
|------|----------|----------|
| Claude / Codex | Organization, planning, code generation | Not the creative taste layer |
| FFmpeg | Deterministic cuts, batch processing, format conversion | No visual editing UI |
| Remotion | Programmable overlays, composable scenes, reusable templates | Learning curve for non-devs |
| Screen Studio | Polished screen recordings immediately | Only screen capture |
| ElevenLabs | Voice, narration, music, SFX | Not the center of the workflow |
| Descript / CapCut | Final pacing, captions, polish | Manual, not automatable |
## Key Principles
1. **Edit, don't generate.** This workflow is for cutting real footage, not creating from prompts.
2. **Structure before style.** Get the story right in Layer 2 before touching anything visual.
3. **FFmpeg is the backbone.** Boring but critical. Where long footage becomes manageable.
4. **Remotion for repeatability.** If you'll do it more than once, make it a Remotion component.
5. **Generate selectively.** Only use AI generation for assets that don't exist, not for everything.
6. **Taste is the last layer.** AI clears repetitive work. You make the final creative calls.
## Related Skills
- `fal-ai-media` — AI image, video, and audio generation
- `videodb` — Server-side video processing, indexing, and streaming
- `content-engine` — Platform-native content distribution
Todos os arquivos
1 arquivosInstalar video-editing
Baixe e descompacte os arquivos de habilidades no diretório .claude/skills/.
Baixar ZIPClone o repositório e copie os arquivos da habilidade para o seu projeto.
git clone https://github.com/affaan-m/ECC/tree/main/skills/video-editing # Copy SKILL.md to your .claude/skills/ directory
Copiar





Lar
