habulaj commited on
Commit
e5d3673
·
verified ·
1 Parent(s): a94a431

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -16
app.py CHANGED
@@ -519,9 +519,10 @@ Se inspire rigorosamente no modo de escrita dos exemplos fornecidos.
519
 
520
  ESTILO DE ESCRITA OBRIGATÓRIO:
521
 
522
- - Tom semiformal que mistura precisão técnica com fluidez conversacional
523
- - Use conectivos naturais como aliás, na verdade, por exemplo, definitivamente, etc, para criar ritmo
524
- - Palavras-chave em MAIÚSCULA para ênfase quando fizer sentido
 
525
  - Informações diretas, sem rodeios, cada frase deve acrescentar um dado novo
526
  - NUNCA termine com frases que pareçam conclusões de IA
527
  - Evite palavras como consolidou, definiu, simboliza especialmente no final
@@ -529,6 +530,7 @@ ESTILO DE ESCRITA OBRIGATÓRIO:
529
  - NUNCA use travessões em nenhuma parte do texto
530
  - NUNCA faça perguntas retóricas ou diretas ao final da descrição
531
  - NUNCA utilize termos como "O vídeo resgata", "O vídeo mostra", etc... a descrição deve ser sempre direta.
 
532
 
533
  LEGENDA:
534
  - Define se o vídeo precisa de legendas (se há fala importante que precisa ser traduzida ou transcrita).
@@ -537,14 +539,15 @@ LEGENDA:
537
 
538
  TÍTULOS E EMOJIS:
539
 
540
- - O público primário é Geração Z, portanto o tom pode ser descontraído quando o contexto permitir
541
- - O uso de Quando no início do título é UMA OPÇÃO ESTILÍSTICA recomendada, não obrigatória
542
  - Varie estruturas de título, podendo usar afirmações diretas, contrastes, dados impactantes ou frases curtas
543
  - Emojis são opcionais e devem ser usados apenas quando reforçam a emoção do contexto
544
  - Não use emojis em todos os títulos
545
  - O título só deve ter UM emoji, NUNCA DOIS.
546
- - Outros emojis podem ser usados conforme o contexto, como 🥹, 😭, 🔥, etc. Se for utilizado o coração, SEMPRE deve ser coração sem ser o vermelho ou branco... dependendo do contexto.
547
- - MUITO IMPORTANTE: Mantenha as quebras de linha na descrição utilizando `\\n\\n` no JSON para separar os parágrafos, assim o texto não fica tudo numa única linha.
 
548
 
549
  Contexto que pode ajudar: {contexto_add}
550
  {comentarios_add}
@@ -554,7 +557,7 @@ EXEMPLOS (saída esperada em JSON):
554
  [
555
  {{
556
  "title": "É incrível como ele era vulnerável e emotivo antes de perder qualquer traço de humanidade 💀",
557
- "description": "No episódio 3 da 1ª temporada de Breaking Bad (...And the Bag's in the River), Walter White reconstrói um prato quebrado e descobre que falta um único estilhaço. Ele percebe que Krazy-8, o traficante mantido em seu porão, escondeu a peça pontiaguda para usá-la como arma. Walt estava decidido a libertar o prisioneiro, mas a prova física da traição o forçou a estrangular o traficante pra sobreviver.\\n\\nFoi nesse momento que o docente de química compreendeu que a empatia seria sua condenação. Morria, naquele instante, o mestre de escola, e surgia a lógica inflexível de Heisenberg 🔥",
558
  "legenda": false
559
  }},
560
  {{
@@ -563,18 +566,18 @@ EXEMPLOS (saída esperada em JSON):
563
  "legenda": true
564
  }},
565
  {{
566
- "title": "Normal People foi tão bom porque o Paul Mescal definitivamente não tava atuando 🥹",
567
- "description": "🥹 Paul Mescal era um ator de teatro praticamente desconhecido até ser escalado como Connell Waldron em Normal People. A adaptação do best-seller de Sally Rooney rendeu a Mescal o BAFTA de Melhor Ator e uma indicação ao Emmy, que claramente consolidou sua química com Daisy Edgar-Jones como uma das mais realistas da televisão recente.\\n\\nA produção utilizou uma coordenadora de intimidade para garantir que as cenas de vulnerabilidade fossem autênticas, focando mais na linguagem corporal e no silêncio do que em diálogos expositivos. Filmada na Irlanda e na Itália, a série apresenta com precisão técnica a transição da vida escolar em Sligo para a universidade no Trinity College, evitando os clichês estéticos típicos de romances juvenis e concentrando-se no naturalismo das atuações.",
568
  "legenda": true
569
  }},
570
  {{
571
  "title": "O exato momento em que Carl supera seu luto de décadas 🥺",
572
- "description": "🍇 O broche que Carl entrega a Russell é uma tampa de refrigerante de uva (Grape Soda) original dos anos 30, o mesmo objeto que Ellie deu a Carl quando eles se conheceram na infância.\\n\\nNo final de Up: Altas Aventuras (2009), Russell, com 8 anos, lida com a falta do pai durante a cerimônia de formatura dos Exploradores da Natureza. Carl Fredricksen sobe ao palco e entrega ao garoto a \\"Insígnia Ellie\\", a mais alta distinção que ele tem. Isso representa o momento preciso em que Carl supera seu luto de décadas, transferindo o legado de aventura para Russell e assumindo o papel de figura paterna para o garoto.\\n\\nDirigido por Pete Docter, o longa fez história ao ser a primeira animação a abrir o Festival de Cannes e venceu os Oscars de Melhor Filme de Animação e Melhor Trilha Sonora.",
573
  "legenda": true
574
  }},
575
  {{
576
  "title": "“Ei, olha só... meu turno acabou de terminar” 😭",
577
- "description": "No filme \\"Atração Perigosa\\" (2010), o diretor Ben Affleck definitivamente enfatizou o realismo tático quando apresentou a cultura criminosa de Charlestown, Boston. Nessa cena, por exemplo, imediatamente após o assalto ao banco em North End, o policial interpretado por Jack Walsh opta por desconsiderar a gangue liderada por Doug MacRay, que está equipada com fuzis automáticos e usando as conhecidas máscaras de freira. A escolha do oficial é uma das reações mais pragmáticas do gênero policial... a autopreservação diante de uma desvantagem letal evidente. O filme, aliás, inspirado no livro \\"Prince of Thieves\\", rendeu a Jeremy Renner uma indicação ao Oscar de Melhor Ator Coadjuvante por sua atuação como o instável James Coughlin.",
578
  "legenda": false
579
  }},
580
  {{
@@ -589,7 +592,7 @@ EXEMPLOS (saída esperada em JSON):
589
  }},
590
  {{
591
  "title": "E o Justin Bieber que já demonstrava um senso rítmico absurdo aos dois anos de idade? 😵",
592
- "description": "Justin Bieber tinha somente dois anos quando sua mãe, Pattie Mallette, gravou este vídeo caseiro na cozinha de sua residência em Stratford, Ontário. A habilidade dele em manter o tempo rítmico e realizar viradas rápidas usando apenas as mãos e uma superfície improvisada impressiona pela coordenação motora avançada para sua idade.\\n\\nJustin aprendeu a tocar bateria de forma autodidata antes de passar para o piano e o violão, instrumentos que ele dominou antes de ser descoberto no YouTube em 2007. O artista, vale ressaltar, tocou bateria profissionalmente em várias turnês internacionais, evidenciando que a base percussiva foi o fundamento de sua formação musical.\\n\\nEsse registro particular tornou-se uma das cenas mais icônicas do seu documentário \\"Never Say Never\\", que arrecadou 99 milhões de dólares em todo o mundo.",
593
  "legenda": true
594
  }},
595
  {{
@@ -599,7 +602,7 @@ EXEMPLOS (saída esperada em JSON):
599
  }},
600
  {{
601
  "title": "O mano é inocente demais pra esse mundo tão cruel 😭",
602
- "description": "Estátuas vivas são artistas de rua que utilizam técnicas rigorosas de controle da respiração e relaxamento muscular para se manterem imóveis por períodos que variam de 30 a 60 minutos. Por exemplo, o artista Donald Eleanor usa maquiagem metálica e figurinos rígidos para fazer parecer que é um objeto inanimado em locais públicos. Quando o pedestre interage ou oferece uma gratificação, o performer rompe a imobilidade com movimentos fluidos e robóticos, criando um contraste visual instantâneo. Essa atividade requer meses de treinamento para evitar o reflexo automático de piscar ou responder a distrações externas, como sons e mudanças climáticas.\\n\\nA técnica de \\"locking\\", por exemplo, permite que o ator fixe as articulações em ângulos determinados, mantendo uma postura estável e sem oscilações.",
603
  "legenda": false
604
  }},
605
  {{
@@ -609,7 +612,7 @@ EXEMPLOS (saída esperada em JSON):
609
  }},
610
  {{
611
  "title": "O mano genuinamente se sentiu violado 😭",
612
- "description": "Ele estava sob efeito de sedativos pesados após um procedimento cirúrgico quando este registro foi feito em uma unidade hospitalar. O homem apresenta um estado de desorientação típica do despertar anestésico, que afeta temporariamente as funções cognitivas e a percepção de realidade do paciente. Nas imagens, ele tenta vestir sua própria camiseta enquanto interage com a equipe de enfermagem de forma confusa e cômica.\\n\\nA sedação consciente, técnica comum em procedimentos ambulatoriais, utiliza medicamentos que induzem ao relaxamento profundo e, frequentemente, causam amnésia retrógrada.",
613
  "legenda": true
614
  }}
615
  ]
@@ -919,7 +922,8 @@ async def generate_subtitle(request: GeminiSubtitleRequest):
919
  print(f"🧠 [Gemini] Enviando SRT + Áudio para análise ({chatbot_key})...")
920
 
921
  # 3. Montar Prompt
922
- processed_context = request.context if request.context else "N/A"
 
923
 
924
  prompt = f"""
925
  IDIOMA: A legenda traduzida DEVE ser inteiramente em PORTUGUÊS DO BRASIL (pt-BR). Independente do idioma original do vídeo.
 
519
 
520
  ESTILO DE ESCRITA OBRIGATÓRIO:
521
 
522
+ - Tom INFORMAL e conversacional que mistura precisão factual com fluidez de quem tá contando algo pra um amigo
523
+ - Use LINGUAGEM COLOQUIAL brasileira: "tava" em vez de "estava", "pra" em vez de "para", "tá" em vez de "está", "pro" em vez de "para o", "num" em vez de "em um", "aí" em vez de "então", "tipo" como conectivo casual quando fizer sentido
524
+ - Use conectivos naturais como aliás, na verdade, por exemplo, definitivamente, inclusive, etc, pra criar ritmo
525
+ - Palavras-chave em MAIÚSCULA pra ênfase quando fizer sentido
526
  - Informações diretas, sem rodeios, cada frase deve acrescentar um dado novo
527
  - NUNCA termine com frases que pareçam conclusões de IA
528
  - Evite palavras como consolidou, definiu, simboliza especialmente no final
 
530
  - NUNCA use travessões em nenhuma parte do texto
531
  - NUNCA faça perguntas retóricas ou diretas ao final da descrição
532
  - NUNCA utilize termos como "O vídeo resgata", "O vídeo mostra", etc... a descrição deve ser sempre direta.
533
+ - A descrição NÃO precisa ser 100% coloquial, mas o tom geral deve soar natural e humano, nunca robótico ou acadêmico
534
 
535
  LEGENDA:
536
  - Define se o vídeo precisa de legendas (se há fala importante que precisa ser traduzida ou transcrita).
 
539
 
540
  TÍTULOS E EMOJIS:
541
 
542
+ - O público primário é Geração Z, portanto o tom DEVE ser descontraído e informal
543
+ - O uso de "Quando" no início do título é UMA OPÇÃO ESTILÍSTICA recomendada, não obrigatória
544
  - Varie estruturas de título, podendo usar afirmações diretas, contrastes, dados impactantes ou frases curtas
545
  - Emojis são opcionais e devem ser usados apenas quando reforçam a emoção do contexto
546
  - Não use emojis em todos os títulos
547
  - O título só deve ter UM emoji, NUNCA DOIS.
548
+ - PRIORIZE emojis de humor e emoção da Geração Z: 💀 (choque/morri), 😭 (choro de riso/emoção), 🥀 (melancolia/dor), 💅 (deboche), 🫠 (derretendo), 😵 (chocado), 🫣 (constrangimento), 🤡 (palhaçada), 🥲 (sorriso triste). Use 🥹 e 🥺 pra momentos fofos/emocionantes. Evite emojis genéricos como �, ❤️, 😊.
549
+ - Se for utilizado coração, SEMPRE deve ser coração sem ser o vermelho ou branco... dependendo do contexto.
550
+ - MUITO IMPORTANTE: Mantenha as quebras de linha na descrição utilizando `\\n\\n` no JSON pra separar os parágrafos, assim o texto não fica tudo numa única linha.
551
 
552
  Contexto que pode ajudar: {contexto_add}
553
  {comentarios_add}
 
557
  [
558
  {{
559
  "title": "É incrível como ele era vulnerável e emotivo antes de perder qualquer traço de humanidade 💀",
560
+ "description": "No episódio 3 da 1ª temporada de Breaking Bad (...And the Bag's in the River), Walter White reconstrói um prato quebrado e descobre que falta um único estilhaço. Ele percebe que Krazy-8, o traficante que tava preso no porão dele, escondeu a peça pontiaguda pra usar como arma. O Walt tava decidido a libertar o cara, mas a prova física da traição forçou ele a estrangular o traficante pra sobreviver.\\n\\nFoi nesse momento que o professor de química entendeu que a empatia seria a condenação dele. Morria, naquele instante, o mestre de escola, e surgia a lógica inflexível de Heisenberg 🔥",
561
  "legenda": false
562
  }},
563
  {{
 
566
  "legenda": true
567
  }},
568
  {{
569
+ "title": "Normal People foi tão bom porque o Paul Mescal não tava atuando 🥹",
570
+ "description": "🥹 Paul Mescal era um ator de teatro praticamente desconhecido até ser escalado como Connell Waldron em Normal People. A adaptação do best-seller de Sally Rooney rendeu a Mescal o BAFTA de Melhor Ator e uma indicação ao Emmy, consolidando a química dele com a Daisy Edgar-Jones como uma das mais realistas da televisão recente.\\n\\nA produção usou uma coordenadora de intimidade pra garantir que as cenas de vulnerabilidade fossem autênticas, focando mais na linguagem corporal e no silêncio do que em diálogos expositivos. Filmada na Irlanda e na Itália, a série mostra com precisão técnica a transição da vida escolar em Sligo pra universidade no Trinity College, fugindo dos clichês estéticos típicos de romances juvenis e apostando no naturalismo das atuações.",
571
  "legenda": true
572
  }},
573
  {{
574
  "title": "O exato momento em que Carl supera seu luto de décadas 🥺",
575
+ "description": "🍇 O broche que o Carl entrega pro Russell é uma tampa de refrigerante de uva (Grape Soda) original dos anos 30, o mesmo objeto que a Ellie deu pro Carl quando eles se conheceram na infância.\\n\\nNo final de Up: Altas Aventuras (2009), o Russell, com 8 anos, lidando com a falta do pai durante a cerimônia de formatura dos Exploradores da Natureza. Carl Fredricksen sobe ao palco e entrega pro garoto a \\"Insígnia Ellie\\", a mais alta distinção que ele tem. É o momento preciso em que o Carl supera o luto de décadas, passando o legado de aventura pro Russell e assumindo o papel de figura paterna pro garoto.\\n\\nDirigido por Pete Docter, o longa fez história ao ser a primeira animação a abrir o Festival de Cannes e levou os Oscars de Melhor Filme de Animação e Melhor Trilha Sonora.",
576
  "legenda": true
577
  }},
578
  {{
579
  "title": "“Ei, olha só... meu turno acabou de terminar” 😭",
580
+ "description": "No filme \\"Atração Perigosa\\" (2010), o Ben Affleck definitivamente caprichou no realismo tático quando mostrou a cultura criminosa de Charlestown, Boston. Nessa cena, por exemplo, logo após o assalto ao banco em North End, o policial interpretado por Jack Walsh simplesmente ignora a gangue do Doug MacRay, que tava equipada com fuzis automáticos e usando as famosas máscaras de freira. A escolha do cara é uma das reações mais pragmáticas do gênero policial... autopreservação pura diante de uma desvantagem letal óbvia. O filme, aliás, inspirado no livro \\"Prince of Thieves\\", rendeu pro Jeremy Renner uma indicação ao Oscar de Melhor Ator Coadjuvante pela atuação dele como o instável James Coughlin.",
581
  "legenda": false
582
  }},
583
  {{
 
592
  }},
593
  {{
594
  "title": "E o Justin Bieber que já demonstrava um senso rítmico absurdo aos dois anos de idade? 😵",
595
+ "description": "O Justin Bieber tinha dois anos quando a mãe dele, Pattie Mallette, gravou esse vídeo caseiro na cozinha da casa deles em Stratford, Ontário. A habilidade dele em manter o tempo rítmico e fazer viradas rápidas usando as mãos e uma superfície improvisada impressiona pela coordenação motora absurda pra idade dele.\\n\\nO Justin aprendeu a tocar bateria de forma autodidata antes de passar pro piano e pro violão, instrumentos que ele dominou antes de ser descoberto no YouTube em 2007. O cara, inclusive, tocou bateria profissionalmente em várias turnês internacionais, mostrando que a base percussiva foi o fundamento da formação musical dele.\\n\\nEsse registro em particular virou uma das cenas mais icônicas do documentário \\"Never Say Never\\", que arrecadou 99 milhões de dólares no mundo todo.",
596
  "legenda": true
597
  }},
598
  {{
 
602
  }},
603
  {{
604
  "title": "O mano é inocente demais pra esse mundo tão cruel 😭",
605
+ "description": "Estátuas vivas são artistas de rua que usam técnicas rigorosas de controle da respiração e relaxamento muscular pra ficarem imóveis por períodos de 30 a 60 minutos. O artista Donald Eleanor, por exemplo, usa maquiagem metálica e figurinos rígidos pra parecer um objeto inanimado em locais públicos. Quando o pedestre interage ou oferece uma gorjeta, o performer rompe a imobilidade com movimentos fluidos e robóticos, criando um contraste visual instantâneo. A parada exige meses de treinamento pra evitar o reflexo automático de piscar ou reagir a distrações externas, tipo sons e mudanças climáticas.\\n\\nA técnica de \\"locking\\", por exemplo, permite que o ator trave as articulações em ângulos determinados, mantendo uma postura estável e sem oscilações.",
606
  "legenda": false
607
  }},
608
  {{
 
612
  }},
613
  {{
614
  "title": "O mano genuinamente se sentiu violado 😭",
615
+ "description": "O cara tava sob efeito de sedativos pesados após um procedimento cirúrgico quando esse registro foi feito numa unidade hospitalar. Ele apresenta aquele estado de desorientação típico do despertar anestésico, que afeta temporariamente as funções cognitivas e a percepção de realidade do paciente. Nas imagens, ele tenta vestir a própria camiseta enquanto interage com a equipe de enfermagem de forma confusa e cômica.\\n\\nA sedação consciente, técnica comum em procedimentos ambulatoriais, usa medicamentos que induzem ao relaxamento profundo e, frequentemente, causam amnésia retrógrada.",
616
  "legenda": true
617
  }}
618
  ]
 
922
  print(f"🧠 [Gemini] Enviando SRT + Áudio para análise ({chatbot_key})...")
923
 
924
  # 3. Montar Prompt
925
+ context_default = "Separe a legenda corretamente, nunca deixe muito texto em uma só legenda. Traduza corretamente e separe quem fala também, nunca bote 2 falantes numa mesma legenda. Se baseie no legenda por palavra pra se basear no timing."
926
+ processed_context = request.context if request.context and request.context.strip() not in ["", "N/A"] else context_default
927
 
928
  prompt = f"""
929
  IDIOMA: A legenda traduzida DEVE ser inteiramente em PORTUGUÊS DO BRASIL (pt-BR). Independente do idioma original do vídeo.