Skip to content

Aplicação que possibilita realizar upload de videos e por meio de IA, criar automaticamente títulos chamativos e descrições com uma boa indexação.

License

Notifications You must be signed in to change notification settings

mathrb22/nlw-mastery-upload-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ícone de um robô para representação do projeto upload.ai

upload.ai


Sobre   |   Objetivo   |   Features   |   Demonstração   |   Tecnologias e ferramentas   |   Organização do projeto   |   Instalação e execução   |   Como contribuir   |   Licença

📃 Sobre

upload.ai

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.

🎯 Objetivo

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.

✨ Features

  • 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.

💻 Demonstração

video-demo-upload-ai.mp4

🚀 Tecnologias e ferramentas

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

📂 Organização do projeto

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.

🔧 Instalação e execução

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.

Front-end (Web)

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.

Back-end (API)

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.

💡 Como contribuir

  • 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.

📝 Licença

GitHub License

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Desenvolvido com 💚 por mathrb22

Gmail

About

Aplicação que possibilita realizar upload de videos e por meio de IA, criar automaticamente títulos chamativos e descrições com uma boa indexação.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published