yt-shortmaker

Formato de Planos (Templates) JSON para YT ShortMaker

Los “Planos” (Plantillas) son archivos JSON que definen la estructura visual de tus Shorts. Te permiten posicionar el video original, añadir superposiciones, efectos y fondos animados.

Estructura Básica

Un plano es una lista (array) de objetos. El orden es importante: los primeros objetos se dibujan al fondo y los últimos al frente (capas).

[
  { "type": "shader", ... }, // Fondo (Capa 0)
  { "type": "clip", ... },   // En medio (Capa 1)
  { "type": "image", ... }   // Frente (Capa 2)
]

Propiedades Comunes: Posición y Tamaño

Casi todos los objetos tienen una propiedad position con x, y, width y height.

Los valores pueden ser:

"position": {
  "x": "center",
  "y": 0,
  "width": "100%",
  "height": "50%"
}

Tipos de Objetos

1. Clip (clip)

Representa el video original que estás procesando. Puedes usarlo varias veces.

2. Imagen (image)

Superpone una imagen estática (png, jpg). Ideal para marcos, logos o marcas de agua.

3. Video (video)

Video de fondo o superpuesto (ej: gameplay de fondo, efectos de partículas).

4. Shader (shader)

Aplica un efecto visual a lo que hay detrás (o genera un fondo). Actualmente soporta desenfoque (blur).

Ejemplo Completo

[
  // 1. Fondo borroso (Video original estirado y desenfocado)
  {
    "type": "clip",
    "position": { "x": 0, "y": 0, "width": "full", "height": "full" },
    "comment": "Fondo borroso base"
  },
  {
    "type": "shader",
    "effect": { "type": "blur", "intensity": 30 },
    "position": { "x": 0, "y": 0, "width": "full", "height": "full" }
  },

  // 2. Video principal centrado
  {
    "type": "clip",
    "position": { "x": "center", "y": "center", "width": "100%", "height": "auto" }
  },

  // 3. Marca de agua
  {
    "type": "image",
    "path": "./logo.png",
    "position": { "x": "center", "y": 1700, "width": 200, "height": "auto" },
    "opacity": 0.8
  }
]

Ejemplos y Casos de Uso Comunes

A continuación se presentan varios ejemplos prácticos. Copia y pega el código JSON en tu archivo .json de plano.

1. Fondo Borroso Simple (Default)

El video original se usa de fondo (estirado y borroso) y también como elemento principal en el centro.

Ejemplo Fondo Borroso

[
  {
    "type": "clip",
    "position": {
      "width": "full",
      "height": "full"
    },
    "fit": "stretch",
    "comment": "Fondo estirado"
  },
  {
    "type": "shader",
    "effect": {
      "type": "blur",
      "intensity": 20
    },
    "position": {
      "width": "full",
      "height": "full"
    }
  },
  {
    "type": "clip",
    "position": {
      "x": "center",
      "y": "center",
      "width": "100%",
      "height": "40%"
    },
    "comment": "Video principal"
  }
]

2. Fondo de Gameplay (Video Externo)

Un video de “gameplay” (ej: Minecraft, GTA) se reproduce en bucle como fondo, y el video original aparece centrado.

Ejemplo Gameplay

[
  {
    "type": "video",
    "path": "./media/gameplay_background.mp4",
    "position": { "width": "full", "height": "full" },
    "loop_video": true,
    "fit": "cover",
    "opacity": 1.0,
    "comment": "Video de fondo en bucle"
  },
  {
    "type": "clip",
    "position": { "x": "center", "y": "center", "width": "100%", "height": "40%" },
    "comment": "Clip principal encima del gameplay"
  }
]

3. Pantalla Dividida (Split Screen)

Dos videos apilados verticalmente. Útil para comparaciones o videoreacciones. (Aquí usamos el mismo clip dos veces, pero podrías usar video para el segundo).

Ejemplo Split Screen

[
  {
    "type": "clip",
    "position": {
      "x": 0,
      "y": 0,
      "height": "50%"
    },
    "crop": {
      "x_from": 420,
      "x_to": 1500
    },
    "comment": "Parte superior"
  },
  {
    "type": "clip",
    "position": {
      "x": 0,
      "y": "50%",
      "width": "100%",
      "height": "50%"
    },
    "crop": {
      "x_from": 1300,
      "x_to": 1920,
      "y_from": 500,
      "y_to": 1080
    },
    "comment": "Parte inferior"
  }
]

4. Marco / Overlay

Video con una imagen PNG transparente superpuesta (marco, estadísticas, branding).

Ejemplo Overlay

[
  {
    "type": "clip",
    "position": { "width": "full", "height": "full" },
    "fit": "cover"
  },
  {
    "type": "image",
    "path": "./media/marco_overlay.png",
    "position": { "x": 0, "y": 0, "width": "full", "height": "full" },
    "opacity": 1.0,
    "comment": "Imagen PNG con transparencia"
  }
]