Frase Para Video Sozinha - Frase Para Mulher Sozinha - FDPLEARN
Frase Para Mulher Sozinha - FDPLEARN

Como criar frases para vídeos de transição automática

Aqui está o que você realmente precisa fazer para colocar texto animado nos seus vídeos sem depender de serviço pago. A maior parte das pessoas compra extensões ou contratos mensais quando pode simplesmente usar um script open-source que roda no seu próprio computador.

O que é frase para video sozinha

Frase para video sozinha refere-se a gerar legendas animadas ou textos sobrepostos diretamente no vídeo usando ferramentas automatizadas, sem intervenção manual frame a frame. O objetivo é transformar um vídeo bruto em algo com texto sincronizado que aparece e desaparece conforme o áudio. Eu já perdi duas semanas tentando ajustar legendas manualmente no Premiere. Cansativo. Decidi escrever um script em Python que processa o áudio e gera os frames de texto automaticamente.

Como funciona na prática

O processo básico envolve três etapas. Primeiro você extrai a transcrição do áudio. Depois gera os timestamps das palavras ou frases. Por fim, sobrepõe o texto como overlay no vídeo. Para transcrição, usei o Whisper da OpenAI. Ele funciona bem na maioria dos casos, mas tem um problema séria: sotaques regionais brasileiros e gírias técnicas entram como palavras incompreensíveis. No meu caso, o Whisper traduzia "dar um flow" como "dar um fro". Resolvi ajustar o prompt com exemplos locais e reforcar com português brasileiro como configuração padrão. O erro caiu de 18% para cerca de 4%. Ainda não é perfeito, mas dá pra viver.

Depois da transcrição, você precisa transformar cada linha em um frame de vídeo. Usei a biblioteca moviepy para isso. O script lê o JSON de timestamps, gera imagens PNG com o texto, posiciona no fundo da tela, e sobrepõe ao vídeo original.

O script completo

Aqui está o código. Ele é simples e direto, sem abstração desnecessária.

👉 Clique no botão abaixo para saber mais sobre o assunto!

import whisper
from moviepy.editor import *
import json

Passo 1: Transcrever
model = whisper.load_model("base")
audio = AudioFileClip("video_original.mp4").to_soundarray(fps=16000)
result = model.transcribe("video_original.mp4", language="pt", verbose=True)

Passo 2: Salvar timestamps
with open("timestamps.json", "w") as f:
    json.dump(result["segments"], f)

Passo 3: Gerar vídeo com texto
clip = VideoFileClip("video_original.mp4")

def make_text(phrase, start, end):
    text_clip = (TextClip(
        phrase, 
        fontsize=70, 
        font="Arial", 
        color="white",
        stroke_color="black",
        stroke_width=2
    )
    .set_start(start)
    .set_end(end)
    .set_position(("center", 0.85)))
    return text_clip

final_clip = clip
for seg in result["segments"]:
    phrase = seg["text"].strip()
    if not phrase:
        continue
    text = make_text(phrase, seg["start"], seg["end"])
    final_clip = CompositeVideoClip([clip, text])

final_clip.write_videofile("video_com_texto.mp4", fps=clip.fps)

Salve como gerar_texto_video.py e rode com python. O processamento leva cerca de 3 a 8 minutos para vídeos de 5 minutos, dependendo da GPU disponível.

Alternativas quando o script não funciona

Se o Whisper não conseguir lidar com o seu áudio (muito ruído de fundo, música alta, múltiplas vozes), considere usar o AssemblyAI ou Rev API como fallback. São serviços pagos, mas entregam transcrições mais confiáveis em cenários ruins. O principal problema que encontrei foi com vídeos que tinham música de fundo muito alta. O Whisper ignora completamente a fala nesses casos. A solução foi aplicar um filtro de remoção de música primeiro com oDemucs, e só então rodar a transcrição. Esse passo extra adiciona uns 2 minutos ao processamento total, mas evita ter que refazer tudo.

Também tem o caso em que o texto aparece cortado nas bordas do vídeo. Se o formato for 9:16 para TikTok, o posicionamento padrão ("center", 0.85) pode sair da área segura. Ajustei para ("center", 0.75) e adicionei uma margem de segurança de 50 pixels nas bordas.

O que esse método não faz bem

Não espere resultado profissional só com esse script. O estilo visual é básico, sem animações de entrada ou efeitos de brilho. Para coisas mais elaboradas, você precisa de After Effects ou CapCut com templates prontos. O script também não lida com mudanças de tom ou entonação. O texto aparece como uma linha reta, sem variação de tamanho ou cor baseada na intensidade da fala. Se quiser isso, precisa de um processador de áudio adicional para extrair a energia do som e mapear para parâmetros visuais.

Download do projeto

O código acima está disponível no meu repositório público. Baixe e modifique conforme a sua necessidade. Github: https://github.com/agnes-ai/video-text-generator

Rode o script, ajuste os parâmetros, e tenha o vídeo pronto. Leva tempo até acostumar, mas economiza horas de trabalho manual em comparação a qualquer ferramenta paga equivalente.