ClipMaker é uma pequena aplicação web estática que usa IA para gerar trechos virais de vídeos.
- Faz upload de um vídeo (via Cloudinary).
- Aguarda a transcrição do vídeo ser gerada pelo Cloudinary.
- Envia a transcrição para o Gemini API (Google Generative AI) para encontrar o momento mais impactante.
- Mostra o clipe recortado automaticamente no player.
- Abra
index.htmlno navegador (não precisa de servidor). - Cole sua Gemini API Key no campo indicado.
- Clique em Começar Upload e selecione um vídeo.
⚠️ Você precisa de uma chave válida do Gemini (API Key) para que a aplicação funcione.
O projeto usa recursos via CDN (sem build):
O arquivo index.html usa o widget de upload do Cloudinary. Para que tudo funcione, você precisa:
- Criar uma conta gratuita no Cloudinary.
- Acesse seu painel do Cloudinary.
- No canto superior direito, clique no seu avatar e vá para Account Details (Detalhes da Conta).
- Copie o campo Cloud name.
- No dashboard do Cloudinary, vá para Settings → Upload.
- Role até Upload presets e clique em Add upload preset.
- Dê um nome para o preset (por exemplo:
nlw-operator). - Defina o preset como Unsigned (não exige assinatura) para facilitar o uso no widget.
- Opcional: restrinja tipos de arquivo para
video/*e defina uma pasta de destino para organizar seus vídeos.
Para que o projeto funcione como o fluxo da imagem anexada (gerar transcrição automaticamente quando um vídeo é carregado), você pode usar as Automations do Cloudinary:
- No painel do Cloudinary, vá para Media Library → Automations (ou Workflows).
- Crie uma nova automação com o gatilho On Asset Upload.
- Adicione uma condição para tipo de recurso ser
video. - Adicione a ação Generate and Save Transcript (gerar e salvar transcrição) ou o equivalente disponível para transcrição de vídeo.
Com isso, toda vez que um vídeo for enviado ao seu Cloudinary (via widget), o Cloudinary vai gerar um arquivo .transcript que o projeto usa para encontrar o trecho viral.
No bloco config dentro do <script> do index.html, atualize:
cloudName: seu Cloud Name (copiado do Account Details)uploadPreset: o nome do seu Upload Preset
Isso garante que o widget faça upload para a sua conta e que a transcrição seja gerada para o arquivo certo.
Basta abrir index.html no navegador. Não há dependências ou build necessários.