Communitygithub.com

TheSmokeDev/taskchad-os

Procesa archivos de video para la creación de contenido en YouTube y genera gráficos para redes sociales: transcribe videos/clips a transcripciones con marcas de tiempo, subtítulos SRT y capítulos generados por IA; crea miniaturas de YouTube potenciadas por IA con referencias de rostros; genera infografías para publicaciones de LinkedIn; o crea imágenes personalizadas para cualquier plataforma con dimensiones flexibles.

¿Qué es taskchad-os?

Este skill de agente de IA (llamado Video Processor) está diseñado para ayudar a creadores de contenido a automatizar el flujo de trabajo de producción de video y gráficos para redes sociales. Se enfoca en cuatro capacidades principales: transcripción de video con generación de capítulos, creación de miniaturas para YouTube, generación de infografías para LinkedIn y creación de imágenes genéricas para otras plataformas. El skill se activa cuando el usuario solicita acciones como transcribir un video, crear capítulos, generar una miniatura, crear una infografía de LinkedIn o generar una imagen para Instagram. Funciona utilizando herramientas de línea de comandos (scripts de Python) dentro de un directorio específico del proyecto (`video-processor/`) y requiere dependencias como Python 3.9+, el gestor de paquetes `uv`, FFmpeg, y claves API de OpenAI (Whisper), Gemini y Replicate. Para la selección de la herramienta adecuada, el skill prioriza scripts especializados (`thumbnail.py` para miniaturas de YouTube, `linkedin-post.py` para LinkedIn) sobre el genérico (`image-gen.py`) según la plataforma y los requisitos del usuario. El skill está diseñado para ser usado con agentes de IA como Claude Code, Cursor o Codex, proporcionando instrucciones claras sobre cuándo y cómo invocar cada script.

Compatible con~Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/TheSmokeDev/taskchad-os/tree/HEAD/.claude/skills/video-processor

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Procesador de Video

Procesa archivos de video para la creación de contenido en YouTube y genera gráficos para redes sociales. Este skill proporciona cuatro capacidades principales:

  1. Transcripción y Capítulos: Convierte clips de video en transcripciones con marcas de tiempo, subtítulos SRT y capítulos generados por IA para YouTube.
  2. Generación de Miniaturas de YouTube: Crea miniaturas de YouTube potenciadas por IA con referencias de rostros y coincidencia de estilo.
  3. Imágenes para Publicaciones de LinkedIn: Genera infografías profesionales e imágenes para publicaciones de LinkedIn.
  4. Generación Genérica de Imágenes: Crea imágenes personalizadas para cualquier plataforma con dimensiones y prompts flexibles.

Cuándo Usar Este Skill

Usa este skill cuando el usuario:

  • Quiere transcribir archivos de video o clips
  • Necesita generar capítulos de YouTube
  • Quiere regenerar capítulos a partir de transcripciones existentes
  • Quiere crear miniaturas de YouTube
  • Quiere crear imágenes o infografías para publicaciones de LinkedIn
  • Quiere generar imágenes para otras plataformas (Instagram, Twitter, Facebook, etc.)
  • Menciona intercambio de rostros para miniaturas
  • Pregunta sobre proporcionar referencias de rostro o estilo para gráficos

Elegir la Herramienta de Generación de Imágenes Correcta

El skill proporciona tres scripts de generación de imágenes. Elige según la plataforma y los requisitos:

Usa thumbnail.py (Miniaturas de YouTube) cuando:

  • El usuario menciona "YouTube", "miniatura" o "thumbnail de video"
  • Se solicita una relación de aspecto 16:9
  • Se desea un estilo dramático, llamativo y con rostros
  • Por defecto: 1920x1080

Usa linkedin-post.py (Infografías de LinkedIn) cuando:

  • El usuario menciona "LinkedIn", "publicación de LinkedIn" o "infografía de negocios"
  • Se solicita una infografía en formato cuadrado
  • Se desea un tema profesional, oscuro, sin rostros
  • Por defecto: 1200x1200

Usa image-gen.py (Genérico) cuando:

  • Se especifican dimensiones personalizadas (Instagram, Twitter, Facebook, etc.)
  • La plataforma no es YouTube ni LinkedIn
  • El usuario solicita explícitamente una herramienta flexible/personalizada
  • El usuario proporciona un prompt completo con requisitos de estilo específicos
  • Parámetro requerido: --dimensions WIDTHxHEIGHT

Prioridad: Prefiere siempre thumbnail.py o linkedin-post.py cuando el caso de uso coincida. Usa image-gen.py como alternativa para otras plataformas o requisitos personalizados.

Instalación y Requisitos

El procesador de video se encuentra en video-processor/ en el repositorio del proyecto.

Requisitos:

  • Python 3.9+
  • Gestor de paquetes uv
  • FFmpeg (para transcripción)
  • Clave API de OpenAI (para transcripción con Whisper)
  • Clave API de Gemini (para capítulos y miniaturas)
  • Token de API de Replicate (opcional, para intercambio de rostros)

Configuración del Entorno:

cd video-processor
uv sync
# Asegúrate de que .env exista con las claves API requeridas

1. Transcripción de Video y Capítulos

Comando Básico de Transcripción

Transcribe clips de video y genera transcripción, subtítulos y capítulos:

cd video-processor
uv run transcribe.py <ruta_de_carpeta>

Ejemplo:

uv run transcribe.py ./mi-video-de-youtube/

Formato de Entrada

Los videos deben estar en una carpeta con prefijos numéricos para ordenarlos:

mi-video-de-youtube/
├── 1.mp4          # Introducción
├── 2.mp4          # Contenido principal
├── 3.mov          # Demo
└── 4.mp4          # Cierre

Formatos soportados: MP4, MOV, MKV, AVI, WEBM, M4V

Archivos de Salida

El script genera tres archivos en la misma carpeta:

  1. transcript.md - Markdown con marcas de tiempo

    # Transcripción
    
    [00:00] Bienvenidos de vuelta al canal...
    [00:15] Hoy vamos a hablar sobre...
    
  2. transcript.srt - Subtítulos SRT para editores de video/YouTube

    1
    00:00:00,000 --> 00:00:15,500
    Bienvenidos de vuelta al canal...
    
  3. chapters.txt - Sugerencias de capítulos para YouTube (generadas por IA)

    0:00 Introducción
    2:30 Configuración
    5:45 Tutorial Principal
    

Características

  • Soporte para múltiples clips: Procesa clips numerados con cálculo automático de desfase de tiempo
  • Soporte para videos largos: Divide automáticamente videos de más de 20 minutos (límite de la API)
  • Transcripción con marcas de tiempo: Formato Markdown con marcas de tiempo precisas
  • Capítulos IA: Gemini genera marcadores de capítulos contextuales

Regenerar Solo Capítulos

Si ya tienes una transcripción y quieres regenerar los capítulos:

cd video-processor
uv run chapters.py <transcript.md o ruta_de_carpeta>

Ejemplos:

# Apuntar directamente al archivo de transcripción
uv run chapters.py ./mi-video/transcript.md

# O apuntar a la carpeta que contiene transcript.md
uv run chapters.py ./mi-video/

Casos de uso:

  • Ajustar capítulos sin retranscribir
  • Regenerar después de editar la transcripción
  • Usar un modelo de Gemini diferente

Notas Importantes

  • Los clips deben estar en una carpeta plana (sin subdirectorios)
  • Los videos se procesan en orden numérico según el prefijo del nombre de archivo
  • Costo estimado: ~$0.006 por minuto de audio (API de Whisper)
  • Los videos largos se dividen automáticamente para manejar los límites de la API
  • Se requiere conexión a Internet

2. Generación de Miniaturas

Comando Básico de Miniatura

Genera miniaturas de YouTube potenciadas por IA:

cd video-processor
uv run thumbnail.py "tu idea de miniatura aquí"

Comportamiento predeterminado:

  • Genera 3 variaciones
  • Guarda en: ./output/Thumbnails/[YYYY-MM-DD]/
  • Usa assets/face.jpg si existe
  • Salida: archivos PNG de 1920x1080
  • Pautas de Marca: Consulta references/brand-guidelines.md para conocer la paleta de colores, composición y mejores prácticas de estilo

Parámetros de Miniatura

Requeridos

  • idea (posicional): Tu concepto/idea de miniatura

Opciones de Referencia de Rostro

  • --face RUTA: Especifica una imagen de referencia de rostro (por defecto: assets/face.jpg)
  • --no-face: No incluir ninguna referencia de rostro
  • --face-swap: Post-procesamiento con Replicate para intercambiar el rostro real (requiere REPLICATE_API_TOKEN)

Estilo y Referencias

  • --style RUTA: Imagen de referencia de estilo: la IA iguala la disposición y la estética
  • --ref RUTA: Imagen de referencia adicional (se puede usar varias veces)

Logo y Salida

  • --logo RUTA: Logo para superponer en la miniatura
  • --logo-position [bottom-right|bottom-left|top-right|top-left]: Ubicación del logo (por defecto: bottom-right)
  • -o, --output RUTA: Directorio o ruta de archivo de salida
  • --variations N: Número de variaciones a generar (por defecto: 3)

Ejemplos de Miniaturas

Básico - 3 variaciones con configuración predeterminada:

uv run thumbnail.py "reacción de shock ante despidos masivos en Google"

Con referencia de estilo:

uv run thumbnail.py "mi nueva idea de video" --style ./miniatura-existente.jpg --face ./yo.jpg

Con intercambio de rostro para parecido exacto:

uv run thumbnail.py "emocionado por la nueva función de IA" --face ./yo.jpg --face-swap

Variación única para prueba rápida:

uv run thumbnail.py "idea de prueba rápida" --variations 1

Directorio de salida personalizado:

uv run thumbnail.py "mi concepto de video" -o ./carpeta-personalizada/

Sin rostro (solo escena):

uv run thumbnail.py "código dramático en pantalla con error" --no-face

Con superposición de logo:

uv run thumbnail.py "mi concepto de video" --logo ./assets/logo.png

Configuración de Referencia de Rostro

Para miniaturas consistentes:

  1. Agrega tus fotos de rostro a la carpeta assets/:

    video-processor/assets/
    ├── face.jpg           # Rostro predeterminado (cargado automáticamente)
    ├── face-excited.jpg   # Expresiones alternativas
    ├── face-shocked.jpg
    └── logo.png           # Logo del canal
    
  2. El script usa automáticamente assets/face.jpg si existe

  3. Sobrescribe con --face para diferentes expresiones

  4. Usa --no-face para omitir la referencia de rostro por completo

Referencias de Estilo

La bandera --style iguala la estética de miniaturas existentes:

  • Disposición general y composición
  • Esquemas de color y ambiente
  • Estilo de texto (peso de fuente, colores, ubicación)
  • Estilo de fondo y efectos

Perfecto para mantener una marca de canal consistente.

Pautas de Marca y Mejores Prácticas

IMPORTANTE: Antes de generar miniaturas, lee references/brand-guidelines.md para:

  • Uso del color azul de la marca (como acento, no dominante)
  • Requisitos de tono de piel natural (sin tinte azul en el rostro)
  • Paletas de colores equilibradas (mezcla de colores vibrantes)
  • Patrones de resaltado de texto (1-2 palabras clave en azul)
  • Pautas de composición (diseño, flujo visual)
  • Ejemplos probados de miniaturas exitosas anteriores

Estas pautas aseguran que las miniaturas mantengan la consistencia de la marca mientras evitan errores comunes como la sobresaturación o la iluminación no natural.

Intercambio de Rostro para Parecido Exacto

Los rostros generados por IA pueden no ser exactos. Usa --face-swap para post-procesamiento:

uv run thumbnail.py "mi idea de video" --face ./yo.jpg --face-swap

Cómo funciona:

  1. Genera la miniatura con IA (usando el rostro como referencia para la posición)
  2. Post-procesa con Replicate para intercambiar tu rostro real

Configuración:

  • Obtén el token de API de Replicate en https://replicate.com/account/api-tokens
  • Agrega a .env: REPLICATE_API_TOKEN=r8_tu_token_aqui
  • Costo: ~$0.003 por intercambio de rostro (~370 intercambios por $1)

Especificaciones de Miniaturas

ElementoValor
Resolución1920x1080 (1080p)
Relación de Aspecto16:9
FormatoPNG (o JPG con --output .jpg)
Variaciones Predeterminadas3
ModeloGemini 3 Pro (Nano Banana Pro) por defecto

Notas Importantes sobre Miniaturas

  • El modelo Gemini admite imágenes de referencia; Imagen no
  • Costo: ~$0.13 por imagen con Gemini 3 Pro
  • El intercambio de rostro agrega ~$0.003 por miniatura
  • 3 miniaturas con intercambio de rostro: ~$0.40 en total
  • Se requiere conexión a Internet

3. Generación de Imágenes para Publicaciones de LinkedIn

Comando Básico de Imagen para LinkedIn

Genera imágenes e infografías para publicaciones de LinkedIn potenciadas por IA:

cd video-processor
uv run linkedin-post.py "tu concepto de publicación aquí"

Comportamiento predeterminado:

  • Genera 3 variaciones
  • Guarda en: ./output/LinkedIn/[YYYY-MM-DD]/
  • Salida: archivos PNG de 1200x1200 (formato cuadrado de LinkedIn)
  • Optimizado para diseños de infografía (sin rostros, fondo blanco, diseño plano)

Parámetros de Imagen para LinkedIn

Requeridos

  • idea (posicional): Tu concepto/idea de publicación de LinkedIn

Estilo y Referencias

  • --style RUTA: Imagen de referencia de estilo: la IA iguala la disposición y la estética
  • --ref RUTA: Imagen de referencia adicional (se puede usar varias veces)

Logo y Salida

  • --logo RUTA: Logo para superponer en la imagen
  • --logo-position [bottom-right|bottom-left|top-right|top-left]: Ubicación del logo (por defecto: bottom-right)
  • -o, --output RUTA: Directorio o ruta de archivo de salida
  • --variations N: Número de variaciones a generar (por defecto: 3)

Ejemplos de Imágenes para LinkedIn

Básico - 3 variaciones:

uv run linkedin-post.py "Pirámide de Validación de IA con 5 capas que muestran responsabilidades humanas vs agente"

Con referencia de estilo:

uv run linkedin-post.py "mi concepto de infografía" --style ./infografia-existente.jpg

Variación única para prueba:

uv run linkedin-post.py "prueba rápida" --variations 1

Directorio de salida personalizado:

uv run linkedin-post.py "mi concepto" -o ./carpeta-personalizada/

Con superposición de logo:

uv run linkedin-post.py "mi infografía" --logo ./assets/logo.png

Especificaciones de Imagen para LinkedIn

ElementoValor
Resolución1200x1200 (cuadrado de LinkedIn)
Relación de Aspecto1:1
FormatoPNG (o JPG con --output .jpg)
Variaciones Predeterminadas3
ModeloGemini 3 Pro (Nano Banana Pro) por defecto
EstiloInfografía profesional, sin rostros, diseño plano

Notas Importantes sobre Imágenes para LinkedIn

  • Optimizado para infografías de negocios profesionales
  • Tema oscuro con estética moderna y elegante
  • SIN rostros ni personas incluidas (estilo puro de diagrama/infografía)
  • Tema de color azul con degradados
  • Mayor densidad de información que las miniaturas de YouTube
  • Costo: ~$0.13 por imagen con Gemini 3 Pro
  • Se requiere conexión a Internet

4. Generación Genérica de Imágenes

Comando Básico de Imagen Genérica

Genera imágenes potenciadas por IA con dimensiones personalizadas para cualquier plataforma:

cd video-processor
uv run image-gen.py "tu concepto de imagen" --dimensions ANCHOxALTO

Características clave:

  • Dimensiones personalizadas (parámetro requerido)
  • Mínimo envoltorio de prompt (máxima flexibilidad)
  • Soporta referencias de estilo
  • Guarda en: ./output/Images/[YYYY-MM-DD]/
  • Por defecto: 3 variaciones

Parámetros de Imagen Genérica

Requeridos

  • idea (posicional): Tu concepto de imagen con detalles completos del prompt
  • --dimensions ANCHOxALTO: Dimensiones de la imagen (ej., 1080x1080, 1200x675)

Estilo y Referencias

  • --style RUTA: Imagen de referencia de estilo: la IA iguala la estética
  • --ref RUTA: Imagen de referencia adicional (se puede usar varias veces)

Logo y Salida

  • --logo RUTA: Logo para superponer en la imagen
  • --logo-position [bottom-right|bottom-left|top-right|top-left]: Ubicación del logo (por defecto: bottom-right)
  • -o, --output RUTA: Directorio o ruta de archivo de salida
  • --variations N: Número de variaciones a generar (por defecto: 3)

Ejemplos de Imágenes Genéricas

Publicación cuadrada de Instagram:

uv run image-gen.py "foto de producto minimalista sobre fondo blanco" --dimensions 1080x1080

Historia de Instagram:

uv run image-gen.py "diseño vertical de cita motivacional" --dimensions 1080x1920

Imagen de publicación de Twitter:

uv run image-gen.py "gráfico de anuncio tecnológico con tema azul" --dimensions 1200x675

Foto de portada de Facebook:

uv run image-gen.py "encabezado profesional de negocios" --dimensions 820x312

Con referencia de estilo:

uv run image-gen.py "mi concepto" --dimensions 1200x1200 --style ./referencia.jpg

Referencia de Dimensiones Comunes

PlataformaTamañoRelación de AspectoComando
Miniatura de YouTube1920x108016:9Usa thumbnail.py en su lugar
Cuadrado de LinkedIn1200x12001:1Usa linkedin-post.py en su lugar
Cuadrado de Instagram1080x10801:1--dimensions 1080x1080
Historia de Instagram1080x19209:16--dimensions 1080x1920
Publicación de Twitter1200x67516:9--dimensions 1200x675
Publicación de Facebook1200x6301.91:1--dimensions 1200x630
Pin de Pinterest1000x15002:3--dimensions 1000x1500

Especificaciones de Imagen Genérica

ElementoValor
DimensionesPersonalizadas (requerido)
FormatoPNG (o JPG con --output .jpg)
Variaciones Predeterminadas3
ModeloGemini 3 Pro (Nano Banana Pro) por defecto

Notas Importantes sobre Imágenes Genéricas

  • Proporciona siempre prompts descriptivos y completos
  • Se requiere el parámetro --dimensions en todos los casos
  • Sin restricciones de estilo temático (máxima flexibilidad creativa)
  • Costo: ~$0.13 por imagen con Gemini 3 Pro
  • Se requiere conexión a Internet

Variables de Entorno

Crea un archivo .env en el directorio video-processor/ con las siguientes claves:

OPENAI_API_KEY=sk-tu_clave_aqui
GEMINI_API_KEY=tu_clave_gemini_aqui
REPLICATE_API_TOKEN=r8_tu_token_aqui  # Opcional, solo para intercambio de rostro

Notas Generales

  • Costo: La transcripción cuesta ~$0.006/min, cada imagen ~$0.13 (Gemini Pro)
  • Límites: Los videos >20 min se dividen automáticamente
  • Formato: Los clips de video deben nombrarse con prefijos numéricos (ej., 1.mp4, 2.mov)
  • Calidad: Usa siempre la bandera --style para mantener la consistencia de la marca
  • Pruebas: Usa --variations 1 para pruebas rápidas antes de la generación completa

Skills relacionados