Constructor de anuncios sociales
scripts/build_ad.py convierte una lista de tomas en dos archivos finales. Solo necesita ffmpeg y ffprobe (gratuitos). Cada valor por defecto se obtuvo mediante un bucle de iteración puntuado y revisiones A/B ciegas:
- Cortes duros. Los fundidos parpadean en negro en cada corte.
- Etiquetas de plato sobre un fondo sólido en el color de la marca. El texto fino sobre comida ocupada es ilegible.
- La línea de marca en el fotograma 0. La mayoría de las personas ven sin sonido.
- Un zoom suave del 4% al entrar cada toma de comida.
- Ligero enfoque más una gradación cálida, para que los clips generados por IA y las grabaciones de teléfono parezcan de una sola cámara.
- Ningún audio extraído de los clips, porque los modelos de video con IA añaden su propia música. El sonido es ambiente real de sala si se tiene, más un suave chisporroteo bajo la comida.
- Volumen a -14 LUFS con un limitador, para que el pico verdadero se mantenga por debajo de 0 dB y nada se distorsione en los altavoces del teléfono.
- Texto dentro del área segura 4:5 (y aproximadamente 390 en 1920), para que un máster se recorte limpiamente al feed.
Lista de tomas
{
"out": "out/mi-anuncio",
"brand_color": "#A3192B",
"brand_line": "Tu Restaurante · Tu Ciudad",
"ambience": "grabacion-sala.mov",
"shots": [
{"file": "clips/levantar-fideos.mp4", "start": 3.0, "dur": 2.0, "label": "Dan Dan Noodles"},
{"file": "clips/mapo.mp4", "start": 0.8, "dur": 1.5, "label": "Mapo Tofu"},
{"file": "clips/mapo-cuchara.mp4", "start": 3.3, "dur": 1.5},
{"file": "clips/comedor.mp4", "start": 0, "dur": 1.0, "label": "Tu Restaurante", "subline": "Tu Ciudad", "food": false}
],
"endcard": {"bg": "#F3ECE0", "logo": "logo.png", "dur": 2.0,
"lines": [{"text": "Tu Ciudad", "size": 58, "color": "#8B1E1E"},
{"text": "Pide para llevar o reserva mesa", "size": 56},
{"text": "tusitio.com", "size": 84, "color": "#8B1E1E", "bold": true}]}
}
Ejecuta python3 scripts/build_ad.py listadetomas.json. Escribe out/mi-anuncio-9x16.mp4 y out/mi-anuncio-4x5.mp4.
Campos de las tomas:
startydurestán en segundos dentro del clip."food": falsedesactiva el zoom suave y el chisporroteo (para tomas de sala)."keep_label": truemantiene una etiqueta a lo largo de dos tomas sin reanimarla."subline"añade una línea más pequeña debajo de la etiqueta."label_size"establece el tamaño de la etiqueta (por defecto 78 px). Pon\nen una etiqueta para dos líneas. Las etiquetas y las líneas de la tarjeta final se reducen automáticamente para ajustarse al ancho del fotograma.- El texto puede contener comillas, dos puntos, comas y
%. Los emojis no se renderizarán en las fuentes de las etiquetas, así que no los incluyas. - Si un clip es más corto que la
dursolicitada, el constructor usa lo que existe e imprime una nota. Revisa esas notas: un gancho que termina temprano se congela en su último fotograma.
Reglas de ritmo de anuncios ganadores (consulta los benchmarks de desglose de anuncios)
- Duración: un montaje de comida sin palabras gana entre 12 y 20 s. Los anuncios con diálogo o historia duran más.
- Duración de toma: un corte aproximadamente cada 1.8 s, con el primer corte alrededor de los 2 s. Las duraciones de toma en una cuadrícula de 0.5 s permiten que cualquier pista de música a 120 BPM coincida con los cortes.
- Orden: abre con movimiento y una mano en el encuadre. Muestra la comida sin interrupciones. Mantén cualquier toma de sala vacía en aproximadamente 1 s, cerca del final.
- Final: la mejor toma de comida, o una tarjeta simple con palabras de acción claras.
- Música: agrégala en la biblioteca con licencia de la propia plataforma al subir el video. No incorpores una canción para la que no tengas derechos.
Creación de variantes A/B
Cambia una cosa por variante (la toma de gancho, la línea de gancho, la duración o el conjunto de platos) para que el ganador se explique por sí mismo. Copia la lista de tomas, edita un campo, vuelve a construir.