La fábrica de video con agentes|INEMA.CLUB-PRO

Clase 5 · 18 min

Shorts con compuerta de calidad: gancho, corte 9:16 y QA

Un short que pierde los tres primeros segundos no tiene segunda oportunidad. MakeShorts pone dos compuertas en el camino: una en el guion, que mide el gancho antes de grabar, y una en el video, que mide formato, sonido y pantalla detenida antes de publicar. En esta lección apruebas y reprueban en las dos, con archivos de ensayo.

Comenzar la clase
Celular fijo en vertical sobre un soporte de mesa mostrando un fotograma desenfocado, junto a un monitor con una línea de tiempo de clips cortos.

En esta clase vas a

  1. 1Las tres capas del gancho: frase, escena y texto en el fotograma cero
  2. 2La compuerta del guion: gancho corto, apertura prohibida, palabra clave al principio
  3. 3La compuerta del video: 1080×1920, 30 fps, h264/aac, −14 LUFS, sin pantalla negra
  4. 4El cardshorts: short de tarjetas narrado, cinco estilos

Objetivo: escribir un gancho que pase la compuerta del guion y reprobar o aprobar un video 9:16 con el QA de makeshorts.

01Las dos compuertas de un short

Haz clic en cada etapa.

Haz clic en cada bloque del diagrama para ver qué hace.

makeshorts en el commit 52eb799, contrato de QA 1.2.1.

02El gancho en tres capas

Escribe las tres antes de grabar y comprueba que cada una se sostenga sola.

1. Frase

Lo que dices en los primeros dos segundos. Entra directo, con el mínimo de contexto: nada de presentaciones.

Ejemplo"Tu video muere en los tres primeros segundos."

03La compuerta del guion

Dos guiones del kit: uno que pasa y otro que reprueba. La palabra clave es "gancho".

Archivo · kit/exemplos/a5-roteiros/fraco.md
# Roteiro fraco
### FALA
Olá pessoal, hoje eu vou mostrar para vocês uma coisa muito interessante sobre como fazer vídeos curtos que prendem a atenção das pessoas. O gancho tem três camadas: a frase, a cena e o texto. Fica até o fim que no final eu conto o segredo.
Terminal · comprobar los guiones
K=~/projetos/formacao-cinema-ia-fabrica-v72/kit
cd ${TMPDIR:-/tmp}/ensaio-fabrica/a5; Q=makeshorts/.claude/skills/makeshorts/scripts
python3 $Q/qa_roteiro.py "$K/exemplos/a5-roteiros/bom.md" --keyword gancho > bom.txt; echo "bom: $?"
python3 $Q/qa_roteiro.py "$K/exemplos/a5-roteiros/fraco.md" --keyword gancho > fraco.txt; echo "fraco: $?"
grep -hE "❌|RESULTADO" bom.txt fraco.txt
Ejemplo del repositorio
bom: 0
fraco: 1
RESULTADO: APROVADO (falta: teste da lacuna, tese, fontes — revisão humana)
  ❌ gancho (palavras)        23 palavras: “Olá pessoal, hoje eu vou mostrar para vocês uma coisa muito interessante sobre c” (máx. 9)
  ❌ abertura proibida        começa com “ola”
  ❌ palavra-chave no início  “gancho” fora das primeiras 15 palavras (≈ 5 s)
RESULTADO: REPROVADO

El APROVADO del guion avisa lo que la máquina no mide: si el gancho abre una brecha, si la tesis toma partido, si los datos tienen fuente. Eso queda de tu parte.

04La compuerta del video

El bloque clona makeshorts en un commit fijo, hace un video de ensayo de 20 s en 1080×1920 con sonido normalizado y ejecuta el QA en el perfil divulgação.

Terminal · QA de un short de ensayo
E=${TMPDIR:-/tmp}/ensaio-fabrica/a5; rm -rf "$E"; mkdir -p "$E"; cd "$E"
git clone -q https://github.com/inematds/makeshorts.git && git -C makeshorts checkout -q 52eb799
Q=makeshorts/.claude/skills/makeshorts/scripts
ffmpeg -v error -f lavfi -i "testsrc2=s=1080x1920:r=30:d=20" -f lavfi -i "sine=f=220:d=20" \
  -af loudnorm=I=-14:TP=-2:LRA=7 -ar 48000 -c:v libx264 -pix_fmt yuv420p -c:a aac -shortest ensaio-916.mp4
python3 $Q/qa_short.py ensaio-916.mp4 --profile divulgacao > qa.txt; echo "saída: $?"
grep -E "^(✅|⚠️|❌)|RESULTADO" qa.txt
Terminal · el mismo QA en un video 16:9
cd ${TMPDIR:-/tmp}/ensaio-fabrica/a5; Q=makeshorts/.claude/skills/makeshorts/scripts
ffmpeg -v error -y -f lavfi -i "testsrc2=s=1920x1080:r=30:d=20" -f lavfi -i "sine=f=220:d=20" \
  -af loudnorm=I=-14:TP=-2:LRA=7 -ar 48000 -c:v libx264 -pix_fmt yuv420p -c:a aac -shortest ensaio-169.mp4
python3 $Q/qa_short.py ensaio-169.mp4 --profile divulgacao > qa169.txt; echo "saída: $?"
grep -E "^❌|RESULTADO" qa169.txt
Ejemplo del repositorio
saída: 0
✅ duração                  20.0s
✅ formato                  1080x1920
✅ fps                      30.00
✅ codec vídeo              h264
✅ codec áudio              aac
✅ loudness                 -13.9 LUFS
✅ sem tela preta inicial   imagem desde o frame 0
✅ frame 0 (informação)     0.063 de bordas
⚠️  trechos parados          1 acima de 4 s: 0.0–20.0s — justificar ou quebrar
⚠️  legendas                 não verificadas (passe --srt ou --words); reel sem legenda conferida não vai pro Nei
RESULTADO: APROVADO (falta a revisão humana: gancho, prova, pronúncia)

Los números (−13.9 LUFS, 0.063 de bordes) son de esta máquina, ffmpeg 6.1.1; en la tuya pueden variar un poco. Lo que vale es la línea RESULTADO. El aviso de subtítulos cita el flujo de Nei: en el tuyo, pasa --srt.

05Los tres perfiles del contrato

Duración en segundos y palabras del habla, de references/reel-profiles.json (contrato 1.2.1).

1. divulgacao

Mínimo 15 s, ideal 20 a 50 s, máximo 59 s. Habla de 60 a 125 palabras.

06El segundo motor: cardshorts

roteiro.yaml se convierte en un short 9:16 de tarjetas narrado. MIT. Para renderizar pide voz e imagen locales (inemavox y un servidor de imágenes con GPU); aquí solo listas los estilos.

Terminal · estilos de cardshorts
cd ${TMPDIR:-/tmp}/ensaio-fabrica/a5
git clone -q https://github.com/inematds/cardshorts.git && git -C cardshorts checkout -q d7f5c6d
cd cardshorts && python3 cardshorts.py estilos | grep -E "^[a-z]" 
grep -E "^(estilo|max_seg):" exemplos/versus/roteiro.yaml
Ejemplo del repositorio
celular    celular — interface de telefone: notificação, busca, fila e enquete SIM/NÃO
cracha     cracha — alvo, crachás carimbados e cédula; fundo grafite, acento vermelho
documento  documento — papel datilografado, formulário em branco, carimbos e certificado
extrato    extrato — nota fiscal / extrato bancário com borda picotada e carimbos
versus     versus — editorial preto e branco com vermelho; foto x foto, telas divididas, chamadas em Anton
estilo: versus
max_seg: 30          # a velocidade da fala é ajustada para caber (até 1,2x)

El max_seg es un tope: el habla se acelera hasta 1,2× para que quepa y, si no cabe, el motor falla en lugar de cortar.

07Práctica

Las dos compuertas, primero con el kit, después con tu guion.

E1 · QA del video

5 min

Ejecuta "QA de un short de ensaio" y "el mismo QA en un video 16:9".

Listo cuando: RESULTADO: APROVADO (falta a revisão humana: gancho, prova, pronúncia) con saída: 0, y después ❌ formato 1920x1080, RESULTADO: REPROVADO y saída: 1.

E2 · QA del guion

5 min

Ejecuta "conferir os roteiros".

Listo cuando: bom: 0, fraco: 1 y la línea ❌ abertura proibida começa com “ola”.

E3 · Tu gancho

15 min

Escribe ${TMPDIR:-/tmp}/ensaio-fabrica/a5/meu.md con la sección ### FALA de un short tuyo (60 a 125 palabras) y las tres capas del gancho anotadas fuera de la sección.

Listo cuando: cd ${TMPDIR:-/tmp}/ensaio-fabrica/a5 && python3 makeshorts/.claude/skills/makeshorts/scripts/qa_roteiro.py meu.md --keyword [sua palavra]; echo "saída: $?" → RESULTADO: APROVADO y saída: 0.

08Prueba de la clase

La explicación aparece después de tu respuesta.

Pregunta 1 de 4

qa_short.py aprobó el video. ¿Qué NO verificó?

09En tres frases

Ganchofrase, escena y texto en el fotograma cero, cada uno comprensible por sí solo.
Dos compuertasqa_roteiro antes de grabar, qa_short antes de publicar.
Humanola máquina mide formato y regla; el vacío, la tesis y la fuente son contigo.

Para ir más allá

Clase anteriorPróxima clase