Sobre | Objetivo | Features | Demonstração | Tecnologias e ferramentas | Organização do projeto | Instalação e execução | Como contribuir | Licença
Upload.ai é o projeto desenvolvido durante a trilha Mastery da Next Level Week IA, um evento online produzido pela Rocketseat.
Trata-se de uma aplicação que possibilita realizar upload de videos e por meio de IA, criar automaticamente títulos chamativos e descrições com um boa indexação.
O objetivo central do Upload.ai é criar uma plataforma que permita aos usuários realizar o upload de vídeos e, por meio de IA (Inteligência Artificial), gerar automaticamente títulos chamativos e descrições otimizadas para esses vídeos. Esta aplicação visa simplificar o processo de criação de conteúdo de vídeo e melhorar a visibilidade dos vídeos na web.
O projeto Upload.ai possui muitas aplicações práticas. Ele poderá ajudar criadores de conteúdo, profissionais de marketing, educadores online e empresas de mídia a melhorar a visibilidade e o desempenho de vídeos online, economizando tempo na criação de títulos e descrições atraentes e otimizadas para mecanismos de busca.
- Upload de vídeos;
- Conversão de vídeo para áudio utilizando o ffmpeg.wasm;
- Transcrição de áudio utilizando o Whisper (ASR - Automatic Speech Recognition) da OpenAI;
- Customização dos prompts;
- Geração de resumo da transcrição utilizando o modelo GPT-3 da OpenAI;
- Geração de títulos chamativos utilizando o modelo GPT-3 da OpenAI;
- Geração de descrições otimizadas para SEO utilizando o modelo GPT-3 da OpenAI;
- Flexibilidade para definir a temperatura (nível de aleatoriedade) dos resultados gerados (0-1);
- Cópia dos resultados gerados pela IA para a área de transferência.
video-demo-upload-ai.mp4
Front-end (web) | React, TypeScript, TailwindCSS, Vite.js, Radix UI, Shadcn/ui, ffmpeg.wasm, Axios, Vercel AI SDK |
Back-end (API) | Node.js, TypeScript, Prisma, Fastify, Zod, SQLite, OpenAI Node API, Vercel AI SDK |
Este repositório é dividido em dois principais diretórios:
- api: Contém o código-fonte do back-end.
- web: Contém o código-fonte do front-end.
Para baixar o código-fonte do projeto em sua máquina, primeiramente terá que ter instalado o Git. Com o Git instalado, em seu terminal execute o seguinte comando:
git clone https://github.com/mathrb22/nlw-mastery-upload-ai.git
Para instalar as dependências e executar o projeto terá que ter instalado em sua máquina o node.js, que vem acompanhado do npm.
Nesse projeto foi utilizado o pnpm, que busca economizar espaço em disco e acelerar a instalação de pacotes devido à sua abordagem de armazenamento de dependências compartilhado.
Acesse a pasta do projeto:
cd web
Instale as dependências usando pnpm ou npm:
# pnpm
pnpm install
# npm
npm install
Executar o projeto:
# pnpm
pnpm run dev
# npm
npm run dev
A aplicação estará disponível em http://localhost:5173. Você poderá acessá-la a partir do seu navegador.
Acesse a pasta do projeto:
cd api
Instale as dependências usando pnpm ou npm:
# pnpm
pnpm install
# npm
npm install
Crie o arquivo .env com as variáveis de ambiente necessárias:
DATABASE_URL="file:./dev.db"
OPENAI_KEY="sua OpenAI key"
Rode o comando a seguir para gerar o client do Prisma:
# pnpm
pnpm prisma generate
# npm
npm prisma generate
Execute as migrations do banco de dados:
# pnpm
pnpm prisma migrate dev
# npm
npm prisma migrate dev
Execute o projeto:
# pnpm
pnpm run dev
# npm
npm run dev
O servidor estará disponível em http://localhost:3333.
- Faça um fork desse repositório;
- Crie um branch para a sua feature:
git checkout -b minha-feature
; - Faça um commit com suas alterações:
git commit -m 'feat: Minha nova feature'
; - Faça um push para o seu branch:
git push origin minha-feature
; - Faça um pull request com sua feature;
Pull requests são sempre bem-vindos. Em caso de dúvidas ou sugestões, crie uma issue ou entre em contato comigo.
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Desenvolvido com 💚 por mathrb22