# Instruções para o seu agente de IA: produzir um vídeo dark de terror (~40 s) do zero

> Cole este arquivo inteiro no seu agente (Claude Code, Codex, Cursor ou similar) e peça: "siga estas instruções".
> Fonte: rtera.com.br/dicas/canal-dark (RTERA TechLab).

## Objetivo
Entregar um MP4 vertical 1080x1920 de ~40 s: história de terror original, 6 ilustrações, vozes por personagem,
efeitos sonoros, trilha e legenda palavra por palavra. Nada é publicado sem o usuário assistir e aprovar.

## Regras para o agente
- Explique cada passo ao usuário em linguagem simples antes de executar.
- Nunca imprima, registre em log nem repita no chat chaves de API (ElevenLabs, OpenAI etc.). Peça para o usuário
  colocar a chave numa variável de ambiente ou num `.env` fora do git.
- História, imagens e áudio 100% originais. Referência de outro canal serve só para linguagem (ritmo, formato, legenda).
- Não clone a voz de uma pessoa real. Não use gore explícito.
- Antes de gastar crédito pago (vozes, sons, imagens), diga quantas chamadas vai fazer e peça ok.
- Se algo falhar, mostre o erro real e pare. Não finja que deu certo.

## Passo 1: conferir o ambiente
1. `ffmpeg -version` e `ffprobe -version`. Sem FFmpeg, oriente a instalar (https://ffmpeg.org/download.html).
2. Confira se o usuário tem chave da ElevenLabs (variável `ELEVENLABS_API_KEY`). Sem chave: oriente criar conta em
   https://elevenlabs.io e gerar a chave em Settings → API Keys.
3. Confira se você (agente) consegue gerar imagens. Se não conseguir, peça ao usuário um gerador de imagem
   (ex.: o do ChatGPT) e combine que ele vai colar as 6 imagens numa pasta `img/`.
4. Crie a pasta do projeto: `episodio-01/` com `img/`, `vozes/`, `sons/`, `render/`.

## Passo 2: referência e escolhas do usuário
Pergunte: nicho (terror, mistério, curiosidade), duração alvo (30 a 45 s), idioma, e um link de referência opcional.
Se houver referência, descreva só a linguagem: duração, estilo de imagem, cor, legenda, ritmo de corte.

## Passo 3: roteiro
- História original de ~85 palavras para ~40 s, frases curtas, gancho na 1ª frase, reviravolta na última.
- Separe por fala e personagem em `roteiro.json`: `[{"papel":"narrador","texto":"..."}, ...]`.
- Mostre ao usuário e só siga com o ok dele.

## Passo 4: imagens (6 cenas)
- Defina um ESTILO fixo (ex.: "ilustração vertical 9:16 de graphic novel de terror, linhas de tinta, azul-petróleo
  escuro com luz vermelha, sem texto, sem gore") e a PERSONAGEM descrita sempre igual (idade, cabelo, roupa).
- Um prompt por cena = estilo + personagem + ação da cena. Salve em `prompts-imagens.json`.
- Gere/salve como `img/cena-01.png` ... `cena-06.png` (1080x1920 ou maior, 9:16). Monte uma folha com as 6 e mostre.

## Passo 5: vozes (ElevenLabs)
- Uma voz por personagem (Voice Library). Direção entre colchetes no texto, ex.: `[low, gravelly, ominous voice]`.
- Uma chamada de text-to-speech por fala, salvando `vozes/01.mp3`, `02.mp3`... Guarde voice_id e texto em
  `vozes/elenco.json`. As tags entre colchetes NÃO entram na legenda.
- Docs: https://elevenlabs.io/docs/api-reference/text-to-speech/convert

## Passo 6: sons e trilha
- Liste os sons que a história pede (passos, porta, celular, respiração) e uma trilha (cama grave + cordas agudas que
  sobem nos picos + silêncio no momento mais tenso).
- Gere com Sound Effects da ElevenLabs (https://elevenlabs.io/docs/api-reference/text-to-sound-effects/convert),
  salvando em `sons/` e um `sons/mapa.json` com o segundo de entrada de cada som.
- Som tem que concordar com o roteiro (se a porta está trancada, ela range mas não abre).

## Passo 7: montagem (FFmpeg)
1. Concatene as vozes com pequenas pausas → `render/voz.wav`. Meça a duração com ffprobe.
2. Transcreva/alinhe palavra por palavra (Whisper, se disponível, ou distribua pelo tempo de cada fala) →
   `legendas.json` com início e fim de cada palavra.
3. Divida o tempo entre as 6 imagens seguindo o roteiro; cada imagem com zoom lento (`zoompan`) em 1080x1920.
4. Mixe: voz em 0 dB, trilha baixando ~4 dB sob a voz, efeitos nos segundos do `mapa.json`.
5. Legenda: fonte condensada branca, grande, palavra atual destacada (ex.: fundo roxo), no terço central.
6. Exporte `render/final.mp4` (H.264, AAC, 30 fps, 1080x1920).

## Passo 8: revisar com o usuário
- Gere 3 quadros (início, meio, fim) e mostre. Peça para o usuário ASSISTIR COM SOM.
- Confira: legenda batendo com a voz, nenhuma tag de direção na legenda, nenhum som contradizendo a história,
  personagem com o mesmo rosto nas cenas.

## Passo 9 (opcional): publicar
- YouTube Shorts / TikTok: upload manual pelo usuário, marcando conteúdo gerado por IA quando a plataforma pedir.
- Agendar em várias redes: Postiz (código aberto) https://github.com/gitroomhq/postiz-app — só com ok do usuário.

## Ao terminar, entregue ao usuário
- Caminho do `final.mp4`, os 3 quadros, o roteiro e quanto crédito foi gasto em cada serviço.
- Como repetir: copiar a pasta do episódio e trocar só roteiro, prompts e vozes.
