Pitch: Criei um SaaS que gera cortes usando n8n, API da openai, Next.js e FFmpeg
Fala pessoal,
Queria compartilhar com vocês um projeto que venho construindo nas últimas semanas: o CutCast. É uma ferramenta que pega vídeos longos (YouTube/Arquivos) e usa IA para identificar os melhores momentos, transcrever e gerar cortes verticais para TikTok/Reels automaticamente.
Queria compartilhar um pouco dos bastidores técnicos, pois enfrentei desafios reais de infraestrutura que talvez ajudem quem está lidando com processamento pesado na nuvem.
🛠️ A Stack
Para quem curte saber as ferramentas antes da história:
- Frontend: Next.js
- Backend API: Node.js
- Orquestração: n8n
- Vídeo Worker: Node.js + FFmpeg (Microserviço isolado)
- AI: OpenAI (Contexto) + Deepgram (Transcrição).
- Storage: S3 Compatible.
🏗️ O Desafio Técnico: O peso da renderização
Quem já mexeu com FFmpeg sabe: existe um abismo de consumo de recursos entre apenas "cortar" um vídeo e "renderizar" efeitos.
Muitas ferramentas do mercado (e a minha aplicação se inclui nisso) resolvem o formato vertical com um zoom agressivo (Crop) para preencher a tela. Isso gera imersão, mas sacrifica a definição (pixeliza) se o vídeo original não for 4K, além de perder o contexto visual das laterais.
Para oferecer uma alternativa que preservasse a qualidade nativa da imagem, implementei a composição de camadas: o vídeo original nítido no centro e uma versão desfocada preenchendo o fundo (Blur Background).
Essa operação exige decodificar cada frame, aplicar o desfoque e recompor a imagem em Full HD. Tentar rodar isso em containers com pouca memória (como planos básicos de PaaS) resultava invariavelmente em OOM Kill (falta de memória).
🧩 A Arquitetura Híbrida
Para resolver isso sem a complexidade de gerenciar infraestrutura dedicada (VPS) e evitar o overprovisioning de recursos, desenhei uma arquitetura baseada em eventos:
-
Orquestração (n8n): O "cérebro" da operação. Ele recebe o link do vídeo, gerencia a transcrição, aciona o GPT para identificar os momentos virais contextuais e decide os timestamps exatos dos cortes.
-
Worker Isolado (Node.js + FFmpeg): Criei um microserviço dedicado apenas para o heavy lifting. O n8n apenas envia as coordenadas, e esse worker (escalado verticalmente no Railway) baixa o vídeo, aplica os filtros de crop ou blur e renderiza o arquivo final.
-
Storage Distribuído: Uso de Object Storage para armazenar os arquivos processados, evitando tráfego de dados desnecessário na aplicação principal.
🚀 O Resultado
Consegui criar um pipeline robusto, que isola o processamento pesado da API principal, garantindo estabilidade e qualidade nos vídeos finais.
O projeto está em fase Beta aberta. Se você produz conteúdo ou tem curiosidade de ver o resultado final dessa arquitetura rodando na prática, convido a testar:
Adoraria o feedback de vocês.
Abraços!