¿Qué hace ai-ugc-video-pipeline?
Los videos cortos de marketing con presentador IA (cara parlante + imágenes reales de producto + subtítulos) tienen un conjunto específico de modos de fallo que no se manifiestan hasta que reproduces el archivo final en un dispositivo real — no en ffprobe, ni en un script que busca marcas de tiempo en la línea de tiempo. Este es un pipeline controlado que los detecta antes de la entrega, más los dos errores de audio que es fácil reintroducir incluso cuando ya los conoces.
Cuándo usarlo
- Producción de un video corto (vertical, 9:16) de marketing/producto con presentador IA.
- Re-edición o iteración sobre uno existente.
- Cualquier pipeline que ensamble imágenes de presentador generado por IA + captura de pantalla real + subtítulos generados mediante ffmpeg.
Orden de fases no negociable — cada fase bloquea la siguiente
- PREP (no gastes nada hasta que esté en verde). Investiga el panorama actual de modelos para tu generación de presentador/voz (los precios y endpoints de estas APIs cambian cada mes — verifica contra la documentación oficial del proveedor antes de comprometer gasto). Escribe algunas variantes de guion, que un evaluador de texto seleccione una, prepara tu material de referencia de rostro/voz (con consentimiento real y documentado para la identidad utilizada), captura las imágenes reales de producto que vas a componer, y escribe una rúbrica además de un tope de presupuesto estricto antes de gastar un centavo.
- CALIBRATE. Genera primero un clip corto y barato para validar el encuadre y la aceptación de la identidad antes de comprometerte con tomas completas. Si el encuadre está mal, corrige la imagen de referencia que estás alimentando al modelo, no la elección del modelo.
- GENERATE. Tomas mínimas y deliberadas. Solo haz A/B entre proveedores/modelos cuando tengas evidencia de que uno está rindiendo por debajo — no hagas solicitudes indiscriminadas. Deja de generar una vez que las puntuaciones se estabilicen; limita las iteraciones pagadas (por ejemplo, para después de 2 a menos que las puntuaciones sigan subiendo).
- ASSEMBLE. Usa el filtro concat de ffmpeg, no el demuxer, para el ensamblaje final (ver los errores de audio más abajo para saber por qué). Cada reconstrucción recibe un nombre de archivo nuevo — nunca sobrescribas en el mismo lugar, para que siempre puedas comparar con la última versión buena.
- VERIFY. Ejecuta tus puertas de validación de medios (abajo) y un control previo de texto/honestidad en cada activo de guion/subtítulos/copia. No entregues si alguna puerta falla.
- DELIVER. Entrega el archivo a un humano para su aprobación final, con un breve documento de calificaciones/notas. La publicación en cualquier plataforma siempre es una decisión controlada por un humano — nunca publiques automáticamente. Si el presentador es una representación sintética realista, usa el interruptor de divulgación de contenido IA de la plataforma, incluso si la divulgación en el video es una elección deliberada que has tomado por separado.
Los dos errores de audio que se enviarán silenciosamente si no los proteges
- La pista de audio de un segmento es más corta que su pista de video (la voz en off termina antes que el clip de video). En una concatenación con copia de flujo, la línea de tiempo del audio se desvía y efectivamente muere antes de tiempo en parte del archivo final. Solución: rellena el audio de cada segmento para que coincida con su duración de video, y normaliza cada segmento a la misma frecuencia de muestreo/número de canales antes de concatenar.
- Incluso con relleno, el demuxer de concatenación puede dejar pequeños huecos de temporización de paquetes (~0,1 s) debido al redondeo de la duración del audio. Las herramientas que decodifican de principio a fin (ffmpeg, una herramienta de transcripción) reproducen estos huecos sin problemas y no detectarán nada — pero algunos reproductores reales detienen el audio por completo en el primer hueco, por lo que un archivo que "pasa" tu verificación automatizada puede seguir estando roto para un espectador real. Solución: haz el ensamblaje final como un filtro concat de una sola pasada (no el demuxer) con el remuestreo de audio forzado a una línea de tiempo continua y sin espacios.
La prueba que detecta ambos: escanea los sellos de tiempo de los paquetes de audio del archivo final en busca de cualquier hueco mayor de ~50 ms. Valida los medios como los consume un reproductor real — una decodificación continua + una transcripción completa del archivo — no buscando marcas de tiempo y muestreando, que puede resincronizar silenciosamente alrededor del mismo hueco que intentas detectar.
Protocolo de evaluadores — los evaluadores LLM alucinan con los medios, verifícalos de forma cruzada
- Evalúa contra un proxy de compresión fijo y moderado (una compresión demasiado agresiva exagera los artefactos y sesga las puntuaciones en contra del formato, no del contenido).
- Verifica de forma cruzada cada afirmación del evaluador sobre el audio con una prueba determinista (una transcripción + el escaneo de huecos de paquetes anterior) antes de actuar en consecuencia. Un evaluador que llama a algo "un fallo" puede tener razón O estar equivocado por la razón equivocada — no confíes ni lo descartes por sensaciones; ejecuta la comprobación determinista primero, luego decide.
- Para comparaciones A/B: misma pista de audio, criterios fijos/pinados, orden coherente y forzar una salida estructurada estricta — las opiniones de los evaluadores en texto libre son más difíciles de aplicar y más fáciles de racionalizar.
- Espera que un evaluador sea severo. Entrega basándote en evidencia (cada puerta determinista en verde + la aprobación de un humano real), nunca solo en el veredicto de un evaluador.
Puertas de honestidad y seguridad — codifícalas como código, no como una comprobación intuitiva
Ejecuta un control previo automatizado sobre cada activo de guion/subtítulos/copia antes de que se envíe:
- Sin afirmaciones inventadas sobre las capacidades o resultados del producto.
- Sin uso no consentido del rostro o la voz de nadie — obtén y documenta el consentimiento real antes de generar con la imagen de cualquier persona real, y verifica la política de uso del proveedor de generación para la generación basada en identidad.
- Sin afirmaciones presentadas como resultados reales de usuarios que en realidad fueron generados/simulados.
- Cualquier nombre de marca o producto que no deba ser público se mantiene fuera de guiones, subtítulos y notas de publicación.
- La publicación en sí misma es siempre un paso separado, controlado por un humano — el trabajo del pipeline termina en "listo para revisión", nunca en "publicado".
Disciplina de presupuesto
Mantén un registro continuo (estimado vs. real por generación) contra un tope duro que estableciste en PREP, y deja de generar una vez que las puntuaciones se estabilicen en lugar de seguir gastando más allá de los rendimientos decrecientes. Presupuestar por adelantado, y detenerse basándose en evidencia en lugar de "solo una toma más", es lo que mantiene este pipeline asequible.
Cómo usar
Instalación: copia esta carpeta en ~/.claude/skills/ai-ugc-video-pipeline/ para uso personal, o .claude/skills/ai-ugc-video-pipeline/ dentro de un repositorio de proyecto. Conectarás tu propia elección de proveedor de generación de presentador/voz y herramientas de captura de pantalla — esta habilidad es la metodología de control y las correcciones de modos de fallo comprobadas, no una integración de proveedor específica.
Invocación:
Guíame a través de la fase PREP del pipeline ai-ugc-video-pipeline para un video
de demostración de producto de 30 segundos — ayúdame a escribir las variantes de
guion y el registro de presupuesto antes de generar nada.
Mi video ensamblado tiene audio que se corta a mitad en algunos reproductores,
pero se reproduce bien en ffplay. Usa la sección de errores de audio de
ai-ugc-video-pipeline para diagnosticarlo y solucionarlo.