Usando o chatgpt para criar transcrições em vídeos
Automatizar a transcrição de vídeos pode ser uma mão na roda para qualquer desenvolvedor! Neste artigo, você vai aprender como configurar a API da OpenAI para transformar o áudio de um vídeo em texto, utilizando o Node.js. Desde a configuração da API até a integração com o seu projeto, este passo a passo mostrará tudo o que você precisa para começar.
Passo 1: preparando o ambiente
Para usar a API da OpenAI, você vai precisar:
- Node.js instalado no sistema. Se não tiver, baixe aqui.
- Uma conta na OpenAI e uma API Key válida para acessar os serviços de transcrição.
Configurando o Node.js
Inicie um novo projeto e instale as bibliotecas necessárias com o seguinte comando:
npm init -y npm install openai dotenv
Este artigo foi testado com as seguintes versões das bibliotecas:
openai
versão 3.2.1
dotenv
versão 16.3.1
Recomenda-se utilizar estas versões ou verificar a compatibilidade caso utilize versões mais recentes. Sempre verifique a documentação oficial das bibliotecas para garantir que a sintaxe e as funcionalidades sejam compatíveis com a versão que você está utilizando.
Criando o arquivo .env
Para manter sua chave da API segura, crie um arquivo
.env
e adicione a seguinte linha com sua chave da OpenAI:OPENAI_API_KEY="sua_chave_de_api_aqui"
Esse arquivo será ignorado pelo Git com o
.gitignore
, então você não precisa se preocupar em expor sua chave.Importante: para evitar que sua chave de API seja exposta em repositórios públicos, certifique-se de que o arquivo
.env
está listado no seu .gitignore
. Isso garantirá que o arquivo .env
não seja incluído nos commits do Git, mantendo sua chave de API protegida. Expor sua chave de API pode levar ao uso não autorizado dos seus créditos na OpenAI, resultando em cobranças inesperadas ou até mesmo no bloqueio da sua conta. Proteger sua chave é essencial para manter a segurança do seu projeto.Passo 2: carregando e lendo o arquivo de áudio
Antes de fazer a transcrição, você precisa obter o caminho do arquivo de áudio. Supondo que você já tenha o arquivo de áudio extraído do vídeo:
const fs = require('fs'); const path = require('path'); // Defina o caminho para o arquivo de áudio const audioPath = path.resolve(__dirname, 'seu_audio.mp3'); // Verifique se o arquivo existe e está acessível try { fs.accessSync(audioPath, fs.constants.R_OK); console.log('Arquivo pronto para transcrição.'); } catch (err) { console.error('Arquivo de áudio não encontrado ou inacessível.'); process.exit(1); }
Extraindo o áudio do vídeo
Caso você não tenha o arquivo de áudio extraído do vídeo, pode utilizar o
ffmpeg
para fazer isso:ffmpeg -i seu_video.mp4 -q:a 0 -map a seu_audio.mp3
O comando acima extrai o áudio do vídeo
seu_video.mp4
e salva como seu_audio.mp3
.O ffmpeg é uma ferramenta gratuita e de código aberto para manipulação de arquivos de áudio e vídeo.
Passo 3: configurando e chamando a API da OpenAI
Agora, você precisa integrar a API da OpenAI no projeto.
require('dotenv').config(); const fs = require('fs'); // Módulo nativo do Node.js para manipulação de arquivos const path = require('path'); // Módulo nativo do Node.js para manipulação de caminhos const { Configuration, OpenAIApi } = require('openai'); // Configuração da API const openai = new OpenAIApi(new Configuration({ apiKey: process.env.OPENAI_API_KEY, })); // Defina o caminho para o arquivo de áudio const audioPath = path.resolve(__dirname, 'seu_audio.mp3'); // Função para transcrever áudio async function transcreverAudio() { try { const response = await openai.createTranscription( fs.createReadStream(audioPath), 'whisper-1', // Modelo para transcrição { language: 'pt', // Idioma do áudio response_format: 'json', // Formato da resposta temperature: 0.2, // Parâmetro de precisão } ); console.log('Transcrição concluída:', response.data.text); await salvarTranscricao(response.data.text); // Chamada para salvar a transcrição // Nota: A função salvarTranscricao será definida no próximo passo. } catch (error) { console.error('Erro ao transcrever o áudio:', error); } } transcreverAudio();
Neste trecho, a função
transcreverAudio
faz a chamada para a API da OpenAI, configurada com o modelo whisper-1
, ideal para transcrições de áudio.Estrutura da resposta da API
A resposta da API terá a seguinte estrutura:
{ "text": "Aqui está o texto transcrito do seu áudio." }
O texto transcrito estará disponível em
response.data.text
.Passo 4: ajustando parâmetros para a transcrição
A API da OpenAI permite ajustes para otimizar a transcrição:
temperature
: Define o nível de criatividade. Um valor baixo (ex.: 0.2) garante maior precisão.
response_format
: Escolha entrejson
,text
ouvtt
(útil para criar legendas).
language
: Especifique o idioma do áudio para melhorar a precisão.
Esses parâmetros podem ser adaptados conforme a necessidade do seu projeto.
Passo 5: salvando a transcrição no banco de dados (opcional)
Para salvar a transcrição, você pode integrá-la ao seu banco de dados. Aqui está um exemplo usando Prisma:
Primeiro, instale o Prisma Client:
npm install @prisma/client
Em seguida, configure o Prisma conforme a documentação oficial.
Para salvar a transcrição, integre-a ao seu banco de dados. Aqui vai um exemplo usando Prisma:
const { PrismaClient } = require('@prisma/client'); const prisma = new PrismaClient(); async function salvarTranscricao(transcricao) { try { const novoVideo = await prisma.video.create({ data: { transcricao, }, }); console.log('Transcrição salva com sucesso:', novoVideo); } catch (error) { console.error('Erro ao salvar a transcrição:', error); } }
Certifique-se de que o modelo
video
está definido no seu esquema do Prisma, com um campo transcricao
do tipo String
.Passo 6: testando a transcrição
Com tudo configurado, execute o projeto:
node seu_arquivo.js
Espere pela resposta da API. Para áudios maiores, o tempo de espera pode ser significativo, mas os resultados são consistentes e precisos.
Tratamento de erros
É importante lidar com possíveis erros que podem ocorrer durante o processo:
- Verifique se o arquivo de áudio existe e está acessível.
- Lide com erros de rede ou limitações da API.
- Adicione logs ou mensagens de erro claras para facilitar o debug.
Por exemplo, você pode adicionar verificações adicionais antes de chamar a API:
if (!fs.existsSync(audioPath)) { console.error('Arquivo de áudio não encontrado.'); process.exit(1); }
E também tratar erros específicos na resposta da API:
if (error.response) { console.error('Erro na resposta da API:', error.response.data); } else { console.error('Erro ao transcrever o áudio:', error.message); }
Conclusão e próximos passos
Se gostou desse conteúdo, imagine o poder de dominar ferramentas avançadas de inteligência artificial! Hoje em dia, saber utilizar IA não é apenas um diferencial, mas quase um pré-requisito para quem quer crescer no mercado. Ferramentas como Watson Assistant, Dialog Flow e GPT estão se tornando essenciais para criar produtos de alta performance e soluções inovadoras.
Na Formação de IA para Devs, você terá acesso a tudo o que precisa para se destacar. Começamos dos fundamentos e vamos até técnicas avançadas, com suporte dedicado e certificado. São projetos práticos, tutorias individuais, networking em grupo e muito mais – tudo pensado para você aprender na prática e construir um portfólio de destaque.
Quer saber mais sobre como a inteligência artificial pode transformar seus projetos? Inscreva-se para receber conteúdos exclusivos da Rocketseat, incluindo eBooks e outros materiais sobre IA.
Linha do tempo IA
Ferramentas que usam IA por baixo dos panos
Pack de conteúdos: IA para devs