Meta Ads Video Copy¶
Skill local para generar copy de anuncios de Meta a partir de un video subido.
Convierte un video en:
5primary texts5headlines5descriptions
El skill trabaja con tres fuentes al mismo tiempo:
- audio o transcript
- screenshots o frames extraídos
- metadata básica del video
No debe escribir copy basado solo en imágenes ni solo en audio. La salida debe salir de la intersección entre lo que se dice y lo que se ve.
Qué resuelve¶
Este skill sirve cuando hay que tomar un video promocional, reel, UGC, tour de propiedad, demo o pieza hablada y convertirlo en textos listos para pegar en Meta Ads Manager.
Está pensado para:
- detectar hooks reales desde el audio
- validar claims con lo visible en pantalla
- generar ángulos distintos de prueba
- mantener límites de caracteres seguros para placements comunes
Salida esperada¶
La salida final debe incluir:
5primary texts de hasta125caracteres5headlines de hasta40caracteres5descriptions de hasta25caracteres
Cada línea debe incluir:
- el ángulo usado
- el texto final
- el conteo de caracteres
Framework de trabajo¶
1. Analizar transcript y visuales¶
Primero se obtiene el transcript y luego se revisan frames o screenshots.
El transcript define:
- hook
- oferta
- objeciones
- CTA
- claims
Los visuales validan y enriquecen:
- tipo de producto o propiedad
- condición
- detalles visibles
- on-screen text
- prueba visual
Si hay conflicto entre audio y visual, el copy debe quedarse solo con lo que sí está respaldado.
2. Definir ángulos¶
Antes de escribir textos individuales, se definen entre 3 y 5 ángulos distintos.
Categorías comunes:
- pain point
- outcome
- social proof
- curiosity
- comparison
- urgency
- identity
- contrarian
3. Generar variaciones por ángulo¶
Para cada ángulo se exploran variaciones cambiando:
- word choice
- specificity
- tone
- structure
Luego se elige una versión final por ángulo para cada bloque.
Dependencias¶
Requeridas¶
ffmpegffprobe
Opcionales para transcripción¶
mlx-whisperlocalOpenRouterOpenAI
Métodos de transcripción soportados¶
Opción 1: local-whisper¶
Soporta:
mlx-whisperfaster-whisperopenai-whisper
En este momento el skill ya está preparado para usar mlx-whisper desde su propio entorno virtual local.
Ejemplo:
python3 ~/.codex/skills/meta-ads-video-copy/scripts/transcribe_media.py \
"/ruta/al/video.mov" \
--output-dir /tmp/meta-copy-transcript \
--provider local-whisper \
--local-backend mlx-whisper \
--language es
Opción 2: OpenRouter¶
Usa OPENROUTER_API_KEY y por defecto el modelo:
mistralai/voxtral-small-24b-2507
Ejemplo:
python3 ~/.codex/skills/meta-ads-video-copy/scripts/transcribe_media.py \
"/ruta/al/video.mov" \
--output-dir /tmp/meta-copy-transcript \
--provider openrouter \
--language es
Opción 3: OpenAI¶
Usa OPENAI_API_KEY y por defecto:
gpt-4o-mini-transcribe
Esta ruta segmenta automáticamente el audio si el archivo preparado supera el límite del endpoint.
Flujo recomendado¶
- Transcribir el video.
- Extraer screenshots y metadata.
- Revisar transcript y visuales juntos.
- Definir ángulos.
- Redactar las variaciones finales.
Scripts principales¶
transcribe_media.py¶
Ubicación:
~/.codex/skills/meta-ads-video-copy/scripts/transcribe_media.py
Qué hace:
- transcribe video o audio
- soporta OpenAI, OpenRouter y local Whisper
- guarda
transcript.txtytranscript.json
prepare_video_context.py¶
Ubicación:
~/.codex/skills/meta-ads-video-copy/scripts/prepare_video_context.py
Qué hace:
- extrae screenshots empezando en
1.5segundos y luego cada3segundos por defecto - extrae
audio.wav - guarda
metadata.json
Ejemplo:
python3 ~/.codex/skills/meta-ads-video-copy/scripts/prepare_video_context.py \
"/ruta/al/video.mov" \
--output-dir /tmp/meta-video-context
El comportamiento por defecto es empezar en 1.5 segundos y luego sacar un screenshot cada 3 segundos. Si quieres cambiarlo:
python3 ~/.codex/skills/meta-ads-video-copy/scripts/prepare_video_context.py \
"/ruta/al/video.mov" \
--output-dir /tmp/meta-video-context \
--interval-seconds 3 \
--start-seconds 1.5
Reglas editoriales del skill¶
- priorizar audio/transcript cuando el video vende verbalmente
- validar claims con screenshots o frames
- no inventar descuentos, garantías o números no respaldados
- usar emojis con moderación y tono profesional
- devolver ángulos realmente distintos, no simples reformulaciones
Caso de uso típico¶
Ejemplo de uso real dentro del flujo:
- se sube un video corto de menos de
50MB - se transcribe el audio
- se extraen screenshots desde
1.5sy luego cada3s - se genera un brief interno:
- audio insights
- visual insights
- confirmed claims
- angles chosen
- se entrega el copy final listo para Ads Manager
Ubicación del skill¶
El skill vive fuera de este repo, en:
~/.codex/skills/meta-ads-video-copy
Documentarlo aquí permite que el equipo entienda:
- para qué sirve
- cómo ejecutarlo
- qué esperar de la salida