¡Excelente idea! Te voy a mostrar cómo crear un thumbnail atractivo para YouTube usando solo herramientas de línea de comandos. Voy a darte ejemplos con **ImageMagick** (convert/magick) que es perfecto para esto.
## Ejemplo 1: Thumbnail con múltiples imágenes y texto impactante
```bash
# Crear un collage de 2x2 con tus imágenes
magick montage imagen1.jpg imagen2.jpg imagen3.jpg imagen4.jpg \
-tile 2x2 -geometry +5+5 -background black collage.jpg
# Añadir texto grande y llamativo
magick collage.jpg \
-gravity north -pointsize 80 -font Arial-Bold \
-stroke black -strokewidth 4 -fill yellow \
-annotate +0+50 "¡INCREÍBLE!" \
-gravity south -pointsize 60 -font Arial-Bold \
-stroke white -strokewidth 3 -fill red \
-annotate +0+50 "NO VAS A CREER ESTO" \
thumbnail_final.jpg
# Redimensionar imagen principal a 1280x720 (tamaño YouTube)
magick imagen_principal.jpg -resize 1280x720^ -gravity center -extent 1280x720 base.jpg
# Añadir borde/viñeta dramático
magick base.jpg -vignette 0x20 base_vignette.jpg
# Añadir texto con sombra y efectos
magick base_vignette.jpg \
-gravity center -pointsize 100 -font Impact \
-stroke black -strokewidth 8 -fill white \
-annotate +0-150 "¿QUÉ PASÓ?" \
-pointsize 70 \
-stroke navy -strokewidth 5 -fill cyan \
-annotate +0+100 "😱 MIRA HASTA EL FINAL" \
thumbnail_youtube.jpg
# Crear fondo degradado
magick -size 1280x720 gradient:blue-purple fondo.jpg
# Añadir tu foto en una esquina (circular)
magick tu_foto.jpg -resize 300x300^ -gravity center -extent 300x300 \
\( +clone -threshold -1 -negate -fill white -draw "circle 150,150 150,0" \) \
-alpha off -compose copy_opacity -composite foto_circular.png
# Combinar todo
magick fondo.jpg \
foto_circular.png -geometry +950+50 -composite \
-gravity west -pointsize 90 -font Impact \
-stroke black -strokewidth 6 -fill yellow \
-annotate +50+0 "TOP 10\nMOMENTOS" \
thumbnail_completo.jpg
# Combinar dos imágenes lado a lado con flecha
magick \( antes.jpg -resize 600x720^ -extent 600x720 \) \
\( despues.jpg -resize 600x720^ -extent 600x720 \) \
+append temporal.jpg
# Añadir flecha y textos
magick temporal.jpg \
-gravity northwest -pointsize 60 -fill white -stroke black -strokewidth 3 \
-annotate +50+50 "ANTES" \
-gravity northeast -pointsize 60 -fill lime -stroke black -strokewidth 3 \
-annotate +50+50 "DESPUÉS" \
-gravity center -pointsize 120 -fill red \
-annotate +0+0 "➜" \
antes_despues.jpg
Fuentes populares para thumbnails:
Efectos de texto que funcionan:
# Texto con borde grueso
-stroke black -strokewidth 8 -fill white
# Texto con sombra
-shadow 80x3+5+5
# Texto con degradado (requiere más pasos)
magick -size 800x200 gradient:red-yellow -font Impact -pointsize 100 \
-gravity center -annotate +0+0 "TEXTO" texto_degradado.png
magick -list font | grep -i "font:"
¿Qué tipo de contenido es tu video? Te puedo dar un ejemplo más específico según tu temática (gaming, tutoriales, vlogs, etc.)
---
```bash
#!/bin/bash
# Generador de Thumbnails para YouTube
# Requiere ImageMagick instalado
set -e
# Colores para output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Función para mostrar el banner
show_banner() {
echo -e "${BLUE}"
echo "╔═══════════════════════════════════════════╗"
echo "║ GENERADOR DE THUMBNAILS PARA YOUTUBE ║"
echo "╚═══════════════════════════════════════════╝"
echo -e "${NC}"
}
# Verificar que ImageMagick esté instalado
check_imagemagick() {
if ! command -v magick &> /dev/null && ! command -v convert &> /dev/null; then
echo -e "${RED}Error: ImageMagick no está instalado.${NC}"
echo "Instálalo con: sudo pacman -S imagemagick"
exit 1
fi
# Usar 'magick' si está disponible, sino 'convert'
if command -v magick &> /dev/null; then
MAGICK="magick"
else
MAGICK="convert"
fi
}
# Detectar fuente disponible para usar
detect_font() {
# Lista de fuentes a probar en orden de preferencia
local fonts=("Impact" "Arial-Bold" "Liberation-Sans-Bold" "DejaVu-Sans-Bold" "Roboto-Bold" "FreeSans-Bold")
for font in "${fonts[@]}"; do
if $MAGICK -list font | grep -qi "$font"; then
FONT_BOLD="$font"
echo -e "${GREEN}✓ Usando fuente: $FONT_BOLD${NC}"
return 0
fi
done
# Si no encuentra ninguna, usar la fuente por defecto
echo -e "${YELLOW}⚠ No se encontró ninguna fuente preferida, usando fuente por defecto${NC}"
FONT_BOLD=""
}
# Función para mostrar menú de estilos
show_styles() {
echo -e "${YELLOW}Selecciona el estilo de thumbnail:${NC}"
echo "1) Collage 2x2 con texto grande"
echo "2) Imagen principal + texto central impactante"
echo "3) Antes y después (2 imágenes lado a lado)"
echo "4) Imagen de fondo + foto pequeña + texto"
echo "5) Miniaturas múltiples en fila + texto"
echo ""
echo -e "${RED}═══ ESTILOS CLICKBAIT ═══${NC}"
echo "6) 🔴 Círculo rojo + flecha señalando"
echo "7) 😱 Cara de shock + texto exagerado"
echo "8) ⚡ Comparación dramática con VS"
echo "9) 🎯 Múltiples flechas y círculos"
echo "10) 💥 Explosión de texto con efectos"
echo ""
read -p "Opción (1-10): " STYLE
}
# Función para crear collage 2x2
style_collage() {
if [ ${#IMAGES[@]} -lt 4 ]; then
echo -e "${RED}Error: Este estilo necesita al menos 4 imágenes${NC}"
exit 1
fi
echo -e "${GREEN}Creando collage 2x2...${NC}"
# Crear collage
$MAGICK montage "${IMAGES[0]}" "${IMAGES[1]}" "${IMAGES[2]}" "${IMAGES[3]}" \
-tile 2x2 -geometry 640x360+5+5 -background black temp_collage.jpg
# Redimensionar a tamaño YouTube
$MAGICK temp_collage.jpg -resize 1280x720! temp_base.jpg
# Añadir texto
$MAGICK temp_base.jpg \
-gravity north -pointsize 90 ${FONT_BOLD:+-font "$FONT_BOLD"} \
-stroke black -strokewidth 6 -fill "$TEXT_COLOR" \
-annotate +0+30 "$TEXT_TOP" \
-gravity south -pointsize 70 ${FONT_BOLD:+-font "$FONT_BOLD"} \
-stroke black -strokewidth 5 -fill yellow \
-annotate +0+30 "$TEXT_BOTTOM" \
"$OUTPUT"
rm temp_collage.jpg temp_base.jpg
}
# Función para imagen principal + texto
style_main_image() {
if [ ${#IMAGES[@]} -lt 1 ]; then
echo -e "${RED}Error: Este estilo necesita al menos 1 imagen${NC}"
exit 1
fi
echo -e "${GREEN}Creando thumbnail con imagen principal...${NC}"
# Preparar imagen base
$MAGICK "${IMAGES[0]}" -resize 1280x720^ -gravity center -extent 1280x720 temp_base.jpg
# Añadir viñeta
$MAGICK temp_base.jpg -vignette 0x20 temp_vignette.jpg
# Añadir textos
$MAGICK temp_vignette.jpg \
-gravity center -pointsize 110 ${FONT_BOLD:+-font "$FONT_BOLD"} \
-stroke black -strokewidth 8 -fill "$TEXT_COLOR" \
-annotate +0-150 "$TEXT_TOP" \
-pointsize 80 -fill yellow -stroke black -strokewidth 6 \
-annotate +0+100 "$TEXT_BOTTOM" \
"$OUTPUT"
rm temp_base.jpg temp_vignette.jpg
}
# Función para antes y después
style_before_after() {
if [ ${#IMAGES[@]} -lt 2 ]; then
echo -e "${RED}Error: Este estilo necesita al menos 2 imágenes${NC}"
exit 1
fi
echo -e "${GREEN}Creando thumbnail antes/después...${NC}"
# Preparar imágenes
$MAGICK "${IMAGES[0]}" -resize 600x720^ -gravity center -extent 600x720 temp_antes.jpg
$MAGICK "${IMAGES[1]}" -resize 600x720^ -gravity center -extent 600x720 temp_despues.jpg
# Combinar lado a lado
$MAGICK temp_antes.jpg temp_despues.jpg +append temp_combined.jpg
# Añadir textos y flecha
$MAGICK temp_combined.jpg \
-gravity northwest -pointsize 70 ${FONT_BOLD:+-font "$FONT_BOLD"} \
-stroke black -strokewidth 4 -fill white \
-annotate +30+30 "ANTES" \
-gravity northeast -pointsize 70 ${FONT_BOLD:+-font "$FONT_BOLD"} \
-stroke black -strokewidth 4 -fill lime \
-annotate +30+30 "DESPUÉS" \
-gravity center -pointsize 150 -fill red -stroke black -strokewidth 5 \
-annotate +0+0 "→" \
-gravity north -pointsize 90 -fill yellow -stroke black -strokewidth 6 \
-annotate +0+600 "$TEXT_TOP" \
"$OUTPUT"
rm temp_antes.jpg temp_despues.jpg temp_combined.jpg
}
# Función para fondo + foto pequeña
style_background_photo() {
if [ ${#IMAGES[@]} -lt 2 ]; then
echo -e "${RED}Error: Este estilo necesita al menos 2 imágenes (fondo + foto)${NC}"
exit 1
fi
echo -e "${GREEN}Creando thumbnail con fondo y foto...${NC}"
# Preparar fondo
$MAGICK "${IMAGES[0]}" -resize 1280x720^ -gravity center -extent 1280x720 temp_fondo.jpg
# Oscurecer fondo un poco
$MAGICK temp_fondo.jpg -brightness-contrast -20x10 temp_fondo_dark.jpg
# Preparar foto circular
$MAGICK "${IMAGES[1]}" -resize 350x350^ -gravity center -extent 350x350 temp_foto.jpg
$MAGICK temp_foto.jpg \
\( +clone -threshold -1 -negate -fill white -draw "circle 175,175 175,0" \) \
-alpha off -compose copy_opacity -composite \
-bordercolor white -border 8 \
temp_foto_circular.png
# Combinar todo
$MAGICK temp_fondo_dark.jpg \
temp_foto_circular.png -geometry +900+50 -composite \
-gravity west -pointsize 100 ${FONT_BOLD:+-font "$FONT_BOLD"} \
-stroke black -strokewidth 7 -fill "$TEXT_COLOR" \
-annotate +40+0 "$TEXT_TOP" \
-gravity southwest -pointsize 70 -fill yellow -stroke black -strokewidth 5 \
-annotate +40+40 "$TEXT_BOTTOM" \
"$OUTPUT"
rm temp_fondo.jpg temp_fondo_dark.jpg temp_foto.jpg temp_foto_circular.png
}
# Función para miniaturas en fila
style_thumbnails_row() {
if [ ${#IMAGES[@]} -lt 3 ]; then
echo -e "${RED}Error: Este estilo necesita al menos 3 imágenes${NC}"
exit 1
fi
echo -e "${GREEN}Creando thumbnail con miniaturas en fila...${NC}"
# Crear fondo degradado
$MAGICK -size 1280x720 gradient:blue-purple temp_fondo.jpg
# Preparar miniaturas (máximo 4)
NUM_IMAGES=$(( ${#IMAGES[@]} < 4 ? ${#IMAGES[@]} : 4 ))
THUMB_WIDTH=$((1200 / NUM_IMAGES))
for i in $(seq 0 $(($NUM_IMAGES - 1))); do
$MAGICK "${IMAGES[$i]}" -resize ${THUMB_WIDTH}x400^ -gravity center -extent ${THUMB_WIDTH}x400 \
-bordercolor white -border 5 temp_thumb_$i.jpg
done
# Combinar miniaturas horizontalmente
$MAGICK temp_thumb_*.jpg +append temp_row.jpg
# Combinar con fondo y añadir texto
$MAGICK temp_fondo.jpg \
temp_row.jpg -geometry +40+250 -composite \
-gravity north -pointsize 110 ${FONT_BOLD:+-font "$FONT_BOLD"} \
-stroke black -strokewidth 8 -fill "$TEXT_COLOR" \
-annotate +0+30 "$TEXT_TOP" \
-gravity south -pointsize 70 -fill yellow -stroke black -strokewidth 6 \
-annotate +0+30 "$TEXT_BOTTOM" \
"$OUTPUT"
rm temp_fondo.jpg temp_row.jpg temp_thumb_*.jpg
}
# ESTILOS CLICKBAIT
# Función para círculo rojo + flecha
style_red_circle_arrow() {
if [ ${#IMAGES[@]} -lt 1 ]; then
echo -e "${RED}Error: Este estilo necesita al menos 1 imagen${NC}"
exit 1
fi
echo -e "${GREEN}Creando thumbnail CLICKBAIT con círculo rojo...${NC}"
# Preparar imagen base
$MAGICK "${IMAGES[0]}" -resize 1280x720^ -gravity center -extent 1280x720 temp_base.jpg
# Posición del círculo
echo -e "${YELLOW}¿Dónde poner el círculo? (izquierda/derecha/centro) [derecha]:${NC}"
read -p "> " CIRCLE_POS
CIRCLE_POS=${CIRCLE_POS:-derecha}
case ${CIRCLE_POS,,} in
izquierda) CIRCLE_X=250; ARROW_START=450; ARROW_END=350 ;;
centro) CIRCLE_X=640; ARROW_START=440; ARROW_END=640 ;;
*) CIRCLE_X=1000; ARROW_START=800; ARROW_END=950 ;;
esac
# Añadir círculo rojo grueso + flecha + texto
$MAGICK temp_base.jpg \
-fill none -stroke red -strokewidth 12 \
-draw "circle $CIRCLE_X,360 $((CIRCLE_X+100)),360" \
-fill none -stroke yellow -strokewidth 15 \
-draw "line $ARROW_START,200 $ARROW_END,320" \
-draw "line $ARROW_END,320 $((ARROW_END-30)),280" \
-draw "line $ARROW_END,320 $((ARROW_END-30)),360" \
-gravity north -pointsize 100 ${FONT_BOLD:+-font "$FONT_BOLD"} \
-stroke black -strokewidth 8 -fill red \
-annotate +0+30 "$TEXT_TOP" \
-gravity south -pointsize 80 -fill yellow -stroke black -strokewidth 6 \
-annotate +0+30 "$TEXT_BOTTOM" \
-gravity northeast -pointsize 60 -fill white -stroke red -strokewidth 4 \
-annotate +20+20 "¡MIRA ESTO!" \
"$OUTPUT"
rm temp_base.jpg
}
# Función para cara de shock
style_shocked_face() {
if [ ${#IMAGES[@]} -lt 2 ]; then
echo -e "${RED}Error: Este estilo necesita 2 imágenes (fondo + tu cara)${NC}"
exit 1
fi
echo -e "${GREEN}Creando thumbnail con CARA DE SHOCK...${NC}"
# Preparar fondo
$MAGICK "${IMAGES[0]}" -resize 1280x720^ -gravity center -extent 1280x720 temp_fondo.jpg
# Oscurecer y saturar el fondo para más drama
$MAGICK temp_fondo.jpg -brightness-contrast -30x20 -modulate 100,150,100 temp_fondo_dramatic.jpg
# Preparar foto de cara (grande y circular)
$MAGICK "${IMAGES[1]}" -resize 450x450^ -gravity center -extent 450x450 temp_cara.jpg
$MAGICK temp_cara.jpg \
\( +clone -threshold -1 -negate -fill white -draw "circle 225,225 225,0" \) \
-alpha off -compose copy_opacity -composite \
-bordercolor yellow -border 10 \
temp_cara_circular.png
# Añadir cara + texto exagerado + elementos clickbait
$MAGICK temp_fondo_dramatic.jpg \
temp_cara_circular.png -geometry +50+120 -composite \
-gravity northeast -pointsize 120 ${FONT_BOLD:+-font "$FONT_BOLD"} \
-stroke black -strokewidth 10 -fill red \
-annotate +30+50 "$TEXT_TOP" \
-gravity east -pointsize 90 -fill yellow -stroke black -strokewidth 7 \
-annotate +30+200 "$TEXT_BOTTOM" \
-gravity southeast -pointsize 70 -fill white -stroke red -strokewidth 5 \
-annotate +30+30 "😱 NO LO VAS\nA CREER" \
-fill none -stroke red -strokewidth 15 \
-draw "circle 950,300 1050,300" \
"$OUTPUT"
rm temp_fondo.jpg temp_fondo_dramatic.jpg temp_cara.jpg temp_cara_circular.png
}
# Función para VS dramático
style_dramatic_vs() {
if [ ${#IMAGES[@]} -lt 2 ]; then
echo -e "${RED}Error: Este estilo necesita 2 imágenes${NC}"
exit 1
fi
echo -e "${GREEN}Creando thumbnail VS DRAMÁTICO...${NC}"
# Preparar imágenes con efectos diferentes
$MAGICK "${IMAGES[0]}" -resize 580x720^ -gravity center -extent 580x720 \
-modulate 100,80,100 temp_lado1.jpg
$MAGICK "${IMAGES[1]}" -resize 580x720^ -gravity center -extent 580x720 \
-modulate 100,120,100 temp_lado2.jpg
# Crear rayo divisor
$MAGICK -size 120x720 plasma:fractal temp_lightning.jpg
$MAGICK temp_lightning.jpg -colorspace gray -brightness-contrast 30x50 \
-fill yellow -tint 100 temp_lightning_yellow.jpg
# Combinar con el rayo en medio
$MAGICK temp_lado1.jpg temp_lightning_yellow.jpg temp_lado2.jpg +append temp_combined.jpg
# Añadir VS gigante y textos
$MAGICK temp_combined.jpg \
-gravity center -pointsize 200 ${FONT_BOLD:+-font "$FONT_BOLD"} \
-stroke black -strokewidth 15 -fill red \
-annotate +0+0 "VS" \
-gravity northwest -pointsize 80 -fill yellow -stroke black -strokewidth 6 \
-annotate +30+30 "ESTO" \
-gravity northeast -pointsize 80 -fill cyan -stroke black -strokewidth 6 \
-annotate +30+30 "vs ESTO" \
-gravity north -pointsize 90 -fill white -stroke red -strokewidth 7 \
-annotate +0+600 "$TEXT_TOP" \
-gravity south -pointsize 70 -fill lime -stroke black -strokewidth 5 \
-annotate +0+30 "¿CUÁL ES MEJOR?" \
"$OUTPUT"
rm temp_lado1.jpg temp_lado2.jpg temp_lightning.jpg temp_lightning_yellow.jpg temp_combined.jpg
}
# Función para múltiples flechas y círculos
style_multiple_arrows() {
if [ ${#IMAGES[@]} -lt 1 ]; then
echo -e "${RED}Error: Este estilo necesita al menos 1 imagen${NC}"
exit 1
fi
echo -e "${GREEN}Creando thumbnail con MÚLTIPLES INDICADORES...${NC}"
# Preparar imagen base
$MAGICK "${IMAGES[0]}" -resize 1280x720^ -gravity center -extent 1280x720 temp_base.jpg
# Aumentar saturación para más impacto
$MAGICK temp_base.jpg -modulate 100,140,100 temp_saturated.jpg
# Añadir múltiples círculos rojos, flechas y efectos
$MAGICK temp_saturated.jpg \
-fill none -stroke red -strokewidth 12 \
-draw "circle 300,250 380,250" \
-draw "circle 950,400 1030,400" \
-draw "circle 640,500 700,500" \
-stroke yellow -strokewidth 15 \
-draw "line 500,150 350,220" \
-draw "line 350,220 380,190" \
-draw "line 350,220 380,250" \
-draw "line 800,250 920,370" \
-draw "line 920,370 890,350" \
-draw "line 920,370 900,400" \
-gravity north -pointsize 110 ${FONT_BOLD:+-font "$FONT_BOLD"} \
-stroke black -strokewidth 10 -fill red \
-annotate +0+20 "$TEXT_TOP" \
-gravity south -pointsize 80 -fill yellow -stroke black -strokewidth 7 \
-annotate +0+30 "$TEXT_BOTTOM" \
-gravity northwest -pointsize 50 -fill white -stroke red -strokewidth 3 \
-annotate +20+20 "🔥 VIRAL" \
-gravity northeast -pointsize 50 -fill lime -stroke black -strokewidth 3 \
-annotate +20+20 "¡WOW!" \
"$OUTPUT"
rm temp_base.jpg temp_saturated.jpg
}
# Función para explosión de texto
style_text_explosion() {
if [ ${#IMAGES[@]} -lt 1 ]; then
echo -e "${RED}Error: Este estilo necesita al menos 1 imagen${NC}"
exit 1
fi
echo -e "${GREEN}Creando thumbnail con EXPLOSIÓN DE TEXTO...${NC}"
# Preparar imagen base oscurecida
$MAGICK "${IMAGES[0]}" -resize 1280x720^ -gravity center -extent 1280x720 temp_base.jpg
$MAGICK temp_base.jpg -brightness-contrast -35x15 temp_dark.jpg
# Crear efecto de explosión con formas
$MAGICK temp_dark.jpg \
-fill "rgba(255,255,0,0.3)" -stroke yellow -strokewidth 5 \
-draw "polygon 640,100 680,200 780,220 700,300 720,400 640,350 560,400 580,300 500,220 600,200" \
temp_explosion.jpg
# Añadir textos en múltiples ángulos para efecto dinámico
$MAGICK temp_explosion.jpg \
-gravity center -pointsize 130 ${FONT_BOLD:+-font "$FONT_BOLD"} \
-stroke black -strokewidth 12 -fill red \
-annotate +0-100 "$TEXT_TOP" \
-pointsize 90 -fill yellow -stroke black -strokewidth 8 \
-annotate +0+100 "$TEXT_BOTTOM" \
-gravity northwest -pointsize 60 -fill white -stroke red -strokewidth 4 \
-annotate +30+30 "😱" \
-gravity northeast -pointsize 60 -fill lime -stroke black -strokewidth 4 \
-annotate +30+30 "🔥" \
-gravity southwest -pointsize 70 -fill cyan -stroke black -strokewidth 5 \
-annotate +30+30 "¡ÉPICO!" \
-gravity southeast -pointsize 70 -fill magenta -stroke black -strokewidth 5 \
-annotate +30+30 "100% REAL" \
-gravity north -pointsize 50 -fill white -stroke red -strokewidth 3 \
-annotate +0+20 "⚠️ ADVERTENCIA ⚠️" \
"$OUTPUT"
rm temp_base.jpg temp_dark.jpg temp_explosion.jpg
}
# Función principal
main() {
show_banner
check_imagemagick
detect_font
# Solicitar imágenes
echo -e "${YELLOW}Ingresa las rutas de las imágenes (separadas por espacio):${NC}"
read -p "> " -a IMAGES
# Verificar que existan las imágenes
for img in "${IMAGES[@]}"; do
if [ ! -f "$img" ]; then
echo -e "${RED}Error: No se encuentra la imagen: $img${NC}"
exit 1
fi
done
echo -e "${GREEN}✓ ${#IMAGES[@]} imagen(es) cargada(s)${NC}"
echo ""
# Seleccionar estilo
show_styles
# Solicitar textos
echo ""
echo -e "${YELLOW}Texto superior (línea principal):${NC}"
read -p "> " TEXT_TOP
echo -e "${YELLOW}Texto inferior (opcional, presiona Enter para omitir):${NC}"
read -p "> " TEXT_BOTTOM
# Color del texto principal
echo -e "${YELLOW}Color del texto principal (rojo/azul/verde/blanco/amarillo) [blanco]:${NC}"
read -p "> " COLOR_INPUT
case ${COLOR_INPUT,,} in
rojo) TEXT_COLOR="red" ;;
azul) TEXT_COLOR="blue" ;;
verde) TEXT_COLOR="lime" ;;
amarillo) TEXT_COLOR="yellow" ;;
*) TEXT_COLOR="white" ;;
esac
# Nombre del archivo de salida
echo -e "${YELLOW}Nombre del archivo de salida [thumbnail.jpg]:${NC}"
read -p "> " OUTPUT
OUTPUT=${OUTPUT:-thumbnail.jpg}
echo ""
echo -e "${BLUE}Generando thumbnail...${NC}"
# Ejecutar el estilo seleccionado
case $STYLE in
1) style_collage ;;
2) style_main_image ;;
3) style_before_after ;;
4) style_background_photo ;;
5) style_thumbnails_row ;;
6) style_red_circle_arrow ;;
7) style_shocked_face ;;
8) style_dramatic_vs ;;
9) style_multiple_arrows ;;
10) style_text_explosion ;;
*) echo -e "${RED}Opción inválida${NC}"; exit 1 ;;
esac
echo ""
echo -e "${GREEN}✓ ¡Thumbnail generado exitosamente!${NC}"
echo -e "${BLUE}Archivo: $OUTPUT${NC}"
echo -e "${BLUE}Tamaño: 1280x720 (ideal para YouTube)${NC}"
}
# Ejecutar script
main