{
  "APG": {
    "display_name": "Guía Adaptativa Proyectada",
    "inputs": {
      "eta": {
        "name": "eta",
        "tooltip": "Controla la escala del vector de guía paralelo. Comportamiento CFG predeterminado con un valor de 1."
      },
      "model": {
        "name": "modelo"
      },
      "momentum": {
        "name": "momento",
        "tooltip": "Controla un promedio móvil de la guía durante la difusión, se desactiva con un valor de 0."
      },
      "norm_threshold": {
        "name": "umbral_norm",
        "tooltip": "Normaliza el vector de guía a este valor, la normalización se desactiva con un valor de 0."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ARVideoI2V": {
    "display_name": "ARVideoI2V",
    "inputs": {
      "batch_size": {
        "name": "tamaño_de_lote"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "model": {
        "name": "modelo"
      },
      "start_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "AddNoise": {
    "display_name": "AñadirRuido",
    "inputs": {
      "latent_image": {
        "name": "imagen_latente"
      },
      "model": {
        "name": "modelo"
      },
      "noise": {
        "name": "ruido"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AddTextPrefix": {
    "display_name": "Agregar prefijo de texto",
    "inputs": {
      "prefix": {
        "name": "prefijo",
        "tooltip": "Prefijo para agregar."
      },
      "texts": {
        "name": "textos",
        "tooltip": "Texto a procesar."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos procesados"
      }
    }
  },
  "AddTextSuffix": {
    "display_name": "Agregar sufijo de texto",
    "inputs": {
      "suffix": {
        "name": "sufijo",
        "tooltip": "Sufijo para agregar."
      },
      "texts": {
        "name": "textos",
        "tooltip": "Texto a procesar."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos procesados"
      }
    }
  },
  "AdjustBrightness": {
    "description": "Ajusta el brillo de una imagen.",
    "display_name": "Ajustar brillo",
    "inputs": {
      "factor": {
        "name": "factor",
        "tooltip": "Factor de brillo. 1.0 = sin cambio, <1.0 = más oscuro, >1.0 = más brillante."
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Imagen a procesar."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": "Imágenes procesadas"
      }
    }
  },
  "AdjustContrast": {
    "description": "Ajusta el contraste de una imagen.",
    "display_name": "Ajustar contraste",
    "inputs": {
      "factor": {
        "name": "factor",
        "tooltip": "Factor de contraste. 1.0 = sin cambio, <1.0 = menos contraste, >1.0 = más contraste."
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Imagen a procesar."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": "Imágenes procesadas"
      }
    }
  },
  "AlignYourStepsScheduler": {
    "display_name": "ProgramadorAlineaTusPasos",
    "inputs": {
      "denoise": {
        "name": "desruido"
      },
      "model_type": {
        "name": "tipo_modelo"
      },
      "steps": {
        "name": "pasos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AnimaLLLiteApply": {
    "display_name": "Aplicar Anima LLLite",
    "inputs": {
      "end_percent": {
        "name": "porcentaje final"
      },
      "image": {
        "name": "imagen"
      },
      "mask": {
        "name": "máscara"
      },
      "model": {
        "name": "modelo"
      },
      "model_patch": {
        "name": "parche de modelo"
      },
      "start_percent": {
        "name": "porcentaje de inicio"
      },
      "strength": {
        "name": "intensidad"
      }
    }
  },
  "AudioAdjustVolume": {
    "description": "Ajusta el volumen del audio en una cantidad especificada en decibelios (dB).",
    "display_name": "Ajustar Volumen de Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "volume": {
        "name": "volumen",
        "tooltip": "Ajuste de volumen en decibelios (dB). 0 = sin cambios, +6 = doble, -6 = mitad, etc."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioConcat": {
    "description": "Concatena el audio1 al audio2 en la dirección especificada.",
    "display_name": "Concatenar Audio",
    "inputs": {
      "audio1": {
        "name": "audio1"
      },
      "audio2": {
        "name": "audio2"
      },
      "direction": {
        "name": "dirección",
        "tooltip": "Si agregar audio2 después o antes de audio1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEncoderEncode": {
    "display_name": "CodificadorAudioCodificar",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audio_encoder": {
        "name": "codificador_audio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEncoderLoader": {
    "display_name": "CargadorCodificadorAudio",
    "inputs": {
      "audio_encoder_name": {
        "name": "nombre_codificador_audio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEqualizer3Band": {
    "display_name": "Ecualizador de Audio (3 Bandas)",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "high_freq": {
        "name": "high_freq",
        "tooltip": "Frecuencia de corte para el estante alto"
      },
      "high_gain_dB": {
        "name": "high_gain_dB",
        "tooltip": "Ganancia para frecuencias altas (Agudos)"
      },
      "low_freq": {
        "name": "low_freq",
        "tooltip": "Frecuencia de corte para el estante bajo"
      },
      "low_gain_dB": {
        "name": "low_gain_dB",
        "tooltip": "Ganancia para frecuencias bajas (Bajo)"
      },
      "mid_freq": {
        "name": "mid_freq",
        "tooltip": "Frecuencia central para medios"
      },
      "mid_gain_dB": {
        "name": "mid_gain_dB",
        "tooltip": "Ganancia para frecuencias medias"
      },
      "mid_q": {
        "name": "mid_q",
        "tooltip": "Factor Q (ancho de banda) para medios"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioMerge": {
    "description": "Combina dos pistas de audio superponiendo sus formas de onda.",
    "display_name": "Combinar Audio",
    "inputs": {
      "audio1": {
        "name": "audio1"
      },
      "audio2": {
        "name": "audio2"
      },
      "merge_method": {
        "name": "método_combinación",
        "tooltip": "El método utilizado para combinar las formas de onda de audio."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BasicGuider": {
    "display_name": "GuíaBásica",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      },
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BasicScheduler": {
    "display_name": "ProgramadorBásico",
    "inputs": {
      "denoise": {
        "name": "desruido"
      },
      "model": {
        "name": "modelo"
      },
      "scheduler": {
        "name": "programador"
      },
      "steps": {
        "name": "pasos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchImagesNode": {
    "display_name": "Procesar imágenes por lotes",
    "inputs": {
      "images": {
        "name": "imágenes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchLatentsNode": {
    "display_name": "Procesar latents por lotes",
    "inputs": {
      "latents": {
        "name": "latents"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchMasksNode": {
    "display_name": "Procesar máscaras por lotes",
    "inputs": {
      "masks": {
        "name": "máscaras"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BeebleSwitchXImageEdit": {
    "description": "Edita una sola imagen con Beeble SwitchX. Cambia cualquier elemento de la escena (fondo, iluminación, vestuario) mientras conserva los píxeles originales del sujeto. Proporciona una imagen de referencia y/o un prompt de texto para describir el nuevo aspecto. Máx. ~2,77MP.",
    "display_name": "Beeble SwitchX Edición de Imagen",
    "inputs": {
      "alpha_mode": {
        "name": "modo_alpha",
        "tooltip": "Controla cómo SwitchX decide qué conservar y qué regenerar. 'auto' aísla automáticamente el sujeto principal. 'fill' regenera todo el fotograma conservando la geometría. 'select' propaga un keyframe del primer fotograma a lo largo del clip. 'custom' utiliza un alfa matte por fotograma que proporciones."
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "image": {
        "name": "imagen"
      },
      "max_resolution": {
        "name": "resolución_máxima",
        "tooltip": "Resolución máxima de salida."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción en texto del resultado deseado (máx. 2000 caracteres). Se requiere al menos uno de 'prompt' o 'reference_image'."
      },
      "reference_image": {
        "name": "imagen_de_referencia",
        "tooltip": "Imagen de referencia cuyo aspecto (fondo, iluminación, vestuario) debe adoptar el resultado. Se requiere al menos uno de 'reference_image' o 'prompt'."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "name": "imagen",
        "tooltip": null
      },
      "1": {
        "name": "alfa",
        "tooltip": "El alfa matte utilizado por Beeble. Vacío en modo 'fill', que no tiene matte separado."
      }
    }
  },
  "BeebleSwitchXVideoEdit": {
    "description": "Edita un video con Beeble SwitchX. Cambia cualquier elemento de la escena (fondo, iluminación, vestuario) mientras conserva los píxeles y el movimiento originales del sujeto. Proporciona una imagen de referencia y/o un prompt de texto para describir el nuevo aspecto. Máx. 240 fotogramas, máx. ~2,77MP por fotograma.",
    "display_name": "Beeble SwitchX Edición de Video",
    "inputs": {
      "alpha_mode": {
        "name": "modo_alpha",
        "tooltip": "Controla cómo SwitchX decide qué conservar y qué regenerar. 'auto' aísla automáticamente el sujeto principal. 'fill' regenera todo el fotograma conservando la geometría. 'select' propaga un keyframe del primer fotograma a lo largo del clip. 'custom' utiliza un alfa matte por fotograma que proporciones."
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "max_resolution": {
        "name": "resolución_máxima",
        "tooltip": "Resolución máxima de salida."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción en texto del resultado deseado (máx. 2000 caracteres). Se requiere al menos uno de 'prompt' o 'reference_image'."
      },
      "reference_image": {
        "name": "imagen_de_referencia",
        "tooltip": "Imagen de referencia cuyo aspecto (fondo, iluminación, vestuario) debe adoptar el resultado. Se requiere al menos uno de 'reference_image' o 'prompt'."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": null
      },
      "1": {
        "name": "alfa",
        "tooltip": "El alfa matte utilizado por Beeble. Vacío en modo 'fill', que no tiene matte separado."
      }
    }
  },
  "BerniniConditioning": {
    "description": "Nodo de conditioning para Bernini en el contexto de conditioning de video/imagen. Puede usarse para las siguientes tareas: t2v (texto a video), v2v (video a video), rv2v (edición de video guiada por referencia), r2v (referencia a video), ads2v (insertar imagen/video en video). Las imágenes de referencia inyectadas como tokens en contexto (r2v, rv2v) se codifican de forma independiente en su propia relación de aspecto nativa (el lado largo limitado por ref_max_size).",
    "display_name": "Bernini Conditioning",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_max_size": {
        "name": "ref_max_size",
        "tooltip": "Tamaño máximo para el lado largo de reference_video y reference_images. Redimensionado manteniendo la relación de aspecto y ajustado a múltiplos de 16px."
      },
      "reference_images": {
        "name": "imágenes_referencia"
      },
      "reference_video": {
        "name": "video_referencia",
        "tooltip": "Video para insertar en el video fuente (ads2v)."
      },
      "source_video": {
        "name": "video_fuente",
        "tooltip": "Video fuente para editar o cambiar de estilo (v2v, rv2v). Redimensionado a ancho/alto y recortado a la longitud."
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "BetaSamplingScheduler": {
    "display_name": "ProgramadorMuestreoBeta",
    "inputs": {
      "alpha": {
        "name": "alfa"
      },
      "beta": {
        "name": "beta"
      },
      "model": {
        "name": "modelo"
      },
      "steps": {
        "name": "pasos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaImageEditNode": {
    "description": "Edita imágenes usando el modelo más reciente de Bria",
    "display_name": "Edición de Imagen Bria",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "guidance_scale": {
        "name": "escala_de_guía",
        "tooltip": "Un valor más alto hace que la imagen siga la instrucción más de cerca."
      },
      "image": {
        "name": "imagen"
      },
      "mask": {
        "name": "máscara",
        "tooltip": "Si se omite, la edición se aplica a toda la imagen."
      },
      "model": {
        "name": "modelo"
      },
      "moderation": {
        "name": "moderación",
        "tooltip": "Configuración de moderación"
      },
      "negative_prompt": {
        "name": "instrucción_negativa"
      },
      "prompt": {
        "name": "instrucción",
        "tooltip": "Instrucción para editar la imagen"
      },
      "seed": {
        "name": "semilla"
      },
      "steps": {
        "name": "pasos"
      },
      "structured_prompt": {
        "name": "instrucción_estructurada",
        "tooltip": "Una cadena que contiene la instrucción de edición estructurada en formato JSON. Usa esto en lugar de la instrucción habitual para un control preciso y programático."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "instrucción_estructurada",
        "tooltip": null
      }
    }
  },
  "BriaRemoveImageBackground": {
    "description": "Quita el fondo de una imagen usando Bria RMBG 2.0.",
    "display_name": "Bria Quitar Fondo de Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "image": {
        "name": "imagen"
      },
      "moderation": {
        "name": "moderación",
        "tooltip": "Configuración de moderación"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaRemoveVideoBackground": {
    "description": "Quita el fondo de un video usando Bria.",
    "display_name": "Bria Quitar Fondo de Video",
    "inputs": {
      "background_color": {
        "name": "color de fondo",
        "tooltip": "Color de fondo para el video de salida."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaTransparentVideoBackground": {
    "description": "Elimina el fondo de un video usando Bria y devuelve los fotogramas recortados más una máscara alfa. Conéctalos ambos a un nodo de composición, o envíalos a Guardar WEBM para crear un video transparente.",
    "display_name": "Bria Eliminar Fondo de Video (Transparente)",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": null
      },
      "1": {
        "name": "mask",
        "tooltip": null
      }
    }
  },
  "BriaVideoGreenScreen": {
    "description": "Reemplaza el fondo de un video con una pantalla sólida de croma usando Bria.",
    "display_name": "Bria Video Green Screen",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "green_shade": {
        "name": "green_shade",
        "tooltip": "Tono sólido de croma aplicado detrás del primer plano: broadcast_green (#00B140), chroma_green (#00FF00) o blue_screen (#0000FF)."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaVideoReplaceBackground": {
    "description": "Reemplaza el fondo de un video con una imagen o video proporcionado usando Bria. La salida mantiene la resolución y la tasa de fotogramas del primer plano; un fondo con una relación de aspecto diferente se estira para ajustarse, así que iguala la relación para obtener resultados sin distorsión.",
    "display_name": "Bria Video Reemplazar Fondo",
    "inputs": {
      "background_image": {
        "name": "imagen_de_fondo",
        "tooltip": "Imagen de fondo para componer detrás del primer plano. Proporcione una imagen de fondo o un video de fondo, no ambos."
      },
      "background_video": {
        "name": "video_de_fondo",
        "tooltip": "Video de fondo para componer detrás del primer plano. Proporcione una imagen de fondo o un video de fondo, no ambos."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados no son deterministas independientemente de la semilla."
      },
      "video": {
        "name": "video",
        "tooltip": "Video de primer plano cuyo fondo será reemplazado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BuildJsonPromptIdeogram": {
    "description": "Construye un prompt JSON para el modelo Ideogram 4.",
    "display_name": "Construir prompt JSON (Ideogram)",
    "inputs": {
      "aesthetics": {
        "name": "estética",
        "tooltip": "Palabras clave estéticas obligatorias (ej. melancólico, cinematográfico, desaturado)."
      },
      "background": {
        "name": "fondo",
        "tooltip": "Descripción obligatoria del fondo o entorno de la imagen."
      },
      "color_palette": {
        "name": "paleta_de_colores",
        "tooltip": "Códigos de color hexadecimales que guían los colores dominantes de la imagen. Hasta 16 entradas."
      },
      "element": {
        "name": "elemento",
        "tooltip": "Elementos del prompt desde el nodo Crear Cajas Delimitadoras."
      },
      "high_level_description": {
        "name": "descripción_general",
        "tooltip": "Descripción opcional de la imagen en una o dos frases. Altamente recomendado."
      },
      "lighting": {
        "name": "iluminación",
        "tooltip": "Descripción obligatoria de la iluminación (ej. hora dorada, luz de contorno, sombras dramáticas)."
      },
      "medium": {
        "name": "medio",
        "tooltip": "Tipo de medio obligatorio (ej. fotografía, ilustración, 3d_render, pintura, diseño_gráfico). Cuando estilo = foto, establecer en fotografía."
      },
      "style": {
        "name": "estilo"
      }
    },
    "outputs": {
      "0": {
        "name": "prompt",
        "tooltip": null
      }
    }
  },
  "ByteDance2FirstLastFrameNode": {
    "description": "Genera un video usando Seedance 2.0 a partir de una imagen del primer fotograma y, opcionalmente, una imagen del último fotograma.",
    "display_name": "ByteDance Seedance 2.0 Primer-Último Fotograma a Video",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "first_frame": {
        "name": "primer_fotograma",
        "tooltip": "Imagen del primer fotograma para el video."
      },
      "first_frame_asset_id": {
        "name": "first_frame_asset_id",
        "tooltip": "ID de asset de Seedance para usar como primer fotograma. Es excluyente con la entrada de imagen first_frame."
      },
      "last_frame": {
        "name": "último_fotograma",
        "tooltip": "Imagen del último fotograma para el video."
      },
      "last_frame_asset_id": {
        "name": "last_frame_asset_id",
        "tooltip": "ID de asset de Seedance para usar como último fotograma. Es excluyente con la entrada de imagen last_frame."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Seedance 2.0 para máxima calidad; Seedance 2.0 Fast para optimización de velocidad."
      },
      "model_duration": {
        "name": "duración"
      },
      "model_generate_audio": {
        "name": "generar_audio"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "relación"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Indica si se debe añadir una marca de agua al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDance2ReferenceNode": {
    "description": "Genera, edita o extiende video usando Seedance 2.0 con imágenes, videos y audio de referencia. Soporta referencia multimodal, edición de video y extensión de video.",
    "display_name": "ByteDance Seedance 2.0 Referencia a Video",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Seedance 2.0 para máxima calidad; Seedance 2.0 Fast para optimización de velocidad."
      },
      "model_auto_downscale": {
        "name": "auto_downscale"
      },
      "model_auto_upscale": {
        "name": "auto_upscale"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_generate_audio": {
        "name": "generar_audio"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "relación"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Indica si se debe añadir una marca de agua al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDance2TextToVideoNode": {
    "description": "Genera video usando modelos Seedance 2.0 a partir de un prompt de texto.",
    "display_name": "ByteDance Seedance 2.0 Texto a Video",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Seedance 2.0 para máxima calidad; Seedance 2.0 Fast para optimización de velocidad."
      },
      "model_duration": {
        "name": "duración"
      },
      "model_generate_audio": {
        "name": "generar_audio"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "relación"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Indica si se debe añadir una marca de agua al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceCreateImageAsset": {
    "description": "Crea un asset de imagen personal de Seedance 2.0. Sube la imagen de entrada y la registra en el grupo de assets indicado. Si group_id está vacío, ejecuta un flujo de autenticación H5 de persona real para crear un nuevo grupo antes de añadir el asset.",
    "display_name": "ByteDance Crear Asset de Imagen",
    "inputs": {
      "group_id": {
        "name": "group_id",
        "tooltip": "Reutiliza un ID de grupo de assets de Seedance existente para omitir la verificación humana repetida para la misma persona. Déjalo vacío para ejecutar la autenticación de persona real en el navegador y crear un nuevo grupo."
      },
      "image": {
        "name": "image",
        "tooltip": "Imagen para registrar como asset personal."
      }
    },
    "outputs": {
      "0": {
        "name": "asset_id",
        "tooltip": null
      },
      "1": {
        "name": "group_id",
        "tooltip": null
      }
    }
  },
  "ByteDanceCreateVideoAsset": {
    "description": "Crea un asset de video personal de Seedance 2.0. Sube el video de entrada y lo registra en el grupo de assets indicado. Si group_id está vacío, ejecuta un flujo de autenticación H5 de persona real para crear un nuevo grupo antes de añadir el asset.",
    "display_name": "ByteDance Crear Asset de Video",
    "inputs": {
      "group_id": {
        "name": "group_id",
        "tooltip": "Reutiliza un ID de grupo de assets de Seedance existente para omitir la verificación humana repetida para la misma persona. Déjalo vacío para ejecutar la autenticación de persona real en el navegador y crear un nuevo grupo."
      },
      "video": {
        "name": "video",
        "tooltip": "Video para registrar como asset personal."
      }
    },
    "outputs": {
      "0": {
        "name": "asset_id",
        "tooltip": null
      },
      "1": {
        "name": "group_id",
        "tooltip": null
      }
    }
  },
  "ByteDanceFirstLastFrameNode": {
    "description": "Generar video usando prompt y primer y último fotograma.",
    "display_name": "ByteDance Primer-Último-Fotograma a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_de_aspecto",
        "tooltip": "La relación de aspecto del video de salida."
      },
      "camera_fixed": {
        "name": "cámara_fija",
        "tooltip": "Especifica si se debe fijar la cámara. La aplicación añade una instrucción para fijar la cámara a tu prompt, pero no garantiza el efecto real."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "La duración del video de salida en segundos."
      },
      "first_frame": {
        "name": "primer_fotograma",
        "tooltip": "Primer fotograma que se utilizará para el video."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Este parámetro se ignora para cualquier modelo excepto seedance-1-5-pro."
      },
      "last_frame": {
        "name": "último_fotograma",
        "tooltip": "Último fotograma que se utilizará para el video."
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "El texto prompt utilizado para generar el video."
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "La resolución del video de salida."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla a utilizar para la generación."
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Si se debe añadir una marca de agua \"Generado por IA\" al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageNode": {
    "description": "Generar imágenes usando modelos ByteDance a través de API basado en prompt",
    "display_name": "Imagen ByteDance",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "guidance_scale": {
        "name": "escala_de_guía",
        "tooltip": "Un valor más alto hace que la imagen siga más de cerca el prompt"
      },
      "height": {
        "name": "alto",
        "tooltip": "Alto personalizado para la imagen. El valor solo funciona si `tamaño_predefinido` está establecido en `Personalizado`"
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "El prompt de texto utilizado para generar la imagen"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla a usar para la generación"
      },
      "size_preset": {
        "name": "tamaño_predefinido",
        "tooltip": "Selecciona un tamaño recomendado. Elige Personalizado para usar el ancho y alto a continuación"
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Si añadir una marca de agua \"Generado por IA\" a la imagen"
      },
      "width": {
        "name": "ancho",
        "tooltip": "Ancho personalizado para la imagen. El valor solo funciona si `tamaño_predefinido` está establecido en `Personalizado`"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageReferenceNode": {
    "description": "Generar video usando prompt e imágenes de referencia.",
    "display_name": "ByteDance Referencia de Imágenes a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_de_aspecto",
        "tooltip": "La relación de aspecto del video de salida."
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "La duración del video de salida en segundos."
      },
      "images": {
        "name": "imágenes",
        "tooltip": "De una a cuatro imágenes."
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "El prompt de texto usado para generar el video."
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "La resolución del video de salida."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla a usar para la generación."
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Si añadir una marca de agua \"Generado por IA\" al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageToVideoNode": {
    "description": "Generar video usando modelos ByteDance via api basado en imagen y prompt",
    "display_name": "ByteDance Imagen a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_de_aspecto",
        "tooltip": "La relación de aspecto del video de salida."
      },
      "camera_fixed": {
        "name": "cámara_fija",
        "tooltip": "Especifica si fijar la cámara. La plataforma añade una instrucción para fijar la cámara a tu prompt, pero no garantiza el efecto real."
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "La duración del video de salida en segundos."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Este parámetro se ignora para cualquier modelo excepto seedance-1-5-pro."
      },
      "image": {
        "name": "imagen",
        "tooltip": "Primer fotograma a usar para el video."
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "El prompt de texto usado para generar el video."
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "La resolución del video de salida."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla a utilizar para la generación."
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Si añadir una marca de agua \"Generado por IA\" al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedAudio": {
    "description": "Genera voz, música, efectos de sonido y diálogos multivoces a partir de un solo prompt con ByteDance Seed Audio 1.0. Describe la(s) voz/vozes, emoción, ambiente, música de fondo y efectos de sonido en el prompt, e incluye las líneas a pronunciar. Opcionalmente, elige una voz predefinida, clona voces de hasta 3 clips de referencia (etiquetados como @Audio1-3 en el prompt), o deriva una voz de la imagen de un personaje. Hasta 2 minutos de audio por ejecución.",
    "display_name": "ByteDance Seed Audio 1.0",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "loudness_rate": {
        "name": "loudness_rate",
        "tooltip": "Volumen. 0 = normal, 100 = 2.0x, -50 = 0.5x."
      },
      "model": {
        "name": "model",
        "tooltip": "seed-audio-1.0-multilingual: 20 idiomas (inglés, chino, japonés, coreano, español mexicano y castellano, indonesio, alemán, portugués brasileño, francés, tailandés, vietnamita, malayo, filipino, italiano, ruso, neerlandés, polaco, turco, sueco) además de control de tiempo por frase mediante marcas de tiempo como \"[5.5s:8.0s] ...\". seed-audio-1.0: solo inglés y chino, sin control de tiempo."
      },
      "pitch_rate": {
        "name": "pitch_rate",
        "tooltip": "Desplazamiento de tono en semitonos (-12 a 12)."
      },
      "reference_mode": {
        "name": "reference_mode",
        "tooltip": "Cómo condicionar la voz: 'solo texto' (describe todo en el prompt), 'referencia de audio' (clona hasta 3 voces, etiquetadas como @Audio1-3), 'referencia de imagen' (deriva una voz de la imagen de un personaje), o 'voz predefinida' (elige una voz incorporada que lee el prompt)."
      },
      "sample_rate": {
        "name": "sample_rate",
        "tooltip": "Frecuencia de muestreo de salida en Hz."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La semilla controla si el nodo debe volver a ejecutarse; los resultados son no deterministas independientemente de la semilla."
      },
      "speech_rate": {
        "name": "speech_rate",
        "tooltip": "Velocidad de habla. 0 = normal, 100 = 2.0x, -50 = 0.5x."
      },
      "text_prompt": {
        "name": "text_prompt",
        "tooltip": "Describe la(s) voz/vozes, emoción, ritmo, ambiente, música de fondo y efectos de sonido, e incluye las líneas a pronunciar (nombra los personajes en línea para diálogos). En el modo 'referencia de audio', referencia los clips conectados por orden como @Audio1, @Audio2, @Audio3. Máximo 3000 caracteres."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedNode": {
    "description": "Genera respuestas de texto con los modelos Seed 2.0 de ByteDance. Proporciona un prompt de texto y opcionalmente una o más imágenes o videos para contexto multimodal.",
    "display_name": "ByteDance Seed",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "El modelo Seed utilizado para generar la respuesta."
      },
      "model_temperature": {
        "name": "temperature"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entrada de texto para el modelo."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente del seed."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instrucciones fundamentales que dictan el comportamiento del modelo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedreamNode": {
    "description": "Generación unificada de texto a imagen y edición precisa de oraciones individuales con resolución de hasta 4K.",
    "display_name": "ByteDance Seedream 4",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "fail_on_partial": {
        "name": "fallar_en_parcial",
        "tooltip": "Si está habilitado, abortar la ejecución si faltan algunas imágenes solicitadas o devuelven un error."
      },
      "height": {
        "name": "alto",
        "tooltip": "Alto personalizado para la imagen. El valor funciona solo si `predefinición_de_tamaño` está establecido en `Personalizado`."
      },
      "image": {
        "name": "imagen",
        "tooltip": "Imagen(es) de entrada para generación de imagen a imagen. Lista de 1-10 imágenes para generación de referencia única o múltiple."
      },
      "max_images": {
        "name": "imágenes_máximas",
        "tooltip": "Número máximo de imágenes a generar cuando generación_secuencial_de_imágenes='automático'. El total de imágenes (entrada + generadas) no puede exceder 15."
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para crear o editar una imagen."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla a utilizar para la generación."
      },
      "sequential_image_generation": {
        "name": "generación_secuencial_de_imágenes",
        "tooltip": "Modo de generación grupal de imágenes. 'deshabilitado' genera una sola imagen. 'automático' permite al modelo decidir si generar múltiples imágenes relacionadas (ej., escenas de historia, variaciones de personajes)."
      },
      "size_preset": {
        "name": "predefinición_de_tamaño",
        "tooltip": "Selecciona un tamaño recomendado. Elige Personalizado para usar el ancho y alto a continuación."
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Si añadir una marca de agua \"Generado por IA\" a la imagen."
      },
      "width": {
        "name": "ancho",
        "tooltip": "Ancho personalizado para la imagen. El valor funciona solo si `predefinición_de_tamaño` está establecido en `Personalizado`."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedreamNodeV2": {
    "description": "Generación unificada de texto a imagen y edición precisa de una sola frase hasta una resolución de 4K.",
    "display_name": "ByteDance Seedream 4.5 & 5.0",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "model_height": {
        "name": "altura"
      },
      "model_size_preset": {
        "name": "preajuste_de_tamaño"
      },
      "model_width": {
        "name": "ancho"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Indicador de texto para crear o editar una imagen."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla a utilizar para la generación."
      },
      "thinking": {
        "name": "thinking",
        "tooltip": "Activa el razonamiento de optimización de prompts del modelo ('thinking') para una mejor adherencia. Puede aumentar considerablemente el tiempo de generación, especialmente en Seedream 5.0 Pro. Solo se puede desactivar para texto a imagen (no cuando se proporcionan imágenes de referencia)."
      },
      "watermark": {
        "name": "marca de agua",
        "tooltip": "Indica si se añade una marca de agua de \"Generado por IA\" a la imagen."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceTextToVideoNode": {
    "description": "Generar video usando modelos de ByteDance mediante API basado en prompt",
    "display_name": "ByteDance Texto a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_de_aspecto",
        "tooltip": "La relación de aspecto del video de salida."
      },
      "camera_fixed": {
        "name": "cámara_fija",
        "tooltip": "Especifica si fijar la cámara. La aplicación añade una instrucción para fijar la cámara a tu prompt, pero no garantiza el efecto real."
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "La duración del video de salida en segundos."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Este parámetro se ignora para cualquier modelo excepto seedance-1-5-pro."
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "El prompt de texto utilizado para generar el video."
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "La resolución del video de salida."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla a utilizar para la generación."
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Si añadir una marca de agua \"Generado por IA\" al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGGuider": {
    "display_name": "GuíaCFG",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "model": {
        "name": "modelo"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGNorm": {
    "display_name": "CFGNorm",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "pre_cfg": {
        "name": "pre_cfg",
        "tooltip": "Si está activado, reajusta el ruido combinado ANTES de la combinación CFG del muestreador, sin limitar (puede amplificar). Coincide con el CFG escalado por norma utilizado por modelos como Lens. El valor predeterminado en falso mantiene el comportamiento original de atenuación solo en el espacio x0 después del CFG."
      },
      "strength": {
        "name": "intensidad"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_parcheado",
        "tooltip": null
      }
    }
  },
  "CFGOverride": {
    "description": "Anula cfg a un valor fijo sobre un intervalo de porcentaje [inicio, fin] de los pasos. Con múltiples anulaciones, la más cercana al muestreador prevalece en caso de solapamiento.",
    "display_name": "Anulación de CFG",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "end_percent": {
        "name": "porcentaje_fin"
      },
      "model": {
        "name": "modelo"
      },
      "start_percent": {
        "name": "porcentaje_inicio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGZeroStar": {
    "display_name": "CFGZeroStar",
    "inputs": {
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_modificado",
        "tooltip": null
      }
    }
  },
  "CLIPAttentionMultiply": {
    "display_name": "MultiplicarAtenciónCLIP",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "k": {
        "name": "k"
      },
      "out": {
        "name": "salida"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPLoader": {
    "description": "[Recetas]\n\nstable_diffusion: clip-l\nstable_cascade: clip-g\nsd3: t5 xxl/ clip-g / clip-l\nstable_audio: t5 base\nmochi: t5 xxl\ncosmos: old t5 xxl\nlumina2: gemma 2 2B\nwan: umt5 xxl",
    "display_name": "Cargar CLIP",
    "inputs": {
      "clip_name": {
        "name": "nombre_clip"
      },
      "device": {
        "name": "dispositivo"
      },
      "type": {
        "name": "tipo"
      }
    }
  },
  "CLIPMergeAdd": {
    "display_name": "CLIPMergeAdd",
    "inputs": {
      "clip1": {
        "name": "clip1"
      },
      "clip2": {
        "name": "clip2"
      }
    }
  },
  "CLIPMergeSimple": {
    "display_name": "CLIPMergeSimple",
    "inputs": {
      "clip1": {
        "name": "clip1"
      },
      "clip2": {
        "name": "clip2"
      },
      "ratio": {
        "name": "ratio"
      }
    }
  },
  "CLIPMergeSubtract": {
    "display_name": "CLIPMergeSubtract",
    "inputs": {
      "clip1": {
        "name": "clip1"
      },
      "clip2": {
        "name": "clip2"
      },
      "multiplier": {
        "name": "multiplicador"
      }
    }
  },
  "CLIPSave": {
    "display_name": "Guardar CLIP",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      }
    }
  },
  "CLIPSetLastLayer": {
    "display_name": "Establecer Última Capa de CLIP",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "stop_at_clip_layer": {
        "name": "detener_en_capa_clip"
      }
    }
  },
  "CLIPTextEncode": {
    "description": "Codifica un prompt de texto utilizando un modelo CLIP en un embedding que se puede usar para guiar el modelo de difusión hacia la generación de imágenes específicas.",
    "display_name": "Codificar Texto CLIP (Prompt)",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "El modelo CLIP utilizado para codificar el texto."
      },
      "text": {
        "name": "texto",
        "tooltip": "El texto a codificar."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Una condición que contiene el texto incrustado utilizado para guiar el modelo de difusión."
      }
    }
  },
  "CLIPTextEncodeControlnet": {
    "display_name": "CodificarTextoCLIPControlnet",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "conditioning": {
        "name": "condicionamiento"
      },
      "text": {
        "name": "texto"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeFlux": {
    "display_name": "CodificarTextoCLIPFlux",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "guidance": {
        "name": "orientación"
      },
      "t5xxl": {
        "name": "t5xxl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeHiDream": {
    "display_name": "CLIPTextEncodeHiDream",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_g": {
        "name": "clip_g"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "llama": {
        "name": "llama"
      },
      "t5xxl": {
        "name": "t5xxl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeHunyuanDiT": {
    "display_name": "CodificarTextoCLIPHunyuanDiT",
    "inputs": {
      "bert": {
        "name": "bert"
      },
      "clip": {
        "name": "clip"
      },
      "mt5xl": {
        "name": "mt5xl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeKandinsky5": {
    "display_name": "CLIPTextEncodeKandinsky5",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "qwen25_7b": {
        "name": "qwen25_7b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeLumina2": {
    "description": "Codifica un mensaje del sistema y un mensaje del usuario utilizando un modelo CLIP en un embedding que se puede usar para guiar el modelo de difusión hacia la generación de imágenes específicas.",
    "display_name": "CLIP Text Encode para Lumina2",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "El modelo CLIP utilizado para codificar el texto."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Lumina2 proporciona dos tipos de mensajes del sistema: Superior: Eres un asistente diseñado para generar imágenes superiores con el grado superior de alineación imagen-texto basado en mensajes textuales o mensajes del usuario. Alineación: Eres un asistente diseñado para generar imágenes de alta calidad con el mayor grado de alineación imagen-texto basado en mensajes textuales."
      },
      "user_prompt": {
        "name": "user_prompt",
        "tooltip": "El texto a codificar."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Una condición que contiene el texto incrustado utilizado para guiar el modelo de difusión."
      }
    }
  },
  "CLIPTextEncodePixArtAlpha": {
    "description": "Codifica el texto y establece la condición de resolución para PixArt Alpha. No se aplica a PixArt Sigma.",
    "display_name": "CLIPTextEncodePixArtAlpha",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "height"
      },
      "text": {
        "name": "text"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSD3": {
    "display_name": "CLIPTextEncodeSD3",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_g": {
        "name": "clip_g"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "empty_padding": {
        "name": "empty_padding"
      },
      "t5xxl": {
        "name": "t5xxl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSDXL": {
    "display_name": "CLIPTextEncodeSDXL",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "crop_h": {
        "name": "crop_h"
      },
      "crop_w": {
        "name": "crop_w"
      },
      "height": {
        "name": "height"
      },
      "target_height": {
        "name": "target_height"
      },
      "target_width": {
        "name": "target_width"
      },
      "text_g": {
        "name": "text_g"
      },
      "text_l": {
        "name": "text_l"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSDXLRefiner": {
    "display_name": "CLIPTextEncodeSDXLRefiner",
    "inputs": {
      "ascore": {
        "name": "ascore"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "height"
      },
      "text": {
        "name": "text"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPVisionEncode": {
    "display_name": "CLIP Vision Encode",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "crop": {
        "name": "crop"
      },
      "image": {
        "name": "image"
      }
    }
  },
  "CLIPVisionLoader": {
    "display_name": "Cargar CLIP Vision",
    "inputs": {
      "clip_name": {
        "name": "clip_name"
      }
    }
  },
  "Canny": {
    "display_name": "Canny",
    "inputs": {
      "high_threshold": {
        "name": "umbral_alto"
      },
      "image": {
        "name": "imagen"
      },
      "low_threshold": {
        "name": "umbral_bajo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CaseConverter": {
    "display_name": "Convertidor de Mayúsculas y Minúsculas",
    "inputs": {
      "mode": {
        "name": "modo"
      },
      "string": {
        "name": "cadena"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CenterCropImages": {
    "description": "Recorta una imagen al centro con las dimensiones especificadas.",
    "display_name": "Recorte central de imágenes",
    "inputs": {
      "height": {
        "name": "alto",
        "tooltip": "Alto del recorte."
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Imagen a procesar."
      },
      "width": {
        "name": "ancho",
        "tooltip": "Ancho del recorte."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": "Imágenes procesadas"
      }
    }
  },
  "CheckpointLoader": {
    "display_name": "Cargar Punto de Control Con Configuración (OBSOLETO)",
    "inputs": {
      "ckpt_name": {
        "name": "nombre_ckpt"
      },
      "config_name": {
        "name": "nombre_configuración"
      }
    }
  },
  "CheckpointLoaderSimple": {
    "description": "Carga un punto de control del modelo de difusión, los modelos de difusión se utilizan para desruidar latentes.",
    "display_name": "Cargar Punto de Control",
    "inputs": {
      "ckpt_name": {
        "name": "nombre_ckpt",
        "tooltip": "El nombre del punto de control (modelo) a cargar."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El modelo utilizado para desruidar latentes."
      },
      "1": {
        "tooltip": "El modelo CLIP utilizado para codificar textos de prompts."
      },
      "2": {
        "tooltip": "El modelo VAE utilizado para codificar y decodificar imágenes a y desde el espacio latente."
      }
    }
  },
  "CheckpointSave": {
    "display_name": "Guardar Punto de Control",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      },
      "model": {
        "name": "modelo"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "ChromaRadianceOptions": {
    "description": "Permite configurar opciones avanzadas para el modelo Chroma Radiance.",
    "display_name": "Opciones de Croma Radiance",
    "inputs": {
      "end_sigma": {
        "name": "sigma_final",
        "tooltip": "Último sigma para el cual estas opciones estarán en efecto."
      },
      "force_sequential_txt_ids": {
        "name": "forzar_ids_de_texto_secuenciales",
        "tooltip": "Forzar el uso de identificadores de tokens de texto secuenciales en lugar de ceros. Debe usarse para los checkpoints del 22-05-2026 al 01-06-2026 que fueron entrenados de esta manera pero no contienen la clave __sequential__ en el state dict."
      },
      "model": {
        "name": "modelo"
      },
      "nerf_tile_size": {
        "name": "tamaño_mosaico_nerf",
        "tooltip": "Permite anular el tamaño de mosaico NeRF predeterminado. -1 significa usar el predeterminado (32). 0 significa usar modo sin mosaicos (puede requerir mucha VRAM)."
      },
      "preserve_wrapper": {
        "name": "preservar_envoltorio",
        "tooltip": "Cuando está habilitado, delegará a un envoltorio de función de modelo existente si existe. Generalmente debe dejarse habilitado."
      },
      "start_sigma": {
        "name": "sigma_inicial",
        "tooltip": "Primer sigma para el cual estas opciones estarán en efecto."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ClaudeNode": {
    "description": "Genera respuestas de texto con los modelos Claude de Anthropic. Proporciona un mensaje de texto y, opcionalmente, una o más imágenes para contexto multimodal.",
    "display_name": "Anthropic Claude",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "images": {
        "name": "images",
        "tooltip": "Imagen(es) opcional(es) para usar como contexto para el modelo. Hasta 20 imágenes."
      },
      "model": {
        "name": "model",
        "tooltip": "El modelo Claude utilizado para generar la respuesta."
      },
      "model_max_tokens": {
        "name": "max_tokens"
      },
      "model_reasoning_effort": {
        "name": "reasoning_effort"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entrada de texto para el modelo."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instrucciones fundamentales que dictan el comportamiento del modelo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ColorToRGBInt": {
    "description": "Convierte un color a un valor entero RGB.",
    "display_name": "Color a RGB Int",
    "inputs": {
      "color": {
        "name": "color"
      }
    },
    "outputs": {
      "0": {
        "name": "rgb_int",
        "tooltip": null
      },
      "1": {
        "name": "hex",
        "tooltip": null
      },
      "2": {
        "name": "alpha",
        "tooltip": null
      }
    }
  },
  "ColorTransfer": {
    "description": "Iguala los colores de una imagen con otra utilizando varios algoritmos.",
    "display_name": "ColorTransfer",
    "inputs": {
      "image_ref": {
        "name": "image_ref",
        "tooltip": "Imagen(es) de referencia para igualar los colores. Si no se proporciona, se omite el procesamiento."
      },
      "image_target": {
        "name": "image_target",
        "tooltip": "Imagen(es) a las que se aplicará la transferencia de color."
      },
      "method": {
        "name": "method"
      },
      "source_stats": {
        "name": "source_stats",
        "tooltip": "per_frame: cada fotograma se iguala individualmente a image_ref. uniform: agrupa estadísticas de todos los fotogramas fuente como referencia, iguala a image_ref. target_frame: usa un fotograma elegido como referencia para la transformación a image_ref, aplicado uniformemente a todos los fotogramas (preserva las diferencias relativas)"
      },
      "strength": {
        "name": "strength"
      }
    },
    "outputs": {
      "0": {
        "name": "image",
        "tooltip": null
      }
    }
  },
  "CombineHooks2": {
    "display_name": "Combinar Hooks [2]",
    "inputs": {
      "hooks_A": {
        "name": "hooks_A"
      },
      "hooks_B": {
        "name": "hooks_B"
      }
    }
  },
  "CombineHooks4": {
    "display_name": "Combine Hooks [4]",
    "inputs": {
      "hooks_A": {
        "name": "hooks_A"
      },
      "hooks_B": {
        "name": "hooks_B"
      },
      "hooks_C": {
        "name": "hooks_C"
      },
      "hooks_D": {
        "name": "hooks_D"
      }
    }
  },
  "CombineHooks8": {
    "display_name": "Combine Hooks [8]",
    "inputs": {
      "hooks_A": {
        "name": "hooks_A"
      },
      "hooks_B": {
        "name": "hooks_B"
      },
      "hooks_C": {
        "name": "hooks_C"
      },
      "hooks_D": {
        "name": "hooks_D"
      },
      "hooks_E": {
        "name": "hooks_E"
      },
      "hooks_F": {
        "name": "hooks_F"
      },
      "hooks_G": {
        "name": "hooks_G"
      },
      "hooks_H": {
        "name": "hooks_H"
      }
    }
  },
  "ComfyAndNode": {
    "description": "Operación lógica AND. Devuelve verdadero si todos los valores son verdaderos. Usa las reglas de verdad de Python.",
    "display_name": "Y",
    "inputs": {
      "values": {
        "name": "valores"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ComfyMathExpression": {
    "display_name": "Expresión matemática",
    "inputs": {
      "expression": {
        "name": "expresión"
      },
      "values": {
        "name": "valores"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "BOOL",
        "tooltip": null
      }
    }
  },
  "ComfyNotNode": {
    "description": "Operación lógica NOT. Devuelve verdadero si el valor es falso. Usa las reglas de verdad de Python.",
    "display_name": "No",
    "inputs": {
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ComfyNumberConvert": {
    "display_name": "Conversión de número",
    "inputs": {
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "ComfyOrNode": {
    "description": "Operación lógica OR. Devuelve verdadero si alguno de los valores es verdadero. Usa las reglas de verdad de Python.",
    "display_name": "O",
    "inputs": {
      "values": {
        "name": "valores"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ComfySwitchNode": {
    "display_name": "Interruptor",
    "inputs": {
      "on_false": {
        "name": "en_falso"
      },
      "on_true": {
        "name": "en_verdadero"
      },
      "switch": {
        "name": "interruptor"
      }
    },
    "outputs": {
      "0": {
        "name": "salida",
        "tooltip": null
      }
    }
  },
  "ConditioningAverage": {
    "display_name": "Promedio de Acondicionamiento",
    "inputs": {
      "conditioning_from": {
        "name": "acondicionamiento_de"
      },
      "conditioning_to": {
        "name": "acondicionamiento_a"
      },
      "conditioning_to_strength": {
        "name": "fuerza_de_acondicionamiento_a"
      }
    }
  },
  "ConditioningCombine": {
    "display_name": "Acondicionamiento (Combinar)",
    "inputs": {
      "conditioning_1": {
        "name": "acondicionamiento_1"
      },
      "conditioning_2": {
        "name": "acondicionamiento_2"
      }
    }
  },
  "ConditioningConcat": {
    "display_name": "Acondicionamiento (Concatenar)",
    "inputs": {
      "conditioning_from": {
        "name": "acondicionamiento_de"
      },
      "conditioning_to": {
        "name": "acondicionamiento_a"
      }
    }
  },
  "ConditioningMultiply": {
    "display_name": "Condicionamiento (Multiplicar)",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "multiplier": {
        "name": "multiplier"
      }
    }
  },
  "ConditioningSetArea": {
    "display_name": "Acondicionamiento (Establecer Área)",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      },
      "height": {
        "name": "alto"
      },
      "strength": {
        "name": "fuerza"
      },
      "width": {
        "name": "ancho"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "ConditioningSetAreaPercentage": {
    "display_name": "Acondicionamiento (Establecer Área con Porcentaje)",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      },
      "height": {
        "name": "alto"
      },
      "strength": {
        "name": "fuerza"
      },
      "width": {
        "name": "ancho"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "ConditioningSetAreaPercentageVideo": {
    "display_name": "AcondicionamientoEstablecerAreaPorcentajeVideo",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      },
      "height": {
        "name": "alto"
      },
      "strength": {
        "name": "fuerza"
      },
      "temporal": {
        "name": "temporal"
      },
      "width": {
        "name": "ancho"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      },
      "z": {
        "name": "z"
      }
    }
  },
  "ConditioningSetAreaStrength": {
    "display_name": "AcondicionamientoEstablecerFuerzaArea",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      },
      "strength": {
        "name": "fuerza"
      }
    }
  },
  "ConditioningSetDefaultCombine": {
    "display_name": "Cond Establecer Combinación Predeterminada",
    "inputs": {
      "cond": {
        "name": "cond"
      },
      "cond_DEFAULT": {
        "name": "cond_DEFAULT"
      },
      "hooks": {
        "name": "hooks"
      }
    }
  },
  "ConditioningSetMask": {
    "display_name": "Acondicionamiento (Establecer Máscara)",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      },
      "mask": {
        "name": "máscara"
      },
      "set_cond_area": {
        "name": "establecer_area_cond"
      },
      "strength": {
        "name": "fuerza"
      }
    }
  },
  "ConditioningSetProperties": {
    "display_name": "Establecer Propiedades Cond",
    "inputs": {
      "cond_NEW": {
        "name": "cond_NEW"
      },
      "hooks": {
        "name": "ganchos"
      },
      "mask": {
        "name": "máscara"
      },
      "set_cond_area": {
        "name": "establecer_area_cond"
      },
      "strength": {
        "name": "fuerza"
      },
      "timesteps": {
        "name": "pasos_de_tiempo"
      }
    }
  },
  "ConditioningSetPropertiesAndCombine": {
    "display_name": "Establecer Propiedades Cond Combinar",
    "inputs": {
      "cond": {
        "name": "cond"
      },
      "cond_NEW": {
        "name": "cond_NEW"
      },
      "hooks": {
        "name": "ganchos"
      },
      "mask": {
        "name": "máscara"
      },
      "set_cond_area": {
        "name": "establecer_area_cond"
      },
      "strength": {
        "name": "fuerza"
      },
      "timesteps": {
        "name": "pasos_de_tiempo"
      }
    }
  },
  "ConditioningSetTimestepRange": {
    "display_name": "Establecer Rango de Pasos de Tiempo de Acondicionamiento",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      },
      "end": {
        "name": "fin"
      },
      "start": {
        "name": "inicio"
      }
    }
  },
  "ConditioningStableAudio": {
    "display_name": "Acondicionamiento Audio Estable",
    "inputs": {
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "seconds_start": {
        "name": "segundos_inicio"
      },
      "seconds_total": {
        "name": "segundos_total"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "ConditioningTimestepsRange": {
    "display_name": "Rango de Pasos de Tiempo",
    "inputs": {
      "end_percent": {
        "name": "porcentaje_fin"
      },
      "start_percent": {
        "name": "porcentaje_inicio"
      }
    },
    "outputs": {
      "1": {
        "name": "ANTES_DE_RANGO"
      },
      "2": {
        "name": "DESPUÉS_DE_RANGO"
      }
    }
  },
  "ConditioningZeroOut": {
    "display_name": "Acondicionamiento Cero",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      }
    }
  },
  "ContextWindowsManual": {
    "description": "Establecer manualmente las ventanas de contexto.",
    "display_name": "Ventanas de Contexto (Manual)",
    "inputs": {
      "causal_window_fix": {
        "name": "causal_window_fix",
        "tooltip": "Indica si se debe añadir un fotograma de corrección causal a las ventanas de contexto que no estén indexadas en 0."
      },
      "closed_loop": {
        "name": "bucle_cerrado",
        "tooltip": "Si se debe cerrar el bucle de la ventana de contexto; solo aplicable a programaciones en bucle."
      },
      "cond_retain_index_list": {
        "name": "cond_retain_index_list",
        "tooltip": "Lista de índices latentes que se conservarán en los tensores de condicionamiento para cada ventana; por ejemplo, si se establece en '0', se usará la imagen inicial de inicio para cada ventana."
      },
      "context_length": {
        "name": "longitud_contexto",
        "tooltip": "La longitud de la ventana de contexto."
      },
      "context_overlap": {
        "name": "superposición_contexto",
        "tooltip": "La superposición de la ventana de contexto."
      },
      "context_schedule": {
        "name": "programación_contexto",
        "tooltip": "El intervalo de la ventana de contexto."
      },
      "context_stride": {
        "name": "paso_contexto",
        "tooltip": "El paso de la ventana de contexto; solo aplicable a programaciones uniformes."
      },
      "dim": {
        "name": "dimensión",
        "tooltip": "La dimensión a la que aplicar las ventanas de contexto."
      },
      "freenoise": {
        "name": "ruido_libre",
        "tooltip": "Si se aplica el barajado de ruido FreeNoise, mejora la mezcla de ventanas."
      },
      "fuse_method": {
        "name": "método_de_fusión",
        "tooltip": "El método a utilizar para fusionar las ventanas de contexto."
      },
      "latent_retain_index_list": {
        "name": "latent_retain_index_list",
        "tooltip": "Lista de índices latentes que se conservarán en el propio espacio latente de ruido para cada ventana. Útil para flujos de trabajo donde el contenido de referencia (por ejemplo, una imagen inicial) reside directamente en el espacio latente de ruido en lugar de en canales de acondicionamiento separados (por ejemplo, I2V estilo inplace como LTXV, AnimateDiff). Independiente de cond_retain_index_list."
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo al que aplicar ventanas de contexto durante el muestreo."
      },
      "split_conds_to_windows": {
        "name": "split_conds_to_windows",
        "tooltip": "Indica si se deben dividir múltiples condicionamientos (creados por ConditionCombine) en cada ventana según el índice de la región."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El modelo con ventanas de contexto aplicadas durante el muestreo."
      }
    }
  },
  "ControlNetApply": {
    "display_name": "Aplicar ControlNet (ANTIGUO)",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      },
      "control_net": {
        "name": "control_net"
      },
      "image": {
        "name": "imagen"
      },
      "strength": {
        "name": "fuerza"
      }
    }
  },
  "ControlNetApplyAdvanced": {
    "display_name": "Aplicar ControlNet",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "porcentaje_fin"
      },
      "image": {
        "name": "imagen"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_percent": {
        "name": "porcentaje_inicio"
      },
      "strength": {
        "name": "fuerza"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "ControlNetApplySD3": {
    "display_name": "Aplicar Controlnet con VAE",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "porcentaje_final"
      },
      "image": {
        "name": "imagen"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_percent": {
        "name": "porcentaje_inicio"
      },
      "strength": {
        "name": "fuerza"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "ControlNetInpaintingAliMamaApply": {
    "display_name": "ControlNetInpaintingAliMamaApply",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "porcentaje_final"
      },
      "image": {
        "name": "imagen"
      },
      "mask": {
        "name": "máscara"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_percent": {
        "name": "porcentaje_inicio"
      },
      "strength": {
        "name": "fuerza"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "ControlNetLoader": {
    "display_name": "Cargar Modelo ControlNet",
    "inputs": {
      "control_net_name": {
        "name": "nombre_control_net"
      }
    }
  },
  "ConvertArrayToString": {
    "display_name": "Convertir Array a Cadena",
    "inputs": {
      "array": {
        "name": "array"
      },
      "indent": {
        "name": "sangría",
        "tooltip": "Espacios por nivel de sangría. 0 produce una cadena compacta en una sola línea."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ConvertDictionaryToString": {
    "display_name": "Convertir Diccionario a Cadena",
    "inputs": {
      "dictionary": {
        "name": "diccionario"
      },
      "indent": {
        "name": "sangría",
        "tooltip": "Espacios por nivel de sangría. 0 produce una cadena compacta en una sola línea."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CosmosImageToVideoLatent": {
    "display_name": "CosmosImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "end_image": {
        "name": "imagen_final"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "longitud"
      },
      "start_image": {
        "name": "imagen_inicio"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CosmosPredict2ImageToVideoLatent": {
    "display_name": "CosmosPredict2ImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote"
      },
      "end_image": {
        "name": "imagen_final"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "start_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CreateBoundingBoxes": {
    "description": "Dibuja cajas delimitadoras en un lienzo. Genera elementos de prompt Ideogram, cajas delimitadoras en espacio de píxeles y una imagen de vista previa.",
    "display_name": "Crear Cajas Delimitadoras",
    "inputs": {
      "background": {
        "name": "fondo",
        "tooltip": "Imagen opcional utilizada como fondo en el lienzo y la vista previa."
      },
      "bboxes": {
        "name": "bboxes",
        "tooltip": "Cajas delimitadoras, elementos o una cadena JSON para inicializar el lienzo. Un nuevo valor ascendente inicializa el lienzo; las ediciones realizadas en el lienzo tienen prioridad y se mantienen hasta que el valor ascendente cambie nuevamente."
      },
      "editor_state": {
        "name": "estado_del_editor",
        "tooltip": "Dibuja cajas delimitadoras y asigna a cada caja su tipo, texto, descripción y paleta de colores. Comienza con el elemento de fondo y termina con el primer plano."
      },
      "height": {
        "name": "alto",
        "tooltip": "Alto del lienzo y de la cuadrícula de píxeles para las cajas delimitadoras."
      },
      "last_incoming": {
        "name": "last_incoming",
        "tooltip": "Estado interno gestionado por el lienzo: el valor de bboxes ascendente que lo inicializó por última vez. Déjalo vacío para reinicializar el lienzo desde la entrada de bboxes en la próxima ejecución."
      },
      "width": {
        "name": "ancho",
        "tooltip": "Ancho del lienzo y de la cuadrícula de píxeles para las cajas delimitadoras."
      }
    },
    "outputs": {
      "0": {
        "name": "vista_previa",
        "tooltip": null
      },
      "1": {
        "name": "cajas_delimitadoras",
        "tooltip": null
      },
      "2": {
        "name": "elementos",
        "tooltip": null
      }
    }
  },
  "CreateCameraInfo": {
    "description": "Construye una camera_info. El modo 'orbit' apunta con yaw/pitch/distancia alrededor del objetivo; 'look_at' coloca la cámara en una posición del mundo. Las coordenadas están en el espacio mundial del espectador (mano derecha, Y-arriba).",
    "display_name": "Crear información de cámara",
    "inputs": {
      "camera_type": {
        "name": "tipo_de_cámara",
        "tooltip": "Proyección usada por Render Splat: perspectiva (con acortamiento) u ortográfica (paralela)."
      },
      "fov": {
        "name": "fov",
        "tooltip": "Campo de visión vertical en grados."
      },
      "mode": {
        "name": "modo",
        "tooltip": "Cómo definir la cámara: ángulos de órbita, una posición explícita o una posición + cuaternión."
      },
      "mode_distance": {
        "name": "distancia"
      },
      "mode_pitch": {
        "name": "inclinación"
      },
      "mode_yaw": {
        "name": "giro"
      },
      "roll": {
        "name": "rotación",
        "tooltip": "Rotación de la cámara sobre el eje de visión, en grados."
      },
      "target_x": {
        "name": "objetivo_x",
        "tooltip": "Punto de enfoque (pivote/objetivo de órbita). En modo órbita, muévelo para desplazar/trasladar toda la cámara. Se ignora en modo cuaternión. Por defecto es el origen."
      },
      "target_y": {
        "name": "objetivo_y"
      },
      "target_z": {
        "name": "objetivo_z"
      },
      "zoom": {
        "name": "zoom",
        "tooltip": "Zoom digital (multiplicador de distancia focal). >1 acerca la imagen sin mover la cámara."
      }
    },
    "outputs": {
      "0": {
        "name": "camera_info",
        "tooltip": null
      }
    }
  },
  "CreateHookKeyframe": {
    "display_name": "Crear Hook Keyframe",
    "inputs": {
      "prev_hook_kf": {
        "name": "prev_hook_kf"
      },
      "start_percent": {
        "name": "porcentaje_inicio"
      },
      "strength_mult": {
        "name": "multiplicador_fuerza"
      }
    },
    "outputs": {
      "0": {
        "name": "HOOK_KF"
      }
    }
  },
  "CreateHookKeyframesFromFloats": {
    "display_name": "Crear Hook Keyframes Desde Flotantes",
    "inputs": {
      "end_percent": {
        "name": "porcentaje_final"
      },
      "floats_strength": {
        "name": "fuerza_flotantes"
      },
      "prev_hook_kf": {
        "name": "prev_hook_kf"
      },
      "print_keyframes": {
        "name": "imprimir_keyframes"
      },
      "start_percent": {
        "name": "porcentaje_inicio"
      }
    },
    "outputs": {
      "0": {
        "name": "HOOK_KF"
      }
    }
  },
  "CreateHookKeyframesInterpolated": {
    "display_name": "Crear Hook Keyframes Interp.",
    "inputs": {
      "end_percent": {
        "name": "end_percent"
      },
      "interpolation": {
        "name": "interpolación"
      },
      "keyframes_count": {
        "name": "keyframes_count"
      },
      "prev_hook_kf": {
        "name": "prev_hook_kf"
      },
      "print_keyframes": {
        "name": "print_keyframes"
      },
      "start_percent": {
        "name": "start_percent"
      },
      "strength_end": {
        "name": "strength_end"
      },
      "strength_start": {
        "name": "strength_start"
      }
    },
    "outputs": {
      "0": {
        "name": "HOOK_KF"
      }
    }
  },
  "CreateHookLora": {
    "display_name": "Crear Hook LoRA",
    "inputs": {
      "lora_name": {
        "name": "lora_name"
      },
      "prev_hooks": {
        "name": "prev_hooks"
      },
      "strength_clip": {
        "name": "strength_clip"
      },
      "strength_model": {
        "name": "strength_model"
      }
    }
  },
  "CreateHookLoraModelOnly": {
    "display_name": "Crear Hook LoRA (MO)",
    "inputs": {
      "lora_name": {
        "name": "lora_name"
      },
      "prev_hooks": {
        "name": "prev_hooks"
      },
      "strength_model": {
        "name": "strength_model"
      }
    }
  },
  "CreateHookModelAsLora": {
    "display_name": "Crear Hook Model como LoRA",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name"
      },
      "prev_hooks": {
        "name": "prev_hooks"
      },
      "strength_clip": {
        "name": "strength_clip"
      },
      "strength_model": {
        "name": "strength_model"
      }
    }
  },
  "CreateHookModelAsLoraModelOnly": {
    "display_name": "Crear Hook Model como LoRA (MO)",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name"
      },
      "prev_hooks": {
        "name": "prev_hooks"
      },
      "strength_model": {
        "name": "strength_model"
      }
    }
  },
  "CreateList": {
    "display_name": "Crear lista",
    "inputs": {
      "inputs": {
        "name": "entradas"
      }
    },
    "outputs": {
      "0": {
        "name": "lista",
        "tooltip": null
      }
    }
  },
  "CreateVideo": {
    "description": "Crea un video a partir de imágenes.",
    "display_name": "Crear video",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "El audio que se añadirá al video."
      },
      "bit_depth": {
        "name": "bit_depth",
        "tooltip": "Profundidad de bits del video creado. 10 bits mantiene gradientes más suaves con menos bandas, pero algunos reproductores y nodos posteriores pueden no soportarlo."
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Las imágenes de las que se creará el video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CropByBBoxes": {
    "description": "Recorta y redimensiona regiones del lote de imágenes de entrada según las cajas delimitadoras proporcionadas.",
    "display_name": "CropByBBoxes",
    "inputs": {
      "bboxes": {
        "name": "cajas delimitadoras"
      },
      "image": {
        "name": "imagen"
      },
      "keep_aspect": {
        "name": "mantener_proporción",
        "tooltip": "Indica si se debe estirar el recorte para ajustarse al tamaño de salida, o rellenar con píxeles negros para preservar la relación de aspecto."
      },
      "output_height": {
        "name": "alto de salida",
        "tooltip": "Alto al que se redimensiona cada recorte."
      },
      "output_width": {
        "name": "ancho de salida",
        "tooltip": "Ancho al que se redimensiona cada recorte."
      },
      "padding": {
        "name": "relleno",
        "tooltip": "Relleno extra en píxeles añadido a cada lado de la caja antes de recortar."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Todos los recortes apilados en un solo lote de imágenes."
      }
    }
  },
  "CropMask": {
    "display_name": "CropMask",
    "inputs": {
      "height": {
        "name": "altura"
      },
      "mask": {
        "name": "máscara"
      },
      "width": {
        "name": "ancho"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CurveEditor": {
    "display_name": "Editor de curvas",
    "inputs": {
      "curve": {
        "name": "curva"
      },
      "histogram": {
        "name": "histograma"
      }
    },
    "outputs": {
      "0": {
        "name": "curva",
        "tooltip": null
      }
    }
  },
  "CustomCombo": {
    "display_name": "Combinación personalizada",
    "inputs": {
      "choice": {
        "name": "elección"
      },
      "index": {},
      "option1": {}
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "ÍNDICE",
        "tooltip": null
      }
    }
  },
  "DA3GeometryToMesh": {
    "description": "Convierte un mapa de profundidad en una malla 3D triangulada.",
    "display_name": "Convertir geometría DA3 a malla",
    "inputs": {
      "batch_index": {
        "name": "batch_index",
        "tooltip": "Qué imagen de un lote convertir. El número de vértices por imagen varía, por lo que los lotes no se pueden apilar."
      },
      "confidence_threshold": {
        "name": "confidence_threshold",
        "tooltip": "Excluir píxeles cuya confianza normalizada por imagen esté por debajo de este valor (0 = mantener todos, 1 = mantener solo el píxel más confiable). Se usa cuando la geometría tiene un mapa de confianza (modelos Small/Base)."
      },
      "da3_geometry": {
        "name": "da3_geometry"
      },
      "decimation": {
        "name": "decimation",
        "tooltip": "Intervalo de vértices. 1 = resolución completa, 2 = mitad, etc."
      },
      "discontinuity_threshold": {
        "name": "discontinuity_threshold",
        "tooltip": "Descartar triángulos cuya diferencia de profundidad en 3x3 exceda esta fracción. 0 = desactivado."
      },
      "texture": {
        "name": "texture",
        "tooltip": "Usar la imagen de origen como textura de color base."
      },
      "use_sky_mask": {
        "name": "use_sky_mask",
        "tooltip": "Excluir píxeles con probabilidad de cielo (cielo >= 0.5) de la malla. Se usa cuando la geometría tiene un mapa de cielo (modelos Mono/Metric)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DA3Inference": {
    "description": "Ejecuta Depth Anything 3 en una imagen. En modo multivista, cada imagen se trata como una vista separada de la misma escena.",
    "display_name": "Ejecutar Depth Anything 3",
    "inputs": {
      "da3_model": {
        "name": "da3_model"
      },
      "image": {
        "name": "image"
      },
      "mode": {
        "name": "mode",
        "tooltip": "mono: imagen de vista única (funciona con cualquier variante de modelo).\nmultiview: todas las imágenes se procesan juntas para consistencia geométrica + pose de cámara (solo para modelos Small/Base)."
      },
      "resize_method": {
        "name": "resize_method",
        "tooltip": "upper_bound_resize: escala para que el lado más largo = resolución (limita memoria, predeterminado).\nlower_bound_resize: escala para que el lado más corto = resolución (conserva más detalle en imágenes altas/anchas, usa más memoria)."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Resolución a la que se ejecuta el modelo (lado más largo, múltiplo de 14).\nMenor = más rápido / menos VRAM.\nMayor = más detalle.\nLa salida se reescala al tamaño original."
      }
    },
    "outputs": {
      "0": {
        "name": "da3_geometry",
        "tooltip": "Diccionario de tensores no normalizados.\nSiempre tiene las claves: depth, image, mode.\nClaves opcionales: sky (para Mono/Metric), confidence (para Small/Base), extrinsics + intrinsics (para multivista)."
      }
    }
  },
  "DA3Render": {
    "description": "Renderiza un mapa de profundidad, mapa de confianza o máscara de cielo a partir de datos de geometría de Depth Anything 3.",
    "display_name": "Renderizar Depth Anything 3",
    "inputs": {
      "da3_geometry": {
        "name": "da3_geometry"
      },
      "output": {
        "name": "output",
        "tooltip": "- depth: imagen de profundidad en escala de grises normalizada.\n- depth_colored: profundidad mapeada con el colormap Turbo.\n- sky_mask: probabilidad de cielo en [0, 1] (solo para modelos Mono/Metric).\n- confidence: confianza de profundidad normalizada (solo para modelos Small/Base)."
      },
      "output_apply_sky_clip": {
        "name": "apply_sky_clip"
      },
      "output_normalization": {
        "name": "normalization"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DiffControlNetLoader": {
    "display_name": "Cargar Modelo ControlNet (diff)",
    "inputs": {
      "control_net_name": {
        "name": "control_net_name"
      },
      "model": {
        "name": "modelo"
      }
    }
  },
  "DifferentialDiffusion": {
    "display_name": "Difusión Diferencial",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "strength": {
        "name": "intensidad"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DiffusersLoader": {
    "display_name": "Cargador de Difusores",
    "inputs": {
      "model_path": {
        "name": "ruta_del_modelo"
      }
    }
  },
  "DisableNoise": {
    "display_name": "DesactivarRuido",
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DrawBBoxes": {
    "display_name": "Dibujar BBoxes",
    "inputs": {
      "bboxes": {
        "name": "bboxes"
      },
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "name": "imagen_salida",
        "tooltip": null
      }
    }
  },
  "DualCFGGuider": {
    "display_name": "Guía Dual CFG",
    "inputs": {
      "cfg_cond2_negative": {
        "name": "cfg_cond2_negativo"
      },
      "cfg_conds": {
        "name": "cfg_conds"
      },
      "cond1": {
        "name": "cond1"
      },
      "cond2": {
        "name": "cond2"
      },
      "model": {
        "name": "modelo"
      },
      "negative": {
        "name": "negativo"
      },
      "style": {
        "name": "estilo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DualCLIPLoader": {
    "description": "[Recetas]\n\nsdxl: clip-l, clip-g\nsd3: clip-l, clip-g / clip-l, t5 / clip-g, t5\nflux: clip-l, t5",
    "display_name": "DualCLIPLoader",
    "inputs": {
      "clip_name1": {
        "name": "clip_name1"
      },
      "clip_name2": {
        "name": "clip_name2"
      },
      "device": {
        "name": "dispositivo"
      },
      "type": {
        "name": "tipo"
      }
    }
  },
  "DualModelGuider": {
    "display_name": "Guía CFG de Doble Modelo",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo usado para el pase positivo (condicional)."
      },
      "model_negative": {
        "name": "modelo_negativo",
        "tooltip": "Modelo usado para el pase negativo (incondicional). Usa el mismo modelo para CFG ordinario."
      },
      "negative": {
        "name": "negativo",
        "tooltip": "Condicionamiento negativo ejecutado en el modelo negativo. Déjalo sin conectar para un pase incondicional sin texto (solo imagen)."
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EasyCache": {
    "description": "Implementación nativa de EasyCache.",
    "display_name": "EasyCache",
    "inputs": {
      "end_percent": {
        "name": "porcentaje_final",
        "tooltip": "El paso de muestreo relativo para finalizar el uso de EasyCache."
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo al que añadir EasyCache."
      },
      "reuse_threshold": {
        "name": "umbral_de_reutilización",
        "tooltip": "El umbral para reutilizar pasos en caché."
      },
      "start_percent": {
        "name": "porcentaje_inicial",
        "tooltip": "El paso de muestreo relativo para comenzar a usar EasyCache."
      },
      "verbose": {
        "name": "detallado",
        "tooltip": "Si se debe registrar información detallada."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El modelo con EasyCache."
      }
    }
  },
  "ElevenLabsAudioIsolation": {
    "description": "Elimina el ruido de fondo del audio, aislando las voces o el habla.",
    "display_name": "ElevenLabs Aislamiento de Voz",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio a procesar para eliminar el ruido de fondo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsInstantVoiceClone": {
    "description": "Crea una voz clonada a partir de muestras de audio. Proporcione de 1 a 8 grabaciones de la voz a clonar.",
    "display_name": "ElevenLabs Clonación Instantánea de Voz",
    "inputs": {
      "files": {
        "name": "archivos",
        "tooltip": "Grabaciones de audio para la clonación de voz."
      },
      "remove_background_noise": {
        "name": "eliminar_ruido_de_fondo",
        "tooltip": "Elimina el ruido de fondo de las muestras de voz usando aislamiento de audio."
      }
    },
    "outputs": {
      "0": {
        "name": "voz",
        "tooltip": null
      }
    }
  },
  "ElevenLabsSpeechToSpeech": {
    "description": "Transforma el habla de una voz a otra manteniendo el contenido y la emoción originales.",
    "display_name": "ElevenLabs Conversión de Voz a Voz",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio de origen a transformar."
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la transformación de voz a voz."
      },
      "model_similarity_boost": {
        "name": "aumento_de_similitud"
      },
      "model_speed": {
        "name": "velocidad"
      },
      "model_style": {
        "name": "estilo"
      },
      "model_use_speaker_boost": {
        "name": "usar_aumento_de_altavoz"
      },
      "output_format": {
        "name": "formato_de_salida",
        "tooltip": "Formato de salida de audio."
      },
      "remove_background_noise": {
        "name": "eliminar_ruido_de_fondo",
        "tooltip": "Elimina el ruido de fondo del audio de entrada usando aislamiento de audio."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para reproducibilidad."
      },
      "stability": {
        "name": "estabilidad",
        "tooltip": "Estabilidad de la voz. Valores bajos ofrecen mayor rango emocional, valores altos producen un habla más consistente pero potencialmente monótona."
      },
      "voice": {
        "name": "voz",
        "tooltip": "Voz objetivo para la transformación. Conectar desde el Selector de Voz o Clonación Instantánea de Voz."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsSpeechToText": {
    "description": "Transcribe audio a texto. Soporta detección automática de idioma, diarización de hablantes y etiquetado de eventos de audio.",
    "display_name": "ElevenLabs Voz a Texto",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio para transcribir."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "language_code": {
        "name": "código_de_idioma",
        "tooltip": "Código de idioma ISO-639-1 o ISO-639-3 (ej., 'en', 'es', 'fra'). Déjelo vacío para detección automática."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la transcripción."
      },
      "model_diarization_threshold": {
        "name": "umbral_de_diarización"
      },
      "model_diarize": {
        "name": "diarizar"
      },
      "model_tag_audio_events": {
        "name": "etiquetar_eventos_de_audio"
      },
      "model_temperature": {
        "name": "temperatura"
      },
      "model_timestamps_granularity": {
        "name": "granularidad_de_marcadores_de_tiempo"
      },
      "num_speakers": {
        "name": "número_de_hablantes",
        "tooltip": "Número máximo de hablantes a predecir. Establezca en 0 para detección automática."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para reproducibilidad (no se garantiza determinismo)."
      }
    },
    "outputs": {
      "0": {
        "name": "texto",
        "tooltip": null
      },
      "1": {
        "name": "código_de_idioma",
        "tooltip": null
      },
      "2": {
        "name": "palabras_json",
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToDialogue": {
    "description": "Genera diálogo de varios hablantes a partir de texto. Cada entrada de diálogo tiene su propio texto y voz.",
    "display_name": "ElevenLabs Texto a Diálogo",
    "inputs": {
      "apply_text_normalization": {
        "name": "aplicar_normalización_de_texto",
        "tooltip": "Modo de normalización de texto. 'auto' deja que el sistema decida, 'on' siempre aplica normalización, 'off' la omite."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "inputs": {
        "name": "entradas",
        "tooltip": "Número de entradas de diálogo."
      },
      "inputs_text1": {
        "name": "texto1"
      },
      "language_code": {
        "name": "código_de_idioma",
        "tooltip": "Código de idioma ISO-639-1 o ISO-639-3 (ej., 'en', 'es', 'fra'). Déjelo vacío para detección automática."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la generación de diálogo."
      },
      "output_format": {
        "name": "formato_de_salida",
        "tooltip": "Formato de salida de audio."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para reproducibilidad."
      },
      "stability": {
        "name": "estabilidad",
        "tooltip": "Estabilidad de la voz. Valores bajos dan mayor rango emocional, valores altos producen un habla más consistente pero potencialmente monótona."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToSoundEffects": {
    "description": "Genera efectos de sonido a partir de descripciones de texto.",
    "display_name": "ElevenLabs Texto a Efectos de Sonido",
    "inputs": {
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la generación de efectos de sonido."
      },
      "model_duration": {
        "name": "duración"
      },
      "model_loop": {
        "name": "bucle"
      },
      "model_prompt_influence": {
        "name": "influencia_del_prompt"
      },
      "output_format": {
        "name": "formato_de_salida",
        "tooltip": "Formato de salida de audio."
      },
      "text": {
        "name": "texto",
        "tooltip": "Descripción en texto del efecto de sonido a generar."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToSpeech": {
    "description": "Convierte texto en voz.",
    "display_name": "ElevenLabs Texto a Voz",
    "inputs": {
      "apply_text_normalization": {
        "name": "aplicar_normalización_de_texto",
        "tooltip": "Modo de normalización de texto. 'auto' permite que el sistema decida, 'on' siempre aplica la normalización, 'off' la omite."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "language_code": {
        "name": "código_de_idioma",
        "tooltip": "Código de idioma ISO-639-1 o ISO-639-3 (por ejemplo, 'en', 'es', 'fra'). Dejar vacío para detección automática."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para texto a voz."
      },
      "model_similarity_boost": {
        "name": "impulso_de_similitud"
      },
      "model_speed": {
        "name": "velocidad"
      },
      "model_style": {
        "name": "estilo"
      },
      "model_use_speaker_boost": {
        "name": "usar_impulso_de_altavoz"
      },
      "output_format": {
        "name": "formato_de_salida",
        "tooltip": "Formato de salida de audio."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para reproducibilidad (no se garantiza el determinismo)."
      },
      "stability": {
        "name": "estabilidad",
        "tooltip": "Estabilidad de la voz. Valores bajos ofrecen un rango emocional más amplio, valores altos producen una voz más consistente pero potencialmente monótona."
      },
      "text": {
        "name": "texto",
        "tooltip": "El texto a convertir en voz."
      },
      "voice": {
        "name": "voz",
        "tooltip": "Voz a utilizar para la síntesis de voz. Conectar desde el Selector de Voz o Instant Voice Clone."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsVoiceSelector": {
    "description": "Selecciona una voz predefinida de ElevenLabs para la generación de texto a voz.",
    "display_name": "Selector de Voz de ElevenLabs",
    "inputs": {
      "voice": {
        "name": "voz",
        "tooltip": "Elige una voz de las voces predefinidas de ElevenLabs."
      }
    },
    "outputs": {
      "0": {
        "name": "voz",
        "tooltip": null
      }
    }
  },
  "EmptyARVideoLatent": {
    "display_name": "EmptyARVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAceStep1_5LatentAudio": {
    "display_name": "Empty Ace Step 1.5 Latent Audio",
    "inputs": {
      "batch_size": {
        "name": "tamaño de lote",
        "tooltip": "El número de imágenes latentes en el lote."
      },
      "seconds": {
        "name": "segundos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAceStepLatentAudio": {
    "display_name": "EmptyAceStepLatentAudio",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote",
        "tooltip": "El número de imágenes latentes en el lote."
      },
      "seconds": {
        "name": "segundos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAudio": {
    "display_name": "Audio Vacío",
    "inputs": {
      "channels": {
        "name": "canales",
        "tooltip": "Número de canales de audio (1 para mono, 2 para estéreo)."
      },
      "duration": {
        "name": "duración",
        "tooltip": "Duración del clip de audio vacío en segundos."
      },
      "sample_rate": {
        "name": "tasa_de_muestreo",
        "tooltip": "Tasa de muestreo del clip de audio vacío."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyChromaRadianceLatentImage": {
    "display_name": "ImagenLatenteChromaRadianceVacía",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "height": {
        "name": "alto"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyCosmosLatentVideo": {
    "display_name": "EmptyCosmosLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "longitud"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyFlux2LatentImage": {
    "display_name": "Empty Flux 2 Latent",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "height": {
        "name": "alto"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHiDreamO1LatentImage": {
    "description": "Latente en espacio de píxeles vacío para HiDream-O1-Image. El modelo fue entrenado a ~4 megapíxeles; resoluciones más bajas salen de la distribución y la calidad disminuye notablemente. Resoluciones entrenadas: 2048x2048, 2304x1728, 1728x2304, 2560x1440, 1440x2560, 2496x1664, 1664x2496, 3104x1312, 1312x3104, 2304x1792, 1792x2304.",
    "display_name": "Imagen Latente Vacía HiDream-O1",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "height": {
        "name": "alto"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanImageLatent": {
    "display_name": "ImagenLatenteHunyuanVacía",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "height": {
        "name": "alto"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanLatentVideo": {
    "display_name": "EmptyHunyuanLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "longitud"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanVideo15Latent": {
    "display_name": "Empty HunyuanVideo 1.5 Latent",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyImage": {
    "display_name": "EmptyImage",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote"
      },
      "color": {
        "name": "color"
      },
      "height": {
        "name": "altura"
      },
      "width": {
        "name": "ancho"
      }
    }
  },
  "EmptyLTXVLatentVideo": {
    "display_name": "EmptyLTXVLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "longitud"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentAudio": {
    "display_name": "EmptyLatentAudio",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote",
        "tooltip": "El número de imágenes latentes en el lote."
      },
      "seconds": {
        "name": "segundos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentHunyuan3Dv2": {
    "display_name": "EmptyLatentHunyuan3Dv2",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote",
        "tooltip": "El número de imágenes latentes en el lote."
      },
      "resolution": {
        "name": "resolución"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentImage": {
    "description": "Crea un nuevo lote de imágenes latentes vacías para ser desruidadas mediante muestreo.",
    "display_name": "Imagen Latente Vacía",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote",
        "tooltip": "El número de imágenes latentes en el lote."
      },
      "height": {
        "name": "altura",
        "tooltip": "La altura de las imágenes latentes en píxeles."
      },
      "width": {
        "name": "ancho",
        "tooltip": "El ancho de las imágenes latentes en píxeles."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El lote de imágenes latentes vacías."
      }
    }
  },
  "EmptyMiniMaxH3LatentAV": {
    "description": "Latente conjunto de video+audio para MiniMax H3. La duración se ajusta a la cuadrícula de 17k+5 fotogramas del modelo a 24 fps.",
    "display_name": "Latente AV MiniMax H3 Vacío",
    "inputs": {
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "duración",
        "tooltip": "Cantidad de fotogramas a 24 fps, ajustada a la cuadrícula de 17k+5 del modelo (124 = ~5s; el rango entrenado es ~124-362, valores mayores no están probados)"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyMochiLatentVideo": {
    "display_name": "EmptyMochiLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "longitud"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyQwenImageLayeredLatentImage": {
    "display_name": "Empty Qwen Image Layered Latent",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "height": {
        "name": "alto"
      },
      "layers": {
        "name": "capas"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptySD3LatentImage": {
    "display_name": "EmptySD3LatentImage",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote"
      },
      "height": {
        "name": "altura"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Epsilon Scaling": {
    "display_name": "Escalado Épsilon",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "scaling_factor": {
        "name": "factor_escala"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ExponentialScheduler": {
    "display_name": "ExponentialScheduler",
    "inputs": {
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "pasos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ExtendIntermediateSigmas": {
    "display_name": "ExtendIntermediateSigmas",
    "inputs": {
      "end_at_sigma": {
        "name": "terminar_en_sigma"
      },
      "sigmas": {
        "name": "sigmas"
      },
      "spacing": {
        "name": "espaciado"
      },
      "start_at_sigma": {
        "name": "comenzar_en_sigma"
      },
      "steps": {
        "name": "pasos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FeatherMask": {
    "display_name": "FeatherMask",
    "inputs": {
      "bottom": {
        "name": "abajo"
      },
      "left": {
        "name": "izquierda"
      },
      "mask": {
        "name": "máscara"
      },
      "right": {
        "name": "derecha"
      },
      "top": {
        "name": "arriba"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "File3DToSplat": {
    "description": "Analiza un archivo File3D splat en un gaussian splat. Inverso de Crear archivo 3D (desde Splat). Formatos soportados: PLY, SPLAT, KSPLAT, SPZ. PLY contiene armónicos esféricos completos, los otros formatos solo color base. El formato se detecta automáticamente por el contenido del archivo.",
    "display_name": "Obtener Splat",
    "inputs": {
      "model_3d": {
        "name": "modelo_3d",
        "tooltip": "Un archivo 3D gaussian splat"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "FlipSigmas": {
    "display_name": "FlipSigmas",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2ImageNode": {
    "description": "Genera imágenes mediante Flux.2 [pro] o Flux.2 [max] a partir de un prompt y, opcionalmente, imágenes de referencia.",
    "display_name": "Flux.2 Image",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "model_height": {
        "name": "altura"
      },
      "model_width": {
        "name": "ancho"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación o edición de la imagen"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2MaxImageNode": {
    "description": "Genera imágenes de forma sincrónica según el prompt y la resolución.",
    "display_name": "Flux.2 [max] Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "height": {
        "name": "alto"
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Hasta 9 imágenes que se pueden usar como referencia."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación o edición de la imagen"
      },
      "prompt_upsampling": {
        "name": "aumento_prompt",
        "tooltip": "Indica si se realiza aumento de prompt. Si está activo, modifica automáticamente el prompt para una generación más creativa."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2ProImageNode": {
    "description": "Genera imágenes de forma sincrónica según el prompt y la resolución.",
    "display_name": "Flux.2 [pro] Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "height": {
        "name": "alto"
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Hasta 9 imágenes que se pueden usar como referencia."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación o edición de la imagen"
      },
      "prompt_upsampling": {
        "name": "aumento_prompt",
        "tooltip": "Indica si se realiza aumento de prompt. Si está activo, modifica automáticamente el prompt para una generación más creativa."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2Scheduler": {
    "display_name": "Flux2Scheduler",
    "inputs": {
      "height": {
        "name": "alto"
      },
      "steps": {
        "name": "pasos"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux3ImageToVideoNode": {
    "description": "Anima de 1 a 10 imágenes con FLUX 3. Cada imagen se convierte en un fotograma del clip: una imagen lo inicia, dos se transforman de la primera a la segunda, y más imágenes se distribuyen a lo largo del clip o se fijan en los momentos que elijas.",
    "display_name": "Flux 3 Imagen a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Relación de aspecto de salida. 'auto' selecciona una del prompt y las entradas."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Duración del clip en segundos. 'auto' ajusta la duración al contenido."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Generar audio sincronizado (ambiente, voz, efectos). Desactivado produce un video sin pista de audio."
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "De 1 a 10 imágenes, en orden de reproducción. Mínimo 256x256 píxeles cada una."
      },
      "placement": {
        "name": "placement",
        "tooltip": "'distribuir a lo largo del clip' permite que FLUX 3 coloque las imágenes (una inicia el clip, dos se convierten en el inicio y el final); 'en momentos' fija cada imagen en un segundo que elijas."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Cómo debe moverse y sonar la escena; el prompt se interpreta y expande antes de la generación."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Resolución de salida."
      },
      "safety_tolerance": {
        "name": "safety_tolerance",
        "tooltip": "Tolerancia de moderación, 0 es la más estricta. Las solicitudes que envían imágenes o video están limitadas a 2 sin importar lo que configures aquí."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para determinar si el nodo debe volver a ejecutarse; FLUX 3 elige su propia semilla, por lo que los resultados reales son no deterministas independientemente de este valor."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux3TextToVideoNode": {
    "description": "Genera un video con audio sincronizado a partir de un prompt de texto mediante FLUX 3.",
    "display_name": "Flux 3 Texto a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Relación de aspecto de salida. 'auto' selecciona una del prompt y las entradas."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Duración del clip en segundos. 'auto' ajusta la duración al contenido."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Generar audio sincronizado (ambiente, voz, efectos). Desactivado produce un video sin pista de audio."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Lo que deseas, en lenguaje sencillo; el prompt se interpreta y expande antes de la generación. Describe el sonido ambiente, la música y la voz por separado para un audio en capas."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Resolución de salida."
      },
      "safety_tolerance": {
        "name": "safety_tolerance",
        "tooltip": "Tolerancia de moderación, 0 es la más estricta. Las solicitudes que envían imágenes o video están limitadas a 2 sin importar lo que configures aquí."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para determinar si el nodo debe volver a ejecutarse; FLUX 3 elige su propia semilla, por lo que los resultados reales son no deterministas independientemente de este valor."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux3VideoContinuationNode": {
    "description": "Continúa un video con FLUX 3: el nuevo clip sigue desde los últimos fotogramas del que proporcionas.",
    "display_name": "Flux 3 Continuación de Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Relación de aspecto de salida. 'auto' selecciona una del prompt y las entradas."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Duración del clip en segundos. 'auto' ajusta la longitud al contenido."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Generar audio sincronizado (ambiente, voz, efectos). Desactivado produce un video sin pista de audio."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Lo que debe mostrar la continuación; el prompt se interpreta y expande antes de la generación."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Resolución de salida."
      },
      "safety_tolerance": {
        "name": "safety_tolerance",
        "tooltip": "Tolerancia de moderación, 0 es la más estricta. Las solicitudes que envían imágenes o video están limitadas a 2 sin importar lo que configures aquí."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para determinar si el nodo debe volver a ejecutarse; FLUX 3 elige su propia semilla, por lo que los resultados reales son no deterministas independientemente de este valor."
      },
      "video": {
        "name": "video",
        "tooltip": "El clip a continuar."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxDisableGuidance": {
    "description": "Este nodo desactiva completamente la guía incrustada en Flux y modelos similares a Flux",
    "display_name": "FluxDisableGuidance",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxEraseNode": {
    "description": "Elimina el objeto enmascarado de una imagen y reconstruye el fondo. Pinta la máscara sobre lo que deseas borrar.",
    "display_name": "Flux Borrar imagen",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "dilate_pixels": {
        "name": "dilatar_pixeles",
        "tooltip": "Expande los bordes de la máscara para asegurar una cobertura limpia de los bordes del objeto."
      },
      "image": {
        "name": "imagen"
      },
      "mask": {
        "name": "máscara",
        "tooltip": "Las áreas blancas se eliminan; las áreas negras se conservan."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxGuidance": {
    "display_name": "FluxGuidance",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      },
      "guidance": {
        "name": "guía"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKVCache": {
    "description": "Activa la optimización de KV Cache para imágenes de referencia en modelos de la familia Flux.",
    "display_name": "Flux KV Cache",
    "inputs": {
      "model": {
        "name": "modelo",
        "tooltip": "El modelo en el que se usará KV Cache."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El modelo modificado con KV Cache activado."
      }
    }
  },
  "FluxKontextImageScale": {
    "description": "Este nodo redimensiona la imagen a una más óptima para flux kontext.",
    "display_name": "EscalaImagenFluxKontext",
    "inputs": {
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextMaxImageNode": {
    "description": "Edita imágenes usando Flux.1 Kontext [máx] mediante API basado en prompt y relación de aspecto.",
    "display_name": "Imagen Flux.1 Kontext [máx]",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_aspecto",
        "tooltip": "Relación de aspecto de la imagen; debe estar entre 1:4 y 4:1."
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "guidance": {
        "name": "guía",
        "tooltip": "Intensidad de guía para el proceso de generación de imagen"
      },
      "input_image": {
        "name": "imagen_entrada"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de imagen - especifica qué y cómo editar."
      },
      "prompt_upsampling": {
        "name": "muestreo_prompt",
        "tooltip": "Si realizar muestreo en el prompt. Si está activo, modifica automáticamente el prompt para una generación más creativa, pero los resultados son no deterministas (la misma semilla no producirá exactamente el mismo resultado)."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      },
      "steps": {
        "name": "pasos",
        "tooltip": "Número de pasos para el proceso de generación de imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextMultiReferenceLatentMethod": {
    "display_name": "MétodoLatenteReferenciaMúltipleFluxKontext",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      },
      "reference_latents_method": {
        "name": "método_latentes_referencia"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextProImageNode": {
    "description": "Edita imágenes usando Flux.1 Kontext [pro] mediante API basado en prompt y relación de aspecto.",
    "display_name": "Imagen Flux.1 Kontext [pro]",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_aspecto",
        "tooltip": "Relación de aspecto de la imagen; debe estar entre 1:4 y 4:1."
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "guidance": {
        "name": "guía",
        "tooltip": "Intensidad de guía para el proceso de generación de imágenes"
      },
      "input_image": {
        "name": "imagen de entrada"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de imagen - especifica qué y cómo editar."
      },
      "prompt_upsampling": {
        "name": "remuestreo del prompt",
        "tooltip": "Si realizar remuestreo en el prompt. Si está activo, modifica automáticamente el prompt para una generación más creativa, pero los resultados son no deterministas (la misma semilla no producirá exactamente el mismo resultado)."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      },
      "steps": {
        "name": "pasos",
        "tooltip": "Número de pasos para el proceso de generación de imágenes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProExpandNode": {
    "description": "Expande la imagen según el prompt.",
    "display_name": "Flux.1 Expandir imagen",
    "inputs": {
      "bottom": {
        "name": "abajo",
        "tooltip": "Número de píxeles a expandir en la parte inferior de la imagen"
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "guidance": {
        "name": "guía",
        "tooltip": "Fuerza de la guía para el proceso de generación de imagen"
      },
      "image": {
        "name": "imagen"
      },
      "left": {
        "name": "izquierda",
        "tooltip": "Número de píxeles a expandir en el lado izquierdo de la imagen"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de la imagen"
      },
      "prompt_upsampling": {
        "name": "reescaleado de prompt",
        "tooltip": "Si se realiza reescaleado en el prompt. Si está activo, modifica automáticamente el prompt para una generación más creativa, pero los resultados son no deterministas (la misma semilla no producirá exactamente el mismo resultado)."
      },
      "right": {
        "name": "derecha",
        "tooltip": "Número de píxeles a expandir en el lado derecho de la imagen"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      },
      "steps": {
        "name": "pasos",
        "tooltip": "Número de pasos para el proceso de generación de imagen"
      },
      "top": {
        "name": "arriba",
        "tooltip": "Número de píxeles a expandir en la parte superior de la imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProFillNode": {
    "description": "Rellena la imagen según la mask y el prompt.",
    "display_name": "Flux.1 Rellenar Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "guidance": {
        "name": "guía",
        "tooltip": "Fuerza de la guía para el proceso de generación de imagen"
      },
      "image": {
        "name": "imagen"
      },
      "mask": {
        "name": "mask"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de la imagen"
      },
      "prompt_upsampling": {
        "name": "re-muestreo de prompt",
        "tooltip": "Indica si se realiza re-muestreo en el prompt. Si está activo, modifica automáticamente el prompt para una generación más creativa, pero los resultados no son deterministas (la misma semilla no producirá exactamente el mismo resultado)."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      },
      "steps": {
        "name": "pasos",
        "tooltip": "Número de pasos para el proceso de generación de imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProUltraImageNode": {
    "description": "Genera imágenes usando Flux Pro 1.1 Ultra vía API basado en el prompt y la resolución.",
    "display_name": "Flux 1.1 [pro] Ultra Image",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Relación de aspecto de la imagen; debe estar entre 1:4 y 4:1."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image_prompt": {
        "name": "image_prompt"
      },
      "image_prompt_strength": {
        "name": "image_prompt_strength",
        "tooltip": "Mezcla entre el prompt y el image prompt."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de la imagen"
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Indica si se realiza upsampling en el prompt. Si está activo, modifica automáticamente el prompt para una generación más creativa, pero los resultados son no deterministas (la misma semilla no producirá exactamente el mismo resultado)."
      },
      "raw": {
        "name": "raw",
        "tooltip": "Cuando es Verdadero, genera imágenes menos procesadas y de aspecto más natural."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxVTONode": {
    "description": "Prueba virtual: viste a la persona con la prenda proporcionada.",
    "display_name": "Flux Prueba virtual de ropa",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "garment": {
        "name": "prenda",
        "tooltip": "Imagen de la prenda a aplicar."
      },
      "person": {
        "name": "persona",
        "tooltip": "Imagen de la persona a vestir."
      },
      "prompt": {
        "name": "instrucción",
        "tooltip": "Instrucción opcional de estilo en lenguaje natural (por ejemplo, cómo debe ajustarse la prenda)."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FrameInterpolate": {
    "display_name": "Interpolar fotogramas",
    "inputs": {
      "images": {
        "name": "imágenes"
      },
      "interp_model": {
        "name": "interp_model"
      },
      "multiplier": {
        "name": "multiplicador"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FrameInterpolationModelLoader": {
    "display_name": "Cargar modelo de interpolación de fotogramas",
    "inputs": {
      "model_name": {
        "name": "nombre del modelo",
        "tooltip": "Selecciona un modelo de interpolación de fotogramas para cargar. Los modelos deben colocarse en la carpeta 'frame_interpolation'."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FreSca": {
    "description": "Aplica un escalado dependiente de la frecuencia a la guía",
    "display_name": "FreSca",
    "inputs": {
      "freq_cutoff": {
        "name": "corte_frecuencia",
        "tooltip": "Número de índices de frecuencia alrededor del centro a considerar como baja frecuencia"
      },
      "model": {
        "name": "modelo"
      },
      "scale_high": {
        "name": "escala_alta",
        "tooltip": "Factor de escala para los componentes de alta frecuencia"
      },
      "scale_low": {
        "name": "escala_baja",
        "tooltip": "Factor de escala para los componentes de baja frecuencia"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FreeU": {
    "display_name": "FreeU",
    "inputs": {
      "b1": {
        "name": "b1"
      },
      "b2": {
        "name": "b2"
      },
      "model": {
        "name": "modelo"
      },
      "s1": {
        "name": "s1"
      },
      "s2": {
        "name": "s2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FreeU_V2": {
    "display_name": "FreeU_V2",
    "inputs": {
      "b1": {
        "name": "b1"
      },
      "b2": {
        "name": "b2"
      },
      "model": {
        "name": "modelo"
      },
      "s1": {
        "name": "s1"
      },
      "s2": {
        "name": "s2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GITSScheduler": {
    "display_name": "GITSScheduler",
    "inputs": {
      "coeff": {
        "name": "coef"
      },
      "denoise": {
        "name": "denoise"
      },
      "steps": {
        "name": "pasos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GLIGENLoader": {
    "display_name": "GLIGENLoader",
    "inputs": {
      "gligen_name": {
        "name": "nombre_gligen"
      }
    }
  },
  "GLIGENTextBoxApply": {
    "display_name": "GLIGENTextBoxApply",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "conditioning_to": {
        "name": "acondicionamiento_a"
      },
      "gligen_textbox_model": {
        "name": "modelo_caja_texto_gligen"
      },
      "height": {
        "name": "altura"
      },
      "text": {
        "name": "texto"
      },
      "width": {
        "name": "ancho"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "GLSLShader": {
    "description": "Aplica shaders de fragmento GLSL ES a imágenes. u_resolution (vec2) siempre está disponible.",
    "display_name": "Shader GLSL",
    "inputs": {
      "bools": {
        "name": "booleanos",
        "tooltip": "Los booleanos están disponibles como u_bool0-9 (bool) en el código del shader"
      },
      "curves": {
        "name": "curvas",
        "tooltip": "Las curvas están disponibles como u_curve0-3 (sampler2D, LUT 1D) en el código del shader. Muestrea con texture(u_curve0, vec2(x, 0.5)).r"
      },
      "floats": {
        "name": "floats",
        "tooltip": "Los floats están disponibles como u_float0-4 en el código del shader"
      },
      "fragment_shader": {
        "name": "fragment_shader",
        "tooltip": "Código fuente del shader de fragmento GLSL (compatible con GLSL ES 3.00 / WebGL 2.0)"
      },
      "images": {
        "name": "images",
        "tooltip": "Las imágenes están disponibles como u_image0-4 (sampler2D) en el código del shader"
      },
      "ints": {
        "name": "ints",
        "tooltip": "Los ints están disponibles como u_int0-4 en el código del shader"
      },
      "size_mode": {
        "name": "size_mode",
        "tooltip": "Tamaño de salida: 'from_input' usa las dimensiones de la primera imagen de entrada, 'custom' permite tamaño manual"
      }
    },
    "outputs": {
      "0": {
        "name": "IMAGE0",
        "tooltip": "Disponible mediante layout(location = 0) out vec4 fragColor0 en el código del shader"
      },
      "1": {
        "name": "IMAGE1",
        "tooltip": "Disponible mediante layout(location = 1) out vec4 fragColor1 en el código del shader"
      },
      "2": {
        "name": "IMAGE2",
        "tooltip": "Disponible mediante layout(location = 2) out vec4 fragColor2 en el código del shader"
      },
      "3": {
        "name": "IMAGE3",
        "tooltip": "Disponible mediante layout(location = 3) out vec4 fragColor3 en el código del shader"
      }
    }
  },
  "GeminiImage2Node": {
    "description": "Genera o edita imágenes de forma sincrónica a través de la API de Google Vertex.",
    "display_name": "Nano Banana Pro (Google Gemini Image)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Si se establece en 'auto', coincide con la relación de aspecto de tu imagen de entrada; si no se proporciona imagen, normalmente se genera un cuadrado 16:9."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "Archivo(s) opcional(es) para usar como contexto para el modelo. Acepta entradas del nodo Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Imagen(es) de referencia opcional(es). Para incluir varias imágenes, utiliza el nodo Batch Images (hasta 14)."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto descriptivo de la imagen a generar o de las ediciones a aplicar. Incluye cualquier restricción, estilo o detalle que el modelo deba seguir."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Resolución de salida objetivo. Para 2K/4K se utiliza el escalador nativo de Gemini."
      },
      "response_modalities": {
        "name": "response_modalities",
        "tooltip": "Elige 'IMAGE' para solo imagen, o 'IMAGE+TEXT' para devolver tanto la imagen generada como una respuesta de texto."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Cuando la semilla se fija a un valor específico, el modelo intenta proporcionar la misma respuesta en solicitudes repetidas. No se garantiza una salida determinista. Además, cambiar el modelo o los parámetros, como la temperatura, puede causar variaciones en la respuesta incluso usando la misma semilla. Por defecto, se utiliza una semilla aleatoria."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instrucciones fundamentales que dictan el comportamiento de la IA."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GeminiImageNode": {
    "description": "Editar imágenes sincrónicamente mediante la API de Google.",
    "display_name": "Imagen de Google Gemini",
    "inputs": {
      "aspect_ratio": {
        "name": "relación de aspecto",
        "tooltip": "Por defecto, coincide con el tamaño de la imagen de salida con el de su imagen de entrada, o de lo contrario genera cuadrados 1:1."
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "files": {
        "name": "archivos",
        "tooltip": "Archivo(s) opcional(es) para usar como contexto para el modelo. Acepta entradas desde el nodo Archivos de Entrada de Contenido Generado por Gemini."
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Imagen(es) opcional(es) para usar como contexto para el modelo. Para incluir múltiples imágenes, puede utilizar el nodo Imágenes por Lotes."
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo Gemini a utilizar para generar respuestas."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para la generación"
      },
      "response_modalities": {
        "name": "response_modalities",
        "tooltip": "Elige 'IMAGE' para solo imagen, o 'IMAGE+TEXT' para devolver tanto la imagen generada como una respuesta de texto."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Cuando la semilla se fija a un valor específico, el modelo hace el mejor esfuerzo para proporcionar la misma respuesta para solicitudes repetidas. No se garantiza una salida determinista. Además, cambiar el modelo o la configuración de parámetros, como la temperatura, puede causar variaciones en la respuesta incluso cuando se utiliza el mismo valor de semilla. Por defecto, se utiliza un valor de semilla aleatorio."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instrucciones fundamentales que dictan el comportamiento de la IA."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GeminiInputFiles": {
    "description": "Carga y prepara archivos de entrada para incluirlos como entradas para los nodos LLM de Gemini. Los archivos serán leídos por el modelo Gemini al generar una respuesta. El contenido del archivo de texto cuenta hacia el límite de tokens. 🛈 CONSEJO: Se puede encadenar con otros nodos de Archivos de Entrada de Gemini.",
    "display_name": "Archivos de Entrada de Gemini",
    "inputs": {
      "GEMINI_INPUT_FILES": {
        "name": "ARCHIVOS_DE_ENTRADA_GEMINI",
        "tooltip": "Un archivo(s) adicional(es) opcional(es) para agrupar junto con el archivo cargado desde este nodo. Permite encadenar archivos de entrada para que un solo mensaje pueda incluir múltiples archivos de entrada."
      },
      "file": {
        "name": "archivo",
        "tooltip": "Archivos de entrada para incluir como contexto para el modelo. Por ahora solo acepta archivos de texto (.txt) y PDF (.pdf)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiNanoBanana2": {
    "description": "Genera o edita imágenes de forma síncrona a través de la API de Google Vertex.",
    "display_name": "Nano Banana 2",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Si se establece en 'auto', coincide con la relación de aspecto de tu imagen de entrada; si no se proporciona imagen, normalmente se genera un cuadrado 16:9."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "Archivo(s) opcional(es) para usar como contexto para el modelo. Acepta entradas del nodo Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Imagen(es) de referencia opcional(es). Para incluir varias imágenes, utiliza el nodo Batch Images (hasta 14)."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto descriptivo de la imagen a generar o de las ediciones a aplicar. Incluye cualquier restricción, estilo o detalle que el modelo deba seguir."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Resolución de salida objetivo. Para 2K/4K se utiliza el escalador nativo de Gemini."
      },
      "response_modalities": {
        "name": "response_modalities"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Cuando la semilla se fija a un valor específico, el modelo intenta proporcionar la misma respuesta en solicitudes repetidas. No se garantiza una salida determinista. Además, cambiar el modelo o los parámetros, como la temperatura, puede causar variaciones en la respuesta incluso usando la misma semilla. Por defecto, se utiliza un valor de semilla aleatorio."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instrucciones fundamentales que dictan el comportamiento de la IA."
      },
      "thinking_level": {
        "name": "thinking_level"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "thought_image",
        "tooltip": "Primera imagen del proceso de pensamiento del modelo. Solo disponible con nivel de pensamiento ALTO y modalidad IMAGEN+TEXTO."
      }
    }
  },
  "GeminiNanoBanana2V2": {
    "description": "Genera o edita imágenes de forma síncrona a través de la API de Google Vertex.",
    "display_name": "Nano Banana 2",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "model_thinking_level": {
        "name": "thinking_level"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto descriptivo de la imagen a generar o de las ediciones a aplicar. Incluye cualquier restricción, estilo o detalle que el modelo deba seguir."
      },
      "response_modalities": {
        "name": "response_modalities"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Cuando la semilla se fija a un valor específico, el modelo intenta proporcionar la misma respuesta en solicitudes repetidas. No se garantiza una salida determinista. Además, cambiar el modelo o los parámetros, como la temperatura, puede causar variaciones en la respuesta incluso usando la misma semilla. Por defecto, se utiliza una semilla aleatoria."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instrucciones fundamentales que dictan el comportamiento de la IA."
      },
      "temperature": {
        "name": "temperature",
        "tooltip": "Controla la aleatoriedad en la generación. Un valor más bajo es más enfocado/determinista."
      },
      "top_p": {
        "name": "top_p",
        "tooltip": "Umbral de muestreo por núcleo. Más bajo es más enfocado, más alto es más diverso."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "thought_image",
        "tooltip": "Primera imagen del proceso de pensamiento del modelo. Solo disponible con thinking_level ALTO y modalidad IMAGEN+TEXTO."
      }
    }
  },
  "GeminiNode": {
    "description": "Genera respuestas de texto con el modelo de IA Gemini de Google. Puede proporcionar múltiples tipos de entradas (texto, imágenes, audio, video) como contexto para generar respuestas más relevantes y significativas.",
    "display_name": "Google Gemini",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio opcional para usar como contexto para el modelo."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "files": {
        "name": "archivos",
        "tooltip": "Archivo(s) opcional(es) para usar como contexto para el modelo. Acepta entradas del nodo Archivos de Entrada de Contenido Generado por Gemini."
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Imagen(es) opcional(es) para usar como contexto para el modelo. Para incluir múltiples imágenes, puedes usar el nodo Imágenes por Lotes."
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo Gemini a utilizar para generar respuestas."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entradas de texto al modelo, utilizadas para generar una respuesta. Puede incluir instrucciones detalladas, preguntas o contexto para el modelo."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Cuando la semilla se fija a un valor específico, el modelo hace el mejor esfuerzo para proporcionar la misma respuesta para solicitudes repetidas. No se garantiza una salida determinista. Además, cambiar el modelo o la configuración de parámetros, como la temperatura, puede causar variaciones en la respuesta incluso cuando se utiliza el mismo valor de semilla. Por defecto, se utiliza un valor de semilla aleatorio."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instrucciones fundamentales que dictan el comportamiento de la IA."
      },
      "video": {
        "name": "video",
        "tooltip": "Video opcional para usar como contexto para el modelo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiNodeV2": {
    "description": "Genera respuestas de texto con los modelos Gemini de Google. Proporciona un mensaje de texto y, opcionalmente, una o más imágenes, clips de audio, videos o archivos como contexto multimodal.",
    "display_name": "Google Gemini",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "El modelo Gemini utilizado para generar la respuesta."
      },
      "model_max_output_tokens": {
        "name": "max_output_tokens"
      },
      "model_temperature": {
        "name": "temperature"
      },
      "model_thinking_level": {
        "name": "thinking_level"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entrada de texto para el modelo. Incluye instrucciones detalladas, preguntas o contexto."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para el muestreo. Establece en 0 para una semilla aleatoria. No se garantiza una salida determinista."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instrucciones fundamentales que dictan el comportamiento del modelo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiVideoOmni": {
    "description": "Genera un video con audio a partir de un prompt de texto usando el modelo Gemini Omni Flash de Google. Opcionalmente, proporciona imágenes y/o videos de referencia para guiar o editar el resultado. Describe la duración deseada (3-10s) y la relación de aspecto (16:9 o 9:16) directamente en el prompt.",
    "display_name": "Google Gemini Omni (Video)",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "El modelo de video Gemini utilizado para generar el video."
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_temperature": {
        "name": "temperature"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "seed": {
        "name": "seed",
        "tooltip": "La semilla controla si el nodo debe volver a ejecutarse; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GenerateTracks": {
    "display_name": "GenerateTracks",
    "inputs": {
      "bezier": {
        "name": "bezier",
        "tooltip": "Habilitar trayectoria de curva Bezier usando el punto medio como punto de control."
      },
      "end_x": {
        "name": "fin_x",
        "tooltip": "Coordenada X normalizada (0-1) para la posición final."
      },
      "end_y": {
        "name": "fin_y",
        "tooltip": "Coordenada Y normalizada (0-1) para la posición final."
      },
      "height": {
        "name": "alto"
      },
      "interpolation": {
        "name": "interpolación",
        "tooltip": "Controla el tiempo/velocidad del movimiento a lo largo de la trayectoria."
      },
      "mid_x": {
        "name": "medio_x",
        "tooltip": "Punto de control X normalizado para la curva Bezier. Solo se usa cuando 'bezier' está habilitado."
      },
      "mid_y": {
        "name": "medio_y",
        "tooltip": "Punto de control Y normalizado para la curva Bezier. Solo se usa cuando 'bezier' está habilitado."
      },
      "num_frames": {
        "name": "número_de_frames"
      },
      "num_tracks": {
        "name": "número_de_rutas"
      },
      "start_x": {
        "name": "inicio_x",
        "tooltip": "Coordenada X normalizada (0-1) para la posición inicial."
      },
      "start_y": {
        "name": "inicio_y",
        "tooltip": "Coordenada Y normalizada (0-1) para la posición inicial."
      },
      "track_mask": {
        "name": "máscara_de_ruta",
        "tooltip": "Máscara opcional para indicar los frames visibles."
      },
      "track_spread": {
        "name": "separación_de_rutas",
        "tooltip": "Distancia normalizada entre rutas. Las rutas se distribuyen perpendicularmente a la dirección del movimiento."
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "longitud_de_ruta",
        "tooltip": null
      }
    }
  },
  "GetICLoRAParameters": {
    "description": "Extrae los parámetros IC-LoRA de los metadatos safetensors de un modelo cargado con LoRA y los proporciona para LTXVAddGuide (por ejemplo, reference_downscale_factor).",
    "display_name": "Obtener parámetros IC-LoRA",
    "inputs": {
      "iclora_model": {
        "name": "iclora_model",
        "tooltip": "Salida directa de un LoRA Loader para el IC-LoRA específico del que se extraerán los metadatos."
      }
    },
    "outputs": {
      "0": {
        "name": "iclora_parameters",
        "tooltip": "Parámetros IC-LoRA extraídos de los metadatos de LoRA (por ejemplo, reference_downscale_factor). Conectar a LTXVAddGuide si el LoRA requiere un manejo especial de las guías."
      }
    }
  },
  "GetImageSize": {
    "description": "Devuelve el ancho y alto de la imagen, y la pasa sin cambios.",
    "display_name": "Obtener Tamaño de Imagen",
    "inputs": {
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "name": "ancho",
        "tooltip": null
      },
      "1": {
        "name": "alto",
        "tooltip": null
      },
      "2": {
        "name": "tamaño_de_lote",
        "tooltip": null
      }
    }
  },
  "GetSplatCount": {
    "description": "Devuelve el número de splats sumados en el lote.",
    "display_name": "Obtener recuento de splats",
    "inputs": {
      "splat": {
        "name": "splat"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      },
      "1": {
        "name": "recuento",
        "tooltip": null
      }
    }
  },
  "GetVideoComponents": {
    "description": "Extrae todos los componentes de un video: fotogramas, audio y velocidad de fotogramas.",
    "display_name": "Obtener componentes de video",
    "inputs": {
      "video": {
        "name": "video",
        "tooltip": "El video del que extraer los componentes."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": null
      },
      "1": {
        "name": "audio",
        "tooltip": null
      },
      "2": {
        "name": "fps",
        "tooltip": null
      },
      "3": {
        "name": "bit_depth",
        "tooltip": null
      }
    }
  },
  "GrokImageEditNode": {
    "description": "Modifica una imagen existente según una indicación de texto",
    "display_name": "Edición de imagen Grok",
    "inputs": {
      "aspect_ratio": {
        "name": "relación de aspecto",
        "tooltip": "Solo permitido cuando varias imágenes están conectadas a la entrada de imagen."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "image": {
        "name": "imagen"
      },
      "model": {
        "name": "modelo"
      },
      "number_of_images": {
        "name": "número de imágenes",
        "tooltip": "Cantidad de imágenes editadas a generar"
      },
      "prompt": {
        "name": "indicación",
        "tooltip": "La indicación de texto utilizada para generar la imagen"
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokImageEditNodeV2": {
    "description": "Modifica una imagen existente en base a un prompt de texto",
    "display_name": "Grok Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "model_aspect_ratio": {
        "name": "relación_de_aspecto"
      },
      "model_number_of_images": {
        "name": "número_de_imágenes"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "El prompt de texto utilizado para generar la imagen"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe volver a ejecutarse; los resultados reales son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokImageNode": {
    "description": "Genera imágenes usando Grok a partir de una indicación de texto",
    "display_name": "Imagen Grok",
    "inputs": {
      "aspect_ratio": {
        "name": "relación de aspecto"
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "number_of_images": {
        "name": "número de imágenes",
        "tooltip": "Cantidad de imágenes a generar"
      },
      "prompt": {
        "name": "indicación",
        "tooltip": "La indicación de texto utilizada para generar la imagen"
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoEditNode": {
    "description": "Edita un video existente según una indicación de texto.",
    "display_name": "Edición de video Grok",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "indicación",
        "tooltip": "Descripción en texto del video deseado."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      },
      "video": {
        "name": "video",
        "tooltip": "La duración máxima admitida es de 8,7 segundos y el tamaño máximo de archivo es de 50MB."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoExtendNode": {
    "description": "Extiende un video existente con una continuación fluida basada en un prompt de texto.",
    "display_name": "Extender video Grok",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo a utilizar para la extensión de video."
      },
      "model_duration": {
        "name": "duración"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción en texto de lo que debe suceder a continuación en el video."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      },
      "video": {
        "name": "video",
        "tooltip": "Video fuente a extender. Formato MP4, 2-15 segundos."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoNode": {
    "description": "Genera video a partir de una indicación o una imagen",
    "display_name": "Video Grok",
    "inputs": {
      "aspect_ratio": {
        "name": "relación de aspecto",
        "tooltip": "La relación de aspecto del video de salida."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "La duración del video de salida en segundos."
      },
      "image": {
        "name": "imagen",
        "tooltip": "Imagen inicial opcional para grok-imagine-video. Requerida para grok-imagine-video-1.5."
      },
      "model": {
        "name": "modelo",
        "tooltip": "grok-imagine-video-1.5 actualmente siempre requiere una imagen de entrada."
      },
      "prompt": {
        "name": "indicación",
        "tooltip": "Descripción en texto del video deseado."
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "La resolución del video de salida."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoReferenceNode": {
    "description": "Genera video guiado por imágenes de referencia como referencias de estilo y contenido.",
    "display_name": "Referencia a video Grok",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo a utilizar para la generación de video."
      },
      "model_aspect_ratio": {
        "name": "relación de aspecto"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "model_voice_1": {
        "name": "voz_1"
      },
      "model_voice_2": {
        "name": "voz_2"
      },
      "model_voice_3": {
        "name": "voz_3"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción en texto del video deseado."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrowMask": {
    "display_name": "GrowMask",
    "inputs": {
      "expand": {
        "name": "expandir"
      },
      "mask": {
        "name": "máscara"
      },
      "tapered_corners": {
        "name": "esquinas_afiladas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseImageToVideoApi": {
    "description": "Genera un video a partir de una imagen del primer fotograma usando el modelo HappyHorse.",
    "display_name": "HappyHorse Imagen a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "first_frame": {
        "name": "primer fotograma",
        "tooltip": "Imagen del primer fotograma. La relación de aspecto de salida se deriva de esta imagen."
      },
      "model": {
        "name": "modelo"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para usar en la generación."
      },
      "watermark": {
        "name": "marca de agua",
        "tooltip": "Indica si se añade una marca de agua generada por IA al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseReferenceVideoApi": {
    "description": "Genera un video con una persona u objeto a partir de materiales de referencia usando el modelo HappyHorse. Soporta actuaciones de un solo personaje e interacciones entre varios personajes.",
    "display_name": "HappyHorse Referencia a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "relación"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para usar en la generación."
      },
      "watermark": {
        "name": "marca de agua",
        "tooltip": "Indica si se añade una marca de agua generada por IA al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseTextToVideoApi": {
    "description": "Genera un video basado en un prompt de texto usando el modelo HappyHorse.",
    "display_name": "HappyHorse Texto a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "relación"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para usar en la generación."
      },
      "watermark": {
        "name": "marca de agua",
        "tooltip": "Indica si se añade una marca de agua generada por IA al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseVideoEditApi": {
    "description": "Edita un video usando instrucciones de texto o imágenes de referencia con el modelo HappyHorse. La duración de salida es de 3 a 15 segundos y coincide con el video de entrada; las entradas de más de 15 segundos se recortan.",
    "display_name": "HappyHorse Edición de Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "relación"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para usar en la generación."
      },
      "video": {
        "name": "video",
        "tooltip": "El video a editar."
      },
      "watermark": {
        "name": "marca de agua",
        "tooltip": "Indica si se añade una marca de agua generada por IA al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenAvatarVideoNode": {
    "description": "Genera un video de presentador parlante a partir de un avatar de HeyGen. Incluye los avatares públicos más populares de HeyGen; se puede proporcionar cualquier ID de look como reemplazo.",
    "display_name": "Video de Avatar HeyGen",
    "inputs": {
      "aspect_ratio": {
        "name": "relación de aspecto",
        "tooltip": "Relación de aspecto de salida. 'auto' sigue el metraje fuente del avatar."
      },
      "background_color": {
        "name": "color de fondo",
        "tooltip": "Color de fondo sólido opcional como código hex (ej. '#00ff00'). Déjalo vacío para usar el fondo propio del avatar."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "custom_avatar_id": {
        "name": "custom_avatar_id",
        "tooltip": "ID de look de avatar de HeyGen opcional. Si se establece, reemplaza el avatar seleccionado arriba. Se puede usar cualquiera de los más de 3000 looks públicos de HeyGen (o tus avatares privados)."
      },
      "engine": {
        "name": "motor",
        "tooltip": "Motor de renderizado; cada opción muestra solo los avatares que lo soportan. 'auto' ofrece todos los avatares y elige su mejor motor (se prefiere Avatar IV). Avatar V es la mayor fidelidad, Avatar III es el más asequible."
      },
      "engine_avatar": {
        "name": "avatar"
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "Resolución del video de salida."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "No se envía a HeyGen; cámbiala para forzar una nueva ejecución."
      },
      "speech": {
        "name": "voz",
        "tooltip": "Haz que el avatar hable con un guion de texto (HeyGen texto a voz) o tu propio audio."
      },
      "speech_custom_voice_id": {
        "name": "custom_voice_id"
      },
      "speech_text": {
        "name": "texto"
      },
      "speech_voice": {
        "name": "voz"
      },
      "speech_voice_speed": {
        "name": "velocidad de voz"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenCreateAvatarNode": {
    "description": "Crea tu propio avatar reutilizable de HeyGen a partir de una foto de una persona o de un prompt de texto (un personaje generado). Introduce el avatar_id resultante en custom_avatar_id de Video de Avatar HeyGen — y guarda el ID para reutilizar el avatar en futuros flujos de trabajo.",
    "display_name": "Crear Avatar HeyGen",
    "inputs": {
      "source": {
        "name": "fuente",
        "tooltip": "Genera un nuevo personaje a partir de un prompt de texto, o crea el avatar desde una foto conectada de una persona."
      },
      "source_prompt": {
        "name": "prompt"
      }
    },
    "outputs": {
      "0": {
        "name": "avatar_id",
        "tooltip": "ID de look de avatar. Pásalo a custom_avatar_id de Video de Avatar HeyGen; guárdalo para reutilizar el avatar más adelante."
      },
      "1": {
        "name": "vista previa",
        "tooltip": null
      }
    }
  },
  "HeyGenTalkingPhotoNode": {
    "description": "Anima cualquier imagen de una persona en un video hablado sincronizado con los labios (HeyGen Avatar IV). Controla el avatar con un guion de texto o tu propio audio.",
    "display_name": "HeyGen Talking Photo",
    "inputs": {
      "aspect_ratio": {
        "name": "relación de aspecto",
        "tooltip": "Relación de aspecto de salida. 'auto' sigue la imagen de entrada."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "expressiveness": {
        "name": "expresividad",
        "tooltip": "Qué tan expresivo es el rostro y los gestos animados."
      },
      "image": {
        "name": "imagen",
        "tooltip": "Imagen de una persona para animar. Se reduce automáticamente si es mayor que 2K."
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "Resolución del video de salida."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "No se envía a HeyGen; cámbiala para forzar una nueva ejecución."
      },
      "speech": {
        "name": "voz",
        "tooltip": "Controla el avatar con un guion de texto (HeyGen texto a voz) o tu propio audio."
      },
      "speech_custom_voice_id": {
        "name": "custom_voice_id"
      },
      "speech_text": {
        "name": "texto"
      },
      "speech_voice": {
        "name": "voz"
      },
      "speech_voice_speed": {
        "name": "velocidad_de_voz"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenTextToSpeechNode": {
    "description": "Genera audio de voz a partir de texto usando el motor Starfish TTS de HeyGen. Incluye las voces más populares de HeyGen en 17 idiomas.",
    "display_name": "HeyGen Texto a Voz",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "custom_voice_id": {
        "name": "custom_voice_id",
        "tooltip": "ID de voz de HeyGen opcional. Si se establece, sobrescribe la voz seleccionada arriba. La voz debe ser compatible con el motor Starfish."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "No se envía a HeyGen; cámbiala para forzar una nueva ejecución."
      },
      "speed": {
        "name": "velocidad",
        "tooltip": "Multiplicador de velocidad de la voz."
      },
      "ssml": {
        "name": "ssml",
        "tooltip": "Tratar el texto como marcado SSML (para pausas, énfasis y control de pronunciación)."
      },
      "text": {
        "name": "texto",
        "tooltip": "Texto para sintetizar (hasta 5000 caracteres). El audio generado debe durar al menos 1 segundo."
      },
      "voice": {
        "name": "voz",
        "tooltip": "Voz a utilizar (seleccionada de las voces más populares compatibles con Starfish de HeyGen)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenVideoTranslateNode": {
    "description": "Traduce un video hablado a otro idioma. Clona la voz original del hablante y reanima la boca para que coincida con el discurso traducido.",
    "display_name": "HeyGen Video Translate",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "mode": {
        "name": "mode",
        "tooltip": "'speed' es más rápido; 'precision' produce una sincronización labial de mayor calidad al doble de precio."
      },
      "output_language": {
        "name": "output_language",
        "tooltip": "Idioma de destino para el video traducido."
      },
      "seed": {
        "name": "seed",
        "tooltip": "No se envía a HeyGen; cámbialo para forzar una nueva ejecución."
      },
      "speaker_count": {
        "name": "speaker_count",
        "tooltip": "Número de hablantes en el video. 0 = detectar automáticamente."
      },
      "translate_audio_only": {
        "name": "translate_audio_only",
        "tooltip": "Solo intercambiar la pista de audio, manteniendo los movimientos originales de la boca (sin sincronización labial)."
      },
      "video": {
        "name": "video",
        "tooltip": "Video con voz para traducir."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HiDreamO1PatchSeamSmoothing": {
    "description": "Promedia la salida del modelo a través de múltiples posiciones desplazadas de la cuadrícula de parches durante la parte final del muestreo. Elimina costuras.",
    "display_name": "Suavizado de Costuras de Parches HiDream-O1",
    "inputs": {
      "blend": {
        "name": "mezcla",
        "tooltip": "average: media de igual peso. window: ponderación con ventana de Hann favoreciendo cada pasada lejos de los bordes de su parche. median: mediana por píxel, rechaza pasadas atípicas por envoltura."
      },
      "end_percent": {
        "name": "porcentaje_fin",
        "tooltip": "Progreso del muestreo en el que se desactiva la mezcla."
      },
      "model": {
        "name": "modelo"
      },
      "passes": {
        "name": "pasadas",
        "tooltip": "Número de pasadas por paso controlado. 2/4 = fijo. ramp_*: el número de pasadas aumenta a medida que el muestreo se acerca al final (más suavizado donde las costuras son más visibles)."
      },
      "pattern": {
        "name": "patrón",
        "tooltip": "Disposición del desplazamiento. single_shift: una pasada en la cuadrícula natural de parches + otras desplazadas. symmetric: todas las pasadas fuera de la cuadrícula, desplazamientos repartidos alrededor del origen."
      },
      "start_percent": {
        "name": "porcentaje_inicio",
        "tooltip": "Progreso del muestreo (0=inicio, 1=fin) en el que se activa la mezcla."
      },
      "strength": {
        "name": "fuerza",
        "tooltip": "Interpolación entre la predicción de la cuadrícula natural (0) y el resultado promediado (1)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HiDreamO1ReferenceImages": {
    "description": "Adjunta de 1 a 10 imágenes de referencia para el condicionamiento, una para instrucción de edición o varias para personalización basada en el sujeto.",
    "display_name": "Imágenes de Referencia HiDream-O1",
    "inputs": {
      "images": {
        "name": "imágenes",
        "tooltip": "Imágenes de referencia. 1 imagen = edición por instrucción; 2-10 imágenes = referencia múltiple."
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "HitPawGeneralImageEnhance": {
    "description": "Aumenta la resolución de imágenes de baja calidad a superresolución, elimina artefactos y ruido. Salida máxima: 32 megapíxeles.",
    "display_name": "HitPaw General Image Enhance",
    "inputs": {
      "auto_downscale": {
        "name": "reducción automática",
        "tooltip": "Reduce automáticamente la imagen de entrada si la salida supera el límite."
      },
      "image": {
        "name": "imagen"
      },
      "model": {
        "name": "modelo"
      },
      "upscale_factor": {
        "name": "factor de escalado"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HitPawVideoEnhance": {
    "description": "Aumenta la resolución de videos de baja calidad a alta resolución, elimina artefactos y ruido. Los precios mostrados son por segundo de video.",
    "display_name": "HitPaw Video Enhance",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Hunyuan3Dv2Conditioning": {
    "display_name": "Hunyuan3Dv2Conditioning",
    "inputs": {
      "clip_vision_output": {
        "name": "salida_vision_clip"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      }
    }
  },
  "Hunyuan3Dv2ConditioningMultiView": {
    "display_name": "Hunyuan3Dv2ConditioningMultiView",
    "inputs": {
      "back": {
        "name": "atrás"
      },
      "front": {
        "name": "frente"
      },
      "left": {
        "name": "izquierda"
      },
      "right": {
        "name": "derecha"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      }
    }
  },
  "HunyuanImageToVideo": {
    "display_name": "HunyuanImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote"
      },
      "guidance_type": {
        "name": "tipo_de_orientación"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "longitud"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "HunyuanRefinerLatent": {
    "display_name": "HunyuanRefinerLatent",
    "inputs": {
      "latent": {
        "name": "latente"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_augmentation": {
        "name": "aumento_ruido"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15ImageToVideo": {
    "display_name": "HunyuanVideo15ImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_de_lote"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15LatentUpscaleWithModel": {
    "display_name": "Hunyuan Video 15 Latent Upscale With Model",
    "inputs": {
      "crop": {
        "name": "recorte"
      },
      "height": {
        "name": "alto"
      },
      "model": {
        "name": "modelo"
      },
      "samples": {
        "name": "muestras"
      },
      "upscale_method": {
        "name": "método_de_escalado"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15SuperResolution": {
    "display_name": "HunyuanVideo15SuperResolution",
    "inputs": {
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "latent": {
        "name": "latente"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_augmentation": {
        "name": "aumento_de_ruido"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "HyperTile": {
    "display_name": "HyperTile",
    "inputs": {
      "max_depth": {
        "name": "profundidad_máxima"
      },
      "model": {
        "name": "modelo"
      },
      "scale_depth": {
        "name": "escala_de_profundidad"
      },
      "swap_size": {
        "name": "tamaño_de_intercambio"
      },
      "tile_size": {
        "name": "tamaño_de_mosaico"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HypernetworkLoader": {
    "display_name": "CargadorHypernetwork",
    "inputs": {
      "hypernetwork_name": {
        "name": "nombre_hypernetwork"
      },
      "model": {
        "name": "modelo"
      },
      "strength": {
        "name": "fuerza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Ideogram4Scheduler": {
    "display_name": "Planificador Ideogram 4",
    "inputs": {
      "height": {
        "name": "alto"
      },
      "mu": {
        "name": "mu"
      },
      "std": {
        "name": "std"
      },
      "steps": {
        "name": "pasos"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "IdeogramPImage": {
    "description": "Genera imágenes usando P-Image, el modelo rápido de texto a imagen de Ideogram. Tipografía fuerte y fotorrealismo; admite subtítulos estructurados en JSON de Ideogram 4.0 para texto, colores y diseño exactos.",
    "display_name": "Ideogram P-Image",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "La relación de aspecto para la generación de imágenes."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto. También acepta un subtítulo estructurado en JSON de Ideogram 4.0 (colores exactos como hexadecimales #RRGGBB, cadenas de texto exactas, diseño de caja delimitadora) — establece prompt_upsampling en OFF para usarlo literalmente."
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Expande prompts cortos en un subtítulo estructurado detallado antes de la generación (el prompt reescrito se devuelve como final_prompt). Establece en OFF cuando proporciones tu propio subtítulo JSON o texto exacto."
      },
      "quality": {
        "name": "quality",
        "tooltip": "Nivel de velocidad/precio/calidad. MEDIUM es el valor predeterminado diario; HIGH para prompts complejos, detalles finos y texto difícil; VERY_LOW/LOW para borradores a gran escala. El texto difícil se representa mal por debajo de MEDIUM."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Clase de tamaño de salida (los píxeles exactos siguen la relación de aspecto, por ejemplo, 16:9 da 1280x720 en 1K y 2560x1440 en 2K). Prefiere HIGH + 2K para tipografía nítida."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para generación reproducible. Con prompt_upsampling en OFF, la misma semilla y configuración devuelven la misma imagen; con ON/AUTO la reescritura del prompt varía en cada ejecución — reproduce un resultado reutilizando su salida final_prompt con prompt_upsampling en OFF y la misma semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "final_prompt",
        "tooltip": "El prompt desde el que realmente se generó la imagen (el subtítulo estructurado reescrito cuando se ejecutó prompt_upsampling, de lo contrario tu prompt). Vuelve a usarlo con prompt_upsampling en OFF y la misma semilla para reproducir esta imagen."
      }
    }
  },
  "IdeogramV3": {
    "description": "Genera imágenes de forma síncrona usando el modelo Ideogram V3.\n\nAdmite tanto la generación regular de imágenes a partir de indicaciones de texto como la edición de imágenes con mask.\nLos enlaces de las imágenes están disponibles por un período limitado; si deseas conservar la imagen, debes descargarla.",
    "display_name": "Ideogram V3",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "La relación de aspecto para la generación de imagen. Se ignora si la resolución no está en Automático."
      },
      "character_image": {
        "name": "imagen_personaje",
        "tooltip": "Imagen para usar como referencia del personaje."
      },
      "character_mask": {
        "name": "máscara_personaje",
        "tooltip": "Máscara opcional para la imagen de referencia del personaje."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image",
        "tooltip": "Imagen de referencia opcional para la edición de imagen."
      },
      "magic_prompt_option": {
        "name": "magic_prompt_option",
        "tooltip": "Determina si MagicPrompt debe usarse en la generación"
      },
      "mask": {
        "name": "mask",
        "tooltip": "Mask opcional para inpainting (las áreas blancas serán reemplazadas)"
      },
      "num_images": {
        "name": "num_images"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Indicación para la generación o edición de la imagen"
      },
      "rendering_speed": {
        "name": "rendering_speed",
        "tooltip": "Controla el equilibrio entre la velocidad de generación y la calidad"
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "La resolución para la generación de imagen. Si no está en Automático, esto sobrescribe la configuración de aspect_ratio."
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "IdeogramV4": {
    "description": "Genera imágenes usando el modelo Ideogram 4.0 a partir de un prompt de texto.",
    "display_name": "Ideogram V4",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para la generación de la imagen."
      },
      "rendering_speed": {
        "name": "velocidad_de_renderizado",
        "tooltip": "Controla el equilibrio entre la velocidad de generación y la calidad."
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageAddNoise": {
    "display_name": "ImagenAgregarRuido",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "image": {
        "name": "imagen"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      },
      "strength": {
        "name": "intensidad"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageBatch": {
    "display_name": "Lote de Imágenes",
    "inputs": {
      "image1": {
        "name": "imagen1"
      },
      "image2": {
        "name": "imagen2"
      }
    }
  },
  "ImageBlend": {
    "display_name": "Mezcla de Imágenes",
    "inputs": {
      "blend_factor": {
        "name": "factor_de_mezcla"
      },
      "blend_mode": {
        "name": "modo_de_mezcla"
      },
      "image1": {
        "name": "imagen1"
      },
      "image2": {
        "name": "imagen2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageBlur": {
    "display_name": "Desenfoque de Imagen",
    "inputs": {
      "blur_radius": {
        "name": "radio_de_desenfoque"
      },
      "image": {
        "name": "imagen"
      },
      "sigma": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageColorToMask": {
    "display_name": "ImageColorToMask",
    "inputs": {
      "color": {
        "name": "color"
      },
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCompare": {
    "description": "Compara dos imágenes una al lado de la otra con un control deslizante.",
    "display_name": "Comparar Imágenes",
    "inputs": {
      "compare_view": {
        "name": "vista_comparar"
      },
      "image_a": {
        "name": "imagen_a"
      },
      "image_b": {
        "name": "imagen_b"
      }
    }
  },
  "ImageCompositeMasked": {
    "display_name": "ImageCompositeMasked",
    "inputs": {
      "destination": {
        "name": "destino"
      },
      "mask": {
        "name": "máscara"
      },
      "resize_source": {
        "name": "redimensionar_fuente"
      },
      "source": {
        "name": "fuente"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCrop": {
    "display_name": "Recorte de Imagen",
    "inputs": {
      "height": {
        "name": "altura"
      },
      "image": {
        "name": "imagen"
      },
      "width": {
        "name": "ancho"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCropV2": {
    "description": "Recorta una imagen a las dimensiones especificadas.",
    "display_name": "Recorte de Imagen",
    "inputs": {
      "crop_region": {
        "name": "crop_region"
      },
      "height": {},
      "image": {
        "name": "image"
      },
      "width": {},
      "x": {},
      "y": {}
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageDeduplication": {
    "description": "Elimina imágenes duplicadas o muy similares de una lista.",
    "display_name": "Eliminación de Imágenes Duplicadas",
    "inputs": {
      "images": {
        "name": "imágenes",
        "tooltip": "Lista de imágenes a procesar."
      },
      "similarity_threshold": {
        "name": "umbral_de_similitud",
        "tooltip": "Umbral de similitud (0-1). Un valor más alto significa mayor similitud. Las imágenes por encima de este umbral se consideran duplicadas."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": "Imágenes procesadas"
      }
    }
  },
  "ImageFlip": {
    "display_name": "VoltearImagen",
    "inputs": {
      "flip_method": {
        "name": "método_volteo"
      },
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageFromBatch": {
    "display_name": "ImagenDeLote",
    "inputs": {
      "batch_index": {
        "name": "indice_lote"
      },
      "image": {
        "name": "imagen"
      },
      "length": {
        "name": "longitud"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageGrid": {
    "description": "Organiza varias imágenes en una cuadrícula.",
    "display_name": "Cuadrícula de Imágenes",
    "inputs": {
      "cell_height": {
        "name": "alto_de_celda",
        "tooltip": "Altura de cada celda en la cuadrícula."
      },
      "cell_width": {
        "name": "ancho_de_celda",
        "tooltip": "Ancho de cada celda en la cuadrícula."
      },
      "columns": {
        "name": "columnas",
        "tooltip": "Número de columnas en la cuadrícula."
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Lista de imágenes a procesar."
      },
      "padding": {
        "name": "espaciado",
        "tooltip": "Espaciado entre imágenes."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": "Imágenes procesadas"
      }
    }
  },
  "ImageHistogram": {
    "display_name": "Histograma de imagen",
    "inputs": {
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "name": "rgb",
        "tooltip": null
      },
      "1": {
        "name": "luminancia",
        "tooltip": null
      },
      "2": {
        "name": "rojo",
        "tooltip": null
      },
      "3": {
        "name": "verde",
        "tooltip": null
      },
      "4": {
        "name": "azul",
        "tooltip": null
      }
    }
  },
  "ImageInvert": {
    "display_name": "Invertir Imagen",
    "inputs": {
      "image": {
        "name": "imagen"
      }
    }
  },
  "ImageMergeTileList": {
    "display_name": "Unir lista de mosaicos en imagen",
    "inputs": {
      "final_height": {
        "name": "final_height"
      },
      "final_width": {
        "name": "final_width"
      },
      "image_list": {
        "name": "image_list"
      },
      "overlap": {
        "name": "overlap"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageOnlyCheckpointLoader": {
    "display_name": "Cargador de Puntos de Control Solo de Imagen (modelo img2vid)",
    "inputs": {
      "ckpt_name": {
        "name": "nombre_ckpt"
      }
    }
  },
  "ImageOnlyCheckpointSave": {
    "display_name": "GuardarPuntoDeControlSoloDeImagen",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      },
      "model": {
        "name": "modelo"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "ImagePadForOutpaint": {
    "display_name": "Rellenar Imagen para Pintar Fuera",
    "inputs": {
      "bottom": {
        "name": "abajo"
      },
      "feathering": {
        "name": "difuminado"
      },
      "image": {
        "name": "imagen"
      },
      "left": {
        "name": "izquierda"
      },
      "right": {
        "name": "derecha"
      },
      "top": {
        "name": "arriba"
      }
    }
  },
  "ImageQuantize": {
    "display_name": "Cuantizar Imagen",
    "inputs": {
      "colors": {
        "name": "colores"
      },
      "dither": {
        "name": "difuminado"
      },
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageRGBToYUV": {
    "display_name": "ImageRGBToYUV",
    "inputs": {
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "name": "Y",
        "tooltip": null
      },
      "1": {
        "name": "U",
        "tooltip": null
      },
      "2": {
        "name": "V",
        "tooltip": null
      }
    }
  },
  "ImageRotate": {
    "display_name": "RotarImagen",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "rotation": {
        "name": "rotación"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageScale": {
    "display_name": "Ampliar Imagen",
    "inputs": {
      "crop": {
        "name": "recorte"
      },
      "height": {
        "name": "altura"
      },
      "image": {
        "name": "imagen"
      },
      "upscale_method": {
        "name": "metodo_ampliacion"
      },
      "width": {
        "name": "ancho"
      }
    }
  },
  "ImageScaleBy": {
    "display_name": "Ampliar Imagen Por",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "scale_by": {
        "name": "escalar_por"
      },
      "upscale_method": {
        "name": "metodo_ampliacion"
      }
    }
  },
  "ImageScaleToMaxDimension": {
    "display_name": "EscalarImagenADimensiónMáxima",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "largest_size": {
        "name": "tamaño_máximo"
      },
      "upscale_method": {
        "name": "método_de_escalado"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageScaleToTotalPixels": {
    "display_name": "Escalar Imagen a Total de Pixeles",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "megapixels": {
        "name": "megapixeles"
      },
      "resolution_steps": {
        "name": "pasos_de_resolución"
      },
      "upscale_method": {
        "name": "metodo_ampliacion"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageSharpen": {
    "display_name": "Afinar Imagen",
    "inputs": {
      "alpha": {
        "name": "alfa"
      },
      "image": {
        "name": "imagen"
      },
      "sharpen_radius": {
        "name": "radio_afinado"
      },
      "sigma": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageStitch": {
    "description": "\nUne imagen2 a imagen1 en la dirección especificada.\nSi no se proporciona imagen2, devuelve imagen1 sin cambios.\nSe puede añadir espaciado opcional entre las imágenes.\n",
    "display_name": "Unión de Imágenes",
    "inputs": {
      "direction": {
        "name": "dirección"
      },
      "image1": {
        "name": "imagen1"
      },
      "image2": {
        "name": "imagen2"
      },
      "match_image_size": {
        "name": "coincidir_tamaño_imagen"
      },
      "spacing_color": {
        "name": "color_espaciado"
      },
      "spacing_width": {
        "name": "ancho_espaciado"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageToMask": {
    "display_name": "Convertir Imagen a Máscara",
    "inputs": {
      "channel": {
        "name": "canal"
      },
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageUpscaleWithModel": {
    "display_name": "Ampliar Imagen (usando Modelo)",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "upscale_model": {
        "name": "modelo_ampliacion"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageYUVToRGB": {
    "display_name": "ImageYUVToRGB",
    "inputs": {
      "U": {
        "name": "U"
      },
      "V": {
        "name": "V"
      },
      "Y": {
        "name": "Y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "InpaintModelConditioning": {
    "display_name": "InpaintModelConditioning",
    "inputs": {
      "mask": {
        "name": "máscara"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_mask": {
        "name": "máscara de ruido",
        "tooltip": "Agrega una máscara de ruido al latente para que el muestreo solo ocurra dentro de la máscara. Puede mejorar los resultados o romper completamente las cosas dependiendo del modelo."
      },
      "pixels": {
        "name": "píxeles"
      },
      "positive": {
        "name": "positivo"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      },
      "2": {
        "name": "latente"
      }
    }
  },
  "InstructPixToPixConditioning": {
    "display_name": "InstructPixToPixConditioning",
    "inputs": {
      "negative": {
        "name": "negativo"
      },
      "pixels": {
        "name": "píxeles"
      },
      "positive": {
        "name": "positivo"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "InvertMask": {
    "display_name": "InvertirMáscara",
    "inputs": {
      "mask": {
        "name": "máscara"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "JoinAudioChannels": {
    "description": "Une los canales de audio mono izquierdo y derecho en un audio estéreo.",
    "display_name": "Unir Canales de Audio",
    "inputs": {
      "audio_left": {
        "name": "audio_izquierdo"
      },
      "audio_right": {
        "name": "audio_derecho"
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "JoinImageWithAlpha": {
    "display_name": "Unir Imagen con Alfa",
    "inputs": {
      "alpha": {
        "name": "alfa"
      },
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "JsonExtractString": {
    "display_name": "Extraer cadena de JSON",
    "inputs": {
      "json_string": {
        "name": "json_string"
      },
      "key": {
        "name": "key"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KSampler": {
    "description": "Utiliza el modelo proporcionado, el acondicionamiento positivo y negativo para deshacer el ruido de la imagen latente.",
    "display_name": "KSampler",
    "inputs": {
      "cfg": {
        "name": "cfg",
        "tooltip": "La escala de Orientación Libre de Clasificador equilibra la creatividad y la adherencia al indicador. Los valores más altos resultan en imágenes que se asemejan más al indicador, sin embargo, valores demasiado altos afectarán negativamente la calidad."
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "denoise": {
        "name": "deshacer_ruido",
        "tooltip": "La cantidad de eliminación de ruido aplicada, los valores más bajos mantendrán la estructura de la imagen inicial permitiendo el muestreo de imagen a imagen."
      },
      "latent_image": {
        "name": "imagen_latente",
        "tooltip": "La imagen latente a deshacer el ruido."
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo utilizado para eliminar el ruido de la entrada latente."
      },
      "negative": {
        "name": "negativo",
        "tooltip": "El acondicionamiento que describe los atributos que quieres excluir de la imagen."
      },
      "positive": {
        "name": "positivo",
        "tooltip": "El acondicionamiento que describe los atributos que quieres incluir en la imagen."
      },
      "sampler_name": {
        "name": "nombre_muestreador",
        "tooltip": "El algoritmo utilizado al muestrear, esto puede afectar la calidad, velocidad y estilo de la salida generada."
      },
      "scheduler": {
        "name": "programador",
        "tooltip": "El programador controla cómo se elimina gradualmente el ruido para formar la imagen."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      },
      "steps": {
        "name": "pasos",
        "tooltip": "El número de pasos utilizados en el proceso de eliminación de ruido."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El latente deshacer el ruido."
      }
    }
  },
  "KSamplerAdvanced": {
    "display_name": "KSampler (Avanzado)",
    "inputs": {
      "add_noise": {
        "name": "añadir_ruido"
      },
      "cfg": {
        "name": "cfg"
      },
      "control_after_generate": {
        "name": "control_después_de_generar"
      },
      "end_at_step": {
        "name": "terminar_en_paso"
      },
      "latent_image": {
        "name": "imagen_latente"
      },
      "model": {
        "name": "modelo"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_seed": {
        "name": "semilla_de_ruido"
      },
      "positive": {
        "name": "positivo"
      },
      "return_with_leftover_noise": {
        "name": "devolver_con_ruido_sobrante"
      },
      "sampler_name": {
        "name": "nombre_del_muestreador"
      },
      "scheduler": {
        "name": "programador"
      },
      "start_at_step": {
        "name": "comenzar_en_paso"
      },
      "steps": {
        "name": "pasos"
      }
    }
  },
  "KSamplerSelect": {
    "display_name": "KSamplerSelect",
    "inputs": {
      "sampler_name": {
        "name": "nombre_del_muestreador"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Kandinsky5ImageToVideo": {
    "display_name": "Kandinsky5ImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "duración"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": "Latente de video vacío"
      },
      "3": {
        "name": "latente_cond",
        "tooltip": "Imágenes iniciales codificadas limpias, usadas para reemplazar el inicio ruidoso de los latentes de salida del modelo"
      }
    }
  },
  "KarrasScheduler": {
    "display_name": "KarrasScheduler",
    "inputs": {
      "rho": {
        "name": "rho"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "pasos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingAvatarNode": {
    "description": "Genera videos de humanos digitales de estilo broadcast a partir de una sola foto y un archivo de audio.",
    "display_name": "Kling Avatar 2.0",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "image": {
        "name": "imagen",
        "tooltip": "Imagen de referencia del avatar. El ancho y la altura deben ser de al menos 300 px. La relación de aspecto debe estar entre 1:2.5 y 2.5:1."
      },
      "mode": {
        "name": "modo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt opcional para definir acciones, emociones y movimientos de cámara del avatar."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "sound_file": {
        "name": "archivo_de_audio",
        "tooltip": "Entrada de audio. Debe tener una duración entre 2 y 300 segundos."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingFirstLastFrameNode": {
    "description": "Genera videos con Kling V3 usando el primer y último fotograma.",
    "display_name": "Kling 3.0 Primer-Último Fotograma a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "end_frame": {
        "name": "último_fotograma"
      },
      "first_frame": {
        "name": "primer_fotograma"
      },
      "generate_audio": {
        "name": "generar_audio"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Configuración del modelo y generación."
      },
      "model_resolution": {
        "name": "resolución"
      },
      "prompt": {
        "name": "prompt"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingImage2VideoNode": {
    "display_name": "Kling Imagen a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "duration": {
        "name": "duration"
      },
      "mode": {
        "name": "mode"
      },
      "model_name": {
        "name": "model_name"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt de texto negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Imagen de referencia - URL o cadena codificada en Base64, no puede exceder los 10MB, resolución no menor a 300*300px, relación de aspecto entre 1:2.5 ~ 2.5:1. El Base64 no debe incluir el prefijo data:image."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingImageGenerationNode": {
    "description": "Nodo de Generación de Imágenes Kling. Genera una imagen a partir de un prompt de texto con una imagen de referencia opcional.",
    "display_name": "Generación de Imágenes Kling",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "human_fidelity": {
        "name": "human_fidelity",
        "tooltip": "Similitud de referencia del sujeto"
      },
      "image": {
        "name": "image"
      },
      "image_fidelity": {
        "name": "image_fidelity",
        "tooltip": "Intensidad de referencia para imágenes subidas por el usuario"
      },
      "image_type": {
        "name": "image_type"
      },
      "model_name": {
        "name": "model_name"
      },
      "n": {
        "name": "n",
        "tooltip": "Número de imágenes generadas"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt de texto negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingImageToVideoWithAudio": {
    "display_name": "Kling Imagen (Primer fotograma) a Video con Audio",
    "inputs": {
      "duration": {
        "name": "duración"
      },
      "generate_audio": {
        "name": "generar_audio"
      },
      "mode": {
        "name": "modo"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo."
      },
      "start_frame": {
        "name": "fotograma_inicial"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingLipSyncAudioToVideoNode": {
    "description": "Nodo de Sincronización Labial Kling de Audio a Video. Sincroniza los movimientos de la boca en un archivo de video con el contenido de audio de un archivo de audio.",
    "display_name": "Sincronización Labial Kling: Video con Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "video": {
        "name": "video"
      },
      "voice_language": {
        "name": "idioma_de_voz"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "id_de_video",
        "tooltip": null
      },
      "2": {
        "name": "duración",
        "tooltip": null
      }
    }
  },
  "KlingLipSyncTextToVideoNode": {
    "description": "Nodo Kling Lip Sync de Texto a Video. Sincroniza los movimientos de la boca en un archivo de video con un texto.",
    "display_name": "Sincronización Labial Kling Video con Texto",
    "inputs": {
      "text": {
        "name": "texto",
        "tooltip": "Contenido de texto para la generación de video con sincronización labial. Requerido cuando el modo es text2video. La longitud máxima es de 120 caracteres."
      },
      "video": {
        "name": "video"
      },
      "voice": {
        "name": "voz"
      },
      "voice_speed": {
        "name": "velocidad_de_voz",
        "tooltip": "Velocidad del habla. Rango válido: 0.8~2.0, con una cifra decimal."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "id_video",
        "tooltip": null
      },
      "2": {
        "name": "duración",
        "tooltip": null
      }
    }
  },
  "KlingMotionControl": {
    "display_name": "Kling Control de Movimiento",
    "inputs": {
      "character_orientation": {
        "name": "orientación_personaje",
        "tooltip": "Controla de dónde proviene la orientación/posición del personaje.\nvideo: movimientos, expresiones, movimientos de cámara y orientación siguen el video de referencia de movimiento (otros detalles vía prompt).\nimagen: los movimientos y expresiones siguen el video de referencia de movimiento, pero la orientación del personaje coincide con la imagen de referencia (cámara/otros detalles vía prompt)."
      },
      "keep_original_sound": {
        "name": "mantener_sonido_original"
      },
      "mode": {
        "name": "modo"
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt"
      },
      "reference_image": {
        "name": "imagen_referencia"
      },
      "reference_video": {
        "name": "video_referencia",
        "tooltip": "Video de referencia de movimiento usado para guiar el movimiento/expresión.\nLos límites de duración dependen de character_orientation:\n - imagen: 3–10s (máx 10s)\n - video: 3–30s (máx 30s)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProEditVideoNode": {
    "description": "Edita un video existente con el modelo más reciente de Kling.",
    "display_name": "Kling Omni Editar Video (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "keep_original_sound": {
        "name": "mantener_sonido_original"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt de texto que describe el contenido del video. Puede incluir descripciones positivas y negativas."
      },
      "reference_images": {
        "name": "imágenes_referencia",
        "tooltip": "Hasta 4 imágenes de referencia adicionales."
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "video": {
        "name": "video",
        "tooltip": "Video para editar. La longitud del video de salida será la misma."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProFirstLastFrameNode": {
    "description": "Utiliza un fotograma inicial, un fotograma final opcional o imágenes de referencia con el último modelo de Kling.",
    "display_name": "Kling Omni Primer-Último-Frame a Video (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duration"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Un fotograma final opcional para el video. No se puede usar simultáneamente con 'reference_images'."
      },
      "first_frame": {
        "name": "first_frame"
      },
      "generate_audio": {
        "name": "generar_audio",
        "tooltip": "Genera audio para el video. Solo compatible con kling-v3-omni."
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt de texto que describe el contenido del video. Puede incluir descripciones tanto positivas como negativas."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Hasta 6 imágenes de referencia adicionales."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "storyboards": {
        "name": "storyboards",
        "tooltip": "Genera una serie de segmentos de video con prompts y duraciones individuales. Solo compatible con kling-v3-omni."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProImageNode": {
    "description": "Crea o edita imágenes con el último modelo de Kling.",
    "display_name": "Kling Omni Imagen (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt de texto que describe el contenido de la imagen. Puede incluir descripciones tanto positivas como negativas."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Hasta 10 imágenes de referencia adicionales."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "series_amount": {
        "name": "cantidad_de_series",
        "tooltip": "Genera una serie de imágenes. No compatible con kling-image-o1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProImageToVideoNode": {
    "description": "Utiliza hasta 7 imágenes de referencia para generar un video con el último modelo de Kling.",
    "display_name": "Kling Omni Imagen a Video (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "generar_audio",
        "tooltip": "Genera audio para el video. Solo compatible con kling-v3-omni."
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt de texto que describe el contenido del video. Puede incluir descripciones tanto positivas como negativas."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Hasta 7 imágenes de referencia."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "storyboards": {
        "name": "storyboards",
        "tooltip": "Genera una serie de segmentos de video con prompts y duraciones individuales. Solo compatible con kling-v3-omni."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProTextToVideoNode": {
    "description": "Utiliza prompts de texto para generar videos con el último modelo de Kling.",
    "display_name": "Kling Omni Texto a Video (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "generar_audio"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt de texto que describe el contenido del video. Puede incluir descripciones tanto positivas como negativas."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "storyboards": {
        "name": "storyboards",
        "tooltip": "Genera una serie de segmentos de video con prompts y duraciones individuales. Ignorado para el modelo o1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProVideoToVideoNode": {
    "description": "Utiliza un video y hasta 4 imágenes de referencia para generar un video con el modelo Kling más reciente.",
    "display_name": "Kling Omni Video a Video (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duration"
      },
      "keep_original_sound": {
        "name": "keep_original_sound"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt de texto que describe el contenido del video. Puede incluir descripciones tanto positivas como negativas."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Hasta 4 imágenes de referencia adicionales."
      },
      "reference_video": {
        "name": "reference_video",
        "tooltip": "Video a usar como referencia."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe volver a ejecutarse; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingStartEndFrameNode": {
    "description": "Genera una secuencia de video que transiciona entre las imágenes inicial y final proporcionadas. El nodo crea todos los fotogramas intermedios, produciendo una transformación suave desde el primer fotograma hasta el último.",
    "display_name": "Kling Fotograma Inicial-Final a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Imagen de referencia - Control del fotograma final. URL o cadena codificada en Base64, no puede exceder los 10MB, resolución no menor a 300*300px. El Base64 no debe incluir el prefijo data:image."
      },
      "mode": {
        "name": "mode",
        "tooltip": "La configuración a usar para la generación de video siguiendo el formato: modo / duración / nombre_del_modelo."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt de texto negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Imagen de referencia - URL o cadena codificada en Base64, no puede exceder los 10MB, resolución no menor a 300*300px, relación de aspecto entre 1:2.5 ~ 2.5:1. El Base64 no debe incluir el prefijo data:image."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingTextToVideoNode": {
    "description": "Nodo Kling Texto a Video",
    "display_name": "Kling Texto a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "mode": {
        "name": "mode",
        "tooltip": "La configuración a usar para la generación de video siguiendo el formato: modo / duración / nombre_del_modelo."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt de texto negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingTextToVideoWithAudio": {
    "display_name": "Kling Texto a Video con Audio",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "generate_audio"
      },
      "mode": {
        "name": "mode"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingVideoExtendNode": {
    "description": "Nodo Kling Video Extend. Extiende videos creados por otros nodos Kling. El video_id se crea utilizando otros nodos Kling.",
    "display_name": "Kling Video Extend",
    "inputs": {
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt de texto negativo para los elementos a evitar en el video extendido"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo para guiar la extensión del video"
      },
      "video_id": {
        "name": "video_id",
        "tooltip": "El ID del video a extender. Soporta videos generados por texto a video, imagen a video y operaciones previas de extensión de video. No puede exceder los 3 minutos de duración total después de la extensión."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingVideoNode": {
    "description": "Genera videos con Kling V3. Soporta texto a video e imagen a video con opción de storyboard multiprompt y generación de audio.",
    "display_name": "Kling 3.0 Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "generate_audio": {
        "name": "generar audio",
        "tooltip": "'kling-3.0-turbo' siempre genera audio nativo, por lo que la opción de audio se ignora."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Configuración del modelo y generación."
      },
      "model_aspect_ratio": {
        "name": "relación de aspecto"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "multi_shot": {
        "name": "multi_shot",
        "tooltip": "Genera una serie de segmentos de video con indicaciones y duraciones individuales."
      },
      "multi_shot_duration": {
        "name": "duración"
      },
      "multi_shot_negative_prompt": {
        "name": "indicaciones negativas"
      },
      "multi_shot_prompt": {
        "name": "indicaciones"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe volver a ejecutarse; los resultados son no deterministas independientemente de la semilla."
      },
      "start_frame": {
        "name": "fotograma inicial",
        "tooltip": "Imagen de fotograma inicial opcional. Al conectarse, cambia al modo imagen a video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Krea2ImageNode": {
    "description": "Genera imágenes con Krea 2: elige Medium (ilustraciones expresivas) o Large (fotorrealismo expresivo). Admite un moodboard opcional y hasta 10 referencias de estilo de imagen encadenadas.",
    "display_name": "Krea 2 Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Krea 2 Medium es ideal para ilustraciones expresivas; Krea 2 Large es ideal para fotorrealismo expresivo."
      },
      "model_aspect_ratio": {
        "name": "relación_de_aspecto"
      },
      "model_creativity": {
        "name": "creatividad"
      },
      "model_moodboard_id": {
        "name": "moodboard_id"
      },
      "model_moodboard_strength": {
        "name": "fuerza_moodboard"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto de entrada para la imagen."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla aleatoria para reproducibilidad."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Krea2StyleReferenceNode": {
    "description": "Agrega una referencia de estilo de imagen a una generación de Krea 2. Encadena múltiples nodos de Referencia de Estilo Krea 2 (máx. 10) y conecta la salida final `style_reference` a Krea 2 Imagen. Cada imagen se sube al almacenamiento de ComfyAPI y se pasa como URL.",
    "display_name": "Referencia de Estilo Krea 2",
    "inputs": {
      "image": {
        "name": "imagen",
        "tooltip": "Imagen de referencia cuyo estilo influye en la generación."
      },
      "strength": {
        "name": "fuerza",
        "tooltip": "Fuerza de la referencia; los valores negativos invierten la influencia del estilo."
      },
      "style_reference": {
        "name": "style_reference",
        "tooltip": "Cadena opcional de referencias de estilo entrantes; este nodo añade una más."
      }
    },
    "outputs": {
      "0": {
        "name": "style_reference",
        "tooltip": null
      }
    }
  },
  "LTXAVTextEncoderLoader": {
    "description": "[Recetas]\n\nltxav: gemma 3 12B",
    "display_name": "Cargador de codificador de texto LTXV Audio",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name"
      },
      "device": {
        "name": "device"
      },
      "text_encoder": {
        "name": "text_encoder"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVAddGuide": {
    "display_name": "LTXVAddGuide",
    "inputs": {
      "attention_mask": {
        "name": "attention_mask",
        "tooltip": "Máscara espacial opcional en el espacio de píxeles. Controla la influencia de la condición por región mediante self-attention, multiplicada por la intensidad."
      },
      "frame_idx": {
        "name": "indice_fotograma",
        "tooltip": "Índice de fotograma para comenzar la condición. Para imágenes de un solo fotograma o videos con 1-8 fotogramas, cualquier valor de indice_fotograma es aceptable. Para videos con 9+ fotogramas, indice_fotograma debe ser divisible por 8, de lo contrario se redondeará hacia abajo al múltiplo de 8 más cercano. Los valores negativos se cuentan desde el final del video."
      },
      "iclora_parameters": {
        "name": "iclora_parameters",
        "tooltip": "Parámetros IC-LoRA opcionales de un nodo Obtener parámetros IC-LoRA. Se usan para ajustar el procesamiento de guías según lo requieran ciertos IC-LoRA (por ejemplo, aquellos con reference_downscale_factor > 1). Cuando se encadenan, cada LTXVAddGuide usa solo los parámetros conectados a él."
      },
      "image": {
        "name": "imagen",
        "tooltip": "Imagen o video para condicionar el video latente. Debe ser 8*n + 1 fotogramas. Si el video no es 8*n + 1 fotogramas, se recortará a los 8*n + 1 fotogramas más cercanos."
      },
      "latent": {
        "name": "latente"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "strength": {
        "name": "fuerza"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAEDecode": {
    "display_name": "Decodificar LTXV Audio VAE",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "El modelo Audio VAE utilizado para decodificar el latente."
      },
      "samples": {
        "name": "samples",
        "tooltip": "El latente que se va a decodificar."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAEEncode": {
    "display_name": "Codificar LTXV Audio VAE",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "El audio que se va a codificar."
      },
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "El modelo Audio VAE a utilizar para la codificación."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio Latent",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAELoader": {
    "display_name": "Cargador de LTXV Audio VAE",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name",
        "tooltip": "Punto de control de Audio VAE a cargar."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio VAE",
        "tooltip": null
      }
    }
  },
  "LTXVConcatAVLatent": {
    "description": "Fusiona un latente de video y un latente de audio en un latente AV conjunto (cualquier modelo AV, por ejemplo LTXV o MiniMax H3).",
    "display_name": "LTXVConcatAVLatent",
    "inputs": {
      "audio_latent": {
        "name": "audio_latent"
      },
      "video_latent": {
        "name": "video_latent"
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "LTXVConditioning": {
    "display_name": "LTXVConditioning",
    "inputs": {
      "frame_rate": {
        "name": "tasa_fotogramas"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "LTXVContextWindows": {
    "description": "Configura ventanas de contexto para modelos tipo LTXV.",
    "display_name": "Ventanas de Contexto LTXV",
    "inputs": {
      "closed_loop": {
        "name": "closed_loop",
        "tooltip": "Si se debe cerrar el bucle de la ventana de contexto; solo aplicable a programaciones en bucle."
      },
      "context_length": {
        "name": "context_length",
        "tooltip": "La longitud de la ventana de contexto en fotogramas reales. Debe ser 8*n + 1."
      },
      "context_overlap": {
        "name": "context_overlap",
        "tooltip": "La superposición de la ventana de contexto en fotogramas reales."
      },
      "context_schedule": {
        "name": "context_schedule",
        "tooltip": "Algoritmo de programación dependiente del paso para ventanas de contexto."
      },
      "context_stride": {
        "name": "context_stride",
        "tooltip": "El intervalo de la ventana de contexto; solo aplicable a programaciones uniformes."
      },
      "freenoise": {
        "name": "freenoise",
        "tooltip": "Si se debe aplicar el barajado de ruido FreeNoise, mejora la mezcla entre ventanas."
      },
      "fuse_method": {
        "name": "fuse_method",
        "tooltip": "El método a utilizar para fusionar las ventanas de contexto."
      },
      "model": {
        "name": "model",
        "tooltip": "El modelo al que se aplicarán las ventanas de contexto durante el muestreo."
      },
      "retain_first_frame": {
        "name": "retain_first_frame",
        "tooltip": "Conservar el primer fotograma latente en cada ventana de contexto (puede ayudar a mantener la referencia inicial)."
      },
      "split_conds_to_windows": {
        "name": "split_conds_to_windows",
        "tooltip": "Si se deben dividir múltiples acondicionamientos (creados por ConditionCombine) en cada ventana según el índice de región."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El modelo con ventanas de contexto aplicadas durante el muestreo."
      }
    }
  },
  "LTXVCropGuides": {
    "display_name": "LTXVCropGuides",
    "inputs": {
      "latent": {
        "name": "latente"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "LTXVEmptyLatentAudio": {
    "display_name": "LTXV Audio Latente Vacío",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "El modelo Audio VAE del que obtener la configuración."
      },
      "batch_size": {
        "name": "batch_size",
        "tooltip": "El número de muestras de audio latente en el lote."
      },
      "frame_rate": {
        "name": "frame_rate",
        "tooltip": "Número de fotogramas por segundo."
      },
      "frames_number": {
        "name": "frames_number",
        "tooltip": "Número de fotogramas."
      }
    },
    "outputs": {
      "0": {
        "name": "Latent",
        "tooltip": null
      }
    }
  },
  "LTXVImgToVideo": {
    "display_name": "LTXVImgToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "height": {
        "name": "altura"
      },
      "image": {
        "name": "imagen"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "strength": {
        "name": "fuerza"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "LTXVImgToVideoInplace": {
    "display_name": "LTXVImgToVideoInplace",
    "inputs": {
      "bypass": {
        "name": "omitir",
        "tooltip": "Omitir el acondicionamiento."
      },
      "image": {
        "name": "imagen"
      },
      "latent": {
        "name": "latente"
      },
      "strength": {
        "name": "fuerza"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "LTXVLatentUpsampler": {
    "display_name": "LTXVLatentUpsampler",
    "inputs": {
      "samples": {
        "name": "muestras"
      },
      "upscale_model": {
        "name": "modelo_de_escalado"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVPreprocess": {
    "display_name": "LTXVPreprocesar",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "img_compression": {
        "name": "img_compresion",
        "tooltip": "Cantidad de compresión para aplicar en la imagen."
      }
    },
    "outputs": {
      "0": {
        "name": "imagen_salida",
        "tooltip": null
      }
    }
  },
  "LTXVReferenceAudio": {
    "description": "Establece el audio de referencia para la transferencia de identidad de locutor con ID-LoRA. Codifica un clip de audio de referencia en el condicionamiento y, opcionalmente, modifica el modelo con una guía de identidad (pase adicional sin referencia, amplificando el efecto de identidad del locutor).",
    "display_name": "LTXV Reference Audio (ID-LoRA)",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "LTXV Audio VAE para la codificación."
      },
      "end_percent": {
        "name": "porcentaje_fin",
        "tooltip": "Fin del rango sigma donde la guía de identidad está activa."
      },
      "identity_guidance_scale": {
        "name": "escala_guía_identidad",
        "tooltip": "Intensidad de la guía de identidad. Ejecuta un pase adicional sin referencia en cada paso para amplificar la identidad del locutor. Establece en 0 para desactivar (sin pase adicional)."
      },
      "model": {
        "name": "modelo"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "reference_audio": {
        "name": "audio_referencia",
        "tooltip": "Clip de audio de referencia cuya identidad de locutor se va a transferir. Se recomienda ~5 segundos (duración de entrenamiento). Clips más cortos o largos pueden degradar la transferencia de identidad de voz."
      },
      "start_percent": {
        "name": "porcentaje_inicio",
        "tooltip": "Inicio del rango sigma donde la guía de identidad está activa."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "positivo",
        "tooltip": null
      },
      "2": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "LTXVScheduler": {
    "display_name": "LTXVProgramador",
    "inputs": {
      "base_shift": {
        "name": "base_desplazamiento"
      },
      "latent": {
        "name": "latente"
      },
      "max_shift": {
        "name": "max_desplazamiento"
      },
      "steps": {
        "name": "pasos"
      },
      "stretch": {
        "name": "estiramiento",
        "tooltip": "Estira las sigmas para estar en el rango [terminal, 1]."
      },
      "terminal": {
        "name": "terminal",
        "tooltip": "El valor terminal de las sigmas después del estiramiento."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVSeparateAVLatent": {
    "description": "LTXV Separar AV Latente",
    "display_name": "LTXVSeparateAVLatent",
    "inputs": {
      "av_latent": {
        "name": "av_latente"
      }
    },
    "outputs": {
      "0": {
        "name": "latente_video",
        "tooltip": null
      },
      "1": {
        "name": "latente_audio",
        "tooltip": null
      }
    }
  },
  "LaplaceScheduler": {
    "display_name": "LaplaceScheduler",
    "inputs": {
      "beta": {
        "name": "beta"
      },
      "mu": {
        "name": "mu"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "pasos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentAdd": {
    "display_name": "LatentAdd",
    "inputs": {
      "samples1": {
        "name": "muestras1"
      },
      "samples2": {
        "name": "muestras2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentApplyOperation": {
    "display_name": "LatentApplyOperation",
    "inputs": {
      "operation": {
        "name": "operación"
      },
      "samples": {
        "name": "muestras"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentApplyOperationCFG": {
    "display_name": "LatentApplyOperationCFG",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "operation": {
        "name": "operación"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBatch": {
    "display_name": "LatentBatch",
    "inputs": {
      "samples1": {
        "name": "muestras1"
      },
      "samples2": {
        "name": "muestras2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBatchSeedBehavior": {
    "display_name": "LatentBatchSeedBehavior",
    "inputs": {
      "samples": {
        "name": "muestras"
      },
      "seed_behavior": {
        "name": "comportamiento_de_semilla"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBlend": {
    "display_name": "Mezcla Latente",
    "inputs": {
      "blend_factor": {
        "name": "factor_de_mezcla"
      },
      "samples1": {
        "name": "muestras1"
      },
      "samples2": {
        "name": "muestras2"
      }
    }
  },
  "LatentComposite": {
    "display_name": "Compuesto Latente",
    "inputs": {
      "feather": {
        "name": "pluma"
      },
      "samples_from": {
        "name": "muestras_de"
      },
      "samples_to": {
        "name": "muestras_a"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "LatentCompositeMasked": {
    "display_name": "CompuestoLatenteEnmascarado",
    "inputs": {
      "destination": {
        "name": "destino"
      },
      "mask": {
        "name": "máscara"
      },
      "resize_source": {
        "name": "redimensionar_fuente"
      },
      "source": {
        "name": "fuente"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentConcat": {
    "display_name": "ConcatenaciónLatente",
    "inputs": {
      "dim": {
        "name": "dimensión"
      },
      "samples1": {
        "name": "muestras1"
      },
      "samples2": {
        "name": "muestras2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentCrop": {
    "display_name": "Recortar Latente",
    "inputs": {
      "height": {
        "name": "altura"
      },
      "samples": {
        "name": "muestras"
      },
      "width": {
        "name": "ancho"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "LatentCut": {
    "display_name": "CorteLatente",
    "inputs": {
      "amount": {
        "name": "cantidad"
      },
      "dim": {
        "name": "dimensión"
      },
      "index": {
        "name": "índice"
      },
      "samples": {
        "name": "muestras"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentCutToBatch": {
    "display_name": "LatentCutToBatch",
    "inputs": {
      "dim": {
        "name": "dim"
      },
      "samples": {
        "name": "samples"
      },
      "slice_size": {
        "name": "slice_size"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentFlip": {
    "display_name": "Voltear Latente",
    "inputs": {
      "flip_method": {
        "name": "método_volteo"
      },
      "samples": {
        "name": "muestras"
      }
    }
  },
  "LatentFromBatch": {
    "display_name": "Latente De Lote",
    "inputs": {
      "batch_index": {
        "name": "índice_lote"
      },
      "length": {
        "name": "longitud"
      },
      "samples": {
        "name": "muestras"
      }
    }
  },
  "LatentInterpolate": {
    "display_name": "Interpolar Latente",
    "inputs": {
      "ratio": {
        "name": "proporción"
      },
      "samples1": {
        "name": "muestras1"
      },
      "samples2": {
        "name": "muestras2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentMultiply": {
    "display_name": "Multiplicar Latente",
    "inputs": {
      "multiplier": {
        "name": "multiplicador"
      },
      "samples": {
        "name": "muestras"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentOperationSharpen": {
    "display_name": "OperaciónAfiladoLatente",
    "inputs": {
      "alpha": {
        "name": "alfa"
      },
      "sharpen_radius": {
        "name": "radio_afilado"
      },
      "sigma": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentOperationTonemapReinhard": {
    "display_name": "OperaciónTonemapReinhardLatente",
    "inputs": {
      "multiplier": {
        "name": "multiplicador"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentRotate": {
    "display_name": "Rotar Latente",
    "inputs": {
      "rotation": {
        "name": "rotación"
      },
      "samples": {
        "name": "muestras"
      }
    }
  },
  "LatentSubtract": {
    "display_name": "Restar Latente",
    "inputs": {
      "samples1": {
        "name": "muestras1"
      },
      "samples2": {
        "name": "muestras2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentUpscale": {
    "display_name": "Escalar Latente",
    "inputs": {
      "crop": {
        "name": "recorte"
      },
      "height": {
        "name": "altura"
      },
      "samples": {
        "name": "muestras"
      },
      "upscale_method": {
        "name": "método_escala"
      },
      "width": {
        "name": "ancho"
      }
    }
  },
  "LatentUpscaleBy": {
    "display_name": "Escalar Latente Por",
    "inputs": {
      "samples": {
        "name": "muestras"
      },
      "scale_by": {
        "name": "escalar_por"
      },
      "upscale_method": {
        "name": "método_escala"
      }
    }
  },
  "LatentUpscaleModelLoader": {
    "display_name": "Cargar modelo de escalado Latent",
    "inputs": {
      "model_name": {
        "name": "model_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LazyCache": {
    "description": "Una versión casera de EasyCache - versión 'más fácil' de EasyCache para implementar. En general funciona peor que EasyCache, pero mejor en algunos casos raros Y compatibilidad universal con todo en ComfyUI.",
    "display_name": "CachéPerezoso",
    "inputs": {
      "end_percent": {
        "name": "porcentaje_fin",
        "tooltip": "El paso de muestreo relativo para finalizar el uso de CachéPerezoso."
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo al que añadir CachéPerezoso."
      },
      "reuse_threshold": {
        "name": "umbral_reutilización",
        "tooltip": "El umbral para reutilizar pasos en caché."
      },
      "start_percent": {
        "name": "porcentaje_inicio",
        "tooltip": "El paso de muestreo relativo para comenzar el uso de CachéPerezoso."
      },
      "verbose": {
        "name": "detallado",
        "tooltip": "Si se debe registrar información detallada."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El modelo con CachéPerezoso."
      }
    }
  },
  "Load3D": {
    "display_name": "Cargar 3D",
    "inputs": {
      "clear": {},
      "height": {
        "name": "alto"
      },
      "image": {
        "name": "imagen"
      },
      "model_file": {
        "name": "archivo_modelo"
      },
      "upload 3d model": {},
      "upload extra resources": {},
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "imagen",
        "tooltip": null
      },
      "1": {
        "name": "mask",
        "tooltip": null
      },
      "2": {
        "name": "mesh_path",
        "tooltip": null
      },
      "3": {
        "name": "normal",
        "tooltip": null
      },
      "4": {
        "name": "camera_info",
        "tooltip": null
      },
      "5": {
        "name": "recording_video",
        "tooltip": null
      },
      "6": {
        "name": "model_3d",
        "tooltip": null
      },
      "7": {
        "name": "model_3d_info",
        "tooltip": null
      }
    }
  },
  "Load3DAdvanced": {
    "display_name": "Cargar 3D (Avanzado)",
    "inputs": {
      "height": {
        "name": "height"
      },
      "model_file": {
        "name": "model_file"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "LoadAudio": {
    "display_name": "CargarAudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "upload": {
        "name": "elige archivo para subir"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadBackgroundRemovalModel": {
    "display_name": "Cargar modelo de eliminación de fondo",
    "inputs": {
      "bg_removal_name": {
        "name": "nombre_del_modelo_de_eliminación_de_fondo",
        "tooltip": "El modelo utilizado para eliminar fondos de imágenes"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_de_fondo",
        "tooltip": null
      }
    }
  },
  "LoadDA3Model": {
    "display_name": "Cargar Depth Anything 3",
    "inputs": {
      "model_name": {
        "name": "model_name"
      },
      "weight_dtype": {
        "name": "weight_dtype"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadImage": {
    "display_name": "Cargar Imagen",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "upload": {
        "name": "elige archivo para subir"
      }
    }
  },
  "LoadImageDataSetFromFolder": {
    "description": "Carga un conjunto de datos de imágenes desde una carpeta especificada y devuelve una lista de imágenes. Formatos soportados: PNG, JPG, JPEG, WEBP.",
    "display_name": "Cargar conjunto de imágenes desde carpeta",
    "inputs": {
      "folder": {
        "name": "folder",
        "tooltip": "La carpeta desde la que cargar las imágenes."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Lista de imágenes cargadas"
      }
    }
  },
  "LoadImageMask": {
    "display_name": "Cargar Imagen (como Máscara)",
    "inputs": {
      "channel": {
        "name": "canal"
      },
      "image": {
        "name": "imagen"
      },
      "upload": {
        "name": "elige archivo para subir"
      }
    }
  },
  "LoadImageOutput": {
    "description": "Carga una imagen desde la carpeta de salida. Cuando se hace clic en el botón de actualizar, el nodo actualizará la lista de imágenes y seleccionará automáticamente la primera imagen, permitiendo una fácil iteración.",
    "display_name": "Cargar Imagen (desde Salidas)",
    "inputs": {
      "Auto-refresh after generation": {},
      "image": {
        "name": "imagen"
      },
      "refresh": {},
      "upload": {
        "name": "elige archivo para subir"
      }
    }
  },
  "LoadImageTextDataSetFromFolder": {
    "description": "Carga un conjunto de datos de pares de imágenes y textos desde una carpeta especificada y los devuelve como una lista. Formatos soportados: PNG, JPG, JPEG, WEBP.",
    "display_name": "Cargar conjunto de imágenes y texto desde carpeta",
    "inputs": {
      "folder": {
        "name": "folder",
        "tooltip": "La carpeta desde la que cargar las imágenes."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Lista de imágenes cargadas"
      },
      "1": {
        "name": "texts",
        "tooltip": "Lista de subtítulos de texto"
      }
    }
  },
  "LoadLatent": {
    "display_name": "CargarLatente",
    "inputs": {
      "latent": {
        "name": "latente"
      }
    }
  },
  "LoadMediaPipeFaceLandmarker": {
    "display_name": "Cargar MediaPipe Face Landmarker",
    "inputs": {
      "model_name": {
        "name": "model_name",
        "tooltip": "Face Landmarker safetensors de models/mediapipe/."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadMoGeModel": {
    "display_name": "Cargar modelo MoGe",
    "inputs": {
      "model_name": {
        "name": "model_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadTrainingDataset": {
    "description": "Carga un conjunto de datos de entrenamiento codificado (latentes + condicionamiento) desde el disco para su uso en entrenamiento.",
    "display_name": "Cargar conjunto de datos de entrenamiento",
    "inputs": {
      "folder_name": {
        "name": "folder_name",
        "tooltip": "Nombre de la carpeta que contiene el conjunto de datos guardado (dentro del directorio de salida)."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "Lista de diccionarios de latentes"
      },
      "1": {
        "name": "conditioning",
        "tooltip": "Lista de listas de condicionamiento"
      }
    }
  },
  "LoadVideo": {
    "display_name": "Cargar video",
    "inputs": {
      "file": {
        "name": "archivo"
      },
      "upload": {
        "name": "elegir archivo para subir"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadVideoDataSetFromFolder": {
    "description": "Carga un conjunto de videos desde una carpeta especificada y devuelve una lista de videos. Formatos soportados: MP4, AVI, MOV, WEBM, MKV, FLV.",
    "display_name": "Cargar Video (desde Carpeta)",
    "inputs": {
      "folder": {
        "name": "folder",
        "tooltip": "La carpeta que contiene los archivos de video."
      }
    },
    "outputs": {
      "0": {
        "name": "videos",
        "tooltip": "Referencias de video perezosas; los fotogramas solo se decodifican cuando se necesitan más adelante."
      }
    }
  },
  "LoadVideoTextDataSetFromFolder": {
    "description": "Carga un conjunto de pares de videos y subtítulos de texto desde una carpeta especificada y los devuelve como una lista. Formatos soportados: MP4, AVI, MOV, WEBM, MKV, FLV.",
    "display_name": "Cargar Video-Texto (desde Carpeta)",
    "inputs": {
      "folder": {
        "name": "folder",
        "tooltip": "La carpeta que contiene los archivos de video y los subtítulos .txt."
      }
    },
    "outputs": {
      "0": {
        "name": "videos",
        "tooltip": "Referencias de video perezosas; los fotogramas solo se decodifican cuando se necesitan más adelante."
      },
      "1": {
        "name": "texts",
        "tooltip": "Lista de subtítulos de texto."
      }
    }
  },
  "LoraLoader": {
    "description": "Las LoRAs se utilizan para modificar los modelos de difusión y CLIP, alterando la forma en que se desruidan los latentes, como la aplicación de estilos. Se pueden vincular varios nodos de LoRA.",
    "display_name": "Cargar LoRA",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "El modelo CLIP al que se aplicará la LoRA."
      },
      "lora_name": {
        "name": "nombre_lora",
        "tooltip": "El nombre de la LoRA."
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo de difusión al que se aplicará la LoRA."
      },
      "strength_clip": {
        "name": "fuerza_clip",
        "tooltip": "Cuánto modificar el modelo CLIP. Este valor puede ser negativo."
      },
      "strength_model": {
        "name": "fuerza_modelo",
        "tooltip": "Cuánto modificar el modelo de difusión. Este valor puede ser negativo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El modelo de difusión modificado."
      },
      "1": {
        "tooltip": "El modelo CLIP modificado."
      }
    }
  },
  "LoraLoaderBypass": {
    "description": "Aplica LoRA en modo bypass. A diferencia de LoRA regular, esto no modifica los pesos del modelo, sino que inyecta el cálculo de LoRA durante la pasada hacia adelante. Útil para escenarios de entrenamiento.",
    "display_name": "Cargar LoRA (Bypass) (Para depuración)",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "El modelo CLIP al que se aplicará LoRA."
      },
      "lora_name": {
        "name": "lora_name",
        "tooltip": "El nombre de la LoRA."
      },
      "model": {
        "name": "model",
        "tooltip": "El modelo de difusión al que se aplicará LoRA."
      },
      "strength_clip": {
        "name": "strength_clip",
        "tooltip": "Qué tanto modificar el modelo CLIP. Este valor puede ser negativo."
      },
      "strength_model": {
        "name": "strength_model",
        "tooltip": "Qué tanto modificar el modelo de difusión. Este valor puede ser negativo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El modelo de difusión modificado."
      },
      "1": {
        "tooltip": "El modelo CLIP modificado."
      }
    }
  },
  "LoraLoaderBypassModelOnly": {
    "description": "Aplica LoRA en modo bypass. A diferencia de LoRA regular, esto no modifica los pesos del modelo, sino que inyecta el cálculo de LoRA durante la pasada hacia adelante. Útil para escenarios de entrenamiento.",
    "display_name": "Cargar LoRA (Bypass, Solo Modelo) (para depuración)",
    "inputs": {
      "lora_name": {
        "name": "lora_name"
      },
      "model": {
        "name": "model"
      },
      "strength_model": {
        "name": "strength_model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El modelo de difusión modificado."
      }
    }
  },
  "LoraLoaderModelOnly": {
    "description": "Las LoRAs se utilizan para modificar los modelos de difusión y CLIP, alterando la forma en que se desruidan los latentes, como la aplicación de estilos. Se pueden vincular varios nodos de LoRA.",
    "display_name": "CargadorLoRAModeloSolo",
    "inputs": {
      "lora_name": {
        "name": "nombre_lora"
      },
      "model": {
        "name": "modelo"
      },
      "strength_model": {
        "name": "fuerza_modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El modelo de difusión modificado."
      }
    }
  },
  "LoraModelLoader": {
    "display_name": "Cargar Modelo LoRA",
    "inputs": {
      "bypass": {
        "name": "bypass",
        "tooltip": "Cuando está activado, aplica LoRA en modo bypass sin modificar los pesos del modelo base. Útil para entrenamiento y cuando los pesos del modelo se descargan."
      },
      "lora": {
        "name": "lora",
        "tooltip": "El modelo LoRA a aplicar al modelo de difusión."
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo de difusión al que se aplicará el LoRA."
      },
      "strength_model": {
        "name": "fuerza_modelo",
        "tooltip": "Qué tan fuerte modificar el modelo de difusión. Este valor puede ser negativo."
      }
    },
    "outputs": {
      "0": {
        "name": "model",
        "tooltip": "El modelo de difusión modificado."
      }
    }
  },
  "LoraSave": {
    "display_name": "Extraer y Guardar Lora",
    "inputs": {
      "bias_diff": {
        "name": "diferencia_sesgo"
      },
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      },
      "lora_type": {
        "name": "tipo_lora"
      },
      "model_diff": {
        "name": "diferencia_modelo",
        "tooltip": "La salida de ModelSubtract para ser convertida a una lora."
      },
      "rank": {
        "name": "rango"
      },
      "text_encoder_diff": {
        "name": "diferencia_codificador_texto",
        "tooltip": "La salida de CLIPSubtract para ser convertida a una lora."
      }
    }
  },
  "LossGraphNode": {
    "display_name": "Graficar Pérdida",
    "inputs": {
      "filename_prefix": {
        "name": "prefijo_nombre_archivo",
        "tooltip": "Prefijo para la imagen del gráfico de pérdida guardada."
      },
      "loss": {
        "name": "pérdida",
        "tooltip": "Mapa de pérdida del nodo de entrenamiento."
      }
    }
  },
  "LotusConditioning": {
    "display_name": "LotusConditioning",
    "outputs": {
      "0": {
        "name": "condicionamiento",
        "tooltip": null
      }
    }
  },
  "LtxvApiImageToVideo": {
    "description": "Videos de calidad profesional con duración y resolución personalizables basados en la imagen inicial.",
    "display_name": "LTXV Imagen a Video",
    "inputs": {
      "duration": {
        "name": "duración"
      },
      "fps": {
        "name": "fps"
      },
      "generate_audio": {
        "name": "generar_audio",
        "tooltip": "Cuando es verdadero, el video generado incluirá audio generado por IA que coincide con la escena."
      },
      "image": {
        "name": "imagen",
        "tooltip": "Primer fotograma a utilizar para el video."
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt"
      },
      "resolution": {
        "name": "resolución"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LtxvApiTextToVideo": {
    "description": "Videos de calidad profesional con duración y resolución personalizables.",
    "display_name": "LTXV Texto a Video",
    "inputs": {
      "duration": {
        "name": "duración"
      },
      "fps": {
        "name": "fps"
      },
      "generate_audio": {
        "name": "generar_audio",
        "tooltip": "Cuando es verdadero, el video generado incluirá audio generado por IA que coincida con la escena."
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt"
      },
      "resolution": {
        "name": "resolución"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaConceptsNode": {
    "description": "Contiene uno o más Conceptos de Cámara para usar con los nodos Luma Text to Video y Luma Image to Video.",
    "display_name": "Luma Concepts",
    "inputs": {
      "concept1": {
        "name": "concept1"
      },
      "concept2": {
        "name": "concept2"
      },
      "concept3": {
        "name": "concept3"
      },
      "concept4": {
        "name": "concept4"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Conceptos de Cámara opcionales para añadir a los seleccionados aquí."
      }
    },
    "outputs": {
      "0": {
        "name": "luma_concepts",
        "tooltip": null
      }
    }
  },
  "LumaImageEditNode2": {
    "description": "Edita una imagen existente con un prompt de texto usando el modelo Luma UNI-1.",
    "display_name": "Luma UNI-1 Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Modelo a utilizar para la edición."
      },
      "model_style": {
        "name": "style"
      },
      "model_web_search": {
        "name": "web_search"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción de la edición deseada. 1–6000 caracteres."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "source": {
        "name": "source",
        "tooltip": "Imagen de origen a editar."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageModifyNode": {
    "description": "Modifica imágenes de forma sincrónica según el prompt y la relación de aspecto.",
    "display_name": "Luma Imagen a Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "image": {
        "name": "imagen"
      },
      "image_weight": {
        "name": "peso_imagen",
        "tooltip": "Peso de la imagen; cuanto más cerca de 1.0, menos se modificará la imagen."
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de la imagen"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageNode": {
    "description": "Genera imágenes de forma sincrónica según el prompt y la relación de aspecto.",
    "display_name": "Luma Texto a Imagen",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "character_image": {
        "name": "character_image",
        "tooltip": "Imágenes de referencia de personaje; puede ser un lote de varias, se pueden considerar hasta 4 imágenes."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image_luma_ref": {
        "name": "image_luma_ref",
        "tooltip": "Conexión de nodo de referencia Luma para influir en la generación con imágenes de entrada; se pueden considerar hasta 4 imágenes."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de la imagen"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      },
      "style_image": {
        "name": "style_image",
        "tooltip": "Imagen de referencia de estilo; solo se usará 1 imagen."
      },
      "style_image_weight": {
        "name": "style_image_weight",
        "tooltip": "Peso de la imagen de estilo. Se ignora si no se proporciona style_image."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageNode2": {
    "description": "Genera imágenes a partir de texto usando el modelo Luma UNI-1.",
    "display_name": "Luma UNI-1 Image",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Modelo a utilizar para la generación."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_style": {
        "name": "style"
      },
      "model_web_search": {
        "name": "web_search"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción en texto de la imagen deseada. 1–6000 caracteres."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageToVideoNode": {
    "description": "Genera videos de forma sincrónica basados en el prompt, imágenes de entrada y output_size.",
    "display_name": "Luma Image to Video",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "first_image": {
        "name": "primera_imagen",
        "tooltip": "Primer fotograma del video generado."
      },
      "last_image": {
        "name": "última_imagen",
        "tooltip": "Último fotograma del video generado."
      },
      "loop": {
        "name": "bucle"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Conceptos de cámara opcionales para dictar el movimiento de cámara a través del nodo Luma Concepts."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de video"
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaRay32ExtendVideoNode": {
    "description": "Extiende una generación previa de Ray 3.2 hacia adelante (continúa después) o hacia atrás (introducción antes). Conecta la salida generation_id de un nodo Luma Ray 3.2 anterior. Las extensiones siempre duran 5 segundos.",
    "display_name": "Luma Ray 3.2 Extender Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "direction": {
        "name": "direction",
        "tooltip": "Adelante continúa después del clip anterior; atrás se antepone antes de este."
      },
      "direction_loop": {
        "name": "loop"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para el nuevo contenido."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "source_generation_id": {
        "name": "source_generation_id",
        "tooltip": "generation_id del video Ray 3.2 anterior a extender. Conecta la salida generation_id de otro nodo Luma Ray 3.2."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32ImageToVideoNode": {
    "description": "Genera un video a partir de un fotograma inicial y/o final usando el modelo Ray 3.2 de Luma. Las generaciones ancladas a imagen siempre duran 5 segundos.",
    "display_name": "Luma Ray 3.2 Imagen a Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Último fotograma del video generado."
      },
      "loop": {
        "name": "loop",
        "tooltip": "Haz que el video sea un bucle perfecto. No disponible cuando se establece un end_frame."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para la generación del video."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Primer fotograma del video generado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32KeyframeNode": {
    "description": "Ancla una imagen guía a una posición en la línea de tiempo del video de salida de Ray 3.2. Conéctalo a la entrada 'keyframes' del nodo Luma Ray 3.2 Keyframes to Video; encadena varios juntos mediante la entrada opcional 'keyframes' a continuación.",
    "display_name": "Luma Ray 3.2 Fotograma Clave",
    "inputs": {
      "image": {
        "name": "image",
        "tooltip": "Imagen guía para colocar en el momento elegido del video de salida."
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Fotogramas clave anteriores opcionales para encadenar con este."
      },
      "position": {
        "name": "position",
        "tooltip": "Cómo colocar esta imagen en la línea de tiempo del video de salida."
      },
      "position_fraction": {
        "name": "fraction"
      }
    },
    "outputs": {
      "0": {
        "name": "keyframes",
        "tooltip": null
      }
    }
  },
  "LumaRay32KeyframesToVideoNode": {
    "description": "Genera un video que interpola a través de una secuencia de imágenes guía, cada una anclada a una posición en la línea de tiempo, usando Luma Ray 3.2. Construye la secuencia con nodos de fotograma clave de Luma Ray 3.2 (al menos 2).",
    "display_name": "Luma Ray 3.2 Fotogramas clave a video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Secuencia de fotogramas clave de los nodos de fotograma clave de Luma Ray 3.2 (al menos 2)."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto de entrada para la generación del video."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32TextToVideoNode": {
    "description": "Genera un video a partir de un texto usando el modelo Ray 3.2 de Luma.",
    "display_name": "Luma Ray 3.2 Texto a video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "loop": {
        "name": "loop",
        "tooltip": "Hacer que el video se repita sin cortes. Solo disponible con duración de 5s."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto de entrada para la generación del video."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32VideoEditNode": {
    "description": "Vuelve a renderizar un video existente con un nuevo prompt usando Luma Ray 3.2 (restiliza, reilumina, agrega o elimina elementos) manteniendo el movimiento original. Video fuente de hasta 18 segundos; el video editado mantiene la duración del original.",
    "display_name": "Luma Ray 3.2 Edición de video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Describe la edición deseada."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "strength": {
        "name": "strength",
        "tooltip": "Qué tanto se debe preservar o reinventar el video fuente. 'auto' deja que Ray 3.2 decida; adhere_* preserva más, flex_* es equilibrado, reimagine_* cambia más."
      },
      "video": {
        "name": "video",
        "tooltip": "Video fuente a editar. Hasta 18 segundos."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32VideoReframeNode": {
    "description": "Cambia la relación de aspecto de un video existente, usando Luma Ray 3.2 para rellenar las áreas recién expuestas del lienzo. Video de origen de hasta 30 segundos. Facturación por segundo de salida.",
    "display_name": "Luma Ray 3.2 Reencuadre de Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Describe cómo se deben rellenar las áreas recién expuestas del lienzo."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "video": {
        "name": "video",
        "tooltip": "Video de origen para reencuadrar. Hasta 30 segundos."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaReferenceNode": {
    "description": "Contiene una imagen y un peso para usar con el nodo Luma Generate Image.",
    "display_name": "Referencia Luma",
    "inputs": {
      "image": {
        "name": "imagen",
        "tooltip": "Imagen a usar como referencia."
      },
      "luma_ref": {
        "name": "luma_ref"
      },
      "weight": {
        "name": "peso",
        "tooltip": "Peso de la referencia de imagen."
      }
    },
    "outputs": {
      "0": {
        "name": "luma_ref",
        "tooltip": null
      }
    }
  },
  "LumaVideoNode": {
    "description": "Genera videos de forma sincrónica según el prompt y el tamaño de salida.",
    "display_name": "Luma Texto a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "relación de aspecto"
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "loop": {
        "name": "bucle"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Conceptos de cámara opcionales para dictar el movimiento de cámara a través del nodo Luma Concepts."
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de video"
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageRelightNode": {
    "description": "Ilumina una imagen con ajustes de luz y transferencia de luz basada en referencia opcional.",
    "display_name": "Magnific Relight de Imagen",
    "inputs": {
      "advanced_settings": {
        "name": "advanced_settings",
        "tooltip": "Opciones de ajuste fino para control avanzado de la iluminación."
      },
      "change_background": {
        "name": "change_background",
        "tooltip": "Modifica el fondo según el prompt o la referencia."
      },
      "image": {
        "name": "image",
        "tooltip": "La imagen a iluminar."
      },
      "interpolate_from_original": {
        "name": "interpolate_from_original",
        "tooltip": "Restringe la libertad de generación para que coincida más con el original."
      },
      "light_transfer_strength": {
        "name": "light_transfer_strength",
        "tooltip": "Intensidad de la aplicación de transferencia de luz."
      },
      "preserve_details": {
        "name": "preserve_details",
        "tooltip": "Mantiene la textura y los detalles finos del original."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Guía descriptiva para la iluminación. Soporta notación de énfasis (1-1.4)."
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "Imagen de referencia opcional de la cual transferir la iluminación."
      },
      "style": {
        "name": "style",
        "tooltip": "Preferencia de estilo de salida."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageSkinEnhancerNode": {
    "description": "Mejora de piel para retratos con múltiples modos de procesamiento.",
    "display_name": "Magnific Mejorador de Piel en Imagen",
    "inputs": {
      "image": {
        "name": "image",
        "tooltip": "La imagen de retrato a mejorar."
      },
      "mode": {
        "name": "mode",
        "tooltip": "Modo de procesamiento: creativo para mejora artística, fiel para preservar la apariencia original, flexible para optimización dirigida."
      },
      "sharpen": {
        "name": "sharpen",
        "tooltip": "Nivel de intensidad de enfoque."
      },
      "smart_grain": {
        "name": "smart_grain",
        "tooltip": "Nivel de intensidad de grano inteligente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageStyleTransferNode": {
    "description": "Transfiere el estilo de una imagen de referencia a tu imagen de entrada.",
    "display_name": "Transferencia de Estilo de Imagen Magnific",
    "inputs": {
      "engine": {
        "name": "engine",
        "tooltip": "Selección del motor de procesamiento."
      },
      "fixed_generation": {
        "name": "fixed_generation",
        "tooltip": "Si está desactivado, cada generación introducirá cierto grado de aleatoriedad, lo que dará lugar a resultados más diversos."
      },
      "flavor": {
        "name": "flavor",
        "tooltip": "Tipo de transferencia de estilo."
      },
      "image": {
        "name": "image",
        "tooltip": "La imagen a la que se aplicará la transferencia de estilo."
      },
      "portrait_mode": {
        "name": "portrait_mode",
        "tooltip": "Activa el modo retrato para mejoras faciales."
      },
      "prompt": {
        "name": "prompt"
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "La imagen de referencia de la que se extraerá el estilo."
      },
      "structure_strength": {
        "name": "structure_strength",
        "tooltip": "Mantiene la estructura de la imagen original."
      },
      "style_strength": {
        "name": "style_strength",
        "tooltip": "Porcentaje de intensidad del estilo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageUpscalerCreativeNode": {
    "description": "Mejora guiada por prompt, estilización y aumento de escala 2x/4x/8x/16x. Salida máxima: 25,3 megapíxeles.",
    "display_name": "Magnific Image Upscale (Creativo)",
    "inputs": {
      "auto_downscale": {
        "name": "reducción_automática",
        "tooltip": "Reducir automáticamente la imagen de entrada si la salida supera el límite máximo de píxeles."
      },
      "creativity": {
        "name": "creatividad"
      },
      "engine": {
        "name": "motor"
      },
      "fractality": {
        "name": "fractalidad",
        "tooltip": "La fuerza del prompt y la complejidad por píxel cuadrado."
      },
      "hdr": {
        "name": "hdr",
        "tooltip": "El nivel de definición y detalle."
      },
      "image": {
        "name": "imagen"
      },
      "optimized_for": {
        "name": "optimizado_para"
      },
      "prompt": {
        "name": "prompt"
      },
      "resemblance": {
        "name": "semejanza",
        "tooltip": "El nivel de semejanza con la imagen original."
      },
      "scale_factor": {
        "name": "factor_de_escala"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageUpscalerPreciseV2Node": {
    "description": "Aumento de escala de alta fidelidad con control fino sobre nitidez, grano y detalle. Salida máxima: 10060×10060 píxeles.",
    "display_name": "Magnific Image Upscale (Preciso V2)",
    "inputs": {
      "auto_downscale": {
        "name": "reducción_automática",
        "tooltip": "Reducir automáticamente la imagen de entrada si la salida supera la resolución máxima."
      },
      "flavor": {
        "name": "estilo",
        "tooltip": "Estilo de procesamiento: sublime para uso general, photo para fotografías, photo_denoiser para fotos con ruido."
      },
      "image": {
        "name": "imagen"
      },
      "scale_factor": {
        "name": "factor_de_escala"
      },
      "sharpen": {
        "name": "nitidez",
        "tooltip": "Intensidad de la nitidez de la imagen. Valores más altos aumentan la definición de los bordes y la claridad."
      },
      "smart_grain": {
        "name": "grano_inteligente",
        "tooltip": "Mejora inteligente del grano/textura para evitar que la imagen se vea demasiado suave o artificial."
      },
      "ultra_detail": {
        "name": "ultra_detalle",
        "tooltip": "Controla los detalles finos, texturas y microdetalles añadidos durante el aumento de escala."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Mahiro": {
    "description": "Modifica la guía para escalar más en la 'dirección' del indicador positivo en lugar de la diferencia entre el indicador negativo.",
    "display_name": "¡Mahiro es tan linda que merece una mejor función de guía!! (。・ω・。)",
    "inputs": {
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_parcheado",
        "tooltip": null
      }
    }
  },
  "MakeTrainingDataset": {
    "description": "Codifica imágenes con VAE y textos con CLIP para crear un conjunto de datos de latentes y condicionamientos para entrenamiento.",
    "display_name": "Crear Conjunto de Datos de Entrenamiento",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Modelo CLIP para codificar texto a acondicionamiento."
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Lista de imágenes para codificar."
      },
      "texts": {
        "name": "textos",
        "tooltip": "Lista de subtítulos de texto. Puede ser de longitud n (coincidiendo con imágenes), 1 (repetido para todos), o omitido (usa cadena vacía)."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Modelo VAE para codificar imágenes a latentes."
      }
    },
    "outputs": {
      "0": {
        "name": "latentes",
        "tooltip": "Lista de diccionarios latentes"
      },
      "1": {
        "name": "acondicionamiento",
        "tooltip": "Lista de listas de acondicionamiento"
      }
    }
  },
  "ManualSigmas": {
    "display_name": "ManualSigmas",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MaskComposite": {
    "display_name": "Composición de Máscara",
    "inputs": {
      "destination": {
        "name": "destino"
      },
      "operation": {
        "name": "operación"
      },
      "source": {
        "name": "fuente"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MaskPreview": {
    "description": "Guarda las imágenes de entrada en tu directorio de salida de ComfyUI.",
    "display_name": "MaskPreview",
    "inputs": {
      "mask": {
        "name": "mask"
      }
    },
    "outputs": {
      "0": {
        "name": "mask",
        "tooltip": null
      }
    }
  },
  "MaskToImage": {
    "display_name": "Convertir Máscara a Imagen",
    "inputs": {
      "mask": {
        "name": "máscara"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MediaPipeFaceLandmarker": {
    "description": "Detecta puntos de referencia faciales usando el modelo MediaPipe.",
    "display_name": "MediaPipe Face Landmarker",
    "inputs": {
      "detector_variant": {
        "name": "detector_variant",
        "tooltip": "Rango del detector facial. 'short' está ajustado para rostros cercanos (a menos de ~2 m de la cámara); 'full' cubre rostros más lejanos/pequeños (hasta ~5 m) pero es más lento. 'both' ejecuta ambos detectores y mantiene el que encontró más rostros por fotograma (costo de detección ~2×)."
      },
      "face_detection_model": {
        "name": "face_detection_model"
      },
      "image": {
        "name": "image"
      },
      "min_confidence": {
        "name": "min_confidence",
        "tooltip": "Umbral de puntuación BlazeFace. Disminuye para captar rostros pequeños/ocultos."
      },
      "missing_frame_fallback": {
        "name": "missing_frame_fallback",
        "tooltip": "Comportamiento por fotograma cuando falla la detección en un lote. 'empty' deja el fotograma sin rostro. 'previous' copia la detección exitosa más reciente. 'interpolate' interpola puntos clave/bbox/blendshapes entre los fotogramas exitosos adyacentes. Multi-rostro: empareja rostros entre fotogramas por centro de bbox más cercano."
      },
      "num_faces": {
        "name": "num_faces",
        "tooltip": "Máximo de rostros a devolver por fotograma. 0 = sin límite (devuelve todos los detectados)."
      }
    },
    "outputs": {
      "0": {
        "name": "face_landmarks",
        "tooltip": null
      },
      "1": {
        "name": "bboxes",
        "tooltip": null
      }
    }
  },
  "MediaPipeFaceMask": {
    "description": "Dibuja una máscara a partir de los puntos de referencia faciales.",
    "display_name": "MediaPipe Face Mask",
    "inputs": {
      "face_landmarks": {
        "name": "face_landmarks"
      },
      "regions": {
        "name": "regions",
        "tooltip": "'all' = unión de face_oval+lips+eyes+irises (que se reduce a face_oval ya que lo contiene todo). 'custom' = activa cada región individualmente para combinaciones como lips+eyes."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MediaPipeFaceMeshVisualize": {
    "description": "Dibuja la malla de puntos de referencia faciales sobre la imagen de entrada.",
    "display_name": "Visualizar Malla Facial de MediaPipe",
    "inputs": {
      "color": {
        "name": "color"
      },
      "connections": {
        "name": "connections",
        "tooltip": "'all' = oval+eyes+brows+lips+irises+nose. 'fill' = polígono sólido face_oval (máscara de silueta). 'custom' = activa cada característica individualmente (incluyendo 'tesselation', el entramado completo de 2547 aristas)."
      },
      "face_landmarks": {
        "name": "face_landmarks"
      },
      "image": {
        "name": "image",
        "tooltip": "Si no se conecta, se usará un lienzo negro."
      },
      "point_size": {
        "name": "point_size",
        "tooltip": "Radio de los puntos de referencia en píxeles. 0 desactiva el dibujo de puntos."
      },
      "thickness": {
        "name": "thickness",
        "tooltip": "Grosor de línea de los bordes en píxeles. 0 desactiva el dibujo de bordes."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MergeImageLists": {
    "description": "Concatena varias listas de imágenes en una sola.",
    "display_name": "Unir Listas de Imágenes",
    "inputs": {
      "images": {
        "name": "imágenes",
        "tooltip": "Lista de imágenes a procesar."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": "Imágenes procesadas"
      }
    }
  },
  "MergeSplat": {
    "description": "Concatena cualquier número de splats gaussianos en uno solo. Unir varias decodificaciones del mismo latent con diferentes seeds densifica la superficie, lo que puede mejorar la calidad de la superficie al crear la malla.",
    "display_name": "Unir splats",
    "inputs": {
      "splats": {
        "name": "splats"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "MergeTextLists": {
    "display_name": "Unir Listas de Textos",
    "inputs": {
      "texts": {
        "name": "textos",
        "tooltip": "Lista de textos a procesar."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos procesados"
      }
    }
  },
  "MeshyAnimateModelNode": {
    "description": "Aplica una acción de animación específica a un personaje previamente riggeado.",
    "display_name": "Meshy: Animar Modelo",
    "inputs": {
      "action_id": {
        "name": "action_id",
        "tooltip": "Visita https://docs.meshy.ai/en/api/animation-library para ver una lista de valores disponibles."
      },
      "rig_task_id": {
        "name": "rig_task_id"
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyImageToModelNode": {
    "display_name": "Meshy: Imagen a Modelo",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "image": {
        "name": "imagen"
      },
      "model": {
        "name": "modelo"
      },
      "pose_mode": {
        "name": "modo de pose",
        "tooltip": "Especifica el modo de pose para el modelo generado."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe volver a ejecutarse; los resultados son no deterministas independientemente de la semilla."
      },
      "should_remesh": {
        "name": "remallar",
        "tooltip": "Si se establece en falso, devuelve una malla triangular sin procesar."
      },
      "should_remesh_target_polycount": {
        "name": "recuento de polígonos objetivo"
      },
      "should_remesh_topology": {
        "name": "topología"
      },
      "should_texture": {
        "name": "texturizar",
        "tooltip": "Determina si se generan texturas. Si se establece en falso, se omite la fase de texturizado y se devuelve una malla sin texturas."
      },
      "should_texture_enable_pbr": {
        "name": "habilitar PBR"
      },
      "should_texture_texture_prompt": {
        "name": "prompt de textura"
      },
      "symmetry_mode": {
        "name": "modo de simetría"
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyMultiImageToModelNode": {
    "display_name": "Meshy: Multi-Imagen a Modelo",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "images": {
        "name": "imágenes"
      },
      "model": {
        "name": "modelo"
      },
      "pose_mode": {
        "name": "modo de pose",
        "tooltip": "Especifica el modo de pose para el modelo generado."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe volver a ejecutarse; los resultados son no deterministas independientemente de la semilla."
      },
      "should_remesh": {
        "name": "remallar",
        "tooltip": "Si se establece en falso, devuelve una malla triangular sin procesar."
      },
      "should_remesh_target_polycount": {
        "name": "recuento de polígonos objetivo"
      },
      "should_remesh_topology": {
        "name": "topología"
      },
      "should_texture": {
        "name": "texturizar",
        "tooltip": "Determina si se generan texturas. Si se establece en falso, se omite la fase de texturizado y se devuelve una malla sin texturas."
      },
      "should_texture_enable_pbr": {
        "name": "habilitar PBR"
      },
      "should_texture_texture_prompt": {
        "name": "prompt de textura"
      },
      "symmetry_mode": {
        "name": "modo de simetría"
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyRefineNode": {
    "description": "Refina un modelo borrador previamente creado.",
    "display_name": "Meshy: Refinar Modelo Borrador",
    "inputs": {
      "enable_pbr": {
        "name": "habilitar_pbr",
        "tooltip": "Generar mapas PBR (metálico, rugosidad, normal) además del color base. Nota: esto debe estar en falso al usar el estilo Sculpture, ya que el estilo Sculpture genera su propio conjunto de mapas PBR."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "model": {
        "name": "modelo"
      },
      "texture_image": {
        "name": "imagen_de_textura",
        "tooltip": "Solo se puede usar uno de 'texture_image' o 'texture_prompt' al mismo tiempo."
      },
      "texture_prompt": {
        "name": "texto_de_textura",
        "tooltip": "Proporcione un texto para guiar el proceso de texturizado. Máximo 600 caracteres. No se puede usar al mismo tiempo que 'texture_image'."
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyRigModelNode": {
    "description": "Proporciona un personaje riggeado en formatos estándar. El auto-rigging actualmente no es adecuado para mallas sin textura, activos no humanoides o activos humanoides con estructura de extremidades y cuerpo poco clara.",
    "display_name": "Meshy: Riggear Modelo",
    "inputs": {
      "height_meters": {
        "name": "altura_metros",
        "tooltip": "La altura aproximada del modelo de personaje en metros. Esto ayuda a la precisión de la escala y el rigging."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "texture_image": {
        "name": "imagen_de_textura",
        "tooltip": "Imagen de textura de color base UV-desplegada del modelo."
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      },
      "1": {
        "name": "rig_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyTextToModelNode": {
    "display_name": "Meshy: Texto a Modelo",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "pose_mode": {
        "name": "modo_pose",
        "tooltip": "Especifique el modo de pose para el modelo generado."
      },
      "prompt": {
        "name": "prompt"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe volver a ejecutarse; los resultados no son deterministas independientemente de la semilla."
      },
      "should_remesh": {
        "name": "debe_remallar",
        "tooltip": "Si está en falso, devuelve una malla triangular sin procesar."
      },
      "should_remesh_target_polycount": {
        "name": "poligonaje_objetivo"
      },
      "should_remesh_topology": {
        "name": "topología"
      },
      "style": {
        "name": "estilo"
      },
      "symmetry_mode": {
        "name": "modo_simetría"
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_modelo",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyTextureNode": {
    "display_name": "Meshy: Modelo de Textura",
    "inputs": {
      "enable_original_uv": {
        "name": "habilitar_uv_original",
        "tooltip": "Usa el UV original del modelo en lugar de generar nuevos UVs. Cuando está activado, Meshy conserva las texturas existentes del modelo cargado. Si el modelo no tiene UV original, la calidad del resultado podría no ser tan buena."
      },
      "image_style": {
        "name": "estilo_imagen",
        "tooltip": "Una imagen 2D para guiar el proceso de texturizado. No se puede usar al mismo tiempo que 'text_style_prompt'."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "model": {
        "name": "modelo"
      },
      "pbr": {
        "name": "pbr"
      },
      "text_style_prompt": {
        "name": "estilo_texto",
        "tooltip": "Describe el estilo de textura deseado para el objeto usando texto. Máximo 600 caracteres. No se puede usar al mismo tiempo que 'image_style'."
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_modelo",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MiniMaxH3ImageToVideo": {
    "display_name": "MiniMax H3 Imagen a Video",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "first_frame": {
        "name": "primer_fotograma"
      },
      "height": {
        "name": "alto"
      },
      "last_frame": {
        "name": "último_fotograma"
      },
      "length": {
        "name": "duración",
        "tooltip": "Cantidad de fotogramas a 24 fps, ajustada a la cuadrícula de 17k+5 del modelo (124 = ~5s; el rango entrenado es ~124-362, valores mayores no están probados)"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "MiniMaxH3ReferenceToVideo": {
    "description": "Condicionamiento de referencia <Imagen i> / <Video k> / <Audio j> para MiniMax H3. Usa las mismas etiquetas al generar el prompt.",
    "display_name": "MiniMax H3 Referencia a Video",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "duración",
        "tooltip": "Cantidad de fotogramas a 24 fps, (124 = ~5s, rango entrenado es ~124-362)"
      },
      "prompt": {
        "name": "prompt"
      },
      "ref_audios": {
        "name": "audios_ref"
      },
      "ref_image_size": {
        "name": "tamaño_imagen_ref",
        "tooltip": "Tamaño de la imagen de referencia. 'match' escala cada referencia (solo reducción, manteniendo la proporción) al área de píxeles de la generación; 'max' usa el borde corto de 2048px del pipeline de referencia para mejor fidelidad de identidad. Los tokens de referencia se mantienen en cada paso de muestreo, por lo que 'max' puede ser varias veces más lento."
      },
      "ref_images": {
        "name": "imágenes_ref"
      },
      "ref_video_audios": {
        "name": "audios_video_ref"
      },
      "ref_videos": {
        "name": "videos_ref"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "MiniMaxH3SigmaShift": {
    "description": "Establece los desplazamientos del flujo de video/audio.",
    "display_name": "MiniMax H3 Sigma Shift",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "shift_audio": {
        "name": "desplazamiento de audio"
      },
      "shift_video": {
        "name": "desplazamiento de video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuo03FirstLastFrameNode": {
    "description": "Genera video a partir de una imagen de primer fotograma y una imagen opcional de último fotograma usando el modelo MiniMax H3. La relación de aspecto del video sigue las imágenes proporcionadas.",
    "display_name": "MiniMax H3 Primer-Último Fotograma a Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Imagen del primer fotograma para el video."
      },
      "last_frame": {
        "name": "last_frame",
        "tooltip": "Imagen opcional de último fotograma para el video."
      },
      "model": {
        "name": "model",
        "tooltip": "Modelo a utilizar para la generación de video."
      },
      "model_duration": {
        "name": "duration"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla aleatoria. La misma solicitud con la misma semilla da resultados similares, pero no idénticos garantizados."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Si se debe añadir una marca de agua AIGC al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuo03ReferenceNode": {
    "description": "Genera un video condicionado por imágenes de referencia, videos y audio usando el modelo MiniMax H3. Haz referencia a los elementos en el prompt según su orden: 'Imagen 1', 'Imagen 2', 'Video 1', 'Audio 1', y así sucesivamente.",
    "display_name": "MiniMax H3 Referencia a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la generación de video."
      },
      "model_duration": {
        "name": "duración"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "relación de aspecto"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla aleatoria. La misma solicitud con la misma semilla da resultados similares, pero no idénticos garantizados."
      },
      "watermark": {
        "name": "marca de agua",
        "tooltip": "Indica si se debe añadir una marca de agua AIGC al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuo03TextToVideoNode": {
    "description": "Genera un video a partir de un prompt de texto usando el modelo MiniMax H3.",
    "display_name": "MiniMax H3 Texto a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la generación de video."
      },
      "model_duration": {
        "name": "duración"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "relación de aspecto"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla aleatoria. La misma solicitud con la misma semilla da resultados similares, pero no idénticos garantizados."
      },
      "watermark": {
        "name": "marca de agua",
        "tooltip": "Indica si se debe añadir una marca de agua AIGC al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuoVideoNode": {
    "description": "Genera videos a partir de un prompt, con opción de usar un fotograma inicial utilizando el nuevo modelo MiniMax Hailuo-02.",
    "display_name": "MiniMax Hailuo Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "La longitud del video de salida en segundos."
      },
      "first_frame_image": {
        "name": "imagen_primer_fotograma",
        "tooltip": "Imagen opcional para usar como primer fotograma y generar un video."
      },
      "prompt_optimizer": {
        "name": "optimizador_de_prompt",
        "tooltip": "Optimiza el prompt para mejorar la calidad de generación cuando sea necesario."
      },
      "prompt_text": {
        "name": "texto_del_prompt",
        "tooltip": "Prompt de texto para guiar la generación del video."
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "Las dimensiones de la pantalla del video. 1080p es 1920x1080, 768p es 1366x768."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxImageToVideoNode": {
    "description": "Genera videos a partir de una imagen y prompts usando la API de MiniMax",
    "display_name": "MiniMax Imagen a Video",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "image": {
        "name": "imagen",
        "tooltip": "Imagen a usar como primer fotograma de la generación de video"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a usar para la generación de video"
      },
      "prompt_text": {
        "name": "texto de prompt",
        "tooltip": "Prompt de texto para guiar la generación de video"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxTextToVideoNode": {
    "description": "Genera videos a partir de indicaciones usando la API de MiniMax",
    "display_name": "MiniMax Texto a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la generación de video"
      },
      "prompt_text": {
        "name": "texto_de_indicación",
        "tooltip": "Texto de indicación para guiar la generación del video"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla aleatoria utilizada para crear el ruido."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MoGeInference": {
    "description": "Ejecuta MoGe en una sola imagen para estimar profundidad y geometría.",
    "display_name": "Inferencia MoGe",
    "inputs": {
      "apply_mask": {
        "name": "apply_mask",
        "tooltip": "Establece los píxeles enmascarados (cielo / inválidos) como inf en puntos y profundidad para que el mallado los descarte. Desactivar para mantener la geometría predicha en todas partes; la máscara aún se devuelve por separado."
      },
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Imágenes por llamada de inferencia. Disminuir si tienes OOM en un video largo o conjunto de imágenes."
      },
      "force_projection": {
        "name": "force_projection"
      },
      "fov_x_degrees": {
        "name": "fov_x_degrees",
        "tooltip": "Campo de visión horizontal de la cámara de origen. Establece la distancia focal usada para desproyectar el mapa de profundidad en 3D. 0 = recuperación automática a partir de los puntos predichos."
      },
      "image": {
        "name": "image"
      },
      "moge_model": {
        "name": "moge_model"
      },
      "resolution_level": {
        "name": "resolution_level",
        "tooltip": "0 = más rápido, 9 = mayor detalle."
      }
    },
    "outputs": {
      "0": {
        "name": "moge_geometry",
        "tooltip": null
      }
    }
  },
  "MoGePanoramaInference": {
    "description": "Ejecuta MoGe en una panorámica equirectangular dividiéndola en 12 vistas en perspectiva, ejecutando inferencia en cada una y fusionando los resultados en un solo mapa de profundidad.",
    "display_name": "Inferencia panorámica MoGe",
    "inputs": {
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Vistas por lote de inferencia (12 divisiones en total)."
      },
      "image": {
        "name": "image",
        "tooltip": "Panorama equirectangular (cualquier relación de aspecto)."
      },
      "merge_resolution": {
        "name": "merge_resolution",
        "tooltip": "Resolución del lado largo del mapa de distancias equirectangular fusionado."
      },
      "moge_model": {
        "name": "moge_model"
      },
      "resolution_level": {
        "name": "resolution_level",
        "tooltip": "Detalle por vista (0 = más rápido, 9 = más detallado)."
      },
      "split_resolution": {
        "name": "split_resolution",
        "tooltip": "Resolución de cada división de perspectiva."
      }
    },
    "outputs": {
      "0": {
        "name": "moge_geometry",
        "tooltip": null
      }
    }
  },
  "MoGePointMapToMesh": {
    "description": "Convierte un mapa de puntos MoGe en una malla 3D.",
    "display_name": "MoGe Point Map a Malla",
    "inputs": {
      "batch_index": {
        "name": "batch_index",
        "tooltip": "Qué imagen de una geometría MoGe por lotes convertir a malla. El número de vértices varía por imagen, por lo que los lotes no pueden combinarse en una sola MALLA."
      },
      "decimation": {
        "name": "decimation",
        "tooltip": "Intervalo de vértices; 1 = resolución completa."
      },
      "discontinuity_threshold": {
        "name": "discontinuity_threshold",
        "tooltip": "Descartar píxeles cuyo rango de profundidad 3x3 exceda esta fracción. 0 = desactivado."
      },
      "moge_geometry": {
        "name": "moge_geometry"
      },
      "texture": {
        "name": "texture",
        "tooltip": "Transportar la imagen de origen como textura baseColor."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MoGeRender": {
    "description": "Renderiza un mapa de profundidad o un mapa normal a partir de datos de geometría",
    "display_name": "MoGe Renderizado",
    "inputs": {
      "moge_geometry": {
        "name": "moge_geometry"
      },
      "output": {
        "name": "output",
        "tooltip": "DirectX vs OpenGL controla la convención del canal verde del mapa de normales. DirectX: verde = -Y hacia abajo (Unreal). OpenGL: verde = +Y hacia arriba (Blender, Substance, Unity, glTF)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ModelComputeDtype": {
    "display_name": "ModeloCalcularDtype",
    "inputs": {
      "dtype": {
        "name": "dtype"
      },
      "model": {
        "name": "modelo"
      }
    }
  },
  "ModelMergeAdd": {
    "display_name": "ModeloFusionarAgregar",
    "inputs": {
      "model1": {
        "name": "modelo1"
      },
      "model2": {
        "name": "modelo2"
      }
    }
  },
  "ModelMergeAuraflow": {
    "display_name": "ModelMergeAuraflow",
    "inputs": {
      "cond_seq_linear_": {
        "name": "cond_seq_linear."
      },
      "double_layers_0_": {
        "name": "capas_dobles.0."
      },
      "double_layers_1_": {
        "name": "capas_dobles.1."
      },
      "double_layers_2_": {
        "name": "capas_dobles.2."
      },
      "double_layers_3_": {
        "name": "capas_dobles.3."
      },
      "final_linear_": {
        "name": "final_linear."
      },
      "init_x_linear_": {
        "name": "init_x_linear."
      },
      "modF_": {
        "name": "modF."
      },
      "model1": {
        "name": "modelo1"
      },
      "model2": {
        "name": "modelo2"
      },
      "positional_encoding": {
        "name": "codificación_posicional"
      },
      "register_tokens": {
        "name": "registrar_tokens"
      },
      "single_layers_0_": {
        "name": "capas_simples.0."
      },
      "single_layers_10_": {
        "name": "capas_simples.10."
      },
      "single_layers_11_": {
        "name": "capas_simples.11."
      },
      "single_layers_12_": {
        "name": "capas_simples.12."
      },
      "single_layers_13_": {
        "name": "capas_simples.13."
      },
      "single_layers_14_": {
        "name": "capas_simples.14."
      },
      "single_layers_15_": {
        "name": "capas_simples.15."
      },
      "single_layers_16_": {
        "name": "capas_simples.16."
      },
      "single_layers_17_": {
        "name": "capas_simples.17."
      },
      "single_layers_18_": {
        "name": "capas_simples.18."
      },
      "single_layers_19_": {
        "name": "capas_simples.19."
      },
      "single_layers_1_": {
        "name": "capas_simples.1."
      },
      "single_layers_20_": {
        "name": "capas_simples.20."
      },
      "single_layers_21_": {
        "name": "capas_simples.21."
      },
      "single_layers_22_": {
        "name": "capas_simples.22."
      },
      "single_layers_23_": {
        "name": "capas_simples.23."
      },
      "single_layers_24_": {
        "name": "capas_simples.24."
      },
      "single_layers_25_": {
        "name": "capas_simples.25."
      },
      "single_layers_26_": {
        "name": "capas_simples.26."
      },
      "single_layers_27_": {
        "name": "capas_simples.27."
      },
      "single_layers_28_": {
        "name": "capas_simples.28."
      },
      "single_layers_29_": {
        "name": "capas_simples.29."
      },
      "single_layers_2_": {
        "name": "capas_simples.2."
      },
      "single_layers_30_": {
        "name": "capas_simples.30."
      },
      "single_layers_31_": {
        "name": "capas_simples.31."
      },
      "single_layers_3_": {
        "name": "capas_simples.3."
      },
      "single_layers_4_": {
        "name": "capas_simples.4."
      },
      "single_layers_5_": {
        "name": "capas_simples.5."
      },
      "single_layers_6_": {
        "name": "capas_simples.6."
      },
      "single_layers_7_": {
        "name": "capas_simples.7."
      },
      "single_layers_8_": {
        "name": "capas_simples.8."
      },
      "single_layers_9_": {
        "name": "capas_simples.9."
      },
      "t_embedder_": {
        "name": "t_embedder."
      }
    }
  },
  "ModelMergeBlocks": {
    "display_name": "ModelMergeBlocks",
    "inputs": {
      "input": {
        "name": "entrada"
      },
      "middle": {
        "name": "medio"
      },
      "model1": {
        "name": "modelo1"
      },
      "model2": {
        "name": "modelo2"
      },
      "out": {
        "name": "salida"
      }
    }
  },
  "ModelMergeCosmos14B": {
    "display_name": "ModelMergeCosmos14B",
    "inputs": {
      "affline_norm_": {
        "name": "affline_norm."
      },
      "blocks_block0_": {
        "name": "blocks.block0."
      },
      "blocks_block10_": {
        "name": "blocks.block10."
      },
      "blocks_block11_": {
        "name": "blocks.block11."
      },
      "blocks_block12_": {
        "name": "blocks.block12."
      },
      "blocks_block13_": {
        "name": "blocks.block13."
      },
      "blocks_block14_": {
        "name": "blocks.block14."
      },
      "blocks_block15_": {
        "name": "blocks.block15."
      },
      "blocks_block16_": {
        "name": "blocks.block16."
      },
      "blocks_block17_": {
        "name": "blocks.block17."
      },
      "blocks_block18_": {
        "name": "blocks.block18."
      },
      "blocks_block19_": {
        "name": "blocks.block19."
      },
      "blocks_block1_": {
        "name": "blocks.block1."
      },
      "blocks_block20_": {
        "name": "blocks.block20."
      },
      "blocks_block21_": {
        "name": "blocks.block21."
      },
      "blocks_block22_": {
        "name": "blocks.block22."
      },
      "blocks_block23_": {
        "name": "blocks.block23."
      },
      "blocks_block24_": {
        "name": "blocks.block24."
      },
      "blocks_block25_": {
        "name": "blocks.block25."
      },
      "blocks_block26_": {
        "name": "blocks.block26."
      },
      "blocks_block27_": {
        "name": "blocks.block27."
      },
      "blocks_block28_": {
        "name": "blocks.block28."
      },
      "blocks_block29_": {
        "name": "blocks.block29."
      },
      "blocks_block2_": {
        "name": "blocks.block2."
      },
      "blocks_block30_": {
        "name": "blocks.block30."
      },
      "blocks_block31_": {
        "name": "blocks.block31."
      },
      "blocks_block32_": {
        "name": "blocks.block32."
      },
      "blocks_block33_": {
        "name": "blocks.block33."
      },
      "blocks_block34_": {
        "name": "blocks.block34."
      },
      "blocks_block35_": {
        "name": "final_layer."
      },
      "blocks_block3_": {
        "name": "blocks.block3."
      },
      "blocks_block4_": {
        "name": "blocks.block4."
      },
      "blocks_block5_": {
        "name": "blocks.block5."
      },
      "blocks_block6_": {
        "name": "blocks.block6."
      },
      "blocks_block7_": {
        "name": "blocks.block7."
      },
      "blocks_block8_": {
        "name": "blocks.block8."
      },
      "blocks_block9_": {
        "name": "blocks.block9."
      },
      "extra_pos_embedder_": {
        "name": "extra_pos_embedder."
      },
      "final_layer_": {
        "name": "capa_final."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embedder_": {
        "name": "pos_embedder."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "x_embedder_": {
        "name": "x_embedder."
      }
    }
  },
  "ModelMergeCosmos7B": {
    "display_name": "ModelMergeCosmos7B",
    "inputs": {
      "affline_norm_": {
        "name": "affline_norm."
      },
      "blocks_block0_": {
        "name": "blocks.block0."
      },
      "blocks_block10_": {
        "name": "blocks.block10."
      },
      "blocks_block11_": {
        "name": "blocks.block11."
      },
      "blocks_block12_": {
        "name": "blocks.block12."
      },
      "blocks_block13_": {
        "name": "blocks.block13."
      },
      "blocks_block14_": {
        "name": "blocks.block14."
      },
      "blocks_block15_": {
        "name": "blocks.block15."
      },
      "blocks_block16_": {
        "name": "blocks.block16."
      },
      "blocks_block17_": {
        "name": "blocks.block17."
      },
      "blocks_block18_": {
        "name": "blocks.block18."
      },
      "blocks_block19_": {
        "name": "blocks.block19."
      },
      "blocks_block1_": {
        "name": "blocks.block1."
      },
      "blocks_block20_": {
        "name": "blocks.block20."
      },
      "blocks_block21_": {
        "name": "blocks.block21."
      },
      "blocks_block22_": {
        "name": "blocks.block22."
      },
      "blocks_block23_": {
        "name": "blocks.block23."
      },
      "blocks_block24_": {
        "name": "blocks.block24."
      },
      "blocks_block25_": {
        "name": "blocks.block25."
      },
      "blocks_block26_": {
        "name": "blocks.block26."
      },
      "blocks_block27_": {
        "name": "blocks.block27."
      },
      "blocks_block2_": {
        "name": "blocks.block2."
      },
      "blocks_block3_": {
        "name": "blocks.block3."
      },
      "blocks_block4_": {
        "name": "blocks.block4."
      },
      "blocks_block5_": {
        "name": "blocks.block5."
      },
      "blocks_block6_": {
        "name": "blocks.block6."
      },
      "blocks_block7_": {
        "name": "blocks.block7."
      },
      "blocks_block8_": {
        "name": "blocks.block8."
      },
      "blocks_block9_": {
        "name": "blocks.block9."
      },
      "extra_pos_embedder_": {
        "name": "extra_pos_embedder."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embedder_": {
        "name": "pos_embedder."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "x_embedder_": {
        "name": "x_embedder."
      }
    }
  },
  "ModelMergeCosmosPredict2_14B": {
    "display_name": "ModelMergeCosmosPredict2_14B",
    "inputs": {
      "blocks_0_": {
        "name": "bloques.0."
      },
      "blocks_10_": {
        "name": "bloques.10."
      },
      "blocks_11_": {
        "name": "bloques.11."
      },
      "blocks_12_": {
        "name": "bloques.12."
      },
      "blocks_13_": {
        "name": "bloques.13."
      },
      "blocks_14_": {
        "name": "bloques.14."
      },
      "blocks_15_": {
        "name": "bloques.15."
      },
      "blocks_16_": {
        "name": "bloques.16."
      },
      "blocks_17_": {
        "name": "bloques.17."
      },
      "blocks_18_": {
        "name": "bloques.18."
      },
      "blocks_19_": {
        "name": "bloques.19."
      },
      "blocks_1_": {
        "name": "bloques.1."
      },
      "blocks_20_": {
        "name": "bloques.20."
      },
      "blocks_21_": {
        "name": "bloques.21."
      },
      "blocks_22_": {
        "name": "bloques.22."
      },
      "blocks_23_": {
        "name": "bloques.23."
      },
      "blocks_24_": {
        "name": "bloques.24."
      },
      "blocks_25_": {
        "name": "bloques.25."
      },
      "blocks_26_": {
        "name": "bloques.26."
      },
      "blocks_27_": {
        "name": "bloques.27."
      },
      "blocks_28_": {
        "name": "bloques.28."
      },
      "blocks_29_": {
        "name": "bloques.29."
      },
      "blocks_2_": {
        "name": "bloques.2."
      },
      "blocks_30_": {
        "name": "bloques.30."
      },
      "blocks_31_": {
        "name": "bloques.31."
      },
      "blocks_32_": {
        "name": "bloques.32."
      },
      "blocks_33_": {
        "name": "bloques.33."
      },
      "blocks_34_": {
        "name": "bloques.34."
      },
      "blocks_35_": {
        "name": "bloques.35."
      },
      "blocks_3_": {
        "name": "bloques.3."
      },
      "blocks_4_": {
        "name": "bloques.4."
      },
      "blocks_5_": {
        "name": "bloques.5."
      },
      "blocks_6_": {
        "name": "bloques.6."
      },
      "blocks_7_": {
        "name": "bloques.7."
      },
      "blocks_8_": {
        "name": "bloques.8."
      },
      "blocks_9_": {
        "name": "bloques.9."
      },
      "final_layer_": {
        "name": "capa_final."
      },
      "model1": {
        "name": "modelo1"
      },
      "model2": {
        "name": "modelo2"
      },
      "pos_embedder_": {
        "name": "pos_embedder."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "t_embedding_norm_": {
        "name": "t_embedding_norm."
      },
      "x_embedder_": {
        "name": "x_embedder."
      }
    }
  },
  "ModelMergeCosmosPredict2_2B": {
    "display_name": "ModelMergeCosmosPredict2_2B",
    "inputs": {
      "blocks_0_": {
        "name": "bloques.0."
      },
      "blocks_10_": {
        "name": "bloques.10."
      },
      "blocks_11_": {
        "name": "bloques.11."
      },
      "blocks_12_": {
        "name": "bloques.12."
      },
      "blocks_13_": {
        "name": "bloques.13."
      },
      "blocks_14_": {
        "name": "bloques.14."
      },
      "blocks_15_": {
        "name": "bloques.15."
      },
      "blocks_16_": {
        "name": "bloques.16."
      },
      "blocks_17_": {
        "name": "bloques.17."
      },
      "blocks_18_": {
        "name": "bloques.18."
      },
      "blocks_19_": {
        "name": "bloques.19."
      },
      "blocks_1_": {
        "name": "bloques.1."
      },
      "blocks_20_": {
        "name": "bloques.20."
      },
      "blocks_21_": {
        "name": "bloques.21."
      },
      "blocks_22_": {
        "name": "bloques.22."
      },
      "blocks_23_": {
        "name": "bloques.23."
      },
      "blocks_24_": {
        "name": "bloques.24."
      },
      "blocks_25_": {
        "name": "bloques.25."
      },
      "blocks_26_": {
        "name": "bloques.26."
      },
      "blocks_27_": {
        "name": "bloques.27."
      },
      "blocks_2_": {
        "name": "bloques.2."
      },
      "blocks_3_": {
        "name": "bloques.3."
      },
      "blocks_4_": {
        "name": "bloques.4."
      },
      "blocks_5_": {
        "name": "bloques.5."
      },
      "blocks_6_": {
        "name": "bloques.6."
      },
      "blocks_7_": {
        "name": "bloques.7."
      },
      "blocks_8_": {
        "name": "bloques.8."
      },
      "blocks_9_": {
        "name": "bloques.9."
      },
      "final_layer_": {
        "name": "capa_final."
      },
      "model1": {
        "name": "modelo1"
      },
      "model2": {
        "name": "modelo2"
      },
      "pos_embedder_": {
        "name": "incrustador_pos."
      },
      "t_embedder_": {
        "name": "incrustador_t."
      },
      "t_embedding_norm_": {
        "name": "norm_incrustacion_t."
      },
      "x_embedder_": {
        "name": "incrustador_x."
      }
    }
  },
  "ModelMergeFlux1": {
    "display_name": "ModelMergeFlux1",
    "inputs": {
      "double_blocks_0_": {
        "name": "bloques_dobles.0."
      },
      "double_blocks_10_": {
        "name": "bloques_dobles.10."
      },
      "double_blocks_11_": {
        "name": "bloques_dobles.11."
      },
      "double_blocks_12_": {
        "name": "bloques_dobles.12."
      },
      "double_blocks_13_": {
        "name": "bloques_dobles.13."
      },
      "double_blocks_14_": {
        "name": "bloques_dobles.14."
      },
      "double_blocks_15_": {
        "name": "bloques_dobles.15."
      },
      "double_blocks_16_": {
        "name": "bloques_dobles.16."
      },
      "double_blocks_17_": {
        "name": "bloques_dobles.17."
      },
      "double_blocks_18_": {
        "name": "bloques_dobles.18."
      },
      "double_blocks_1_": {
        "name": "bloques_dobles.1."
      },
      "double_blocks_2_": {
        "name": "bloques_dobles.2."
      },
      "double_blocks_3_": {
        "name": "bloques_dobles.3."
      },
      "double_blocks_4_": {
        "name": "bloques_dobles.4."
      },
      "double_blocks_5_": {
        "name": "bloques_dobles.5."
      },
      "double_blocks_6_": {
        "name": "bloques_dobles.6."
      },
      "double_blocks_7_": {
        "name": "bloques_dobles.7."
      },
      "double_blocks_8_": {
        "name": "bloques_dobles.8."
      },
      "double_blocks_9_": {
        "name": "bloques_dobles.9."
      },
      "final_layer_": {
        "name": "capa_final."
      },
      "guidance_in": {
        "name": "orientación_in"
      },
      "img_in_": {
        "name": "img_in."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "single_blocks_0_": {
        "name": "bloques_simples.0."
      },
      "single_blocks_10_": {
        "name": "bloques_simples.10."
      },
      "single_blocks_11_": {
        "name": "bloques_simples.11."
      },
      "single_blocks_12_": {
        "name": "bloques_simples.12."
      },
      "single_blocks_13_": {
        "name": "bloques_simples.13."
      },
      "single_blocks_14_": {
        "name": "bloques_simples.14."
      },
      "single_blocks_15_": {
        "name": "bloques_simples.15."
      },
      "single_blocks_16_": {
        "name": "bloques_simples.16."
      },
      "single_blocks_17_": {
        "name": "bloques_simples.17."
      },
      "single_blocks_18_": {
        "name": "bloques_simples.18."
      },
      "single_blocks_19_": {
        "name": "bloques_simples.19."
      },
      "single_blocks_1_": {
        "name": "bloques_simples.1."
      },
      "single_blocks_20_": {
        "name": "bloques_simples.20."
      },
      "single_blocks_21_": {
        "name": "bloques_simples.21."
      },
      "single_blocks_22_": {
        "name": "bloques_simples.22."
      },
      "single_blocks_23_": {
        "name": "bloques_simples.23."
      },
      "single_blocks_24_": {
        "name": "bloques_simples.24."
      },
      "single_blocks_25_": {
        "name": "bloques_simples.25."
      },
      "single_blocks_26_": {
        "name": "bloques_simples.26."
      },
      "single_blocks_27_": {
        "name": "bloques_simples.27."
      },
      "single_blocks_28_": {
        "name": "bloques_simples.28."
      },
      "single_blocks_29_": {
        "name": "bloques_simples.29."
      },
      "single_blocks_2_": {
        "name": "bloques_simples.2."
      },
      "single_blocks_30_": {
        "name": "bloques_simples.30."
      },
      "single_blocks_31_": {
        "name": "bloques_simples.31."
      },
      "single_blocks_32_": {
        "name": "bloques_simples.32."
      },
      "single_blocks_33_": {
        "name": "bloques_simples.33."
      },
      "single_blocks_34_": {
        "name": "bloques_simples.34."
      },
      "single_blocks_35_": {
        "name": "bloques_simples.35."
      },
      "single_blocks_36_": {
        "name": "bloques_simples.36."
      },
      "single_blocks_37_": {
        "name": "bloques_simples.37."
      },
      "single_blocks_3_": {
        "name": "bloques_simples.3."
      },
      "single_blocks_4_": {
        "name": "bloques_simples.4."
      },
      "single_blocks_5_": {
        "name": "bloques_simples.5."
      },
      "single_blocks_6_": {
        "name": "bloques_simples.6."
      },
      "single_blocks_7_": {
        "name": "bloques_simples.7."
      },
      "single_blocks_8_": {
        "name": "bloques_simples.8."
      },
      "single_blocks_9_": {
        "name": "bloques_simples.9."
      },
      "time_in_": {
        "name": "time_in."
      },
      "txt_in_": {
        "name": "txt_in."
      },
      "vector_in_": {
        "name": "vector_in."
      }
    }
  },
  "ModelMergeKrea2": {
    "display_name": "ModelMergeKrea2",
    "inputs": {
      "blocks_0_": {
        "name": "bloques.0."
      },
      "blocks_10_": {
        "name": "bloques.10."
      },
      "blocks_11_": {
        "name": "bloques.11."
      },
      "blocks_12_": {
        "name": "bloques.12."
      },
      "blocks_13_": {
        "name": "bloques.13."
      },
      "blocks_14_": {
        "name": "bloques.14."
      },
      "blocks_15_": {
        "name": "bloques.15."
      },
      "blocks_16_": {
        "name": "bloques.16."
      },
      "blocks_17_": {
        "name": "bloques.17."
      },
      "blocks_18_": {
        "name": "bloques.18."
      },
      "blocks_19_": {
        "name": "bloques.19."
      },
      "blocks_1_": {
        "name": "bloques.1."
      },
      "blocks_20_": {
        "name": "bloques.20."
      },
      "blocks_21_": {
        "name": "bloques.21."
      },
      "blocks_22_": {
        "name": "bloques.22."
      },
      "blocks_23_": {
        "name": "bloques.23."
      },
      "blocks_24_": {
        "name": "bloques.24."
      },
      "blocks_25_": {
        "name": "bloques.25."
      },
      "blocks_26_": {
        "name": "bloques.26."
      },
      "blocks_27_": {
        "name": "bloques.27."
      },
      "blocks_2_": {
        "name": "bloques.2."
      },
      "blocks_3_": {
        "name": "bloques.3."
      },
      "blocks_4_": {
        "name": "bloques.4."
      },
      "blocks_5_": {
        "name": "bloques.5."
      },
      "blocks_6_": {
        "name": "bloques.6."
      },
      "blocks_7_": {
        "name": "bloques.7."
      },
      "blocks_8_": {
        "name": "bloques.8."
      },
      "blocks_9_": {
        "name": "bloques.9."
      },
      "first_": {
        "name": "primero."
      },
      "last_": {
        "name": "último."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "tmlp_": {
        "name": "tmlp."
      },
      "tproj_": {
        "name": "tproj."
      },
      "txtfusion_layerwise_blocks_0_": {
        "name": "txtfusion.layerwise_blocks.0."
      },
      "txtfusion_layerwise_blocks_1_": {
        "name": "txtfusion.layerwise_blocks.1."
      },
      "txtfusion_projector_": {
        "name": "txtfusion.projector."
      },
      "txtfusion_refiner_blocks_0_": {
        "name": "txtfusion.refiner_blocks.0."
      },
      "txtfusion_refiner_blocks_1_": {
        "name": "txtfusion.refiner_blocks.1."
      },
      "txtmlp_": {
        "name": "txtmlp."
      }
    }
  },
  "ModelMergeLTXV": {
    "display_name": "ModelMergeLTXV",
    "inputs": {
      "adaln_single_": {
        "name": "adaln_single."
      },
      "caption_projection_": {
        "name": "caption_projection."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "patchify_proj_": {
        "name": "patchify_proj."
      },
      "proj_out_": {
        "name": "proj_out."
      },
      "scale_shift_table": {
        "name": "scale_shift_table"
      },
      "transformer_blocks_0_": {
        "name": "transformer_blocks.0."
      },
      "transformer_blocks_10_": {
        "name": "transformer_blocks.10."
      },
      "transformer_blocks_11_": {
        "name": "transformer_blocks.11."
      },
      "transformer_blocks_12_": {
        "name": "transformer_blocks.12."
      },
      "transformer_blocks_13_": {
        "name": "transformer_blocks.13."
      },
      "transformer_blocks_14_": {
        "name": "transformer_blocks.14."
      },
      "transformer_blocks_15_": {
        "name": "transformer_blocks.15."
      },
      "transformer_blocks_16_": {
        "name": "transformer_blocks.16."
      },
      "transformer_blocks_17_": {
        "name": "transformer_blocks.17."
      },
      "transformer_blocks_18_": {
        "name": "transformer_blocks.18."
      },
      "transformer_blocks_19_": {
        "name": "transformer_blocks.19."
      },
      "transformer_blocks_1_": {
        "name": "transformer_blocks.1."
      },
      "transformer_blocks_20_": {
        "name": "transformer_blocks.20."
      },
      "transformer_blocks_21_": {
        "name": "transformer_blocks.21."
      },
      "transformer_blocks_22_": {
        "name": "transformer_blocks.22."
      },
      "transformer_blocks_23_": {
        "name": "transformer_blocks.23."
      },
      "transformer_blocks_24_": {
        "name": "transformer_blocks.24."
      },
      "transformer_blocks_25_": {
        "name": "transformer_blocks.25."
      },
      "transformer_blocks_26_": {
        "name": "transformer_blocks.26."
      },
      "transformer_blocks_27_": {
        "name": "transformer_blocks.27."
      },
      "transformer_blocks_2_": {
        "name": "transformer_blocks.2."
      },
      "transformer_blocks_3_": {
        "name": "transformer_blocks.3."
      },
      "transformer_blocks_4_": {
        "name": "transformer_blocks.4."
      },
      "transformer_blocks_5_": {
        "name": "transformer_blocks.5."
      },
      "transformer_blocks_6_": {
        "name": "transformer_blocks.6."
      },
      "transformer_blocks_7_": {
        "name": "transformer_blocks.7."
      },
      "transformer_blocks_8_": {
        "name": "transformer_blocks.8."
      },
      "transformer_blocks_9_": {
        "name": "transformer_blocks.9."
      }
    }
  },
  "ModelMergeMochiPreview": {
    "display_name": "ModelMergeMochiPreview",
    "inputs": {
      "blocks_0_": {
        "name": "blocks.0."
      },
      "blocks_10_": {
        "name": "blocks.10."
      },
      "blocks_11_": {
        "name": "blocks.11."
      },
      "blocks_12_": {
        "name": "blocks.12."
      },
      "blocks_13_": {
        "name": "blocks.13."
      },
      "blocks_14_": {
        "name": "blocks.14."
      },
      "blocks_15_": {
        "name": "blocks.15."
      },
      "blocks_16_": {
        "name": "blocks.16."
      },
      "blocks_17_": {
        "name": "blocks.17."
      },
      "blocks_18_": {
        "name": "blocks.18."
      },
      "blocks_19_": {
        "name": "blocks.19."
      },
      "blocks_1_": {
        "name": "blocks.1."
      },
      "blocks_20_": {
        "name": "blocks.20."
      },
      "blocks_21_": {
        "name": "blocks.21."
      },
      "blocks_22_": {
        "name": "blocks.22."
      },
      "blocks_23_": {
        "name": "blocks.23."
      },
      "blocks_24_": {
        "name": "blocks.24."
      },
      "blocks_25_": {
        "name": "blocks.25."
      },
      "blocks_26_": {
        "name": "blocks.26."
      },
      "blocks_27_": {
        "name": "blocks.27."
      },
      "blocks_28_": {
        "name": "blocks.28."
      },
      "blocks_29_": {
        "name": "blocks.29."
      },
      "blocks_2_": {
        "name": "blocks.2."
      },
      "blocks_30_": {
        "name": "blocks.30."
      },
      "blocks_31_": {
        "name": "blocks.31."
      },
      "blocks_32_": {
        "name": "blocks.32."
      },
      "blocks_33_": {
        "name": "blocks.33."
      },
      "blocks_34_": {
        "name": "blocks.34."
      },
      "blocks_35_": {
        "name": "blocks.35."
      },
      "blocks_36_": {
        "name": "blocks.36."
      },
      "blocks_37_": {
        "name": "blocks.37."
      },
      "blocks_38_": {
        "name": "blocks.38."
      },
      "blocks_39_": {
        "name": "blocks.39."
      },
      "blocks_3_": {
        "name": "blocks.3."
      },
      "blocks_40_": {
        "name": "blocks.40."
      },
      "blocks_41_": {
        "name": "blocks.41."
      },
      "blocks_42_": {
        "name": "blocks.42."
      },
      "blocks_43_": {
        "name": "blocks.43."
      },
      "blocks_44_": {
        "name": "blocks.44."
      },
      "blocks_45_": {
        "name": "blocks.45."
      },
      "blocks_46_": {
        "name": "blocks.46."
      },
      "blocks_47_": {
        "name": "blocks.47."
      },
      "blocks_4_": {
        "name": "blocks.4."
      },
      "blocks_5_": {
        "name": "blocks.5."
      },
      "blocks_6_": {
        "name": "blocks.6."
      },
      "blocks_7_": {
        "name": "blocks.7."
      },
      "blocks_8_": {
        "name": "blocks.8."
      },
      "blocks_9_": {
        "name": "blocks.9."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_frequencies_": {
        "name": "pos_frequencies."
      },
      "t5_y_embedder_": {
        "name": "t5_y_embedder."
      },
      "t5_yproj_": {
        "name": "t5_yproj."
      },
      "t_embedder_": {
        "name": "t_embedder."
      }
    }
  },
  "ModelMergeQwenImage": {
    "display_name": "FusionarModeloQwenImage",
    "inputs": {
      "img_in_": {
        "name": "img_entrada."
      },
      "model1": {
        "name": "modelo1"
      },
      "model2": {
        "name": "modelo2"
      },
      "pos_embeds_": {
        "name": "incrustaciones_pos."
      },
      "proj_out_": {
        "name": "proyección_salida."
      },
      "time_text_embed_": {
        "name": "incrustacion_texto_tiempo."
      },
      "transformer_blocks_0_": {
        "name": "bloques_transformador.0."
      },
      "transformer_blocks_10_": {
        "name": "bloques_transformador.10."
      },
      "transformer_blocks_11_": {
        "name": "bloques_transformador.11."
      },
      "transformer_blocks_12_": {
        "name": "bloques_transformador.12."
      },
      "transformer_blocks_13_": {
        "name": "bloques_transformador.13."
      },
      "transformer_blocks_14_": {
        "name": "bloques_transformadores.14."
      },
      "transformer_blocks_15_": {
        "name": "bloques_transformadores.15."
      },
      "transformer_blocks_16_": {
        "name": "bloques_transformadores.16."
      },
      "transformer_blocks_17_": {
        "name": "bloques_transformadores.17."
      },
      "transformer_blocks_18_": {
        "name": "bloques_transformadores.18."
      },
      "transformer_blocks_19_": {
        "name": "bloques_transformadores.19."
      },
      "transformer_blocks_1_": {
        "name": "bloques_transformador.1."
      },
      "transformer_blocks_20_": {
        "name": "bloques_transformadores.20."
      },
      "transformer_blocks_21_": {
        "name": "bloques_transformadores.21."
      },
      "transformer_blocks_22_": {
        "name": "bloques_transformadores.22."
      },
      "transformer_blocks_23_": {
        "name": "bloques_transformadores.23."
      },
      "transformer_blocks_24_": {
        "name": "bloques_transformadores.24."
      },
      "transformer_blocks_25_": {
        "name": "bloques_transformadores.25."
      },
      "transformer_blocks_26_": {
        "name": "bloques_transformadores.26."
      },
      "transformer_blocks_27_": {
        "name": "bloques_transformadores.27."
      },
      "transformer_blocks_28_": {
        "name": "bloques_transformadores.28."
      },
      "transformer_blocks_29_": {
        "name": "bloques_transformadores.29."
      },
      "transformer_blocks_2_": {
        "name": "bloques_transformador.2."
      },
      "transformer_blocks_30_": {
        "name": "bloques_transformadores.30."
      },
      "transformer_blocks_31_": {
        "name": "bloques_transformadores.31."
      },
      "transformer_blocks_32_": {
        "name": "bloques_transformadores.32."
      },
      "transformer_blocks_33_": {
        "name": "bloques_transformadores.33."
      },
      "transformer_blocks_34_": {
        "name": "bloques_transformadores.34."
      },
      "transformer_blocks_35_": {
        "name": "bloques_transformadores.35."
      },
      "transformer_blocks_36_": {
        "name": "bloques_transformadores.36."
      },
      "transformer_blocks_37_": {
        "name": "bloques_transformadores.37."
      },
      "transformer_blocks_38_": {
        "name": "bloques_transformadores.38."
      },
      "transformer_blocks_39_": {
        "name": "bloques_transformadores.39."
      },
      "transformer_blocks_3_": {
        "name": "bloques_transformador.3."
      },
      "transformer_blocks_40_": {
        "name": "bloques_transformadores.40."
      },
      "transformer_blocks_41_": {
        "name": "bloques_transformadores.41."
      },
      "transformer_blocks_42_": {
        "name": "bloques_transformadores.42."
      },
      "transformer_blocks_43_": {
        "name": "bloques_transformadores.43."
      },
      "transformer_blocks_44_": {
        "name": "bloques_transformadores.44."
      },
      "transformer_blocks_45_": {
        "name": "bloques_transformadores.45."
      },
      "transformer_blocks_46_": {
        "name": "bloques_transformadores.46."
      },
      "transformer_blocks_47_": {
        "name": "bloques_transformadores.47."
      },
      "transformer_blocks_48_": {
        "name": "bloques_transformadores.48."
      },
      "transformer_blocks_49_": {
        "name": "bloques_transformadores.49."
      },
      "transformer_blocks_4_": {
        "name": "bloques_transformador.4."
      },
      "transformer_blocks_50_": {
        "name": "bloques_transformadores.50."
      },
      "transformer_blocks_51_": {
        "name": "bloques_transformadores.51."
      },
      "transformer_blocks_52_": {
        "name": "bloques_transformadores.52."
      },
      "transformer_blocks_53_": {
        "name": "bloques_transformadores.53."
      },
      "transformer_blocks_54_": {
        "name": "bloques_transformadores.54."
      },
      "transformer_blocks_55_": {
        "name": "bloques_transformadores.55."
      },
      "transformer_blocks_56_": {
        "name": "bloques_transformadores.56."
      },
      "transformer_blocks_57_": {
        "name": "bloques_transformadores.57."
      },
      "transformer_blocks_58_": {
        "name": "bloques_transformadores.58."
      },
      "transformer_blocks_59_": {
        "name": "bloques_transformadores.59."
      },
      "transformer_blocks_5_": {
        "name": "bloques_transformador.5."
      },
      "transformer_blocks_6_": {
        "name": "bloques_transformador.6."
      },
      "transformer_blocks_7_": {
        "name": "bloques_transformador.7."
      },
      "transformer_blocks_8_": {
        "name": "bloques_transformador.8."
      },
      "transformer_blocks_9_": {
        "name": "bloques_transformador.9."
      },
      "txt_in_": {
        "name": "txt_entrada."
      },
      "txt_norm_": {
        "name": "txt_norm."
      }
    }
  },
  "ModelMergeSD1": {
    "display_name": "ModelMergeSD1",
    "inputs": {
      "input_blocks_0_": {
        "name": "input_blocks.0."
      },
      "input_blocks_10_": {
        "name": "input_blocks.10."
      },
      "input_blocks_11_": {
        "name": "input_blocks.11."
      },
      "input_blocks_1_": {
        "name": "input_blocks.1."
      },
      "input_blocks_2_": {
        "name": "input_blocks.2."
      },
      "input_blocks_3_": {
        "name": "input_blocks.3."
      },
      "input_blocks_4_": {
        "name": "input_blocks.4."
      },
      "input_blocks_5_": {
        "name": "input_blocks.5."
      },
      "input_blocks_6_": {
        "name": "input_blocks.6."
      },
      "input_blocks_7_": {
        "name": "input_blocks.7."
      },
      "input_blocks_8_": {
        "name": "input_blocks.8."
      },
      "input_blocks_9_": {
        "name": "input_blocks.9."
      },
      "label_emb_": {
        "name": "label_emb."
      },
      "middle_block_0_": {
        "name": "middle_block.0."
      },
      "middle_block_1_": {
        "name": "middle_block.1."
      },
      "middle_block_2_": {
        "name": "middle_block.2."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "out_": {
        "name": "out."
      },
      "output_blocks_0_": {
        "name": "output_blocks.0."
      },
      "output_blocks_10_": {
        "name": "output_blocks.10."
      },
      "output_blocks_11_": {
        "name": "output_blocks.11."
      },
      "output_blocks_1_": {
        "name": "output_blocks.1."
      },
      "output_blocks_2_": {
        "name": "output_blocks.2."
      },
      "output_blocks_3_": {
        "name": "output_blocks.3."
      },
      "output_blocks_4_": {
        "name": "output_blocks.4."
      },
      "output_blocks_5_": {
        "name": "output_blocks.5."
      },
      "output_blocks_6_": {
        "name": "output_blocks.6."
      },
      "output_blocks_7_": {
        "name": "output_blocks.7."
      },
      "output_blocks_8_": {
        "name": "output_blocks.8."
      },
      "output_blocks_9_": {
        "name": "output_blocks.9."
      },
      "time_embed_": {
        "name": "time_embed."
      }
    }
  },
  "ModelMergeSD2": {
    "display_name": "ModelMergeSD2",
    "inputs": {
      "input_blocks_0_": {
        "name": "input_blocks.0."
      },
      "input_blocks_10_": {
        "name": "input_blocks.10."
      },
      "input_blocks_11_": {
        "name": "input_blocks.11."
      },
      "input_blocks_1_": {
        "name": "input_blocks.1."
      },
      "input_blocks_2_": {
        "name": "input_blocks.2."
      },
      "input_blocks_3_": {
        "name": "input_blocks.3."
      },
      "input_blocks_4_": {
        "name": "input_blocks.4."
      },
      "input_blocks_5_": {
        "name": "input_blocks.5."
      },
      "input_blocks_6_": {
        "name": "input_blocks.6."
      },
      "input_blocks_7_": {
        "name": "input_blocks.7."
      },
      "input_blocks_8_": {
        "name": "input_blocks.8."
      },
      "input_blocks_9_": {
        "name": "input_blocks.9."
      },
      "label_emb_": {
        "name": "label_emb."
      },
      "middle_block_0_": {
        "name": "middle_block.0."
      },
      "middle_block_1_": {
        "name": "middle_block.1."
      },
      "middle_block_2_": {
        "name": "middle_block.2."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "out_": {
        "name": "out."
      },
      "output_blocks_0_": {
        "name": "output_blocks.0."
      },
      "output_blocks_10_": {
        "name": "output_blocks.10."
      },
      "output_blocks_11_": {
        "name": "output_blocks.11."
      },
      "output_blocks_1_": {
        "name": "output_blocks.1."
      },
      "output_blocks_2_": {
        "name": "output_blocks.2."
      },
      "output_blocks_3_": {
        "name": "output_blocks.3."
      },
      "output_blocks_4_": {
        "name": "output_blocks.4."
      },
      "output_blocks_5_": {
        "name": "output_blocks.5."
      },
      "output_blocks_6_": {
        "name": "output_blocks.6."
      },
      "output_blocks_7_": {
        "name": "output_blocks.7."
      },
      "output_blocks_8_": {
        "name": "output_blocks.8."
      },
      "output_blocks_9_": {
        "name": "output_blocks.9."
      },
      "time_embed_": {
        "name": "time_embed."
      }
    }
  },
  "ModelMergeSD35_Large": {
    "display_name": "ModelMergeSD35_Large",
    "inputs": {
      "context_embedder_": {
        "name": "context_embedder."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "joint_blocks_0_": {
        "name": "joint_blocks.0."
      },
      "joint_blocks_10_": {
        "name": "joint_blocks.10."
      },
      "joint_blocks_11_": {
        "name": "joint_blocks.11."
      },
      "joint_blocks_12_": {
        "name": "joint_blocks.12."
      },
      "joint_blocks_13_": {
        "name": "joint_blocks.13."
      },
      "joint_blocks_14_": {
        "name": "joint_blocks.14."
      },
      "joint_blocks_15_": {
        "name": "joint_blocks.15."
      },
      "joint_blocks_16_": {
        "name": "joint_blocks.16."
      },
      "joint_blocks_17_": {
        "name": "joint_blocks.17."
      },
      "joint_blocks_18_": {
        "name": "joint_blocks.18."
      },
      "joint_blocks_19_": {
        "name": "joint_blocks.19."
      },
      "joint_blocks_1_": {
        "name": "joint_blocks.1."
      },
      "joint_blocks_20_": {
        "name": "joint_blocks.20."
      },
      "joint_blocks_21_": {
        "name": "joint_blocks.21."
      },
      "joint_blocks_22_": {
        "name": "joint_blocks.22."
      },
      "joint_blocks_23_": {
        "name": "joint_blocks.23."
      },
      "joint_blocks_24_": {
        "name": "joint_blocks.24."
      },
      "joint_blocks_25_": {
        "name": "joint_blocks.25."
      },
      "joint_blocks_26_": {
        "name": "joint_blocks.26."
      },
      "joint_blocks_27_": {
        "name": "joint_blocks.27."
      },
      "joint_blocks_28_": {
        "name": "joint_blocks.28."
      },
      "joint_blocks_29_": {
        "name": "joint_blocks.29."
      },
      "joint_blocks_2_": {
        "name": "joint_blocks.2."
      },
      "joint_blocks_30_": {
        "name": "joint_blocks.30."
      },
      "joint_blocks_31_": {
        "name": "joint_blocks.31."
      },
      "joint_blocks_32_": {
        "name": "joint_blocks.32."
      },
      "joint_blocks_33_": {
        "name": "joint_blocks.33."
      },
      "joint_blocks_34_": {
        "name": "joint_blocks.34."
      },
      "joint_blocks_35_": {
        "name": "joint_blocks.35."
      },
      "joint_blocks_36_": {
        "name": "joint_blocks.36."
      },
      "joint_blocks_37_": {
        "name": "joint_blocks.37."
      },
      "joint_blocks_3_": {
        "name": "joint_blocks.3."
      },
      "joint_blocks_4_": {
        "name": "joint_blocks.4."
      },
      "joint_blocks_5_": {
        "name": "joint_blocks.5."
      },
      "joint_blocks_6_": {
        "name": "joint_blocks.6."
      },
      "joint_blocks_7_": {
        "name": "joint_blocks.7."
      },
      "joint_blocks_8_": {
        "name": "joint_blocks.8."
      },
      "joint_blocks_9_": {
        "name": "joint_blocks.9."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embed_": {
        "name": "pos_embed."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "x_embedder_": {
        "name": "x_embedder."
      },
      "y_embedder_": {
        "name": "y_embedder."
      }
    }
  },
  "ModelMergeSD3_2B": {
    "display_name": "ModelMergeSD3_2B",
    "inputs": {
      "context_embedder_": {
        "name": "context_embedder."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "joint_blocks_0_": {
        "name": "joint_blocks.0."
      },
      "joint_blocks_10_": {
        "name": "joint_blocks.10."
      },
      "joint_blocks_11_": {
        "name": "joint_blocks.11."
      },
      "joint_blocks_12_": {
        "name": "joint_blocks.12."
      },
      "joint_blocks_13_": {
        "name": "joint_blocks.13."
      },
      "joint_blocks_14_": {
        "name": "joint_blocks.14."
      },
      "joint_blocks_15_": {
        "name": "joint_blocks.15."
      },
      "joint_blocks_16_": {
        "name": "joint_blocks.16."
      },
      "joint_blocks_17_": {
        "name": "joint_blocks.17."
      },
      "joint_blocks_18_": {
        "name": "joint_blocks.18."
      },
      "joint_blocks_19_": {
        "name": "joint_blocks.19."
      },
      "joint_blocks_1_": {
        "name": "joint_blocks.1."
      },
      "joint_blocks_20_": {
        "name": "joint_blocks.20."
      },
      "joint_blocks_21_": {
        "name": "joint_blocks.21."
      },
      "joint_blocks_22_": {
        "name": "joint_blocks.22."
      },
      "joint_blocks_23_": {
        "name": "joint_blocks.23."
      },
      "joint_blocks_2_": {
        "name": "joint_blocks.2."
      },
      "joint_blocks_3_": {
        "name": "joint_blocks.3."
      },
      "joint_blocks_4_": {
        "name": "joint_blocks.4."
      },
      "joint_blocks_5_": {
        "name": "joint_blocks.5."
      },
      "joint_blocks_6_": {
        "name": "joint_blocks.6."
      },
      "joint_blocks_7_": {
        "name": "joint_blocks.7."
      },
      "joint_blocks_8_": {
        "name": "joint_blocks.8."
      },
      "joint_blocks_9_": {
        "name": "joint_blocks.9."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embed_": {
        "name": "pos_embed."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "x_embedder_": {
        "name": "x_embedder."
      },
      "y_embedder_": {
        "name": "y_embedder."
      }
    }
  },
  "ModelMergeSDXL": {
    "display_name": "ModelMergeSDXL",
    "inputs": {
      "input_blocks_0": {
        "name": "input_blocks.0"
      },
      "input_blocks_1": {
        "name": "input_blocks.1"
      },
      "input_blocks_2": {
        "name": "input_blocks.2"
      },
      "input_blocks_3": {
        "name": "input_blocks.3"
      },
      "input_blocks_4": {
        "name": "input_blocks.4"
      },
      "input_blocks_5": {
        "name": "input_blocks.5"
      },
      "input_blocks_6": {
        "name": "input_blocks.6"
      },
      "input_blocks_7": {
        "name": "input_blocks.7"
      },
      "input_blocks_8": {
        "name": "input_blocks.8"
      },
      "label_emb_": {
        "name": "label_emb."
      },
      "middle_block_0": {
        "name": "middle_block.0"
      },
      "middle_block_1": {
        "name": "middle_block.1"
      },
      "middle_block_2": {
        "name": "middle_block.2"
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "out_": {
        "name": "out."
      },
      "output_blocks_0": {
        "name": "output_blocks.0"
      },
      "output_blocks_1": {
        "name": "output_blocks.1"
      },
      "output_blocks_2": {
        "name": "output_blocks.2"
      },
      "output_blocks_3": {
        "name": "output_blocks.3"
      },
      "output_blocks_4": {
        "name": "output_blocks.4"
      },
      "output_blocks_5": {
        "name": "output_blocks.5"
      },
      "output_blocks_6": {
        "name": "output_blocks.6"
      },
      "output_blocks_7": {
        "name": "output_blocks.7"
      },
      "output_blocks_8": {
        "name": "output_blocks.8"
      },
      "time_embed_": {
        "name": "time_embed."
      }
    }
  },
  "ModelMergeSimple": {
    "display_name": "ModelMergeSimple",
    "inputs": {
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "ratio": {
        "name": "ratio"
      }
    }
  },
  "ModelMergeSubtract": {
    "display_name": "ModelMergeSubtract",
    "inputs": {
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "multiplier": {
        "name": "multiplier"
      }
    }
  },
  "ModelMergeWAN2_1": {
    "description": "El modelo de 1.3B tiene 30 bloques, el modelo de 14B tiene 40 bloques. El modelo de imagen a video tiene el img_emb extra.",
    "display_name": "ModelMergeWAN2_1",
    "inputs": {
      "blocks_0_": {
        "name": "blocks.0."
      },
      "blocks_10_": {
        "name": "blocks.10."
      },
      "blocks_11_": {
        "name": "blocks.11."
      },
      "blocks_12_": {
        "name": "blocks.12."
      },
      "blocks_13_": {
        "name": "blocks.13."
      },
      "blocks_14_": {
        "name": "blocks.14."
      },
      "blocks_15_": {
        "name": "blocks.15."
      },
      "blocks_16_": {
        "name": "blocks.16."
      },
      "blocks_17_": {
        "name": "blocks.17."
      },
      "blocks_18_": {
        "name": "blocks.18."
      },
      "blocks_19_": {
        "name": "blocks.19."
      },
      "blocks_1_": {
        "name": "blocks.1."
      },
      "blocks_20_": {
        "name": "blocks.20."
      },
      "blocks_21_": {
        "name": "blocks.21."
      },
      "blocks_22_": {
        "name": "blocks.22."
      },
      "blocks_23_": {
        "name": "blocks.23."
      },
      "blocks_24_": {
        "name": "blocks.24."
      },
      "blocks_25_": {
        "name": "blocks.25."
      },
      "blocks_26_": {
        "name": "blocks.26."
      },
      "blocks_27_": {
        "name": "blocks.27."
      },
      "blocks_28_": {
        "name": "blocks.28."
      },
      "blocks_29_": {
        "name": "blocks.29."
      },
      "blocks_2_": {
        "name": "blocks.2."
      },
      "blocks_30_": {
        "name": "blocks.30."
      },
      "blocks_31_": {
        "name": "blocks.31."
      },
      "blocks_32_": {
        "name": "blocks.32."
      },
      "blocks_33_": {
        "name": "blocks.33."
      },
      "blocks_34_": {
        "name": "blocks.34."
      },
      "blocks_35_": {
        "name": "blocks.35."
      },
      "blocks_36_": {
        "name": "blocks.36."
      },
      "blocks_37_": {
        "name": "blocks.37."
      },
      "blocks_38_": {
        "name": "blocks.38."
      },
      "blocks_39_": {
        "name": "blocks.39."
      },
      "blocks_3_": {
        "name": "blocks.3."
      },
      "blocks_4_": {
        "name": "blocks.4."
      },
      "blocks_5_": {
        "name": "blocks.5."
      },
      "blocks_6_": {
        "name": "blocks.6."
      },
      "blocks_7_": {
        "name": "blocks.7."
      },
      "blocks_8_": {
        "name": "blocks.8."
      },
      "blocks_9_": {
        "name": "blocks.9."
      },
      "head_": {
        "name": "head."
      },
      "img_emb_": {
        "name": "img_emb."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "patch_embedding_": {
        "name": "patch_embedding."
      },
      "text_embedding_": {
        "name": "text_embedding."
      },
      "time_embedding_": {
        "name": "time_embedding."
      },
      "time_projection_": {
        "name": "time_projection."
      }
    }
  },
  "ModelNoiseScale": {
    "display_name": "Escala de Ruido del Modelo",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "noise_scale": {
        "name": "escala_ruido",
        "tooltip": "Escala absoluta de ruido de entrenamiento. Por ejemplo HiDream-O1 base: 8.0, dev: 7.5."
      }
    }
  },
  "ModelPatchLoader": {
    "display_name": "Cargador de Parches de Modelo",
    "inputs": {
      "name": {
        "name": "nombre"
      }
    }
  },
  "ModelSamplingAuraFlow": {
    "display_name": "ModelSamplingAuraFlow",
    "inputs": {
      "model": {
        "name": "model"
      },
      "shift": {
        "name": "shift"
      }
    }
  },
  "ModelSamplingContinuousEDM": {
    "display_name": "ModelSamplingContinuousEDM",
    "inputs": {
      "model": {
        "name": "model"
      },
      "sampling": {
        "name": "muestreo"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      }
    }
  },
  "ModelSamplingContinuousV": {
    "display_name": "ModelSamplingContinuousV",
    "inputs": {
      "model": {
        "name": "model"
      },
      "sampling": {
        "name": "muestreo"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      }
    }
  },
  "ModelSamplingDiscrete": {
    "display_name": "MuestreoDeModeloDiscreto",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "sampling": {
        "name": "muestreo"
      },
      "zsnr": {
        "name": "zsnr"
      }
    }
  },
  "ModelSamplingFlux": {
    "display_name": "MuestreoDeModeloFlux",
    "inputs": {
      "base_shift": {
        "name": "desplazamiento_base"
      },
      "height": {
        "name": "altura"
      },
      "max_shift": {
        "name": "desplazamiento_max"
      },
      "model": {
        "name": "modelo"
      },
      "width": {
        "name": "ancho"
      }
    }
  },
  "ModelSamplingLTXV": {
    "display_name": "MuestreoDeModeloLTXV",
    "inputs": {
      "base_shift": {
        "name": "desplazamiento_base"
      },
      "latent": {
        "name": "latente"
      },
      "max_shift": {
        "name": "desplazamiento_max"
      },
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ModelSamplingSD3": {
    "display_name": "MuestreoDeModeloSD3",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "shift": {
        "name": "desplazamiento"
      }
    }
  },
  "ModelSamplingStableCascade": {
    "display_name": "MuestreoDeModeloStableCascade",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "shift": {
        "name": "desplazamiento"
      }
    }
  },
  "ModelSave": {
    "display_name": "GuardarModelo",
    "inputs": {
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      },
      "model": {
        "name": "modelo"
      }
    }
  },
  "Morphology": {
    "display_name": "MorfologiaDeImagen",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "kernel_size": {
        "name": "tamaño_kernel"
      },
      "operation": {
        "name": "operacion"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MultiGPU_WorkUnits": {
    "description": "Prepara el modelo para acelerar el muestreo dividiendo las unidades de trabajo.\n\nDebe colocarse después de los nodos que modifican el propio objeto del modelo, como los nodos de compilación o cambio de atención.\n\nA excepción de esos casos, este nodo puede colocarse en cualquier orden.",
    "display_name": "División CFG MultiGPU",
    "inputs": {
      "max_gpus": {
        "name": "max_gpus"
      },
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "NAGuidance": {
    "description": "Aplica la Guía de Atención Normalizada a los modelos, permitiendo prompts negativos en modelos distilled/schnell.",
    "display_name": "Guía de Atención Normalizada",
    "inputs": {
      "model": {
        "name": "modelo",
        "tooltip": "El modelo al que se aplicará NAG."
      },
      "nag_alpha": {
        "name": "nag_alpha",
        "tooltip": "Factor de mezcla para la atención normalizada. 1.0 es reemplazo total, 0.0 sin efecto."
      },
      "nag_scale": {
        "name": "escala_nag",
        "tooltip": "El factor de escala de la guía. Valores más altos alejan más del prompt negativo."
      },
      "nag_tau": {
        "name": "nag_tau"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El modelo modificado con NAG habilitado."
      }
    }
  },
  "NormalizeImages": {
    "description": "Normaliza imágenes usando la media y la desviación estándar.",
    "display_name": "Normalizar Imágenes",
    "inputs": {
      "images": {
        "name": "imágenes",
        "tooltip": "Imagen a procesar."
      },
      "mean": {
        "name": "media",
        "tooltip": "Valor medio para la normalización."
      },
      "std": {
        "name": "desviación estándar",
        "tooltip": "Desviación estándar para la normalización."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": "Imágenes procesadas"
      }
    }
  },
  "NormalizeVideoLatentStart": {
    "description": "Normaliza los fotogramas iniciales de un video latent para que coincidan con la media y la desviación estándar de los fotogramas de referencia posteriores. Ayuda a reducir las diferencias entre los primeros fotogramas y el resto del video.",
    "display_name": "NormalizeVideoLatentStart",
    "inputs": {
      "latent": {
        "name": "latent"
      },
      "reference_frame_count": {
        "name": "reference_frame_count",
        "tooltip": "Número de fotogramas latent después de los iniciales que se usarán como referencia"
      },
      "start_frame_count": {
        "name": "start_frame_count",
        "tooltip": "Número de fotogramas latent a normalizar, contados desde el inicio"
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "OpenAIChatConfig": {
    "description": "Permite especificar opciones de configuración avanzada para los Nodos de Chat de OpenAI.",
    "display_name": "Opciones Avanzadas de OpenAI ChatGPT",
    "inputs": {
      "instructions": {
        "name": "instrucciones",
        "tooltip": "Instrucciones para el modelo sobre cómo generar la respuesta"
      },
      "max_output_tokens": {
        "name": "tokens_salida_max",
        "tooltip": "Un límite superior para el número de tokens que se pueden generar para una respuesta, incluyendo tokens de salida visibles"
      },
      "truncation": {
        "name": "truncamiento",
        "tooltip": "La estrategia de truncamiento a utilizar para la respuesta del modelo. auto: Si el contexto de esta respuesta y las anteriores excede el tamaño de la ventana de contexto del modelo, el modelo truncará la respuesta para ajustarse a la ventana de contexto eliminando elementos de entrada en medio de la conversación. deshabilitado: Si una respuesta del modelo excederá el tamaño de la ventana de contexto para un modelo, la solicitud fallará con un error 400"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIChatNode": {
    "description": "Genera respuestas de texto desde un modelo de OpenAI.",
    "display_name": "OpenAI ChatGPT",
    "inputs": {
      "advanced_options": {
        "name": "opciones_avanzadas",
        "tooltip": "Configuración opcional para el modelo. Acepta entradas desde el nodo Opciones Avanzadas de Chat de OpenAI."
      },
      "files": {
        "name": "archivos",
        "tooltip": "Archivo(s) opcional(es) para usar como contexto para el modelo. Acepta entradas desde el nodo Archivos de Entrada de Chat de OpenAI."
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Imagen(es) opcional(es) para usar como contexto para el modelo. Para incluir múltiples imágenes, puedes usar el nodo Lote de Imágenes."
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo utilizado para generar la respuesta"
      },
      "persist_context": {
        "name": "persistir_contexto",
        "tooltip": "Este parámetro está obsoleto y no tiene efecto."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entradas de texto al modelo, utilizadas para generar una respuesta."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIDalle2": {
    "description": "Genera imágenes de forma síncrona a través del endpoint DALL·E 2 de OpenAI.",
    "display_name": "OpenAI DALL·E 2",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "image": {
        "name": "imagen",
        "tooltip": "Imagen de referencia opcional para la edición de imágenes."
      },
      "mask": {
        "name": "mask",
        "tooltip": "Máscara opcional para inpainting (las áreas blancas serán reemplazadas)"
      },
      "n": {
        "name": "n",
        "tooltip": "Cuántas imágenes generar"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto de entrada para DALL·E"
      },
      "seed": {
        "name": "seed",
        "tooltip": "aún no implementado en el backend"
      },
      "size": {
        "name": "tamaño",
        "tooltip": "Tamaño de la imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIDalle3": {
    "description": "Genera imágenes de forma sincrónica a través del endpoint DALL·E 3 de OpenAI.",
    "display_name": "OpenAI DALL·E 3",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto de entrada para DALL·E"
      },
      "quality": {
        "name": "calidad",
        "tooltip": "Calidad de la imagen"
      },
      "seed": {
        "name": "seed",
        "tooltip": "aún no implementado en el backend"
      },
      "size": {
        "name": "tamaño",
        "tooltip": "Tamaño de la imagen"
      },
      "style": {
        "name": "estilo",
        "tooltip": "Vívido hace que el modelo tienda a generar imágenes hiperrealistas y dramáticas. Natural hace que el modelo produzca imágenes más naturales y menos hiperrealistas."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIGPTImage1": {
    "description": "Genera imágenes de forma síncrona a través del endpoint GPT Image 2 de OpenAI.",
    "display_name": "OpenAI GPT Image 2",
    "inputs": {
      "background": {
        "name": "background",
        "tooltip": "Devolver imagen con o sin fondo"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "custom_height": {
        "name": "custom_height",
        "tooltip": "Se utiliza solo cuando el valor de `size` es 'Custom'. Debe ser un múltiplo de 16 (solo para GPT Image 2)."
      },
      "custom_width": {
        "name": "custom_width",
        "tooltip": "Se utiliza solo cuando el valor de `size` es 'Custom'. Debe ser un múltiplo de 16 (solo para GPT Image 2)."
      },
      "image": {
        "name": "image",
        "tooltip": "Imagen de referencia opcional para edición de imagen."
      },
      "mask": {
        "name": "mask",
        "tooltip": "Máscara opcional para inpainting (las áreas blancas serán reemplazadas)"
      },
      "model": {
        "name": "model"
      },
      "n": {
        "name": "n",
        "tooltip": "Cuántas imágenes generar"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto de entrada para GPT Image 2"
      },
      "quality": {
        "name": "quality",
        "tooltip": "Calidad de la imagen, afecta el costo y el tiempo de generación."
      },
      "seed": {
        "name": "seed",
        "tooltip": "aún no implementado en el backend"
      },
      "size": {
        "name": "size",
        "tooltip": "Tamaño de la imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIGPTImageNodeV2": {
    "description": "Genera imágenes a través del endpoint GPT Image de OpenAI.",
    "display_name": "OpenAI GPT Image 2",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "model_background": {
        "name": "fondo"
      },
      "model_custom_height": {
        "name": "altura_personalizada"
      },
      "model_custom_width": {
        "name": "ancho_personalizado"
      },
      "model_quality": {
        "name": "calidad"
      },
      "model_size": {
        "name": "tamaño"
      },
      "n": {
        "name": "n",
        "tooltip": "Cuántas imágenes generar"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para GPT Image"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "aún no implementado en el backend"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIInputFiles": {
    "description": "Carga y prepara archivos de entrada (texto, pdf, etc.) para incluirlos como entradas para el Nodo de Chat de OpenAI. Los archivos serán leídos por el modelo de OpenAI al generar una respuesta. 🛈 CONSEJO: Se puede encadenar con otros nodos de Archivos de Entrada de OpenAI.",
    "display_name": "Archivos de Entrada de OpenAI ChatGPT",
    "inputs": {
      "OPENAI_INPUT_FILES": {
        "name": "ARCHIVOS_ENTRADA_OPENAI",
        "tooltip": "Un archivo(s) adicional(es) opcional(es) para agrupar junto con el archivo cargado desde este nodo. Permite encadenar archivos de entrada para que un solo mensaje pueda incluir múltiples archivos de entrada."
      },
      "file": {
        "name": "archivo",
        "tooltip": "Archivos de entrada para incluir como contexto para el modelo. Por ahora solo acepta archivos de texto (.txt) y PDF (.pdf)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIVideoSora2": {
    "description": "Generación de video y audio de OpenAI.",
    "display_name": "OpenAI Sora - Video",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "image": {
        "name": "imagen"
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto guía; puede estar vacío si hay una imagen de entrada."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe volver a ejecutarse; los resultados reales son no deterministas independientemente de la semilla."
      },
      "size": {
        "name": "tamaño"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenRouterLLMNode": {
    "description": "Genera respuestas de texto a través de OpenRouter. Redirige a un conjunto seleccionado de modelos populares de xAI, DeepSeek, Qwen, Mistral, Z.AI (GLM), Moonshot (Kimi) y Perplexity Sonar.",
    "display_name": "OpenRouter LLM",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "El modelo de OpenRouter utilizado para generar la respuesta."
      },
      "model_reasoning_effort": {
        "name": "reasoning_effort"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entrada de texto para el modelo."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para muestreo. Establecer en 0 para omitir. La mayoría de los modelos lo toman solo como sugerencia."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instrucciones fundamentales que dictan el comportamiento del modelo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpticalFlowLoader": {
    "display_name": "Cargar modelo de flujo óptico",
    "inputs": {
      "model_name": {
        "name": "model_name",
        "tooltip": "Modelo de flujo óptico a cargar. Los archivos deben colocarse en la carpeta 'optical_flow'. Actualmente solo se admite raft_large.pth de torchvision."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OptimalStepsScheduler": {
    "display_name": "OptimalStepsScheduler",
    "inputs": {
      "denoise": {
        "name": "eliminar ruido"
      },
      "model_type": {
        "name": "model_type"
      },
      "steps": {
        "name": "pasos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Painter": {
    "display_name": "Pintor",
    "inputs": {
      "bg_color": {
        "name": "color_de_fondo"
      },
      "height": {
        "name": "alto"
      },
      "image": {
        "name": "imagen",
        "tooltip": "Imagen base opcional para pintar encima"
      },
      "mask": {
        "name": "mask"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "PairConditioningCombine": {
    "display_name": "CombinarCondPares",
    "inputs": {
      "negative_A": {
        "name": "negativo_A"
      },
      "negative_B": {
        "name": "negativo_B"
      },
      "positive_A": {
        "name": "positivo_A"
      },
      "positive_B": {
        "name": "positivo_B"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "PairConditioningSetDefaultCombine": {
    "display_name": "CombinarCondParesEstablecerPorDefecto",
    "inputs": {
      "hooks": {
        "name": "ganchos"
      },
      "negative": {
        "name": "negativo"
      },
      "negative_DEFAULT": {
        "name": "negativo_POR_DEFECTO"
      },
      "positive": {
        "name": "positivo"
      },
      "positive_DEFAULT": {
        "name": "positivo_POR_DEFECTO"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "PairConditioningSetProperties": {
    "display_name": "EstablecerPropiedadesCondPares",
    "inputs": {
      "hooks": {
        "name": "ganchos"
      },
      "mask": {
        "name": "mascara"
      },
      "negative_NEW": {
        "name": "negativo_NUEVO"
      },
      "positive_NEW": {
        "name": "positivo_NUEVO"
      },
      "set_cond_area": {
        "name": "establecer_area_cond"
      },
      "strength": {
        "name": "fuerza"
      },
      "timesteps": {
        "name": "pasos_de_tiempo"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "PairConditioningSetPropertiesAndCombine": {
    "display_name": "Cond Pair Set Props Combine",
    "inputs": {
      "hooks": {
        "name": "ganchos"
      },
      "mask": {
        "name": "máscara"
      },
      "negative": {
        "name": "negativo"
      },
      "negative_NEW": {
        "name": "negativo_NUEVO"
      },
      "positive": {
        "name": "positivo"
      },
      "positive_NEW": {
        "name": "positivo_NUEVO"
      },
      "set_cond_area": {
        "name": "set_area_cond"
      },
      "strength": {
        "name": "fuerza"
      },
      "timesteps": {
        "name": "pasos_de_tiempo"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "PatchModelAddDownscale": {
    "display_name": "PatchModelAddDownscale (Kohya Deep Shrink)",
    "inputs": {
      "block_number": {
        "name": "numero_de_bloque"
      },
      "downscale_after_skip": {
        "name": "reducción_después_de_omitir"
      },
      "downscale_factor": {
        "name": "factor_de_reducción"
      },
      "downscale_method": {
        "name": "método_de_reducción"
      },
      "end_percent": {
        "name": "porcentaje_final"
      },
      "model": {
        "name": "modelo"
      },
      "start_percent": {
        "name": "porcentaje_inicial"
      },
      "upscale_method": {
        "name": "método_de_ampliación"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerpNeg": {
    "display_name": "Perp-Neg (DEPRECATED by PerpNegGuider)",
    "inputs": {
      "empty_conditioning": {
        "name": "condicionamiento_vacío"
      },
      "model": {
        "name": "modelo"
      },
      "neg_scale": {
        "name": "escala_neg"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerpNegGuider": {
    "display_name": "PerpNegGuider",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "empty_conditioning": {
        "name": "condicionamiento_vacío"
      },
      "model": {
        "name": "modelo"
      },
      "neg_scale": {
        "name": "escala_neg"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerturbedAttentionGuidance": {
    "display_name": "PerturbedAttentionGuidance",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "scale": {
        "name": "escala"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PhotoMakerEncode": {
    "display_name": "PhotoMakerEncode",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "imagen"
      },
      "photomaker": {
        "name": "photomaker"
      },
      "text": {
        "name": "texto"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PhotoMakerLoader": {
    "display_name": "PhotoMakerLoader",
    "inputs": {
      "photomaker_model_name": {
        "name": "nombre_del_modelo_photomaker"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PiDConditioning": {
    "description": "Adjunta un latent y un escalar degrade_sigma a un CONDITIONING para decodificación/upsampling PiD",
    "display_name": "Condicionamiento PiD",
    "inputs": {
      "degrade_sigma": {
        "name": "degrade_sigma",
        "tooltip": "0 = latent limpio. Aumenta para eliminar ruido de salidas latentes corruptas."
      },
      "latent": {
        "name": "latent",
        "tooltip": "latent (de VAEEncode o un KSampler)."
      },
      "latent_format": {
        "name": "formato_latent",
        "tooltip": "Los latents de Flux1 y Flux2 se detectan automáticamente por la dimensión de canal, sd3 debe seleccionarse manualmente."
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseImageToVideoNode": {
    "description": "Genera videos de forma sincrónica según el prompt y el tamaño de salida.",
    "display_name": "PixVerse Imagen a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration_seconds": {
        "name": "duración_en_segundos"
      },
      "image": {
        "name": "imagen"
      },
      "motion_mode": {
        "name": "modo_de_movimiento"
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Una descripción opcional en texto de los elementos no deseados en una imagen."
      },
      "pixverse_template": {
        "name": "plantilla_pixverse",
        "tooltip": "Una plantilla opcional para influir en el estilo de la generación, creada por el nodo PixVerse Template."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación del video"
      },
      "quality": {
        "name": "calidad"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para la generación del video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseTemplateNode": {
    "display_name": "Plantilla de PixVerse",
    "inputs": {
      "template": {
        "name": "plantilla"
      }
    },
    "outputs": {
      "0": {
        "name": "plantilla_pixverse",
        "tooltip": null
      }
    }
  },
  "PixverseTextToVideoNode": {
    "description": "Genera videos de forma sincrónica basados en el prompt y el tamaño de salida.",
    "display_name": "PixVerse Texto a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_de_aspecto"
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration_seconds": {
        "name": "duración_segundos"
      },
      "motion_mode": {
        "name": "modo_de_movimiento"
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Una descripción opcional en texto de los elementos no deseados en una imagen."
      },
      "pixverse_template": {
        "name": "plantilla_pixverse",
        "tooltip": "Una plantilla opcional para influir en el estilo de la generación, creada por el nodo PixVerse Template."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de video"
      },
      "quality": {
        "name": "calidad"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para la generación de video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseTransitionVideoNode": {
    "description": "Genera videos de forma sincrónica según el prompt y el tamaño de salida.",
    "display_name": "Video de Transición PixVerse",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration_seconds": {
        "name": "duración en segundos"
      },
      "first_frame": {
        "name": "primer fotograma"
      },
      "last_frame": {
        "name": "último fotograma"
      },
      "motion_mode": {
        "name": "modo de movimiento"
      },
      "negative_prompt": {
        "name": "prompt negativo",
        "tooltip": "Una descripción opcional en texto de los elementos no deseados en una imagen."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de video"
      },
      "quality": {
        "name": "calidad"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para la generación de video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PolyexponentialScheduler": {
    "display_name": "PolyexponentialScheduler",
    "inputs": {
      "rho": {
        "name": "rho"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "pasos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PorterDuffImageComposite": {
    "display_name": "Composición de Imagen Porter-Duff",
    "inputs": {
      "destination": {
        "name": "destino"
      },
      "destination_alpha": {
        "name": "alfa_destino"
      },
      "mode": {
        "name": "modo"
      },
      "source": {
        "name": "fuente"
      },
      "source_alpha": {
        "name": "alfa_fuente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "Preview3D": {
    "description": "Previsualiza un archivo de modelo 3D sin guardarlo en el directorio de salida de ComfyUI.",
    "display_name": "Vista previa 3D",
    "inputs": {
      "bg_image": {
        "name": "bg_image"
      },
      "camera_info": {
        "name": "camera_info"
      },
      "image": {
        "name": "imagen"
      },
      "model_file": {
        "name": "archivo_modelo",
        "tooltip": "Archivo de modelo 3D o ruta del archivo"
      }
    }
  },
  "Preview3DAdvanced": {
    "description": "Previsualiza un archivo de modelo 3D sin guardarlo en el directorio de salida de ComfyUI.",
    "display_name": "Vista previa 3D (Avanzado)",
    "inputs": {
      "camera_info": {
        "name": "info_cámara"
      },
      "height": {
        "name": "alto"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Archivo de modelo 3D de un nodo 3D anterior."
      },
      "model_3d_info": {
        "name": "info_modelo_3d"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_modelo",
        "tooltip": null
      },
      "1": {
        "name": "info_cámara",
        "tooltip": null
      },
      "2": {
        "name": "info_modelo_3d",
        "tooltip": null
      },
      "3": {
        "name": "ancho",
        "tooltip": null
      },
      "4": {
        "name": "alto",
        "tooltip": null
      }
    }
  },
  "PreviewAny": {
    "description": "Previsualiza cualquier valor de entrada como texto.",
    "display_name": "Vista previa de cualquier",
    "inputs": {
      "preview_mode": {},
      "preview_text": {},
      "source": {
        "name": "fuente"
      }
    }
  },
  "PreviewAudio": {
    "description": "Previsualiza el audio sin guardarlo en el directorio de salida de ComfyUI.",
    "display_name": "Vista previa de audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "interfaz_audio"
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "PreviewGaussianSplat": {
    "description": "Previsualiza un archivo 3D de gaussian splat sin guardarlo en el directorio de salida de ComfyUI.",
    "display_name": "Vista previa de Splat",
    "inputs": {
      "camera_info": {
        "name": "info_cámara"
      },
      "height": {
        "name": "alto"
      },
      "model_3d": {
        "name": "modelo_3d",
        "tooltip": "Un archivo 3D de gaussian splat."
      },
      "model_3d_info": {
        "name": "info_modelo_3d"
      },
      "viewport_state": {
        "name": "estado_de_vista"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_3d",
        "tooltip": null
      },
      "1": {
        "name": "info_modelo_3d",
        "tooltip": null
      },
      "2": {
        "name": "info_cámara",
        "tooltip": null
      },
      "3": {
        "name": "ancho",
        "tooltip": null
      },
      "4": {
        "name": "alto",
        "tooltip": null
      }
    }
  },
  "PreviewImage": {
    "description": "Guarda las imágenes de entrada en tu directorio de salida de ComfyUI.",
    "display_name": "Vista previa de imagen",
    "inputs": {
      "images": {
        "name": "imagenes"
      }
    },
    "outputs": {
      "0": {
        "name": "images"
      }
    }
  },
  "PreviewPointCloud": {
    "description": "Previsualiza un archivo de nube de puntos 3D sin guardarlo en el directorio de salida de ComfyUI.",
    "display_name": "Vista previa de nube de puntos",
    "inputs": {
      "camera_info": {
        "name": "info_cámara"
      },
      "height": {
        "name": "alto"
      },
      "model_3d": {
        "name": "modelo_3d",
        "tooltip": "Archivo de nube de puntos (.ply)"
      },
      "model_3d_info": {
        "name": "info_modelo_3d"
      },
      "viewport_state": {
        "name": "estado_de_vista"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_3d",
        "tooltip": null
      },
      "1": {
        "name": "info_modelo_3d",
        "tooltip": null
      },
      "2": {
        "name": "info_cámara",
        "tooltip": null
      },
      "3": {
        "name": "ancho",
        "tooltip": null
      },
      "4": {
        "name": "alto",
        "tooltip": null
      }
    }
  },
  "PrimitiveBoolean": {
    "display_name": "Booleano",
    "inputs": {
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveBoundingBox": {
    "display_name": "Caja Delimitadora",
    "inputs": {
      "height": {
        "name": "height"
      },
      "width": {
        "name": "width"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveFloat": {
    "display_name": "Flotante",
    "inputs": {
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveInt": {
    "display_name": "Int",
    "inputs": {
      "fixed": {
        "name": "control after generate"
      },
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveString": {
    "display_name": "Cadena",
    "inputs": {
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveStringMultiline": {
    "display_name": "Cadena (Multilínea)",
    "inputs": {
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QuadrupleCLIPLoader": {
    "description": "[Recetas]\n\nhidream: long clip-l, long clip-g, t5xxl, llama_8b_3.1_instruct",
    "display_name": "QuadrupleCLIPLoader",
    "inputs": {
      "clip_name1": {
        "name": "clip_name1"
      },
      "clip_name2": {
        "name": "clip_name2"
      },
      "clip_name3": {
        "name": "clip_name3"
      },
      "clip_name4": {
        "name": "clip_name4"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QuiverImageToSVGNode": {
    "description": "Vectoriza una imagen ráster a SVG usando Quiver AI.",
    "display_name": "Quiver Imagen a SVG",
    "inputs": {
      "auto_crop": {
        "name": "recorte_automático",
        "tooltip": "Recorta automáticamente al sujeto dominante."
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "image": {
        "name": "imagen",
        "tooltip": "Imagen de entrada para vectorizar."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la vectorización SVG."
      },
      "model_presence_penalty": {
        "name": "penalización_de_presencia"
      },
      "model_target_size": {
        "name": "tamaño_objetivo"
      },
      "model_temperature": {
        "name": "temperatura"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QuiverTextToSVGNode": {
    "description": "Genera un SVG a partir de un prompt de texto usando Quiver AI.",
    "display_name": "Quiver Texto a SVG",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "instructions": {
        "name": "instrucciones",
        "tooltip": "Guía adicional de estilo o formato."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la generación de SVG."
      },
      "model_presence_penalty": {
        "name": "penalización_de_presencia"
      },
      "model_temperature": {
        "name": "temperatura"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción en texto del SVG deseado."
      },
      "reference_images": {
        "name": "imágenes_de_referencia",
        "tooltip": "Hasta 4 imágenes de referencia para guiar la generación."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QwenImageDiffsynthControlnet": {
    "display_name": "QwenImageDiffsynthControlnet",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "mask": {
        "name": "máscara"
      },
      "model": {
        "name": "modelo"
      },
      "model_patch": {
        "name": "parche_del_modelo"
      },
      "strength": {
        "name": "intensidad"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "RTDETR_detect": {
    "display_name": "Detección RT-DETR",
    "inputs": {
      "class_name": {
        "name": "nombre_clase",
        "tooltip": "Filtrar detecciones por clase. Establecer en 'all' para desactivar el filtrado."
      },
      "image": {
        "name": "imagen"
      },
      "max_detections": {
        "name": "máx_detecciones",
        "tooltip": "Número máximo de detecciones a devolver por imagen. En orden descendente de puntuación de confianza."
      },
      "model": {
        "name": "modelo"
      },
      "threshold": {
        "name": "umbral"
      }
    },
    "outputs": {
      "0": {
        "name": "bboxes",
        "tooltip": null
      }
    }
  },
  "RandomCropImages": {
    "description": "Recorta aleatoriamente una imagen a las dimensiones especificadas.",
    "display_name": "Recorte Aleatorio de Imágenes",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "height": {
        "name": "height",
        "tooltip": "Alto del recorte."
      },
      "images": {
        "name": "images",
        "tooltip": "Imagen a procesar."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla aleatoria."
      },
      "width": {
        "name": "width",
        "tooltip": "Ancho del recorte."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Imágenes procesadas"
      }
    }
  },
  "RandomNoise": {
    "display_name": "Ruido aleatorio",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "noise_seed": {
        "name": "semilla_ruido"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RebatchImages": {
    "display_name": "Reagrupar imágenes",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "images": {
        "name": "imagenes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RebatchLatents": {
    "display_name": "Reagrupar latentes",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "latents": {
        "name": "latentes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecordAudio": {
    "display_name": "Grabar Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftColorRGB": {
    "description": "Crea un Recraft Color eligiendo valores RGB específicos.",
    "display_name": "Recraft Color RGB",
    "inputs": {
      "b": {
        "name": "b",
        "tooltip": "Valor azul del color."
      },
      "g": {
        "name": "g",
        "tooltip": "Valor verde del color."
      },
      "r": {
        "name": "r",
        "tooltip": "Valor rojo del color."
      },
      "recraft_color": {
        "name": "recraft_color"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_color",
        "tooltip": null
      }
    }
  },
  "RecraftControls": {
    "description": "Crea Controles de Recraft para personalizar la generación de Recraft.",
    "display_name": "Controles de Recraft",
    "inputs": {
      "background_color": {
        "name": "color_de_fondo"
      },
      "colors": {
        "name": "colores"
      }
    },
    "outputs": {
      "0": {
        "name": "controles_recraft",
        "tooltip": null
      }
    }
  },
  "RecraftCreateStyleNode": {
    "description": "Crea un estilo personalizado a partir de imágenes de referencia. Sube de 1 a 5 imágenes para usar como referencias de estilo. El tamaño total de todas las imágenes está limitado a 5 MB.",
    "display_name": "Recraft Crear Estilo",
    "inputs": {
      "images": {
        "name": "imágenes"
      },
      "style": {
        "name": "estilo",
        "tooltip": "El estilo base de las imágenes generadas."
      }
    },
    "outputs": {
      "0": {
        "name": "id_estilo",
        "tooltip": null
      }
    }
  },
  "RecraftCreativeUpscaleNode": {
    "description": "Aumenta la imagen de forma sincrónica.\nMejora una imagen ráster dada utilizando la herramienta de ‘creative upscale’, aumentando la resolución con un enfoque en refinar pequeños detalles y rostros.",
    "display_name": "Recraft Creative Upscale Image",
    "inputs": {
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftCrispUpscaleNode": {
    "description": "Aumenta la imagen de forma sincrónica.\nMejora una imagen ráster dada usando la herramienta ‘crisp upscale’, aumentando la resolución de la imagen y haciéndola más nítida y clara.",
    "display_name": "Recraft Crisp Upscale Image",
    "inputs": {
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftImageInpaintingNode": {
    "description": "Modifica la imagen según el prompt y la mask.",
    "display_name": "Recraft Relleno de Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "image": {
        "name": "imagen"
      },
      "mask": {
        "name": "mask"
      },
      "n": {
        "name": "n",
        "tooltip": "El número de imágenes a generar."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descripción opcional en texto de los elementos no deseados en una imagen."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de la imagen."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftImageToImageNode": {
    "description": "Modifica la imagen según el prompt y la intensidad.",
    "display_name": "Recraft Imagen a Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "imagen"
      },
      "n": {
        "name": "n",
        "tooltip": "El número de imágenes a generar."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descripción opcional en texto de los elementos no deseados en una imagen."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de la imagen."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controles adicionales opcionales sobre la generación a través del nodo Recraft Controls."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe volver a ejecutarse; los resultados reales son no deterministas independientemente de la semilla."
      },
      "strength": {
        "name": "intensidad",
        "tooltip": "Define la diferencia con la imagen original, debe estar en [0, 1], donde 0 significa casi idéntica y 1 significa muy poca similitud."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftRemoveBackgroundNode": {
    "description": "Elimina el fondo de la imagen y devuelve la imagen procesada y la máscara.",
    "display_name": "Recraft Remove Background",
    "inputs": {
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "RecraftReplaceBackgroundNode": {
    "description": "Reemplaza el fondo de una imagen, basado en el prompt proporcionado.",
    "display_name": "Recraft Reemplazar Fondo",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "imagen"
      },
      "n": {
        "name": "n",
        "tooltip": "El número de imágenes a generar."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descripción de texto opcional de los elementos no deseados en una imagen."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de la imagen."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3DigitalIllustration": {
    "description": "Selecciona el estilo realistic_image y un subestilo opcional.",
    "display_name": "Estilo Recraft - Ilustración Digital",
    "inputs": {
      "substyle": {
        "name": "subestilo"
      }
    },
    "outputs": {
      "0": {
        "name": "estilo_recraft",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3InfiniteStyleLibrary": {
    "description": "Selecciona un estilo basado en el UUID preexistente de la Biblioteca de Estilos Infinita de Recraft.",
    "display_name": "Recraft Style - Biblioteca de Estilos Infinita",
    "inputs": {
      "style_id": {
        "name": "style_id",
        "tooltip": "UUID del estilo de la Biblioteca de Estilos Infinita."
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3LogoRaster": {
    "description": "Selecciona el estilo realistic_image y un subestilo opcional.",
    "display_name": "Recraft Style - Logo Raster",
    "inputs": {
      "substyle": {
        "name": "subestilo"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3RealisticImage": {
    "description": "Selecciona el estilo realistic_image y un subestilo opcional.",
    "display_name": "Recraft Style - Imagen Realista",
    "inputs": {
      "substyle": {
        "name": "subestilo"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftTextToImageNode": {
    "description": "Genera imágenes de forma sincrónica según el prompt y la resolución.",
    "display_name": "Recraft Texto a Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "n": {
        "name": "n",
        "tooltip": "La cantidad de imágenes a generar."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descripción opcional en texto de los elementos no deseados en una imagen."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de la imagen."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controles adicionales opcionales sobre la generación a través del nodo Recraft Controls."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe volver a ejecutarse; los resultados reales son no deterministas independientemente de la semilla."
      },
      "size": {
        "name": "tamaño",
        "tooltip": "El tamaño de la imagen generada."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftTextToVectorNode": {
    "description": "Genera SVG de forma sincrónica según el prompt y la resolución.",
    "display_name": "Recraft Texto a Vector",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "n": {
        "name": "n",
        "tooltip": "La cantidad de imágenes a generar."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descripción opcional en texto de los elementos no deseados en una imagen."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de la imagen."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controles adicionales opcionales sobre la generación a través del nodo Recraft Controls."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe ejecutarse de nuevo; los resultados reales son no deterministas independientemente de la semilla."
      },
      "size": {
        "name": "tamaño",
        "tooltip": "El tamaño de la imagen generada."
      },
      "substyle": {
        "name": "substyle"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftV4TextToImageNode": {
    "description": "Genera imágenes usando los modelos Recraft V4 o V4 Pro.",
    "display_name": "Recraft V4 Texto a Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo a utilizar para la generación."
      },
      "model_size": {
        "name": "tamaño"
      },
      "n": {
        "name": "n",
        "tooltip": "El número de imágenes a generar."
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Una descripción opcional en texto de los elementos no deseados en una imagen."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de la imagen. Máximo 10,000 caracteres."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controles adicionales opcionales sobre la generación a través del nodo Recraft Controls."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe volver a ejecutarse; los resultados reales no son deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftV4TextToVectorNode": {
    "description": "Genera SVG usando los modelos Recraft V4 o V4 Pro.",
    "display_name": "Recraft V4 Texto a Vector",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo a utilizar para la generación."
      },
      "model_size": {
        "name": "tamaño"
      },
      "n": {
        "name": "n",
        "tooltip": "El número de imágenes a generar."
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Una descripción opcional en texto de los elementos no deseados en una imagen."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para la generación de la imagen. Máximo 10,000 caracteres."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controles adicionales opcionales sobre la generación a través del nodo Recraft Controls."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para determinar si el nodo debe volver a ejecutarse; los resultados reales no son deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftVectorizeImageNode": {
    "description": "Genera SVG de forma sincrónica a partir de una imagen de entrada.",
    "display_name": "Recraft Vectorizar Imagen",
    "inputs": {
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReferenceLatent": {
    "description": "Este nodo establece el latente guía para un modelo de edición. Si el modelo lo admite, puedes encadenar varios para establecer múltiples imágenes de referencia.",
    "display_name": "Latente de Referencia",
    "inputs": {
      "conditioning": {
        "name": "condicionamiento"
      },
      "latent": {
        "name": "latente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReferenceTimbreAudio": {
    "description": "Este nodo establece el audio de referencia para el timbre (para ace step 1.5)",
    "display_name": "ReferenceTimbreAudio",
    "inputs": {
      "conditioning": {
        "name": "condicionamiento"
      },
      "latent": {
        "name": "latente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RegexExtract": {
    "display_name": "Extracción Regex",
    "inputs": {
      "case_insensitive": {
        "name": "insensible_a_mayúsculas"
      },
      "dotall": {
        "name": "dotall"
      },
      "group_index": {
        "name": "índice_de_grupo"
      },
      "mode": {
        "name": "modo"
      },
      "multiline": {
        "name": "multilínea"
      },
      "regex_pattern": {
        "name": "patrón_regex"
      },
      "string": {
        "name": "cadena"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RegexMatch": {
    "display_name": "Coincidencia Regex",
    "inputs": {
      "case_insensitive": {
        "name": "insensible_a_mayúsculas"
      },
      "dotall": {
        "name": "dotall"
      },
      "multiline": {
        "name": "multilínea"
      },
      "regex_pattern": {
        "name": "patrón_regex"
      },
      "string": {
        "name": "cadena"
      }
    },
    "outputs": {
      "0": {
        "name": "coincidencias",
        "tooltip": null
      }
    }
  },
  "RegexReplace": {
    "description": "Buscar y reemplazar texto usando patrones regex.",
    "display_name": "Reemplazo Regex",
    "inputs": {
      "case_insensitive": {
        "name": "insensible_a_mayusculas"
      },
      "count": {
        "name": "contador",
        "tooltip": "Número máximo de reemplazos a realizar. Establecer en 0 para reemplazar todas las ocurrencias (predeterminado). Establecer en 1 para reemplazar solo la primera coincidencia, 2 para las dos primeras coincidencias, etc."
      },
      "dotall": {
        "name": "dotall",
        "tooltip": "Cuando está habilitado, el carácter punto (.) coincidirá con cualquier carácter incluyendo caracteres de nueva línea. Cuando está deshabilitado, los puntos no coincidirán con nuevas líneas."
      },
      "multiline": {
        "name": "multilínea"
      },
      "regex_pattern": {
        "name": "patron_regex"
      },
      "replace": {
        "name": "reemplazar"
      },
      "string": {
        "name": "cadena"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RemoveBackground": {
    "description": "Genera una máscara de primer plano para eliminar el fondo de una imagen utilizando un modelo de eliminación de fondo.",
    "display_name": "Eliminar fondo",
    "inputs": {
      "bg_removal_model": {
        "name": "modelo_de_eliminación_de_fondo",
        "tooltip": "Modelo de eliminación de fondo utilizado para generar la máscara"
      },
      "image": {
        "name": "imagen",
        "tooltip": "Imagen de entrada para eliminar el fondo"
      }
    },
    "outputs": {
      "0": {
        "name": "máscara",
        "tooltip": "Máscara de primer plano generada"
      }
    }
  },
  "RenderSplat": {
    "description": "Renderiza un gaussian splat como una imagen usando un rasterizador EWA anisotrópico (splats elípticos orientados, antialiasing, ordenados por profundidad de adelante hacia atrás). La cámara proviene de una entrada camera_info (Load / Preview 3D, o un nodo Create Camera Info); déjalo vacío para encuadrar automáticamente el splat. Establece frames mayores a 1 para un lote de imágenes tipo turntable para alimentar un nodo Video.",
    "display_name": "Render Splat",
    "inputs": {
      "background": {
        "name": "fondo"
      },
      "bg_image": {
        "name": "imagen_fondo",
        "tooltip": "Placa de fondo opcional compuesta detrás del splat (anula el color de fondo sólido). Redimensionada al tamaño de render; se usa un lote por fotograma, una sola imagen para todos. Solo color/clay."
      },
      "camera_info": {
        "name": "camera_info",
        "tooltip": "Cámara desde la que renderizar: una cámara Load3D / Preview3D o un nodo Create Camera Info. Si está vacío, el splat se encuadra automáticamente desde una vista predeterminada de 3/4."
      },
      "frames": {
        "name": "fotogramas",
        "tooltip": "-1, 0, 1 = imagen fija única; >1 = turntable, la cámara orbita en un giro completo de 360° (funciona con cualquier camera_info). Un valor negativo orbita en la dirección opuesta."
      },
      "headlight_shading": {
        "name": "sombreado_faroles",
        "tooltip": "Sombreado difuso desde una luz en la cámara (faroles), usando las normales de los surfels del splat: oscurece superficies que se alejan de la vista para revelar forma/curvatura. 0 = albedo plano, 1 = sombreado más fuerte."
      },
      "height": {
        "name": "alto"
      },
      "opacity_threshold": {
        "name": "umbral_opacidad",
        "tooltip": "Descarta gaussians con opacidad por debajo de este valor (elimina flotantes tenues)."
      },
      "render_style": {
        "name": "estilo_renderizado",
        "tooltip": "Qué muestra la imagen de salida: color, clay (sombreado de albedo neutro), depth (cerca=brillante), normal (mapa de normales OpenGL)."
      },
      "sharpen": {
        "name": "enfocar",
        "tooltip": "Enfoca splats superpuestos: 1.0 = mezcla físicamente correcta; valores mayores sesgan cada píxel hacia su splat dominante (más cercano) para una textura más nítida, sin reducir los splats ni abrir huecos. No físico por encima de 1."
      },
      "splat": {
        "name": "splat"
      },
      "splat_scale": {
        "name": "escala_splat",
        "tooltip": "Multiplicador en la huella proyectada de cada splat (más bajo = puntos más nítidos, más alto = superficie más suave/llena)."
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "imagen",
        "tooltip": null
      },
      "1": {
        "name": "mask",
        "tooltip": null
      }
    }
  },
  "RenormCFG": {
    "display_name": "RenormCFG",
    "inputs": {
      "cfg_trunc": {
        "name": "cfg_trunc"
      },
      "model": {
        "name": "modelo"
      },
      "renorm_cfg": {
        "name": "renorm_cfg"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RepeatImageBatch": {
    "display_name": "Repetir lote de imágenes",
    "inputs": {
      "amount": {
        "name": "cantidad"
      },
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RepeatLatentBatch": {
    "display_name": "Repetir lote latente",
    "inputs": {
      "amount": {
        "name": "cantidad"
      },
      "samples": {
        "name": "muestras"
      }
    }
  },
  "ReplaceText": {
    "display_name": "Reemplazar Texto",
    "inputs": {
      "find": {
        "name": "find",
        "tooltip": "Texto a buscar."
      },
      "replace": {
        "name": "replace",
        "tooltip": "Texto con el que reemplazar."
      },
      "texts": {
        "name": "texts",
        "tooltip": "Texto a procesar."
      }
    },
    "outputs": {
      "0": {
        "name": "texts",
        "tooltip": "Textos procesados"
      }
    }
  },
  "ReplaceVideoLatentFrames": {
    "display_name": "ReplaceVideoLatentFrames",
    "inputs": {
      "destination": {
        "name": "destination",
        "tooltip": "El latent de destino donde se reemplazarán los fotogramas."
      },
      "index": {
        "name": "index",
        "tooltip": "El índice del fotograma latent inicial en el latent de destino donde se colocarán los fotogramas del latent de origen. Los valores negativos cuentan desde el final."
      },
      "source": {
        "name": "source",
        "tooltip": "El latent de origen que proporciona los fotogramas para insertar en el latent de destino. Si no se proporciona, el latent de destino se devuelve sin cambios."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RescaleCFG": {
    "display_name": "ReescalarCFG",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "multiplier": {
        "name": "multiplicador"
      }
    }
  },
  "ResizeAndPadImage": {
    "display_name": "RedimensionarYRellenarImagen",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "interpolation": {
        "name": "interpolación"
      },
      "padding_color": {
        "name": "color_relleno"
      },
      "target_height": {
        "name": "alto_objetivo"
      },
      "target_width": {
        "name": "ancho_objetivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ResizeImageMaskNode": {
    "description": "Redimensiona una imagen o máscara utilizando varios métodos de escalado.",
    "display_name": "Redimensionar Imagen/Máscara",
    "inputs": {
      "input": {
        "name": "input"
      },
      "resize_type": {
        "name": "resize_type",
        "tooltip": "Selecciona cómo redimensionar: por dimensiones exactas, factor de escala, igualando otra imagen, etc."
      },
      "resize_type_crop": {
        "name": "recortar"
      },
      "resize_type_height": {
        "name": "altura"
      },
      "resize_type_width": {
        "name": "anchura"
      },
      "scale_method": {
        "name": "scale_method",
        "tooltip": "Algoritmo de interpolación. 'area' es mejor para reducir tamaño, 'lanczos' para aumentar tamaño, 'nearest-exact' para pixel art."
      }
    },
    "outputs": {
      "0": {
        "name": "resized",
        "tooltip": null
      }
    }
  },
  "ResizeImagesByLongerEdge": {
    "description": "Redimensiona imágenes para que el borde más largo coincida con la dimensión especificada, manteniendo la relación de aspecto.",
    "display_name": "Redimensionar imágenes por el borde más largo",
    "inputs": {
      "images": {
        "name": "imágenes",
        "tooltip": "Imagen a procesar."
      },
      "longer_edge": {
        "name": "borde_más_largo",
        "tooltip": "Longitud objetivo para el borde más largo."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": "Imágenes procesadas"
      }
    }
  },
  "ResizeImagesByShorterEdge": {
    "description": "Redimensiona las imágenes para que el borde más corto coincida con la dimensión especificada, manteniendo la proporción de aspecto.",
    "display_name": "Redimensionar imágenes por el borde más corto",
    "inputs": {
      "images": {
        "name": "imágenes",
        "tooltip": "Imagen a procesar."
      },
      "shorter_edge": {
        "name": "borde_más_corto",
        "tooltip": "Longitud objetivo para el borde más corto."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": "Imágenes procesadas"
      }
    }
  },
  "ResolutionBucket": {
    "description": "Agrupa latents y condicionamientos en buckets",
    "display_name": "Agrupación por resolución",
    "inputs": {
      "conditioning": {
        "name": "condicionamiento",
        "tooltip": "Lista de listas de condicionamiento (debe coincidir con la longitud de latentes)."
      },
      "latents": {
        "name": "latentes",
        "tooltip": "Lista de diccionarios de latent para agrupar por resolución."
      }
    },
    "outputs": {
      "0": {
        "name": "latentes",
        "tooltip": "Lista de diccionarios de latent agrupados, uno por cada grupo de resolución."
      },
      "1": {
        "name": "condicionamiento",
        "tooltip": "Lista de listas de condición, una por cada grupo de resolución."
      }
    }
  },
  "ResolutionSelector": {
    "description": "Calcula el ancho y la altura a partir de la relación de aspecto y el objetivo de megapíxeles. Útil para configurar las dimensiones de una Imagen Latent Vacía.",
    "display_name": "Selector de Resolución",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_de_aspecto",
        "tooltip": "La relación de aspecto para las dimensiones de salida."
      },
      "megapixels": {
        "name": "megapíxeles",
        "tooltip": "Total de megapíxeles objetivo. 1.0 MP ≈ 1024×1024 para cuadrado."
      },
      "multiple": {
        "name": "múltiplo",
        "tooltip": "Múltiplo más cercano del resultado para establecer la resolución seleccionada."
      }
    },
    "outputs": {
      "0": {
        "name": "ancho",
        "tooltip": "Ancho calculado en píxeles (múltiplo de 8)."
      },
      "1": {
        "name": "alto",
        "tooltip": "Altura calculada en píxeles (múltiplo de 8)."
      }
    }
  },
  "ReveImageCreateNode": {
    "description": "Genera imágenes a partir de descripciones de texto usando Reve.",
    "display_name": "Reve Crear Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Versión del modelo a utilizar para la generación."
      },
      "model_aspect_ratio": {
        "name": "relación_de_aspecto"
      },
      "model_test_time_scaling": {
        "name": "escalado_en_tiempo_de_prueba"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción en texto de la imagen deseada. Máximo 2560 caracteres."
      },
      "remove_background": {
        "name": "eliminar_fondo",
        "tooltip": "Eliminar el fondo de la imagen generada. Puede tener un costo adicional."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "upscale": {
        "name": "escalar",
        "tooltip": "Aumentar la resolución de la imagen generada. Puede tener un costo adicional."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReveImageEditNode": {
    "description": "Edita imágenes usando instrucciones en lenguaje natural con Reve.",
    "display_name": "Reve Editar Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "edit_instruction": {
        "name": "instrucción_de_edición",
        "tooltip": "Descripción en texto de cómo editar la imagen. Máximo 2560 caracteres."
      },
      "image": {
        "name": "imagen",
        "tooltip": "La imagen a editar."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Versión del modelo a utilizar para la edición."
      },
      "model_aspect_ratio": {
        "name": "relación_de_aspecto"
      },
      "model_test_time_scaling": {
        "name": "escalado_en_tiempo_de_prueba"
      },
      "remove_background": {
        "name": "eliminar_fondo",
        "tooltip": "Eliminar el fondo de la imagen generada. Puede tener un costo adicional."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "upscale": {
        "name": "escalar",
        "tooltip": "Aumentar la resolución de la imagen generada. Puede tener un costo adicional."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReveImageRemixNode": {
    "description": "Combina imágenes de referencia con prompts de texto para crear nuevas imágenes usando Reve.",
    "display_name": "Reve Mezclar Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Versión del modelo a utilizar para mezclar."
      },
      "model_aspect_ratio": {
        "name": "relación_de_aspecto"
      },
      "model_test_time_scaling": {
        "name": "escalado_en_tiempo_de_prueba"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción en texto de la imagen deseada. Puede incluir etiquetas XML img para referenciar imágenes específicas por índice, por ejemplo <img>0</img>, <img>1</img>, etc."
      },
      "reference_images": {
        "name": "imágenes_de_referencia"
      },
      "remove_background": {
        "name": "eliminar_fondo",
        "tooltip": "Eliminar el fondo de la imagen generada. Puede tener un costo adicional."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "upscale": {
        "name": "escalar",
        "tooltip": "Aumentar la resolución de la imagen generada. Puede tener un costo adicional."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Rodin3D_Detail": {
    "description": "Generar activos 3D usando la API de Rodin",
    "display_name": "Rodin 3D Generar - Generar Detalle",
    "inputs": {
      "Images": {
        "name": "Imágenes"
      },
      "Material_Type": {
        "name": "Tipo_Material"
      },
      "Polygon_count": {
        "name": "Recuento_Polígonos"
      },
      "Seed": {
        "name": "Semilla"
      }
    },
    "outputs": {
      "0": {
        "name": "Ruta del modelo 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen2": {
    "description": "Generar activos 3D usando la API de Rodin",
    "display_name": "Rodin 3D Generar - Generar Gen-2",
    "inputs": {
      "Images": {
        "name": "Imágenes"
      },
      "Material_Type": {
        "name": "Tipo_Material"
      },
      "Polygon_count": {
        "name": "Recuento_Polígonos"
      },
      "Seed": {
        "name": "Semilla"
      },
      "TAPose": {
        "name": "TAPose"
      }
    },
    "outputs": {
      "0": {
        "name": "Ruta del modelo 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen25_Image": {
    "description": "Genera un modelo 3D a partir de 1 a 5 imágenes de referencia usando Rodin Gen-2.5. Elige un modo (Rápido / Regular / Extremo-Alto) para ajustar calidad y costo.",
    "display_name": "Rodin 3D Gen-2.5 - Imagen a 3D",
    "inputs": {
      "TAPose": {
        "name": "TAPose",
        "tooltip": "Pose T/A para modelos humanoides."
      },
      "addon_highpack": {
        "name": "addon_highpack",
        "tooltip": "Addon HighPack: texturas 4K y ~16x caras en modo Quad."
      },
      "bbox_height": {
        "name": "alto_caja",
        "tooltip": "Alto de la caja delimitadora (eje Z)."
      },
      "bbox_length": {
        "name": "largo_caja",
        "tooltip": "Largo de la caja delimitadora (eje X)."
      },
      "bbox_width": {
        "name": "ancho_caja",
        "tooltip": "Ancho de la caja delimitadora (eje Y). Pon 0 junto con los otros para omitir la caja."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "geometry_file_format": {
        "name": "formato_archivo_geometría"
      },
      "hd_texture": {
        "name": "textura_hd",
        "tooltip": "Mejora de textura de alta calidad."
      },
      "height_cm": {
        "name": "altura_cm",
        "tooltip": "Altura aproximada del modelo en centímetros (0 para omitir)."
      },
      "images": {
        "name": "imágenes",
        "tooltip": "1-5 imágenes. La primera imagen se usa para materiales en vista múltiple."
      },
      "material": {
        "name": "material"
      },
      "mode": {
        "name": "modo",
        "tooltip": "Modo de generación. Regular = equilibrado. Rápido = 1K-20K caras para prototipado rápido. Extremo-Alto = 20K-2M caras con detalles micro opcionales."
      },
      "mode_creative": {
        "name": "creativo"
      },
      "mode_polygon_count": {
        "name": "conteo_polígonos"
      },
      "mode_tier": {
        "name": "nivel"
      },
      "seed": {
        "name": "semilla"
      },
      "texture_delight": {
        "name": "eliminar_iluminación_textura",
        "tooltip": "Eliminar iluminación horneada de las texturas."
      },
      "texture_mode": {
        "name": "modo_textura",
        "tooltip": "Preajuste de calidad de textura. 'Predeterminado' usa el valor por defecto del servidor para el nivel seleccionado."
      },
      "use_original_alpha": {
        "name": "usar_alpha_original",
        "tooltip": "Conservar la transparencia de la imagen."
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_modelo",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen25_Text": {
    "description": "Genera un modelo 3D a partir de un prompt de texto usando Rodin Gen-2.5. Elige un modo (Rápido / Regular / Extremo-Alto) para ajustar calidad frente a coste.",
    "display_name": "Rodin 3D Gen-2.5 - Texto a 3D",
    "inputs": {
      "TAPose": {
        "name": "TAPose",
        "tooltip": "Pose T/A para modelos humanoides."
      },
      "addon_highpack": {
        "name": "addon_highpack",
        "tooltip": "Addon HighPack: texturas 4K y ~16x caras en modo Quad."
      },
      "bbox_height": {
        "name": "alto_bbox",
        "tooltip": "Alto de la caja delimitadora (eje Z)."
      },
      "bbox_length": {
        "name": "largo_bbox",
        "tooltip": "Largo de la caja delimitadora (eje X)."
      },
      "bbox_width": {
        "name": "ancho_bbox",
        "tooltip": "Ancho de la caja delimitadora (eje Y). Pon 0 junto con los otros para omitir la caja."
      },
      "control_after_generate": {
        "name": "controlar tras generar"
      },
      "geometry_file_format": {
        "name": "formato_archivo_geometría"
      },
      "hd_texture": {
        "name": "textura_hd",
        "tooltip": "Mejora de textura de alta calidad."
      },
      "height_cm": {
        "name": "altura_cm",
        "tooltip": "Altura aproximada del modelo en centímetros (0 para omitir)."
      },
      "material": {
        "name": "material"
      },
      "mode": {
        "name": "modo",
        "tooltip": "Modo de generación. Regular = equilibrado. Rápido = 1K-20K caras para prototipado rápido. Extremo-Alto = 20K-2M caras con microdetalles opcionales."
      },
      "mode_creative": {
        "name": "creativo"
      },
      "mode_polygon_count": {
        "name": "conteo_polígonos"
      },
      "mode_tier": {
        "name": "nivel"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para el modelo 3D."
      },
      "seed": {
        "name": "semilla"
      },
      "texture_delight": {
        "name": "eliminar_iluminación_textura",
        "tooltip": "Eliminar iluminación horneada de las texturas."
      },
      "texture_mode": {
        "name": "modo_textura",
        "tooltip": "Preajuste de calidad de textura. 'Predeterminado' usa el valor por defecto del servidor para el nivel seleccionado."
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_modelo",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Regular": {
    "description": "Generar activos 3D usando la API de Rodin",
    "display_name": "Rodin 3D Generar - Generar Regular",
    "inputs": {
      "Images": {
        "name": "Imágenes"
      },
      "Material_Type": {
        "name": "Tipo_Material"
      },
      "Polygon_count": {
        "name": "Recuento_Polígonos"
      },
      "Seed": {
        "name": "Semilla"
      }
    },
    "outputs": {
      "0": {
        "name": "Ruta del modelo 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Sketch": {
    "description": "Generar activos 3D usando la API de Rodin",
    "display_name": "Rodin 3D Generar - Generar Boceto",
    "inputs": {
      "Images": {
        "name": "Imágenes"
      },
      "Seed": {
        "name": "Semilla"
      }
    },
    "outputs": {
      "0": {
        "name": "Ruta del modelo 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Smooth": {
    "description": "Generar activos 3D usando la API de Rodin",
    "display_name": "Rodin 3D Generar - Generar Suavizado",
    "inputs": {
      "Images": {
        "name": "Imágenes"
      },
      "Material_Type": {
        "name": "Tipo_de_Material"
      },
      "Polygon_count": {
        "name": "Recuento_de_Polígonos"
      },
      "Seed": {
        "name": "Semilla"
      }
    },
    "outputs": {
      "0": {
        "name": "Ruta del modelo 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "RunwayAleph2KeyframeNode": {
    "description": "Ancla una imagen de guía a un momento del video de entrada (fuente), para que Aleph2 dirija la edición en ese punto de tu metraje. Conéctalo a la entrada 'keyframes' del nodo Runway Aleph2 Video to Video; encadena varios juntos (hasta 5) mediante la entrada opcional 'keyframes' a continuación.",
    "display_name": "Runway Aleph2 Fotograma Clave",
    "inputs": {
      "image": {
        "name": "imagen",
        "tooltip": "La imagen de guía que se aplicará en el momento elegido del video de entrada."
      },
      "keyframes": {
        "name": "fotogramas_clave",
        "tooltip": "Fotogramas clave anteriores opcionales para encadenar con este."
      },
      "timing": {
        "name": "sincronización",
        "tooltip": "Cómo colocar esta imagen en la línea de tiempo del video de entrada."
      },
      "timing_seconds": {
        "name": "segundos"
      }
    },
    "outputs": {
      "0": {
        "name": "fotogramas_clave",
        "tooltip": null
      }
    }
  },
  "RunwayAleph2PromptImageNode": {
    "description": "Ancla una imagen de guía a un momento del video de salida (resultado), para guiar cómo se verá el video editado en ese punto. Conéctalo a la entrada 'prompt_images' del nodo Runway Aleph2 Video to Video; encadena varias juntas (hasta 5) mediante la entrada opcional 'prompt_images' a continuación.",
    "display_name": "Runway Aleph2 Imagen de Guía",
    "inputs": {
      "image": {
        "name": "imagen",
        "tooltip": "La imagen de guía que se colocará en el momento elegido del video de salida."
      },
      "position": {
        "name": "posición",
        "tooltip": "Cómo colocar esta imagen en la línea de tiempo del video de salida."
      },
      "position_seconds": {
        "name": "segundos"
      },
      "prompt_images": {
        "name": "imágenes_de_guía",
        "tooltip": "Imágenes de guía anteriores opcionales para encadenar con esta."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes_de_guía",
        "tooltip": null
      }
    }
  },
  "RunwayAleph2VideoToVideoNode": {
    "description": "Edita un video con un prompt de texto usando el modelo Aleph2 de Runway. Aleph2 transforma tu metraje (restiliza, reilumina, añade o elimina elementos, cambia el punto de vista) manteniendo el movimiento y el tiempo originales; la resolución de salida coincide con la del video de entrada, que debe tener entre 2 y 30 segundos a 30 fps o menos. Opcionalmente, dirige la edición con fotogramas clave (anclados al video de entrada) o imágenes de prompt (ancladas al video de salida): usa uno u otro, no ambos.",
    "display_name": "Runway Aleph2 Video a Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Imágenes de guía ancladas al video de entrada, desde nodos Aleph2 Keyframe (hasta 5). Usa fotogramas clave o imágenes de prompt, no ambos."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Describe lo que debe aparecer en la salida (1-1000 caracteres)."
      },
      "prompt_images": {
        "name": "prompt_images",
        "tooltip": "Imágenes de guía ancladas al video de salida, desde nodos Aleph2 Prompt Image (hasta 5). Usa fotogramas clave o imágenes de prompt, no ambos."
      },
      "public_figure_threshold": {
        "name": "public_figure_threshold",
        "tooltip": "Moderación de contenido para figuras públicas reconocibles."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla aleatoria para la generación"
      },
      "video": {
        "name": "video",
        "tooltip": "Video de entrada para editar. Debe tener entre 2 y 30 segundos a 30 fps o menos."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayFirstLastFrameNode": {
    "description": "Sube los primeros y últimos fotogramas clave, redacta un prompt y genera un video. Las transiciones más complejas, como casos donde el último fotograma es completamente diferente del primero, pueden beneficiarse de la duración más larga de 10s. Esto le daría a la generación más tiempo para transicionar suavemente entre las dos entradas. Antes de comenzar, revisa estas mejores prácticas para asegurar que tus selecciones de entrada preparen tu generación para el éxito: https://help.runwayml.com/hc/en-us/articles/34170748696595-Creating-with-Keyframes-on-Gen-3.",
    "display_name": "Runway Primer-Fotograma-Último a Video",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "end_frame": {
        "name": "fotograma_final",
        "tooltip": "Fotograma final que se usará para el video. Solo compatible con gen3a_turbo."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para la generación"
      },
      "ratio": {
        "name": "relación"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla aleatoria para la generación"
      },
      "start_frame": {
        "name": "fotograma_inicial",
        "tooltip": "Fotograma inicial que se usará para el video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayImageToVideoNodeGen3a": {
    "description": "Genera un video desde un único fotograma inicial usando el modelo Gen3a Turbo. Antes de comenzar, revisa estas mejores prácticas para asegurar que tus selecciones de entrada preparen tu generación para el éxito: https://help.runwayml.com/hc/en-us/articles/33927968552339-Creating-with-Act-One-on-Gen-3-Alpha-and-Turbo.",
    "display_name": "Runway Imagen a Video (Gen3a Turbo)",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para la generación"
      },
      "ratio": {
        "name": "relación"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla aleatoria para la generación"
      },
      "start_frame": {
        "name": "fotograma_inicial",
        "tooltip": "Fotograma inicial que se usará para el video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayImageToVideoNodeGen4": {
    "description": "Genera un video desde un único fotograma inicial usando el modelo Gen4 Turbo. Antes de comenzar, revisa estas mejores prácticas para asegurar que tus selecciones de entrada preparen tu generación para el éxito: https://help.runwayml.com/hc/en-us/articles/37327109429011-Creating-with-Gen-4-Video.",
    "display_name": "Runway Imagen a Video (Gen4 Turbo)",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para la generación"
      },
      "ratio": {
        "name": "proporción"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla aleatoria para la generación"
      },
      "start_frame": {
        "name": "frame_inicial",
        "tooltip": "Frame inicial que se utilizará para el video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayTextToImageNode": {
    "description": "Genera una imagen a partir de un texto descriptivo utilizando el modelo Gen 4 de Runway. También puedes incluir una imagen de referencia para guiar la generación.",
    "display_name": "Runway Texto a Imagen",
    "inputs": {
      "prompt": {
        "name": "texto_descriptivo",
        "tooltip": "Texto descriptivo para la generación"
      },
      "ratio": {
        "name": "proporción"
      },
      "reference_image": {
        "name": "imagen_referencia",
        "tooltip": "Imagen de referencia opcional para guiar la generación"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SAM3_Detect": {
    "display_name": "SAM3 Detect",
    "inputs": {
      "bboxes": {
        "name": "cajas_delimitadoras",
        "tooltip": "Cajas delimitadoras dentro de las cuales segmentar"
      },
      "conditioning": {
        "name": "condicionamiento",
        "tooltip": "Condicionamiento de texto desde CLIPTextEncode"
      },
      "image": {
        "name": "imagen"
      },
      "individual_masks": {
        "name": "máscaras_individuales",
        "tooltip": "Generar máscaras por objeto en lugar de una unión"
      },
      "model": {
        "name": "modelo"
      },
      "negative_coords": {
        "name": "coordenadas_negativas",
        "tooltip": "Puntos negativos como JSON [{\"x\": int, \"y\": int}, ...] (coordenadas de píxeles)"
      },
      "positive_coords": {
        "name": "coordenadas_positivas",
        "tooltip": "Puntos positivos como JSON [{\"x\": int, \"y\": int}, ...] (coordenadas de píxeles)"
      },
      "refine_iterations": {
        "name": "iteraciones_de_refinamiento",
        "tooltip": "Pasadas de refinamiento del decodificador SAM (0=usar máscaras del detector sin procesar)"
      },
      "threshold": {
        "name": "umbral"
      }
    },
    "outputs": {
      "0": {
        "name": "máscaras",
        "tooltip": null
      },
      "1": {
        "name": "cajas_delimitadoras",
        "tooltip": null
      }
    }
  },
  "SAM3_TrackPreview": {
    "display_name": "SAM3 Track Preview",
    "inputs": {
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "imágenes"
      },
      "opacity": {
        "name": "opacidad"
      },
      "track_data": {
        "name": "datos_de_rastreo"
      }
    }
  },
  "SAM3_TrackToMask": {
    "display_name": "SAM3 Track to Mask",
    "inputs": {
      "object_indices": {
        "name": "índices_de_objeto",
        "tooltip": "Índices de objetos separados por comas para incluir (ej. '0,2,3'). Vacío = todos los objetos."
      },
      "track_data": {
        "name": "datos_de_rastreo"
      }
    },
    "outputs": {
      "0": {
        "name": "máscaras",
        "tooltip": null
      }
    }
  },
  "SAM3_VideoTrack": {
    "display_name": "SAM3 Video Track",
    "inputs": {
      "conditioning": {
        "name": "condicionamiento",
        "tooltip": "Condicionamiento de texto para detectar nuevos objetos durante el rastreo"
      },
      "detect_interval": {
        "name": "intervalo_de_detección",
        "tooltip": "Ejecutar detección cada N fotogramas (1=cada fotograma). Valores mayores ahorran recursos."
      },
      "detection_threshold": {
        "name": "umbral_de_detección",
        "tooltip": "Umbral de puntuación para la detección por texto"
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Fotogramas de video como imágenes por lote"
      },
      "initial_mask": {
        "name": "máscara_inicial",
        "tooltip": "Máscara(s) para el primer fotograma a rastrear (una por objeto)"
      },
      "max_objects": {
        "name": "máx_objetos",
        "tooltip": "Máximo de objetos rastreados (0=ilimitado). Las máscaras iniciales cuentan para este límite."
      },
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "name": "datos_de_rastreo",
        "tooltip": null
      }
    }
  },
  "SCAIL2ColoredMask": {
    "display_name": "Crear máscara coloreada SCAIL-2",
    "inputs": {
      "driving_track_data": {
        "name": "datos_rastreo_movimiento",
        "tooltip": "Rastreo SAM3 del video de pose de movimiento. Se renderizará en la salida pose_video_mask."
      },
      "object_indices": {
        "name": "índices_objeto",
        "tooltip": "Lista separada por comas de los índices de personas a incluir (ej. '0,2,3'). Se aplica tanto a las máscaras de video de referencia como de pose. Vacío = todos."
      },
      "ref_track_data": {
        "name": "datos_rastreo_referencia",
        "tooltip": "Rastreo SAM3 de la imagen de referencia."
      },
      "replacement_mode": {
        "name": "modo_reemplazo",
        "tooltip": "Falso = mask_video tiene fondo negro (Modo Animación). Verdadero = fondo blanco (Modo Reemplazo). Establece el mismo replacement_mode en WanSCAILToVideo. reference_image_mask siempre tiene fondo negro."
      },
      "sort_by": {
        "name": "ordenar_por",
        "tooltip": "Orden en el que se asignan los colores de la paleta a los objetos rastreados (aplicado tanto al video de referencia como al de pose para que cada identidad mantenga el mismo color). left_to_right = el objeto más a la izquierda (por el centroide del primer fotograma) recibe el primer color; area = el objeto más grande (por el área de la máscara del primer fotograma) recibe el primer color; none = mantener el orden de SAM3."
      }
    },
    "outputs": {
      "0": {
        "name": "máscara_video_pose",
        "tooltip": null
      },
      "1": {
        "name": "máscara_imagen_referencia",
        "tooltip": null
      }
    }
  },
  "SDPoseDrawKeypoints": {
    "display_name": "SDPoseDrawKeypoints",
    "inputs": {
      "draw_body": {
        "name": "dibujar cuerpo"
      },
      "draw_face": {
        "name": "dibujar rostro"
      },
      "draw_feet": {
        "name": "dibujar pies"
      },
      "draw_hands": {
        "name": "dibujar manos"
      },
      "draw_head": {
        "name": "dibujar_cabeza"
      },
      "face_point_size": {
        "name": "tamaño de punto facial"
      },
      "keypoints": {
        "name": "puntos clave"
      },
      "score_threshold": {
        "name": "umbral de puntuación"
      },
      "stick_width": {
        "name": "ancho de línea"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SDPoseFaceBBoxes": {
    "display_name": "SDPoseFaceBBoxes",
    "inputs": {
      "force_square": {
        "name": "forzar cuadrado",
        "tooltip": "Expande el eje más corto de la caja para que la región recortada sea siempre cuadrada."
      },
      "keypoints": {
        "name": "puntos clave"
      },
      "scale": {
        "name": "escala",
        "tooltip": "Multiplicador para el área de la caja delimitadora alrededor de cada rostro detectado."
      }
    },
    "outputs": {
      "0": {
        "name": "cajas delimitadoras",
        "tooltip": "Cajas delimitadoras de rostro por fotograma, compatibles con la entrada de cajas delimitadoras de SDPoseKeypointExtractor."
      }
    }
  },
  "SDPoseKeypointExtractor": {
    "description": "Extrae puntos clave de pose de imágenes usando el modelo SDPose: https://huggingface.co/Comfy-Org/SDPose/tree/main/checkpoints",
    "display_name": "SDPoseKeypointExtractor",
    "inputs": {
      "batch_size": {
        "name": "tamaño de lote"
      },
      "bboxes": {
        "name": "cajas delimitadoras",
        "tooltip": "Cajas delimitadoras opcionales para detecciones más precisas. Requerido para la detección de múltiples personas."
      },
      "image": {
        "name": "imagen"
      },
      "model": {
        "name": "modelo"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "puntos clave",
        "tooltip": "Puntos clave en formato de marco OpenPose (ancho_lienzo, alto_lienzo, personas)"
      }
    }
  },
  "SDTurboScheduler": {
    "display_name": "SDTurboScheduler",
    "inputs": {
      "denoise": {
        "name": "reducir_ruido"
      },
      "model": {
        "name": "modelo"
      },
      "steps": {
        "name": "pasos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SD_4XUpscale_Conditioning": {
    "display_name": "SD_4XUpscale_Conditioning",
    "inputs": {
      "images": {
        "name": "imágenes"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_augmentation": {
        "name": "aumento_ruido"
      },
      "positive": {
        "name": "positivo"
      },
      "scale_ratio": {
        "name": "relación_escala"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "SUPIRApply": {
    "display_name": "SUPIRApply",
    "inputs": {
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "model_patch": {
        "name": "model_patch"
      },
      "restore_cfg": {
        "name": "restore_cfg",
        "tooltip": "Atrae la salida denoised hacia el latent de entrada. Un valor más alto = mayor fidelidad a la entrada. 0 para desactivar."
      },
      "restore_cfg_s_tmin": {
        "name": "restore_cfg_s_tmin",
        "tooltip": "Umbral de sigma por debajo del cual restore_cfg se desactiva."
      },
      "strength_end": {
        "name": "strength_end",
        "tooltip": "Controla la intensidad al final del muestreo (sigma baja). Interpolado linealmente desde el inicio."
      },
      "strength_start": {
        "name": "strength_start",
        "tooltip": "Controla la intensidad al inicio del muestreo (sigma alta)."
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SV3D_Conditioning": {
    "display_name": "SV3D_Acondicionamiento",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "elevación"
      },
      "height": {
        "name": "altura"
      },
      "init_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "video_frames": {
        "name": "cuadros_de_video"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "SVD_img2vid_Conditioning": {
    "display_name": "SVD_img2vid_Acondicionamiento",
    "inputs": {
      "augmentation_level": {
        "name": "nivel_de_aumento"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "fps": {
        "name": "fps"
      },
      "height": {
        "name": "altura"
      },
      "init_image": {
        "name": "imagen_inicial"
      },
      "motion_bucket_id": {
        "name": "id_del_cubeta_de_movimiento"
      },
      "vae": {
        "name": "vae"
      },
      "video_frames": {
        "name": "cuadros_de_video"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      },
      "2": {
        "name": "latente"
      }
    }
  },
  "SamplerARVideo": {
    "display_name": "Sampler AR Video",
    "inputs": {
      "num_frame_per_block": {
        "name": "num_frame_per_block",
        "tooltip": "Fotogramas por bloque autorregresivo. 1 = por fotograma, 3 = por fragmento. Debe coincidir con el modo de entrenamiento del checkpoint."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerCustom": {
    "display_name": "Muestreador personalizado",
    "inputs": {
      "add_noise": {
        "name": "añadir_ruido"
      },
      "cfg": {
        "name": "cfg"
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "latent_image": {
        "name": "imagen_latente"
      },
      "model": {
        "name": "modelo"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_seed": {
        "name": "semilla_ruido"
      },
      "positive": {
        "name": "positivo"
      },
      "sampler": {
        "name": "muestreador"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "name": "salida",
        "tooltip": null
      },
      "1": {
        "name": "salida_sin_ruido",
        "tooltip": null
      }
    }
  },
  "SamplerCustomAdvanced": {
    "display_name": "SamplerCustomAdvanced",
    "inputs": {
      "guider": {
        "name": "guía"
      },
      "latent_image": {
        "name": "imagen_latente"
      },
      "noise": {
        "name": "ruido"
      },
      "sampler": {
        "name": "muestreador"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "name": "salida",
        "tooltip": null
      },
      "1": {
        "name": "salida_sin_ruido",
        "tooltip": null
      }
    }
  },
  "SamplerDPMAdaptative": {
    "display_name": "SamplerDPMAdaptative",
    "inputs": {
      "accept_safety": {
        "name": "aceptar_seguridad"
      },
      "atol": {
        "name": "atol"
      },
      "dcoeff": {
        "name": "dcoeff"
      },
      "eta": {
        "name": "eta"
      },
      "h_init": {
        "name": "h_init"
      },
      "icoeff": {
        "name": "icoeff"
      },
      "order": {
        "name": "orden"
      },
      "pcoeff": {
        "name": "pcoeff"
      },
      "rtol": {
        "name": "rtol"
      },
      "s_noise": {
        "name": "s_ruido"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_2M_SDE": {
    "display_name": "SamplerDPMPP_2M_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "dispositivo_ruido"
      },
      "s_noise": {
        "name": "s_ruido"
      },
      "solver_type": {
        "name": "tipo_resolvedor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_2S_Ancestral": {
    "display_name": "SamplerDPMPP_2S_Ancestral",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_ruido"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_3M_SDE": {
    "display_name": "SamplerDPMPP_3M_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "dispositivo_ruido"
      },
      "s_noise": {
        "name": "s_ruido"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_SDE": {
    "display_name": "SamplerDPMPP_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "dispositivo_ruido"
      },
      "r": {
        "name": "r"
      },
      "s_noise": {
        "name": "s_ruido"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerER_SDE": {
    "display_name": "SamplerER_SDE",
    "inputs": {
      "eta": {
        "name": "eta",
        "tooltip": "Fuerza estocástica de la EDE de tiempo inverso.\nCuando eta=0, se reduce a una EDO determinista. Esta configuración no se aplica al tipo de solucionador ER-SDE."
      },
      "max_stage": {
        "name": "etapa_máxima"
      },
      "s_noise": {
        "name": "s_ruido"
      },
      "solver_type": {
        "name": "tipo_solucionador"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerAncestral": {
    "display_name": "SamplerEulerAncestral",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_ruido"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerAncestralCFGPP": {
    "display_name": "SamplerEulerAncestralCFG++",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_ruido"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerCFGpp": {
    "display_name": "SamplerEulerCFG++",
    "inputs": {
      "version": {
        "name": "versión"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLCM": {
    "description": "Muestreador LCM con ruido ajustable por paso. s_noise es un multiplicador en la escala de ruido de entrenamiento del modelo",
    "display_name": "SamplerLCM",
    "inputs": {
      "noise_clip_std": {
        "name": "noise_clip_std",
        "tooltip": "Limita el ruido por paso a +/- N*std. 0 desactiva."
      },
      "s_noise": {
        "name": "s_noise",
        "tooltip": "Multiplicador de ruido por paso en el primer paso (1.0 = igual que el entrenamiento)."
      },
      "s_noise_end": {
        "name": "s_noise_end",
        "tooltip": "Multiplicador de ruido por paso en el último paso. Igualar a s_noise para un programa constante."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLCMUpscale": {
    "display_name": "SamplerLCMUpscale",
    "inputs": {
      "scale_ratio": {
        "name": "relación_escala"
      },
      "scale_steps": {
        "name": "pasos_escala"
      },
      "upscale_method": {
        "name": "método_aumento_escala"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLMS": {
    "display_name": "SamplerLMS",
    "inputs": {
      "order": {
        "name": "orden"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerSASolver": {
    "display_name": "SamplerSASolver",
    "inputs": {
      "corrector_order": {
        "name": "orden_corrector"
      },
      "eta": {
        "name": "eta"
      },
      "model": {
        "name": "modelo"
      },
      "predictor_order": {
        "name": "orden_predictor"
      },
      "s_noise": {
        "name": "s_ruido"
      },
      "sde_end_percent": {
        "name": "porcentaje_fin_sde"
      },
      "sde_start_percent": {
        "name": "porcentaje_inicio_sde"
      },
      "simple_order_2": {
        "name": "orden_simple_2"
      },
      "use_pece": {
        "name": "usar_pece"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerSEEDS2": {
    "description": "Este nodo de muestreador puede representar múltiples muestreadores:\n\nseeds_2\n- configuración predeterminada\n\nexp_heun_2_x0\n- solver_type=phi_2, r=1.0, eta=0.0\n\nexp_heun_2_x0_sde\n- solver_type=phi_2, r=1.0, eta=1.0, s_noise=1.0",
    "display_name": "SamplerSEEDS2",
    "inputs": {
      "eta": {
        "name": "eta",
        "tooltip": "Intensidad estocástica"
      },
      "r": {
        "name": "r",
        "tooltip": "Tamaño de paso relativo para la etapa intermedia (nodo c2)"
      },
      "s_noise": {
        "name": "s_noise",
        "tooltip": "Multiplicador de ruido SDE"
      },
      "solver_type": {
        "name": "solver_type"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplingPercentToSigma": {
    "display_name": "SamplingPercentToSigma",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "return_actual_sigma": {
        "name": "devolver_sigma_real",
        "tooltip": "Devuelve el valor sigma real en lugar del valor utilizado para las comprobaciones de intervalo.\nEsto solo afecta los resultados en 0.0 y 1.0."
      },
      "sampling_percent": {
        "name": "porcentaje_muestreo"
      }
    },
    "outputs": {
      "0": {
        "name": "valor_sigma",
        "tooltip": null
      }
    }
  },
  "Save3DAdvanced": {
    "display_name": "Guardar 3D (Avanzado)",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Archivo de modelo 3D de un nodo 3D ascendente."
      },
      "model_3d_info": {
        "name": "model_3d_info"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "SaveAnimatedPNG": {
    "display_name": "GuardarPNGAnimado",
    "inputs": {
      "compress_level": {
        "name": "nivel_compresión"
      },
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "imágenes"
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": null
      }
    }
  },
  "SaveAnimatedWEBP": {
    "display_name": "GuardarWEBPAnimado",
    "inputs": {
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "imágenes"
      },
      "lossless": {
        "name": "sin_pérdidas"
      },
      "method": {
        "name": "método"
      },
      "quality": {
        "name": "calidad"
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": null
      }
    }
  },
  "SaveAudio": {
    "display_name": "GuardarAudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "interfaz_audio"
      },
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "SaveAudioAdvanced": {
    "description": "Guarda el audio de entrada en el directorio de salida de ComfyUI.",
    "display_name": "Guardar audio (avanzado)",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "El audio a guardar."
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "prefijo_nombre_archivo",
        "tooltip": "El prefijo para el archivo a guardar. Puede incluir tokens de formato como %date:yyyy-MM-dd%."
      },
      "format": {
        "name": "formato",
        "tooltip": "El formato de archivo en el que guardar el audio."
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "SaveAudioMP3": {
    "display_name": "Guardar Audio (MP3)",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "Interfaz de audio"
      },
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      },
      "quality": {
        "name": "calidad"
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "SaveAudioOpus": {
    "display_name": "Guardar audio (Opus)",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "Interfaz de audio"
      },
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      },
      "quality": {
        "name": "calidad"
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "SaveGLB": {
    "display_name": "GuardarGLB",
    "inputs": {
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      },
      "image": {
        "name": "imagen"
      },
      "mesh": {
        "name": "malla",
        "tooltip": "Malla o archivo GLB para guardar"
      }
    }
  },
  "SaveGaussianSplat": {
    "display_name": "Guardar Splat",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Un archivo 3D de gaussian splat."
      },
      "model_3d_info": {
        "name": "model_3d_info"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "SaveImage": {
    "description": "Guarda las imágenes de entrada en tu directorio de salida de ComfyUI.",
    "display_name": "Guardar Imagen",
    "inputs": {
      "filename_prefix": {
        "name": "prefijo_nombre_archivo",
        "tooltip": "El prefijo para el archivo a guardar. Esto puede incluir información de formato como %date:yyyy-MM-dd% o %Empty Latent Image.width% para incluir valores de los nodos."
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Las imágenes a guardar."
      }
    },
    "outputs": {
      "0": {
        "name": "images"
      }
    }
  },
  "SaveImageAdvanced": {
    "description": "Guarda las imágenes de entrada en tu directorio de salida de ComfyUI.",
    "display_name": "Guardar imagen (avanzado)",
    "inputs": {
      "filename_prefix": {
        "name": "prefijo_nombre_archivo",
        "tooltip": "El prefijo para el archivo a guardar. Puede incluir tokens de formato como %date:yyyy-MM-dd% o %Empty Latent Image.width%."
      },
      "format": {
        "name": "formato",
        "tooltip": "El formato de archivo en el que se guardará la imagen."
      },
      "format_bit_depth": {
        "name": "profundidad_de_bits"
      },
      "format_input_color_space": {
        "name": "espacio_de_color_entrada"
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Las imágenes que se van a guardar."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": null
      }
    }
  },
  "SaveImageDataSetToFolder": {
    "description": "Guarda un conjunto de imágenes en una carpeta especificada. Formatos soportados: PNG.",
    "display_name": "Guardar conjunto de imágenes en carpeta",
    "inputs": {
      "filename_prefix": {
        "name": "filename_prefix",
        "tooltip": "Prefijo para los nombres de archivo de las imágenes guardadas."
      },
      "folder_name": {
        "name": "folder_name",
        "tooltip": "Nombre de la carpeta donde guardar las imágenes (dentro del directorio de salida)."
      },
      "images": {
        "name": "images",
        "tooltip": "Lista de imágenes para guardar."
      },
      "mode": {
        "name": "modo",
        "tooltip": "Indica si se deben sobrescribir los archivos existentes o incrementar los nombres de archivo para evitar sobrescribir."
      }
    }
  },
  "SaveImageTextDataSetToFolder": {
    "description": "Guarda un conjunto de pares de imágenes y subtítulos de texto en una carpeta especificada. Las imágenes se guardan como archivos PNG y los subtítulos como archivos TXT con el mismo prefijo de nombre de archivo.",
    "display_name": "Guardar conjunto de imágenes y textos en carpeta",
    "inputs": {
      "filename_prefix": {
        "name": "filename_prefix",
        "tooltip": "Prefijo para los nombres de archivo de las imágenes guardadas."
      },
      "folder_name": {
        "name": "folder_name",
        "tooltip": "Nombre de la carpeta donde guardar las imágenes (dentro del directorio de salida)."
      },
      "images": {
        "name": "images",
        "tooltip": "Lista de imágenes para guardar."
      },
      "mode": {
        "name": "modo",
        "tooltip": "Indica si se deben sobrescribir los archivos existentes o incrementar los nombres de archivo para evitar sobrescribir."
      },
      "texts": {
        "name": "texts",
        "tooltip": "Lista de textos para guardar."
      }
    }
  },
  "SaveImageWebsocket": {
    "display_name": "GuardarImagenWebsocket",
    "inputs": {
      "images": {
        "name": "imágenes"
      }
    }
  },
  "SaveLatent": {
    "display_name": "GuardarLatente",
    "inputs": {
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      },
      "samples": {
        "name": "muestras"
      }
    },
    "outputs": {
      "0": {
        "name": "samples"
      }
    }
  },
  "SaveLoRA": {
    "display_name": "Guardar pesos de LoRA",
    "inputs": {
      "lora": {
        "name": "lora",
        "tooltip": "El modelo LoRA para guardar. No utilices el modelo con capas LoRA."
      },
      "prefix": {
        "name": "prefix",
        "tooltip": "El prefijo a usar para el archivo LoRA guardado."
      },
      "steps": {
        "name": "steps",
        "tooltip": "Opcional: Número de pasos para los que se ha entrenado LoRA, usado para nombrar el archivo guardado."
      }
    }
  },
  "SavePointCloud": {
    "display_name": "Guardar Nube de Puntos",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Archivo de nube de puntos (.ply)"
      },
      "model_3d_info": {
        "name": "model_3d_info"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "SaveSVGNode": {
    "description": "Guardar archivos SVG en disco.",
    "display_name": "NodoGuardarSVG",
    "inputs": {
      "filename_prefix": {
        "name": "prefijo_nombre_archivo",
        "tooltip": "El prefijo para el archivo a guardar. Esto puede incluir información de formato como %date:yyyy-MM-dd% o %Empty Latent Image.width% para incluir valores de nodos."
      },
      "svg": {
        "name": "svg"
      }
    },
    "outputs": {
      "0": {
        "name": "svg",
        "tooltip": null
      }
    }
  },
  "SaveText": {
    "description": "Guardar el contenido de texto en un archivo en el directorio de salida.",
    "display_name": "Guardar Texto",
    "inputs": {
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "format": {
        "name": "format"
      },
      "preview_mode": {},
      "preview_text": {},
      "text": {
        "name": "text"
      }
    },
    "outputs": {
      "0": {
        "name": "text",
        "tooltip": null
      }
    }
  },
  "SaveTrainingDataset": {
    "description": "Guarda el conjunto de datos de entrenamiento codificado (latents + conditioning) en disco para una carga eficiente durante el entrenamiento.",
    "display_name": "Guardar conjunto de datos de entrenamiento",
    "inputs": {
      "conditioning": {
        "name": "conditioning",
        "tooltip": "Lista de listas de conditioning de MakeTrainingDataset."
      },
      "folder_name": {
        "name": "folder_name",
        "tooltip": "Nombre de la carpeta donde guardar el conjunto de datos (dentro del directorio de salida)."
      },
      "latents": {
        "name": "latents",
        "tooltip": "Lista de diccionarios de latent de MakeTrainingDataset."
      },
      "shard_size": {
        "name": "shard_size",
        "tooltip": "Número de muestras por archivo fragmentado."
      }
    }
  },
  "SaveVideo": {
    "description": "Guarda las imágenes de entrada en tu directorio de salida de ComfyUI.",
    "display_name": "Guardar video",
    "inputs": {
      "codec": {
        "name": "códec",
        "tooltip": "El códec que se usará para el video."
      },
      "filename_prefix": {
        "name": "prefijo_nombre_archivo",
        "tooltip": "El prefijo para el archivo a guardar. Esto puede incluir información de formato como %date:yyyy-MM-dd% o %Empty Latent Image.width% para incluir valores de los nodos."
      },
      "format": {
        "name": "formato",
        "tooltip": "El formato en el que se guardará el video."
      },
      "video": {
        "name": "video",
        "tooltip": "El video que se va a guardar."
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": null
      }
    }
  },
  "SaveWEBM": {
    "display_name": "GuardarWEBM",
    "inputs": {
      "codec": {
        "name": "códec"
      },
      "crf": {
        "name": "crf",
        "tooltip": "Un crf más alto significa menor calidad con un tamaño de archivo más pequeño, un crf más bajo significa mayor calidad con un tamaño de archivo más grande."
      },
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Las imágenes RGBA se guardan con su canal alfa como transparencia (solo códec vp9)."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": null
      }
    }
  },
  "ScaleROPE": {
    "description": "Escalar y desplazar el ROPE del modelo.",
    "display_name": "EscalarROPE",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "scale_t": {
        "name": "escala_t"
      },
      "scale_x": {
        "name": "escala_x"
      },
      "scale_y": {
        "name": "escala_y"
      },
      "shift_t": {
        "name": "desplazamiento_t"
      },
      "shift_x": {
        "name": "desplazamiento_x"
      },
      "shift_y": {
        "name": "desplazamiento_y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SeedNode": {
    "display_name": "Semilla",
    "inputs": {
      "fixed": {
        "name": "controlar después de generar"
      },
      "seed": {
        "name": "semilla"
      }
    },
    "outputs": {
      "0": {
        "name": "semilla",
        "tooltip": null
      }
    }
  },
  "SeedVR2Conditioning": {
    "description": "Construir el condicionamiento positivo/negativo de SeedVR2 a partir de un latent de VAE.",
    "display_name": "Aplicar Condicionamiento SeedVR2",
    "inputs": {
      "model": {
        "name": "model",
        "tooltip": "El modelo SeedVR2."
      },
      "vae_conditioning": {
        "name": "vae_conditioning"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": "El condicionamiento positivo para muestreo."
      },
      "1": {
        "name": "negative",
        "tooltip": "El condicionamiento negativo para muestreo."
      }
    }
  },
  "SeedVR2PostProcessing": {
    "description": "Alinea la imagen generada con la imagen original redimensionada y aplica corrección de color.",
    "display_name": "Posprocesar salida de SeedVR2",
    "inputs": {
      "color_correction_method": {
        "name": "método_de_corrección_de_color",
        "tooltip": "Método para igualar los colores de la imagen generada con la imagen original. lab: transfiere el color en el espacio CIELAB, preservando el detalle (más fiel). wavelet: transfiere el color de baja frecuencia, manteniendo el detalle de alta frecuencia mejorado. adain: iguala la media/desviación estándar por canal (más rápido, tinte global). none: omite la transferencia de color (solo alineación geométrica)."
      },
      "images": {
        "name": "imágenes",
        "tooltip": "La imagen generada a procesar."
      },
      "original_resized_images": {
        "name": "imágenes_redimensionadas_originales",
        "tooltip": "La imagen original redimensionada antes del preprocesamiento, usada como referencia."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": "La imagen alineada y corregida en color."
      }
    }
  },
  "SeedVR2Preprocess": {
    "description": "Rellena una imagen redimensionada para el modelo SeedVR2. El canal alfa se elimina. El nodo Posprocesar salida de SeedVR2 lo vuelve a aplicar desde la imagen original redimensionada.",
    "display_name": "Preprocesar entrada de SeedVR2",
    "inputs": {
      "resized_images": {
        "name": "imágenes_redimensionadas",
        "tooltip": "La imagen redimensionada a procesar."
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": "La imagen rellenada para la codificación VAE."
      }
    }
  },
  "SeedVR2TemporalChunk": {
    "description": "Divide un latente de video SeedVR2 en fragmentos temporales superpuestos lo suficientemente pequeños como para muestrear uno a la vez dentro de la VRAM, conectando las salidas de latentes tanto a Aplicar condicionamiento SeedVR2 como a la entrada de latente del muestreador antes de recombinar con Unir latentes de SeedVR2.",
    "display_name": "Dividir latente de SeedVR2",
    "inputs": {
      "chunking_mode": {
        "name": "modo_de_fragmentación",
        "tooltip": "manual = usa exactamente frames_per_chunk; auto = predice el fragmento más grande que cabe en la VRAM libre."
      },
      "latent": {
        "name": "latente",
        "tooltip": "El latente de SeedVR2 codificado por VAE a dividir."
      },
      "temporal_overlap": {
        "name": "superposición_temporal",
        "tooltip": "Fotogramas latentes compartidos entre fragmentos adyacentes y fundidos al unir; 0 = sin superposición."
      }
    },
    "outputs": {
      "0": {
        "name": "latentes",
        "tooltip": "Los fragmentos temporales en orden secuencial."
      },
      "1": {
        "name": "superposición_temporal",
        "tooltip": "La superposición efectiva de fotogramas latentes entre fragmentos adyacentes, para Unir latentes de SeedVR2."
      }
    }
  },
  "SeedVR2TemporalMerge": {
    "description": "Recombina los fragmentos temporales muestreados del latente SeedVR2 en un solo latente, fundiendo cada superposición con una ventana de Hann del tamaño de la superposición_temporal conectada desde Dividir latente de SeedVR2.",
    "display_name": "Unir latentes de SeedVR2",
    "inputs": {
      "latents": {
        "name": "latentes",
        "tooltip": "Los fragmentos temporales muestreados en orden secuencial."
      },
      "temporal_overlap": {
        "name": "superposición_temporal",
        "tooltip": "La salida superposición_temporal de Dividir latente de SeedVR2. 0 = concatenación simple."
      }
    },
    "outputs": {
      "0": {
        "name": "latente",
        "tooltip": "El latente recombinado de longitud completa."
      }
    }
  },
  "SelectCLIPDevice": {
    "description": "Coloca el codificador de texto CLIP en un dispositivo específico (default / cpu / gpu:N).\n\n- \"default\" restaura el dispositivo asignado por el cargador.\n- \"cpu\" fija tanto la carga como la descarga en la CPU.\n- \"gpu:N\" fija el dispositivo de carga en la N-ésima GPU disponible.\n\nCuando el dispositivo seleccionado no existe en la máquina actual\n(por ejemplo, un flujo de trabajo creado en una máquina con 2 GPU abierto en una con 1 GPU),\nel nodo pasa el CLIP sin cambios y registra un mensaje\nen lugar de fallar.",
    "display_name": "Seleccionar Dispositivo CLIP",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "device": {
        "name": "device"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelectModelDevice": {
    "description": "Coloca el modelo de difusión en un dispositivo específico (default / cpu / gpu:N).\n\n- \"default\" restaura el dispositivo asignado por el cargador (incluso después de una\n  llamada previa a Seleccionar Dispositivo del Modelo).\n- \"cpu\" fija tanto la carga como la descarga en la CPU.\n- \"gpu:N\" fija el dispositivo de carga en la N-ésima GPU disponible; el dispositivo de descarga\n  se restaura a la elección original del cargador.\n\nCuando el dispositivo solicitado difiere del dispositivo en el que ya está\nel modelo de entrada, se genera un modelo nuevo a través de la fábrica de recarga del cargador\n(cached_patcher_init) para que el nuevo patcher tenga pesos independientes en\nel nuevo dispositivo. Los cargadores que no soportan multigpu (sin fábrica)\nharán que el nodo pase sin cambios con una advertencia.\n\nSi el flujo de trabajo ya tiene aplicada la División CFG MultiGPU y la GPU elegida\ncolisiona con uno de los clones multigpu existentes, ese clon se elimina para que dos patchers no terminen asignados al mismo dispositivo.\n\nCuando el dispositivo seleccionado no existe en la máquina actual\n(por ejemplo, un flujo de trabajo creado en una máquina con 2 GPU abierto en una con 1 GPU),\nel nodo pasa el modelo sin cambios y registra un mensaje\nen lugar de fallar.\n\nNOTA: Colocar Seleccionar Dispositivo del Modelo *después* de un nodo que ya\nhaya consumido el mismo modelo (por ejemplo, un KSampler que se ejecutó en este modelo en\nel dispositivo original) no es recomendable -- cualquier estado que el consumidor previo\nhaya modificado en el modelo original se observará cuando el dispositivo seleccionado coincida con el original (ruta rápida). Coloque Seleccionar Dispositivo del Modelo antes de cualquier consumidor del modelo.",
    "display_name": "Seleccionar Dispositivo del Modelo",
    "inputs": {
      "device": {
        "name": "device"
      },
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelectVAEDevice": {
    "description": "Coloca el VAE en un dispositivo específico (por defecto / gpu:N).\n\n- \"default\" restaura el dispositivo asignado por el cargador.\n- \"gpu:N\" fija el dispositivo de carga en la N-ésima GPU disponible; el dispositivo de descarga\n  se establece en el dispositivo estándar de descarga de VAE.\n\nLa CPU no se muestra intencionadamente en la interfaz para el VAE; si un flujo de trabajo\nproporciona \"cpu\" de todos modos (por ejemplo, abierto desde otra máquina), la solicitud\nse descarta con un mensaje en el registro y el VAE pasa sin cambios.\n\nCuando el dispositivo seleccionado no existe en la máquina actual\n(por ejemplo, un flujo de trabajo creado en una caja con 2 GPU abierto en una caja con 1 GPU),\nel nodo pasa el VAE sin cambios y registra un mensaje\nen lugar de fallar.",
    "display_name": "Seleccionar dispositivo VAE",
    "inputs": {
      "device": {
        "name": "dispositivo"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelfAttentionGuidance": {
    "display_name": "Orientación de Auto-Atención",
    "inputs": {
      "blur_sigma": {
        "name": "blur_sigma"
      },
      "model": {
        "name": "modelo"
      },
      "scale": {
        "name": "escala"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SetClipHooks": {
    "display_name": "Establecer Ganchos CLIP",
    "inputs": {
      "apply_to_conds": {
        "name": "aplicar_a_conds"
      },
      "clip": {
        "name": "clip"
      },
      "hooks": {
        "name": "ganchos"
      },
      "schedule_clip": {
        "name": "programar_clip"
      }
    }
  },
  "SetFirstSigma": {
    "display_name": "EstablecerPrimeraSigma",
    "inputs": {
      "sigma": {
        "name": "sigma"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SetHookKeyframes": {
    "display_name": "Establecer Fotogramas Clave de Gancho",
    "inputs": {
      "hook_kf": {
        "name": "gancho_kf"
      },
      "hooks": {
        "name": "ganchos"
      }
    }
  },
  "SetLatentNoiseMask": {
    "display_name": "Establecer Máscara de Ruido Latente",
    "inputs": {
      "mask": {
        "name": "máscara"
      },
      "samples": {
        "name": "muestras"
      }
    }
  },
  "SetUnionControlNetType": {
    "display_name": "EstablecerTipoDeRedDeControlUnion",
    "inputs": {
      "control_net": {
        "name": "controlnet"
      },
      "type": {
        "name": "tipo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ShuffleDataset": {
    "description": "Mezcla aleatoriamente el orden de las imágenes en una lista.",
    "display_name": "Barajar conjunto de imágenes",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "images": {
        "name": "images",
        "tooltip": "Lista de imágenes a procesar."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla aleatoria."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Imágenes procesadas"
      }
    }
  },
  "ShuffleImageTextDataset": {
    "description": "Mezcla aleatoriamente el orden de los pares imagen-texto en una lista.",
    "display_name": "Barajar conjunto de imágenes y textos",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "images": {
        "name": "images",
        "tooltip": "Lista de imágenes a barajar."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla aleatoria."
      },
      "texts": {
        "name": "texts",
        "tooltip": "Lista de textos a barajar."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Imágenes barajadas"
      },
      "1": {
        "name": "texts",
        "tooltip": "Textos barajados"
      }
    }
  },
  "ShuffleVideoDataset": {
    "description": "Mezcla aleatoriamente el orden de los videos en una lista.",
    "display_name": "Mezclar Lista de Videos",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla aleatoria."
      },
      "videos": {
        "name": "videos",
        "tooltip": "Lista de videos a mezclar."
      }
    },
    "outputs": {
      "0": {
        "name": "videos",
        "tooltip": "Videos mezclados"
      }
    }
  },
  "ShuffleVideoTextDataset": {
    "description": "Mezcla aleatoriamente el orden de los pares de video-texto en una lista.",
    "display_name": "Mezclar Pares de Video-Texto",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla aleatoria."
      },
      "texts": {
        "name": "texts",
        "tooltip": "Lista de textos a mezclar."
      },
      "videos": {
        "name": "videos",
        "tooltip": "Lista de videos a mezclar."
      }
    },
    "outputs": {
      "0": {
        "name": "videos",
        "tooltip": "Videos mezclados"
      },
      "1": {
        "name": "texts",
        "tooltip": "Textos mezclados"
      }
    }
  },
  "SkipLayerGuidanceDiT": {
    "description": "Versión genérica del nodo de Orientación de Capa de Salto que se puede usar en cada modelo DiT.",
    "display_name": "Orientación de Capa de Salto DiT",
    "inputs": {
      "double_layers": {
        "name": "capas_dobles"
      },
      "end_percent": {
        "name": "porcentaje_final"
      },
      "model": {
        "name": "modelo"
      },
      "rescaling_scale": {
        "name": "escala_reescalado"
      },
      "scale": {
        "name": "escala"
      },
      "single_layers": {
        "name": "capas_simples"
      },
      "start_percent": {
        "name": "porcentaje_inicio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SkipLayerGuidanceDiTSimple": {
    "description": "Versión simple del nodo OrientaciónSaltarCapaDiT que solo modifica el paso sin condición.",
    "display_name": "OrientaciónSaltarCapaDiTSimple",
    "inputs": {
      "double_layers": {
        "name": "capas_dobles"
      },
      "end_percent": {
        "name": "porcentaje_fin"
      },
      "model": {
        "name": "modelo"
      },
      "single_layers": {
        "name": "capas_individuales"
      },
      "start_percent": {
        "name": "porcentaje_inicio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SkipLayerGuidanceSD3": {
    "description": "Versión genérica del nodo de Orientación de Capa de Salto que se puede usar en cada modelo DiT.",
    "display_name": "Orientación de Capa de Salto SD3",
    "inputs": {
      "end_percent": {
        "name": "porcentaje_final"
      },
      "layers": {
        "name": "capas"
      },
      "model": {
        "name": "modelo"
      },
      "scale": {
        "name": "escala"
      },
      "start_percent": {
        "name": "porcentaje_inicio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SolidMask": {
    "display_name": "Máscara Sólida",
    "inputs": {
      "height": {
        "name": "altura"
      },
      "value": {
        "name": "valor"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SoniloTextToMusic": {
    "description": "Genera música a partir de un texto usando el modelo de IA de Sonilo. Deja la duración en 0 para que el modelo la infiera del texto.",
    "display_name": "Sonilo Texto a Música",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Duración objetivo en segundos. Pon 0 para que el modelo infiera la duración del texto. Máximo: 6 minutos."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto descriptivo de la música a generar."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para reproducibilidad. Actualmente ignorada por el servicio de Sonilo pero mantenida para la consistencia del grafo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SoniloVideoToMusic": {
    "description": "Genera música a partir de contenido de video usando el modelo de IA de Sonilo. Analiza el video y crea música acorde.",
    "display_name": "Sonilo Video a Música",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto opcional para guiar la generación musical. Déjalo vacío para mejor calidad: el modelo analizará completamente el contenido del video."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para reproducibilidad. Actualmente ignorada por el servicio de Sonilo pero mantenida para la consistencia del grafo."
      },
      "video": {
        "name": "video",
        "tooltip": "Video de entrada del que generar música. Duración máxima: 6 minutos."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SplatToFile3D": {
    "description": "Serializa un gaussian splat a un objeto File3D para los nodos Save / Preview 3D. Solo admite un elemento por lote.",
    "display_name": "Crear archivo 3D (desde Splat)",
    "inputs": {
      "format": {
        "name": "formato",
        "tooltip": "ply: Gaussian Splat 3D estándar con armónicos esféricos completos. ksplat: mkkellogg SplatBuffer (nivel 0, sin comprimir), solo color base. spz: Niantic comprimido con gzip (~10x más pequeño), solo color base."
      },
      "splat": {
        "name": "splat"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_3d",
        "tooltip": null
      }
    }
  },
  "SplatToMesh": {
    "description": "Extrae una malla coloreada de un gaussian splat.",
    "display_name": "Extraer malla de Splat",
    "inputs": {
      "color_sharpen": {
        "name": "enfocar_color",
        "tooltip": "Acentúa la textura de los vértices: 1.0 = mezcla físicamente correcta; valores mayores sesgan el color de cada vóxel hacia su gaussiana dominante en vez de promediar vecinos (reduce el difuminado de la textura). Solo color: la geometría no cambia."
      },
      "kernel": {
        "name": "kernel",
        "tooltip": "Ancho máximo de splat a la mitad en vóxeles. Cada gaussiana se rasteriza sobre una ventana del tamaño de su propio 3-sigma, limitado aquí: los surfels pequeños siguen siendo económicos, los grandes no se truncan. Aumenta si los splats dispersos dejan huecos."
      },
      "level": {
        "name": "nivel",
        "tooltip": "Nivel de iso-superficie. Seleccionado automáticamente por Otsu; esto lo sesga (1.0 = auto, menor = superficie más gruesa/conectada, mayor = más delgada/ajustada)."
      },
      "min_component": {
        "name": "componente_mínima",
        "tooltip": "Descarta componentes conectados más pequeños que esta cantidad de vértices (0 = conservar todos). Elimina fragmentos flotantes y la capa interna de la doble pared."
      },
      "min_opacity": {
        "name": "opacidad_mínima",
        "tooltip": "Ignora gaussianas más tenues que este valor antes de crear la malla."
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "Resolución de la cuadrícula de densidad a lo largo del eje más largo. Más alto = superficie más fina, más VRAM/tiempo (crece con resolución^3)."
      },
      "smooth": {
        "name": "suavizar",
        "tooltip": "Iteraciones de suavizado de malla Taubin. Suaviza la superficie sin encogerla (conserva el volumen), a diferencia de difuminar la densidad. 0 = superficie sin procesar."
      },
      "splat": {
        "name": "splat"
      }
    },
    "outputs": {
      "0": {
        "name": "malla",
        "tooltip": null
      }
    }
  },
  "SplitAudioChannels": {
    "description": "Separa el audio en canales izquierdo y derecho.",
    "display_name": "Separar canales de audio",
    "inputs": {
      "audio": {
        "name": "audio"
      }
    },
    "outputs": {
      "0": {
        "name": "izquierdo",
        "tooltip": null
      },
      "1": {
        "name": "derecho",
        "tooltip": null
      }
    }
  },
  "SplitImageToTileList": {
    "description": "Divide una imagen en una lista agrupada de mosaicos con una superposición especificada.",
    "display_name": "Dividir imagen en lista de mosaicos",
    "inputs": {
      "image": {
        "name": "image"
      },
      "overlap": {
        "name": "overlap"
      },
      "tile_height": {
        "name": "tile_height"
      },
      "tile_width": {
        "name": "tile_width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SplitImageWithAlpha": {
    "display_name": "Dividir Imagen con Alfa",
    "inputs": {
      "image": {
        "name": "imagen"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "SplitSigmas": {
    "display_name": "DividirSigmas",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      },
      "step": {
        "name": "paso"
      }
    },
    "outputs": {
      "0": {
        "name": "sigmas_altos",
        "tooltip": null
      },
      "1": {
        "name": "sigmas_bajos",
        "tooltip": null
      }
    }
  },
  "SplitSigmasDenoise": {
    "display_name": "SplitSigmasDenoise",
    "inputs": {
      "denoise": {
        "name": "denoise"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "name": "sigmas_altos",
        "tooltip": null
      },
      "1": {
        "name": "sigmas_bajos",
        "tooltip": null
      }
    }
  },
  "StableCascade_EmptyLatentImage": {
    "display_name": "StableCascade_EmptyLatentImage",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote"
      },
      "compression": {
        "name": "compresión"
      },
      "height": {
        "name": "altura"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "etapa_c",
        "tooltip": null
      },
      "1": {
        "name": "etapa_b",
        "tooltip": null
      }
    }
  },
  "StableCascade_StageB_Conditioning": {
    "display_name": "StableCascade_StageB_Conditioning",
    "inputs": {
      "conditioning": {
        "name": "acondicionamiento"
      },
      "stage_c": {
        "name": "etapa_c"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StableCascade_StageC_VAEEncode": {
    "display_name": "StableCascade_StageC_VAEEncode",
    "inputs": {
      "compression": {
        "name": "compresión"
      },
      "image": {
        "name": "imagen"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "etapa_c",
        "tooltip": null
      },
      "1": {
        "name": "etapa_b",
        "tooltip": null
      }
    }
  },
  "StableCascade_SuperResolutionControlnet": {
    "display_name": "StableCascade_SuperResolutionControlnet",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "entrada_controlnet",
        "tooltip": null
      },
      "1": {
        "name": "etapa_c",
        "tooltip": null
      },
      "2": {
        "name": "etapa_b",
        "tooltip": null
      }
    }
  },
  "StableZero123_Conditioning": {
    "display_name": "StableZero123_Conditioning",
    "inputs": {
      "azimuth": {
        "name": "acimut"
      },
      "batch_size": {
        "name": "tamaño_del_lote"
      },
      "clip_vision": {
        "name": "visión_clip"
      },
      "elevation": {
        "name": "elevación"
      },
      "height": {
        "name": "altura"
      },
      "init_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "StableZero123_Conditioning_Batched": {
    "display_name": "StableZero123_Conditioning_Batched",
    "inputs": {
      "azimuth": {
        "name": "acimut"
      },
      "azimuth_batch_increment": {
        "name": "incremento_de_lote_de_acimut"
      },
      "batch_size": {
        "name": "tamaño_del_lote"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "elevación"
      },
      "elevation_batch_increment": {
        "name": "incremento_de_lote_de_elevación"
      },
      "height": {
        "name": "altura"
      },
      "init_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "StringCompare": {
    "display_name": "Comparar",
    "inputs": {
      "case_sensitive": {
        "name": "distingue mayúsculas y minúsculas"
      },
      "mode": {
        "name": "modo"
      },
      "string_a": {
        "name": "cadena_a"
      },
      "string_b": {
        "name": "cadena_b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringConcatenate": {
    "display_name": "Concatenar",
    "inputs": {
      "delimiter": {
        "name": "delimitador"
      },
      "string_a": {
        "name": "cadena_a"
      },
      "string_b": {
        "name": "cadena_b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringContains": {
    "display_name": "Contiene",
    "inputs": {
      "case_sensitive": {
        "name": "distingue mayúsculas y minúsculas"
      },
      "string": {
        "name": "cadena"
      },
      "substring": {
        "name": "subcadena"
      }
    },
    "outputs": {
      "0": {
        "name": "contiene",
        "tooltip": null
      }
    }
  },
  "StringFormat": {
    "description": "Igual que el método de formato de cadenas de Python. Soporta todas las opciones y características de formato de Python.",
    "display_name": "Formatear Texto",
    "inputs": {
      "f_string": {
        "name": "f_string"
      },
      "values": {
        "name": "values"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringLength": {
    "display_name": "Longitud",
    "inputs": {
      "string": {
        "name": "cadena"
      }
    },
    "outputs": {
      "0": {
        "name": "longitud",
        "tooltip": null
      }
    }
  },
  "StringReplace": {
    "display_name": "Reemplazar",
    "inputs": {
      "find": {
        "name": "buscar"
      },
      "replace": {
        "name": "reemplazar"
      },
      "string": {
        "name": "cadena"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringSubstring": {
    "display_name": "Subcadena",
    "inputs": {
      "end": {
        "name": "fin"
      },
      "start": {
        "name": "inicio"
      },
      "string": {
        "name": "cadena"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringTrim": {
    "display_name": "Recortar",
    "inputs": {
      "mode": {
        "name": "modo"
      },
      "string": {
        "name": "cadena"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StripWhitespace": {
    "display_name": "Eliminar espacios en blanco",
    "inputs": {
      "texts": {
        "name": "textos",
        "tooltip": "Texto a procesar."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos procesados"
      }
    }
  },
  "StyleModelApply": {
    "display_name": "Aplicar Modelo de Estilo",
    "inputs": {
      "clip_vision_output": {
        "name": "salida_de_clip_vision"
      },
      "conditioning": {
        "name": "acondicionamiento"
      },
      "strength": {
        "name": "fuerza"
      },
      "strength_type": {
        "name": "tipo_de_fuerza"
      },
      "style_model": {
        "name": "modelo_de_estilo"
      }
    }
  },
  "StyleModelLoader": {
    "display_name": "Cargar Modelo de Estilo",
    "inputs": {
      "style_model_name": {
        "name": "nombre_del_modelo_de_estilo"
      }
    }
  },
  "SyncLipSyncNode": {
    "description": "Vuelve a sincronizar el movimiento de la boca en un video con un nuevo audio de voz usando sync.so. Maneja automáticamente primeros planos, perfiles y obstrucciones, preservando la expresión del hablante. El costo escala según la duración del resultado.",
    "display_name": "sync.so Lip Sync",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio de voz para sincronizar con la boca."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Modelo de generación de sync.so."
      },
      "model_speaker_frame": {
        "name": "speaker_frame"
      },
      "model_speaker_selection": {
        "name": "speaker_selection"
      },
      "model_speaker_x": {
        "name": "speaker_x"
      },
      "model_speaker_y": {
        "name": "speaker_y"
      },
      "model_sync_mode": {
        "name": "sync_mode"
      },
      "seed": {
        "name": "seed",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      },
      "video": {
        "name": "video",
        "tooltip": "Metraje del hablante para volver a sincronizar. Hasta 4K (4096x2160); una tasa de fotogramas constante de 24/25/30 fps funciona mejor."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SyncTalkingImageNode": {
    "description": "Anima un retrato estático en un video parlante impulsado por audio de voz, usando el modelo sync-3 de sync.so. La duración del resultado coincide con el audio. El costo escala según la duración del resultado.",
    "display_name": "sync.so Talking Image",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio de voz que impulsa el video parlante; la duración del resultado coincide con él. Encadena cualquier nodo TTS aquí para animar desde texto."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image",
        "tooltip": "Una sola imagen con un rostro claramente visible, hasta 4K (4096x2160)."
      },
      "model": {
        "name": "model",
        "tooltip": "Modelo de generación de sync.so. La entrada de imagen es exclusiva de sync-3."
      },
      "model_auto_downscale": {
        "name": "auto_downscale"
      },
      "model_speaker_selection": {
        "name": "speaker_selection"
      },
      "model_speaker_x": {
        "name": "speaker_x"
      },
      "model_speaker_y": {
        "name": "speaker_y"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Orientación opcional sobre cómo cobra vida el retrato, por ejemplo: 'haz que el sujeto sonría y mire a la cámara'. Déjalo vacío para un movimiento natural al hablar."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "T5TokenizerOptions": {
    "display_name": "T5TokenizerOptions",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "min_length": {
        "name": "mín_longitud"
      },
      "min_padding": {
        "name": "mín_relleno"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TCFG": {
    "description": "TCFG – Amortiguación Tangencial CFG (2503.18137)\n\nRefina el uncond (negativo) para alinearlo con el cond (positivo) para mejorar la calidad.",
    "display_name": "Amortiguación Tangencial CFG",
    "inputs": {
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_modificado",
        "tooltip": null
      }
    }
  },
  "TemporalScoreRescaling": {
    "description": "[Función Post-CFG]\nTSR - Reajuste de Puntuación Temporal (2510.01184)\n\nReajusta la puntuación o ruido del modelo para dirigir la diversidad del muestreo.",
    "display_name": "TSR - Reajuste de Puntuación Temporal",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "tsr_k": {
        "name": "tsr_k",
        "tooltip": "Controla la fuerza del reajuste.\nUna k más baja produce resultados más detallados; una k más alta produce resultados más suaves en la generación de imágenes. Establecer k = 1 desactiva el reajuste."
      },
      "tsr_sigma": {
        "name": "tsr_sigma",
        "tooltip": "Controla cuándo comienza a tener efecto el reajuste.\nValores más grandes toman efecto antes."
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_modificado",
        "tooltip": null
      }
    }
  },
  "Tencent3DPartNode": {
    "description": "Realiza automáticamente la identificación y generación de componentes según la estructura del modelo.",
    "display_name": "Hunyuan3D: Parte 3D",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model_3d": {
        "name": "modelo_3d",
        "tooltip": "Modelo 3D en formato FBX. El modelo debe tener menos de 30,000 caras."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe volver a ejecutarse; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "Tencent3DTextureEditNode": {
    "description": "Después de ingresar el modelo 3D, realiza el repintado de la textura del modelo 3D.",
    "display_name": "Hunyuan3D: Edición de Textura 3D",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Modelo 3D en formato FBX. El modelo debe tener menos de 100000 caras."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Describe la edición de la textura. Soporta hasta 1024 caracteres UTF-8."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "name": "GLB",
        "tooltip": null
      },
      "1": {
        "name": "OBJ",
        "tooltip": null
      },
      "2": {
        "name": "texture_image",
        "tooltip": null
      }
    }
  },
  "TencentImageToModelNode": {
    "display_name": "Hunyuan3D: Imagen(es) a Modelo (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "controlar_tras_generar"
      },
      "face_count": {
        "name": "número_de_caras"
      },
      "generate_type": {
        "name": "tipo_de_generación"
      },
      "generate_type_pbr": {
        "name": "pbr"
      },
      "image": {
        "name": "imagen"
      },
      "image_back": {
        "name": "imagen_trasera"
      },
      "image_left": {
        "name": "imagen_izquierda"
      },
      "image_right": {
        "name": "imagen_derecha"
      },
      "model": {
        "name": "modelo",
        "tooltip": "La opción LowPoly no está disponible para el modelo `3.1`."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe volver a ejecutarse; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_modelo",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "OBJ",
        "tooltip": null
      },
      "3": {
        "name": "texture_image",
        "tooltip": null
      },
      "4": {
        "name": "optional_metallic",
        "tooltip": null
      },
      "5": {
        "name": "optional_normal",
        "tooltip": null
      },
      "6": {
        "name": "optional_roughness",
        "tooltip": null
      }
    }
  },
  "TencentModelTo3DUVNode": {
    "description": "Realiza el desplegado UV en un modelo 3D para generar la textura UV. El modelo de entrada debe tener menos de 30,000 caras.",
    "display_name": "Hunyuan3D: Modelo a UV",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "model_3d": {
        "name": "modelo_3d",
        "tooltip": "Modelo 3D de entrada (GLB, OBJ o FBX)"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "name": "OBJ",
        "tooltip": null
      },
      "1": {
        "name": "FBX",
        "tooltip": null
      },
      "2": {
        "name": "imagen UV",
        "tooltip": null
      }
    }
  },
  "TencentSmartTopologyNode": {
    "description": "Realiza retopología inteligente en un modelo 3D. Soporta formatos GLB/OBJ; máximo 200MB; recomendado para modelos de alta poligonización.",
    "display_name": "Hunyuan3D: Topología inteligente",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "face_level": {
        "name": "nivel_de_caras",
        "tooltip": "Nivel de reducción de polígonos."
      },
      "model_3d": {
        "name": "modelo_3d",
        "tooltip": "Modelo 3D de entrada (GLB u OBJ)"
      },
      "polygon_type": {
        "name": "tipo_de_polígono",
        "tooltip": "Tipo de composición de la superficie."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe ejecutarse de nuevo; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "name": "OBJ",
        "tooltip": null
      }
    }
  },
  "TencentTextToModelNode": {
    "display_name": "Hunyuan3D: Texto a Modelo (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "controlar_tras_generar"
      },
      "face_count": {
        "name": "número_de_caras"
      },
      "generate_type": {
        "name": "tipo_de_generación"
      },
      "generate_type_pbr": {
        "name": "pbr"
      },
      "model": {
        "name": "modelo",
        "tooltip": "La opción LowPoly no está disponible para el modelo `3.1`."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Admite hasta 1024 caracteres."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla controla si el nodo debe volver a ejecutarse; los resultados son no deterministas independientemente de la semilla."
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_modelo",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "OBJ",
        "tooltip": null
      },
      "3": {
        "name": "texture_image",
        "tooltip": null
      }
    }
  },
  "TextEncodeAceStepAudio": {
    "display_name": "TextEncodeAceStepAudio",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "lyrics": {
        "name": "letras"
      },
      "lyrics_strength": {
        "name": "intensidad_letras"
      },
      "tags": {
        "name": "etiquetas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeAceStepAudio1_5": {
    "display_name": "TextEncodeAceStepAudio1.5",
    "inputs": {
      "bpm": {
        "name": "bpm"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "clip": {
        "name": "clip"
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "generate_audio_codes": {
        "name": "generar_códigos_de_audio",
        "tooltip": "Activa el LLM que genera códigos de audio. Esto puede ser lento, pero aumentará la calidad del audio generado. Desactívalo si proporcionas una referencia de audio al modelo."
      },
      "keyscale": {
        "name": "escala tonal"
      },
      "language": {
        "name": "idioma"
      },
      "lyrics": {
        "name": "letra"
      },
      "min_p": {
        "name": "min_p"
      },
      "seed": {
        "name": "semilla"
      },
      "tags": {
        "name": "etiquetas"
      },
      "temperature": {
        "name": "temperatura"
      },
      "timesignature": {
        "name": "compás"
      },
      "top_k": {
        "name": "top_k"
      },
      "top_p": {
        "name": "top_p"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeBooguEdit": {
    "display_name": "TextEncodeBooguEdit",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Imagen(es) de referencia para editar. Boogu se centra en una referencia por muestra; se permiten más."
      },
      "negative_prompt": {
        "name": "negative_prompt"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "TextEncodeHunyuanVideo_ImageToVideo": {
    "display_name": "TextEncodeHunyuanVideo_ImagenAVideo",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_vision_output": {
        "name": "salida_de_clip_vision"
      },
      "image_interleave": {
        "name": "entrelazado_de_imagen",
        "tooltip": "Cuánto influye la imagen en las cosas frente al indicación de texto. Un número más alto significa más influencia del indicación de texto."
      },
      "prompt": {
        "name": "indicación"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeJoyImageEdit": {
    "display_name": "TextEncodeJoyImageEdit",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "images": {
        "name": "imágenes"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeMageFlowEdit": {
    "description": "Codifica una instrucción de edición con una o más imágenes de referencia para Mage-Flow-Edit. Los latentes de referencia se redimensionan a la resolución de salida (ancho/alto, o el tamaño de la primera imagen si es 0). Usa la salida latente para muestreo para que los tamaños siempre coincidan.",
    "display_name": "TextEncodeMageFlowEdit",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "height",
        "tooltip": "Alto de salida. 0 = usar el tamaño de la primera imagen de referencia."
      },
      "images": {
        "name": "images",
        "tooltip": "Imagen(es) de referencia para editar. Todas las referencias se redimensionan a la resolución de salida antes de codificar."
      },
      "negative_prompt": {
        "name": "negative_prompt"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width",
        "tooltip": "Ancho de salida. 0 = usar el tamaño de la primera imagen de referencia."
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "TextEncodeQwenImageEdit": {
    "display_name": "TextEncodeQwenImageEdit",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "imagen"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeQwenImageEditPlus": {
    "display_name": "TextEncodeQwenImageEditPlus",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image1": {
        "name": "imagen1"
      },
      "image2": {
        "name": "imagen2"
      },
      "image3": {
        "name": "imagen3"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeZImageOmni": {
    "display_name": "TextEncodeZImageOmni",
    "inputs": {
      "auto_resize_images": {
        "name": "auto_redimensionar_imágenes"
      },
      "clip": {
        "name": "clip"
      },
      "image1": {
        "name": "imagen1"
      },
      "image2": {
        "name": "imagen2"
      },
      "image3": {
        "name": "imagen3"
      },
      "image_encoder": {
        "name": "codificador_de_imagen"
      },
      "prompt": {
        "name": "instrucción"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextGenerate": {
    "display_name": "TextGenerate",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "imagen"
      },
      "max_length": {
        "name": "longitud_máxima"
      },
      "prompt": {
        "name": "prompt"
      },
      "sampling_mode": {
        "name": "modo_de_muestreo"
      },
      "sampling_mode_min_p": {
        "name": "min_p"
      },
      "sampling_mode_presence_penalty": {
        "name": "penalización_de_presencia"
      },
      "sampling_mode_repetition_penalty": {
        "name": "penalización_por_repetición"
      },
      "sampling_mode_seed": {
        "name": "semilla"
      },
      "sampling_mode_temperature": {
        "name": "temperatura"
      },
      "sampling_mode_top_k": {
        "name": "top_k"
      },
      "sampling_mode_top_p": {
        "name": "top_p"
      },
      "thinking": {
        "name": "pensando",
        "tooltip": "Operar en modo de pensamiento si el modelo lo permite."
      },
      "use_default_template": {
        "name": "use_default_template",
        "tooltip": "Usar la plantilla/sistema incorporado si el modelo dispone de uno."
      },
      "video": {
        "name": "video",
        "tooltip": "Fotogramas de video como lote de imágenes. Se asume a 24 FPS; se reduce internamente a 1 FPS."
      }
    },
    "outputs": {
      "0": {
        "name": "texto_generado",
        "tooltip": null
      }
    }
  },
  "TextGenerateLTX2Prompt": {
    "display_name": "TextGenerateLTX2Prompt",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "imagen"
      },
      "max_length": {
        "name": "longitud_máxima"
      },
      "prompt": {
        "name": "mensaje"
      },
      "sampling_mode": {
        "name": "modo_de_muestreo"
      },
      "sampling_mode_min_p": {
        "name": "min_p"
      },
      "sampling_mode_presence_penalty": {
        "name": "penalización_de_presencia"
      },
      "sampling_mode_repetition_penalty": {
        "name": "penalización_por_repetición"
      },
      "sampling_mode_seed": {
        "name": "semilla"
      },
      "sampling_mode_temperature": {
        "name": "temperatura"
      },
      "sampling_mode_top_k": {
        "name": "top_k"
      },
      "sampling_mode_top_p": {
        "name": "top_p"
      },
      "thinking": {
        "name": "pensando",
        "tooltip": "Operar en modo de pensamiento si el modelo lo permite."
      },
      "use_default_template": {
        "name": "use_default_template",
        "tooltip": "Usar la plantilla/sistema incorporado si el modelo dispone de uno."
      },
      "video": {
        "name": "video",
        "tooltip": "Fotogramas de video como lote de imágenes. Se asume a 24 FPS; se reduce internamente a 1 FPS."
      }
    },
    "outputs": {
      "0": {
        "name": "texto_generado",
        "tooltip": null
      }
    }
  },
  "TextOverlay": {
    "description": "Superpone texto en una imagen o un lote de imágenes.",
    "display_name": "Superponer texto",
    "inputs": {
      "align": {
        "name": "alineación"
      },
      "color": {
        "name": "color",
        "tooltip": "Color del texto."
      },
      "font_size": {
        "name": "tamaño de fuente",
        "tooltip": "Tamaño de la fuente como porcentaje de la altura de la imagen."
      },
      "images": {
        "name": "imágenes"
      },
      "outline": {
        "name": "contorno",
        "tooltip": "Dibujar un contorno negro alrededor del texto."
      },
      "position": {
        "name": "posición"
      },
      "text": {
        "name": "texto"
      }
    },
    "outputs": {
      "0": {
        "name": "imágenes",
        "tooltip": null
      }
    }
  },
  "TextToLowercase": {
    "display_name": "Convertir texto a minúsculas",
    "inputs": {
      "texts": {
        "name": "textos",
        "tooltip": "Texto a procesar."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos procesados"
      }
    }
  },
  "TextToUppercase": {
    "display_name": "Convertir texto a mayúsculas",
    "inputs": {
      "texts": {
        "name": "textos",
        "tooltip": "Texto a procesar."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos procesados"
      }
    }
  },
  "ThresholdMask": {
    "display_name": "Máscara de Umbral",
    "inputs": {
      "mask": {
        "name": "máscara"
      },
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TomePatchModel": {
    "display_name": "Modelo de Parche Tome",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "ratio": {
        "name": "ratio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazImageEnhance": {
    "description": "Mejora y ampliación de imágenes de nivel industrial.",
    "display_name": "Mejorar imagen con Topaz",
    "inputs": {
      "color_preservation": {
        "name": "preservación_de_color",
        "tooltip": "Preservar los colores originales."
      },
      "creativity": {
        "name": "creatividad"
      },
      "crop_to_fill": {
        "name": "recortar_para_ajustar",
        "tooltip": "Por defecto, la imagen se muestra con bandas negras si la relación de aspecto de salida es diferente. Activa para recortar la imagen y llenar las dimensiones de salida."
      },
      "face_enhancement": {
        "name": "mejora_de_rostros",
        "tooltip": "Mejorar rostros (si están presentes) durante el procesamiento."
      },
      "face_enhancement_creativity": {
        "name": "creatividad_mejora_rostros",
        "tooltip": "Establece el nivel de creatividad para la mejora de rostros."
      },
      "face_enhancement_strength": {
        "name": "intensidad_mejora_rostros",
        "tooltip": "Controla cuán nítidos son los rostros mejorados en relación con el fondo."
      },
      "face_preservation": {
        "name": "preservación_de_rostros",
        "tooltip": "Preservar la identidad facial de los sujetos."
      },
      "image": {
        "name": "imagen"
      },
      "model": {
        "name": "modelo"
      },
      "output_height": {
        "name": "alto_de_salida",
        "tooltip": "Un valor de cero significa que se usará la misma altura que la original o el ancho de salida."
      },
      "output_width": {
        "name": "ancho_de_salida",
        "tooltip": "Un valor de cero significa calcular automáticamente (normalmente será el tamaño original o la altura de salida si se especifica)."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto opcional para orientación creativa en la ampliación."
      },
      "subject_detection": {
        "name": "detección_de_sujetos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazImageEnhanceV2": {
    "description": "Mejoramiento y escalado de imagen estándar de la industria.",
    "display_name": "Mejora de Imagen Topaz",
    "inputs": {
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "model_color_preservation": {
        "name": "color_preservation"
      },
      "model_creativity": {
        "name": "creativity"
      },
      "model_crop_to_fill": {
        "name": "crop_to_fill"
      },
      "model_face_enhancement": {
        "name": "face_enhancement"
      },
      "model_face_enhancement_creativity": {
        "name": "face_enhancement_creativity"
      },
      "model_face_enhancement_strength": {
        "name": "face_enhancement_strength"
      },
      "model_face_preservation": {
        "name": "face_preservation"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_subject_detection": {
        "name": "subject_detection"
      },
      "output_height": {
        "name": "output_height",
        "tooltip": "Un valor de cero significa que la salida tendrá la misma altura que el original o se escalará proporcionalmente a output_width si se especifica. Wonder 3.5 solo admite factores de escalado de 1x a 6x. Bloom 2 y Wonder 3.5 preservan la relación de aspecto de entrada y tratan el tamaño solicitado como un objetivo."
      },
      "output_width": {
        "name": "output_width",
        "tooltip": "Un valor de cero significa calcular automáticamente (usualmente será el tamaño original o escalado proporcionalmente a output_height si se especifica). Wonder 3.5 solo admite factores de escalado de 1x a 6x. Bloom 2 y Wonder 3.5 preservan la relación de aspecto de entrada y tratan el tamaño solicitado como un objetivo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazVideoEnhance": {
    "description": "Da nueva vida a tus videos con potentes tecnologías de escalado y recuperación.",
    "display_name": "Topaz Video Enhance",
    "inputs": {
      "dynamic_compression_level": {
        "name": "dynamic_compression_level",
        "tooltip": "Nivel CQP."
      },
      "interpolation_duplicate": {
        "name": "interpolation_duplicate",
        "tooltip": "Analiza la entrada para detectar fotogramas duplicados y los elimina."
      },
      "interpolation_duplicate_threshold": {
        "name": "interpolation_duplicate_threshold",
        "tooltip": "Sensibilidad de detección para fotogramas duplicados."
      },
      "interpolation_enabled": {
        "name": "interpolation_enabled"
      },
      "interpolation_frame_rate": {
        "name": "interpolation_frame_rate",
        "tooltip": "Tasa de fotogramas de salida."
      },
      "interpolation_model": {
        "name": "interpolation_model"
      },
      "interpolation_slowmo": {
        "name": "interpolation_slowmo",
        "tooltip": "Factor de cámara lenta aplicado al video de entrada. Por ejemplo, 2 hace que la salida sea el doble de lenta y duplica la duración."
      },
      "upscaler_creativity": {
        "name": "upscaler_creativity",
        "tooltip": "Nivel de creatividad (solo se aplica a Starlight (Astra) Creative)."
      },
      "upscaler_enabled": {
        "name": "upscaler_enabled"
      },
      "upscaler_model": {
        "name": "upscaler_model"
      },
      "upscaler_resolution": {
        "name": "upscaler_resolution"
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazVideoEnhanceV2": {
    "description": "Da nueva vida a tus videos con tecnología avanzada de escalado y recuperación.",
    "display_name": "Topaz Video Enhance",
    "inputs": {
      "dynamic_compression_level": {
        "name": "dynamic_compression_level",
        "tooltip": "Nivel CQP."
      },
      "interpolation_model": {
        "name": "interpolation_model"
      },
      "upscaler_model": {
        "name": "upscaler_model"
      },
      "upscaler_model_creativity": {
        "name": "creativity"
      },
      "upscaler_model_prompt": {
        "name": "prompt"
      },
      "upscaler_model_realism": {
        "name": "realism"
      },
      "upscaler_model_sharp": {
        "name": "sharp"
      },
      "upscaler_model_upscaler_resolution": {
        "name": "upscaler_resolution"
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TorchCompileModel": {
    "display_name": "Modelo de Compilación Torch",
    "inputs": {
      "backend": {
        "name": "backend"
      },
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TrainLoraNode": {
    "display_name": "Entrenar LoRA",
    "inputs": {
      "algorithm": {
        "name": "algoritmo",
        "tooltip": "El algoritmo a usar para el entrenamiento."
      },
      "batch_size": {
        "name": "tamaño_lote",
        "tooltip": "El tamaño de lote a utilizar para el entrenamiento."
      },
      "bucket_mode": {
        "name": "bucket_mode",
        "tooltip": "Habilita el modo de resolución por grupos. Cuando está habilitado, espera latentes preagrupados del nodo ResolutionBucket."
      },
      "bypass_mode": {
        "name": "bypass_mode",
        "tooltip": "Activa el modo bypass para el entrenamiento. Cuando está activado, los adaptadores se aplican mediante hooks directos en vez de modificar los pesos. Útil para modelos cuantizados donde los pesos no pueden modificarse directamente."
      },
      "checkpoint_depth": {
        "name": "checkpoint_depth",
        "tooltip": "Nivel de profundidad para el checkpointing de gradientes."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "existing_lora": {
        "name": "lora_existente",
        "tooltip": "El LoRA existente al que añadir. Establecer en Ninguno para nuevo LoRA."
      },
      "grad_accumulation_steps": {
        "name": "pasos_acumulación_gradiente",
        "tooltip": "El número de pasos de acumulación de gradiente a utilizar para el entrenamiento."
      },
      "gradient_checkpointing": {
        "name": "verificación_gradiente",
        "tooltip": "Usar verificación de gradiente para el entrenamiento."
      },
      "latents": {
        "name": "latentes",
        "tooltip": "Los latentes a utilizar para el entrenamiento, sirven como conjunto de datos/entrada del modelo."
      },
      "learning_rate": {
        "name": "tasa_aprendizaje",
        "tooltip": "La tasa de aprendizaje a utilizar para el entrenamiento."
      },
      "lora_dtype": {
        "name": "tipo_datos_lora",
        "tooltip": "El tipo de datos a usar para LoRA."
      },
      "loss_function": {
        "name": "función_pérdida",
        "tooltip": "La función de pérdida a utilizar para el entrenamiento."
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo sobre el cual entrenar el LoRA."
      },
      "offloading": {
        "name": "offloading",
        "tooltip": "Nivel de profundidad para el checkpointing de gradientes."
      },
      "optimizer": {
        "name": "optimizador",
        "tooltip": "El optimizador a utilizar para el entrenamiento."
      },
      "positive": {
        "name": "positivo",
        "tooltip": "El condicionamiento positivo a utilizar para el entrenamiento."
      },
      "quantized_backward": {
        "name": "quantized_backward",
        "tooltip": "Al usar 'training_dtype' como 'none' y entrenar en un modelo cuantizado, realiza el retropropagado con multiplicación de matrices cuantizadas cuando está activado."
      },
      "rank": {
        "name": "rango",
        "tooltip": "El rango de las capas LoRA."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "La semilla a utilizar para el entrenamiento (utilizada en el generador para la inicialización de pesos LoRA y muestreo de ruido)."
      },
      "steps": {
        "name": "pasos",
        "tooltip": "El número de pasos para entrenar el LoRA."
      },
      "training_dtype": {
        "name": "tipo_datos_entrenamiento",
        "tooltip": "El tipo de datos a usar para el entrenamiento."
      }
    },
    "outputs": {
      "0": {
        "name": "lora",
        "tooltip": "Modelo con LoRA aplicado"
      },
      "1": {
        "name": "mapa_de_pérdida",
        "tooltip": "Pesos de LoRA"
      },
      "2": {
        "name": "pasos",
        "tooltip": "Historial de pérdida"
      }
    }
  },
  "TransformSplat": {
    "description": "Traslada, rota y escala un gaussian splat. El escalado no uniforme también deforma cada splat individualmente, proceso más lento.",
    "display_name": "Transformar Splat",
    "inputs": {
      "rotate_x": {
        "name": "rotar_x"
      },
      "rotate_y": {
        "name": "rotar_y"
      },
      "rotate_z": {
        "name": "rotar_z"
      },
      "scale_x": {
        "name": "escalar_x"
      },
      "scale_y": {
        "name": "escalar_y"
      },
      "scale_z": {
        "name": "escalar_z"
      },
      "splat": {
        "name": "splat"
      },
      "translate_x": {
        "name": "trasladar_x"
      },
      "translate_y": {
        "name": "trasladar_y"
      },
      "translate_z": {
        "name": "trasladar_z"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "TrimAudioDuration": {
    "description": "Recortar tensor de audio al rango de tiempo elegido.",
    "display_name": "Recortar Duración de Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "duration": {
        "name": "duración",
        "tooltip": "Duración en segundos"
      },
      "start_index": {
        "name": "índice_inicio",
        "tooltip": "Tiempo de inicio en segundos, puede ser negativo para contar desde el final (admite subsegundos)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TrimVideoLatent": {
    "display_name": "TrimVideoLatent",
    "inputs": {
      "samples": {
        "name": "muestras"
      },
      "trim_amount": {
        "name": "cantidad_de_recorte"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripleCLIPLoader": {
    "description": "[Recetas]\n\nsd3: clip-l, clip-g, t5",
    "display_name": "Cargador Triple CLIP",
    "inputs": {
      "clip_name1": {
        "name": "nombre_clip1"
      },
      "clip_name2": {
        "name": "nombre_clip2"
      },
      "clip_name3": {
        "name": "nombre_clip3"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripoConversionNode": {
    "display_name": "Tripo: Convertir modelo",
    "inputs": {
      "animate_in_place": {
        "name": "animate_in_place"
      },
      "bake": {
        "name": "bake"
      },
      "export_orientation": {
        "name": "export_orientation"
      },
      "export_vertex_colors": {
        "name": "export_vertex_colors"
      },
      "face_limit": {
        "name": "límite_caras"
      },
      "fbx_preset": {
        "name": "fbx_preset"
      },
      "flatten_bottom": {
        "name": "flatten_bottom"
      },
      "flatten_bottom_threshold": {
        "name": "flatten_bottom_threshold"
      },
      "force_symmetry": {
        "name": "force_symmetry"
      },
      "format": {
        "name": "formato"
      },
      "original_model_task_id": {
        "name": "id_tarea_modelo_original"
      },
      "pack_uv": {
        "name": "pack_uv"
      },
      "part_names": {
        "name": "part_names"
      },
      "pivot_to_center_bottom": {
        "name": "pivot_to_center_bottom"
      },
      "quad": {
        "name": "cuadrangular"
      },
      "scale_factor": {
        "name": "scale_factor"
      },
      "texture_format": {
        "name": "formato_textura"
      },
      "texture_size": {
        "name": "tamaño_textura"
      },
      "with_animation": {
        "name": "with_animation"
      }
    }
  },
  "TripoImageToModelNode": {
    "display_name": "Tripo: Imagen a Modelo",
    "inputs": {
      "face_limit": {
        "name": "límite_de_caras"
      },
      "geometry_quality": {
        "name": "geometry_quality"
      },
      "image": {
        "name": "imagen"
      },
      "model_seed": {
        "name": "semilla_modelo"
      },
      "model_version": {
        "name": "versión_modelo",
        "tooltip": "La versión del modelo a usar para la generación"
      },
      "orientation": {
        "name": "orientación"
      },
      "pbr": {
        "name": "pbr"
      },
      "quad": {
        "name": "cuadrilátero"
      },
      "style": {
        "name": "estilo"
      },
      "texture": {
        "name": "textura"
      },
      "texture_alignment": {
        "name": "alineación_de_textura"
      },
      "texture_quality": {
        "name": "calidad_textura"
      },
      "texture_seed": {
        "name": "semilla_textura"
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_de_modelo",
        "tooltip": null
      },
      "1": {
        "name": "id_de_tarea_de_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoImportModelNode": {
    "description": "Importa un modelo 3D externo (por ejemplo, de Rodin, Hunyuan3D o un archivo local) en Tripo para usarlo con los nodos de postprocesamiento de Tripo: Texture, Rig, Convert. Se recomienda GLB: las texturas solo se conservan si están incrustadas en el archivo. Ten en cuenta que para texturizar un modelo importado se requiere un prompt de textura.",
    "display_name": "Tripo: Importar modelo",
    "inputs": {
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Modelo 3D a importar (GLB / FBX / OBJ / STL, hasta 150 MB). Los archivos OBJ y STL no contienen texturas incrustadas."
      }
    },
    "outputs": {
      "0": {
        "name": "model task_id",
        "tooltip": null
      }
    }
  },
  "TripoMultiviewToModelNode": {
    "display_name": "Tripo: Multivista a Modelo",
    "inputs": {
      "face_limit": {
        "name": "límite_de_caras"
      },
      "geometry_quality": {
        "name": "geometry_quality"
      },
      "image": {
        "name": "imagen"
      },
      "image_back": {
        "name": "imagen_posterior"
      },
      "image_left": {
        "name": "imagen_izquierda"
      },
      "image_right": {
        "name": "imagen_derecha"
      },
      "model_seed": {
        "name": "semilla_del_modelo"
      },
      "model_version": {
        "name": "versión_del_modelo",
        "tooltip": "La versión del modelo a utilizar para la generación"
      },
      "orientation": {
        "name": "orientación"
      },
      "pbr": {
        "name": "pbr"
      },
      "quad": {
        "name": "cuadrilátero",
        "tooltip": "Este parámetro está obsoleto y no hace nada."
      },
      "texture": {
        "name": "textura"
      },
      "texture_alignment": {
        "name": "alineación_de_textura"
      },
      "texture_quality": {
        "name": "calidad_de_textura"
      },
      "texture_seed": {
        "name": "semilla_de_textura"
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_de_modelo",
        "tooltip": null
      },
      "1": {
        "name": "id_de_tarea_de_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoP1ImageToModelNode": {
    "description": "Tripo P1 de imagen a 3D. Optimizado para mallas low-poly listas para videojuegos.",
    "display_name": "Tripo P1: Imagen a Modelo",
    "inputs": {
      "auto_size": {
        "name": "auto_escala",
        "tooltip": "Escala la salida para aproximar metros reales."
      },
      "compress_geometry": {
        "name": "comprimir_geometría",
        "tooltip": "Aplicar compresión basada en geometría. Descomprimir antes de editar."
      },
      "enable_image_autofix": {
        "name": "activar_autocorrección_imagen",
        "tooltip": "Preprocesa la imagen de entrada para mejorar la calidad de generación."
      },
      "export_uv": {
        "name": "exportar_uv",
        "tooltip": "Desplegar UV durante la generación. Desactivar para ejecuciones solo de geometría más rápidas."
      },
      "face_limit": {
        "name": "límite_de_caras",
        "tooltip": "Cantidad objetivo de caras, 48-20000. -1 permite que Tripo elija adaptativamente."
      },
      "image": {
        "name": "imagen"
      },
      "model_seed": {
        "name": "semilla_modelo"
      },
      "output_mode": {
        "name": "modo_de_salida",
        "tooltip": "\"Solo geometría\" devuelve una malla sin texturas. \"Texturizado\" añade mapas de color/PBR."
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_modelo",
        "tooltip": null
      },
      "1": {
        "name": "id_tarea_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoP1MultiviewToModelNode": {
    "description": "Tripo P1 de multivista a 3D a partir de 2-4 imágenes de referencia en orden [frontal, izquierda, trasera, derecha]. La vista frontal es obligatoria; cualquier combinación de las otras tres puede omitirse.",
    "display_name": "Tripo P1: Multivista a Modelo",
    "inputs": {
      "auto_size": {
        "name": "auto_escala",
        "tooltip": "Escala la salida para aproximar metros reales."
      },
      "compress_geometry": {
        "name": "comprimir_geometría",
        "tooltip": "Aplicar compresión basada en geometría. Descomprimir antes de editar."
      },
      "export_uv": {
        "name": "exportar_uv",
        "tooltip": "Desplegar UV durante la generación. Desactivar para ejecuciones solo de geometría más rápidas."
      },
      "face_limit": {
        "name": "límite_de_caras",
        "tooltip": "Cantidad objetivo de caras, 48-20000. -1 permite que Tripo elija adaptativamente."
      },
      "image": {
        "name": "imagen",
        "tooltip": "Vista frontal (0°). Obligatoria."
      },
      "image_back": {
        "name": "imagen_trasera",
        "tooltip": "Vista trasera (180°)."
      },
      "image_left": {
        "name": "imagen_izquierda",
        "tooltip": "Vista izquierda (90°), es decir, el lado izquierdo del sujeto."
      },
      "image_right": {
        "name": "imagen_derecha",
        "tooltip": "Vista derecha (270°), es decir, el lado derecho del sujeto."
      },
      "model_seed": {
        "name": "semilla_modelo"
      },
      "output_mode": {
        "name": "modo_de_salida",
        "tooltip": "\"Solo geometría\" devuelve una malla sin texturas. \"Texturizado\" añade mapas de color/PBR."
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_modelo",
        "tooltip": null
      },
      "1": {
        "name": "id_tarea_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoP1TextToModelNode": {
    "description": "Tripo P1 texto a 3D. Optimizado para mallas low-poly, listas para juegos, con topología estable.",
    "display_name": "Tripo P1: Texto a Modelo",
    "inputs": {
      "auto_size": {
        "name": "auto_escala",
        "tooltip": "Escala la salida para aproximar metros reales."
      },
      "compress_geometry": {
        "name": "comprimir_geometría",
        "tooltip": "Aplicar compresión basada en geometría. Descomprime antes de editar."
      },
      "export_uv": {
        "name": "exportar_uv",
        "tooltip": "Desplegar UV durante la generación. Desactiva para ejecuciones solo de geometría más rápidas."
      },
      "face_limit": {
        "name": "límite_de_caras",
        "tooltip": "Cantidad objetivo de caras, 48-20000. -1 permite que Tripo elija de forma adaptativa."
      },
      "image_seed": {
        "name": "semilla_imagen"
      },
      "model_seed": {
        "name": "semilla_modelo"
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Hasta 255 caracteres."
      },
      "output_mode": {
        "name": "modo_de_salida",
        "tooltip": "\"Solo geometría\" devuelve una malla sin texturas. \"Texturizado\" añade mapas de color/PBR."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Hasta 1024 caracteres."
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_modelo",
        "tooltip": null
      },
      "1": {
        "name": "id_tarea_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRefineNode": {
    "description": "Refina un modelo borrador creado únicamente por modelos Tripo v1.4.",
    "display_name": "Tripo: Refinar modelo borrador",
    "inputs": {
      "model_task_id": {
        "name": "ID_de_tarea_del_modelo",
        "tooltip": "Debe ser un modelo Tripo v1.4"
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_de_modelo",
        "tooltip": null
      },
      "1": {
        "name": "id_de_tarea_de_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRetargetNode": {
    "display_name": "Tripo: Redireccionar modelo con rig",
    "inputs": {
      "animation": {
        "name": "animación"
      },
      "original_model_task_id": {
        "name": "ID_de_tarea_del_modelo_original"
      }
    },
    "outputs": {
      "0": {
        "name": "id_de_tarea_de_reorientación",
        "tooltip": null
      },
      "1": {
        "name": "reasignar task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRigNode": {
    "display_name": "Tripo: Modelo con rig",
    "inputs": {
      "original_model_task_id": {
        "name": "ID_de_tarea_del_modelo_original"
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_de_modelo",
        "tooltip": null
      },
      "1": {
        "name": "id_de_tarea_de_rig",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoSplatConditioning": {
    "description": "Codifica la imagen con DINOv3 y el Flux2 VAE en condicionamiento positivo/negativo de TripoSplat, y crea el objetivo de ruido de tamaño fijo (latent + cámara) para el KSampler",
    "display_name": "Condicionamiento TripoSplat",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision",
        "tooltip": "Codificador de imágenes DINOv3 ViT-H/16+"
      },
      "image": {
        "name": "imagen"
      },
      "vae": {
        "name": "vae",
        "tooltip": "Flux2 VAE"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": "El objetivo de ruido de tamaño fijo (latente + cámara)."
      }
    }
  },
  "TripoSplatPreprocessImage": {
    "description": "Recorta el centro de cada imagen a un lienzo cuadrado sobre un fondo negro y añade relleno.",
    "display_name": "TripoSplat Preprocesar Imagen",
    "inputs": {
      "erode_radius": {
        "name": "radio_de_erosión",
        "tooltip": "Erosiona el canal alfa por este radio de píxeles antes de recortar (evita el sangrado en los bordes)."
      },
      "image": {
        "name": "imagen"
      },
      "mask": {
        "name": "mask"
      },
      "size": {
        "name": "tamaño",
        "tooltip": "Tamaño de la imagen cuadrada. El modelo está entrenado a 1024; otros tamaños funcionan pero están fuera de la distribución."
      }
    },
    "outputs": {
      "0": {
        "name": "imagen",
        "tooltip": null
      }
    }
  },
  "TripoSplatSamplingPreview": {
    "description": "Parchea el modelo TripoSplat para el nodo estándar Ksampler y muestra una vista previa en vivo del gaussian splat decodificado en cada paso.",
    "display_name": "Vista Previa de Muestreo TripoSplat",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "num_gaussians": {
        "name": "número_de_gaussianos",
        "tooltip": "Número de gaussianos a producir para la vista previa (redondeado a múltiplos de 32)."
      },
      "octree_level": {
        "name": "nivel_octree",
        "tooltip": "Profundidad del octree para la decodificación de la vista previa (menor = más barato/más grueso)."
      },
      "pitch": {
        "name": "pitch",
        "tooltip": "Ángulo de elevación de la cámara de vista previa en grados."
      },
      "point_size": {
        "name": "tamaño_de_punto",
        "tooltip": "Radio máximo del splat en píxeles. Cada gaussiano se dimensiona según su escala y se limita aquí; menor = más fino/puntiagudo, mayor = más grueso."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Decodificador VAE de TripoSplat"
      },
      "yaw": {
        "name": "yaw",
        "tooltip": "Inclinación de la cámara de vista previa en grados."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripoTextToModelNode": {
    "display_name": "Tripo: Texto a Modelo",
    "inputs": {
      "face_limit": {
        "name": "límite_de_caras"
      },
      "geometry_quality": {
        "name": "geometry_quality"
      },
      "image_seed": {
        "name": "semilla_de_imagen"
      },
      "model_seed": {
        "name": "semilla_del_modelo"
      },
      "model_version": {
        "name": "versión_del_modelo"
      },
      "negative_prompt": {
        "name": "promoción_negativa"
      },
      "pbr": {
        "name": "pbr"
      },
      "prompt": {
        "name": "prompt"
      },
      "quad": {
        "name": "cuadrante"
      },
      "style": {
        "name": "estilo"
      },
      "texture": {
        "name": "textura"
      },
      "texture_quality": {
        "name": "calidad_de_textura"
      },
      "texture_seed": {
        "name": "semilla_de_textura"
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_de_modelo",
        "tooltip": null
      },
      "1": {
        "name": "id_de_tarea_de_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoTextureNode": {
    "display_name": "Tripo: Modelo de textura",
    "inputs": {
      "model_task_id": {
        "name": "id_de_tarea_del_modelo"
      },
      "pbr": {
        "name": "pbr"
      },
      "texture": {
        "name": "textura"
      },
      "texture_alignment": {
        "name": "alineación_de_textura"
      },
      "texture_prompt": {
        "name": "texture_prompt",
        "tooltip": "Guía de texto opcional para texturizar. Es necesaria en la práctica para modelos importados (Tripo: Importar modelo), que no tienen imagen de origen para inferir colores."
      },
      "texture_quality": {
        "name": "calidad_de_textura"
      },
      "texture_seed": {
        "name": "semilla_de_textura"
      }
    },
    "outputs": {
      "0": {
        "name": "archivo_de_modelo",
        "tooltip": null
      },
      "1": {
        "name": "id_de_tarea_de_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TruncateText": {
    "display_name": "Truncar texto",
    "inputs": {
      "max_length": {
        "name": "max_length",
        "tooltip": "Longitud máxima del texto."
      },
      "texts": {
        "name": "texts",
        "tooltip": "Texto a procesar."
      }
    },
    "outputs": {
      "0": {
        "name": "texts",
        "tooltip": "Textos procesados"
      }
    }
  },
  "UNETLoader": {
    "display_name": "Cargar Modelo de Difusión",
    "inputs": {
      "unet_name": {
        "name": "nombre_unet"
      },
      "weight_dtype": {
        "name": "tipo_dato_peso"
      }
    }
  },
  "UNetCrossAttentionMultiply": {
    "display_name": "Multiplicación de Atención Cruzada UNet",
    "inputs": {
      "k": {
        "name": "k"
      },
      "model": {
        "name": "modelo"
      },
      "out": {
        "name": "salida"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "UNetSelfAttentionMultiply": {
    "display_name": "Multiplicación de Auto Atención UNet",
    "inputs": {
      "k": {
        "name": "k"
      },
      "model": {
        "name": "modelo"
      },
      "out": {
        "name": "salida"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "UNetTemporalAttentionMultiply": {
    "display_name": "Multiplicación de Atención Temporal UNet",
    "inputs": {
      "cross_structural": {
        "name": "cruz_estructural"
      },
      "cross_temporal": {
        "name": "cruz_temporal"
      },
      "model": {
        "name": "modelo"
      },
      "self_structural": {
        "name": "auto_estructural"
      },
      "self_temporal": {
        "name": "auto_temporal"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "USOStyleReference": {
    "display_name": "ReferenciaDeEstiloUSO",
    "inputs": {
      "clip_vision_output": {
        "name": "salida_de_visión_clip"
      },
      "model": {
        "name": "modelo"
      },
      "model_patch": {
        "name": "parche_del_modelo"
      }
    }
  },
  "UpscaleModelLoader": {
    "display_name": "Cargar Modelo de Escala Superior",
    "inputs": {
      "model_name": {
        "name": "nombre_modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecode": {
    "description": "Decodifica imágenes latentes de nuevo en imágenes de espacio de píxeles.",
    "display_name": "Decodificación VAE",
    "inputs": {
      "samples": {
        "name": "muestras",
        "tooltip": "El latente a ser decodificado."
      },
      "vae": {
        "name": "vae",
        "tooltip": "El modelo VAE utilizado para decodificar el latente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "La imagen decodificada."
      }
    }
  },
  "VAEDecodeAudio": {
    "display_name": "VAEDecodeAudio",
    "inputs": {
      "samples": {
        "name": "muestras"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeAudioTiled": {
    "display_name": "VAE Decodificar audio (en mosaico)",
    "inputs": {
      "overlap": {
        "name": "superposición"
      },
      "samples": {
        "name": "muestras"
      },
      "tile_size": {
        "name": "tamaño_de_mosaico"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeHunyuan3D": {
    "display_name": "VAEDecodeHunyuan3D",
    "inputs": {
      "num_chunks": {
        "name": "num_chunks"
      },
      "octree_resolution": {
        "name": "resolución_octree"
      },
      "samples": {
        "name": "muestras"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeTiled": {
    "display_name": "VAE Decodificar (Mosaico)",
    "inputs": {
      "overlap": {
        "name": "superposición"
      },
      "samples": {
        "name": "muestras"
      },
      "temporal_overlap": {
        "name": "superposición_temporal",
        "tooltip": "Solo se utiliza para VAEs de video: Cantidad de fotogramas para superponer."
      },
      "temporal_size": {
        "name": "tamaño_temporal",
        "tooltip": "Solo se utiliza para VAEs de video: Cantidad de fotogramas para decodificar a la vez."
      },
      "tile_size": {
        "name": "tamaño_mosaico"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEDecodeTripoSplat": {
    "description": "Decodifica el latent de TripoSplat muestreado en un gaussian splat 3D. Modifica el número de gaussianos para variar la densidad.",
    "display_name": "Decodificar TripoSplat",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "num_gaussians": {
        "name": "número_de_gaussianos",
        "tooltip": "Número de gaussianos a producir (redondeado a múltiplos de 32). 262144 coincide con la densidad de puntos del octree; valores mayores sobremuestrean los mismos puntos (más denso, pero sin nuevo detalle) y consumen proporcionalmente más VRAM/tiempo."
      },
      "samples": {
        "name": "muestras"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para el muestreador de puntos del octree (RNG global) para decodificaciones deterministas."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Decodificador VAE de TripoSplat"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "VAEEncode": {
    "display_name": "VAE Codificar",
    "inputs": {
      "pixels": {
        "name": "píxeles"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEEncodeAudio": {
    "display_name": "VAEEncodeAudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEEncodeForInpaint": {
    "display_name": "VAE Codificar (para Inpainting)",
    "inputs": {
      "grow_mask_by": {
        "name": "crecer_máscara_por"
      },
      "mask": {
        "name": "máscara"
      },
      "pixels": {
        "name": "píxeles"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEEncodeTiled": {
    "display_name": "VAE Codificar (Mosaico)",
    "inputs": {
      "overlap": {
        "name": "superposición"
      },
      "pixels": {
        "name": "píxeles"
      },
      "temporal_overlap": {
        "name": "superposición_temporal",
        "tooltip": "Solo se utiliza para VAEs de video: Cantidad de fotogramas para superponer."
      },
      "temporal_size": {
        "name": "tamaño_temporal",
        "tooltip": "Solo se utiliza para VAEs de video: Cantidad de fotogramas para codificar a la vez."
      },
      "tile_size": {
        "name": "tamaño_mosaico"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAELoader": {
    "display_name": "Cargar VAE",
    "inputs": {
      "vae_name": {
        "name": "nombre_vae"
      }
    }
  },
  "VAESave": {
    "display_name": "GuardarVAE",
    "inputs": {
      "filename_prefix": {
        "name": "prefijo_nombre_archivo"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VOIDInpaintConditioning": {
    "display_name": "VOIDInpaintConditioning",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length",
        "tooltip": "Número de fotogramas de píxeles a procesar. Para CogVideoX-Fun-V1.5 (patch_size_t=2), latent_t debe ser par — las longitudes que produzcan latent_t impar se redondean hacia abajo (por ejemplo, 49 → 45)."
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "quadmask": {
        "name": "quadmask",
        "tooltip": "Quadmask preprocesada de VOIDQuadmaskPreprocess [T, H, W]"
      },
      "vae": {
        "name": "vae"
      },
      "video": {
        "name": "video",
        "tooltip": "Fotogramas de video de origen [T, H, W, 3]"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "VOIDQuadmaskPreprocess": {
    "display_name": "VOIDQuadmaskPreprocess",
    "inputs": {
      "dilate_width": {
        "name": "dilate_width",
        "tooltip": "Radio de dilatación para la región principal de la máscara (0 = sin dilatación)"
      },
      "mask": {
        "name": "mask"
      }
    },
    "outputs": {
      "0": {
        "name": "quadmask",
        "tooltip": null
      }
    }
  },
  "VOIDSampler": {
    "display_name": "VOIDSampler",
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VOIDWarpedNoise": {
    "display_name": "VOIDWarpedNoise",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length",
        "tooltip": "Número de fotogramas de píxeles. Se redondea hacia abajo para que latent_t sea par (requisito de patch_size_t=2), por ejemplo, 49 → 45."
      },
      "optical_flow": {
        "name": "optical_flow",
        "tooltip": "Modelo de flujo óptico de OpticalFlowLoader (RAFT-large)."
      },
      "video": {
        "name": "video",
        "tooltip": "Salida de fotogramas de video de la pasada 1 [T, H, W, 3]"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "warped_noise",
        "tooltip": null
      }
    }
  },
  "VOIDWarpedNoiseSource": {
    "display_name": "VOIDWarpedNoiseSource",
    "inputs": {
      "warped_noise": {
        "name": "warped_noise",
        "tooltip": "Latente de ruido deformado de VOIDWarpedNoise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VPScheduler": {
    "display_name": "VPScheduler",
    "inputs": {
      "beta_d": {
        "name": "beta_d"
      },
      "beta_min": {
        "name": "beta_min"
      },
      "eps_s": {
        "name": "eps_s"
      },
      "steps": {
        "name": "pasos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Veo3FirstLastFrameNode": {
    "description": "Genera un video usando un prompt y los fotogramas inicial y final.",
    "display_name": "Google Veo 3 Primer-Último Fotograma a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "relación de aspecto",
        "tooltip": "Relación de aspecto del video de salida"
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "Duración del video de salida en segundos"
      },
      "first_frame": {
        "name": "primer_fotograma",
        "tooltip": "Fotograma inicial"
      },
      "generate_audio": {
        "name": "generar_audio",
        "tooltip": "Generar audio para el video."
      },
      "last_frame": {
        "name": "último_fotograma",
        "tooltip": "Fotograma final"
      },
      "model": {
        "name": "modelo"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt negativo para guiar lo que se debe evitar en el video"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción de texto del video"
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para la generación del video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Veo3VideoGenerationNode": {
    "description": "Genera videos a partir de descripciones de texto usando la API de Google Veo 3",
    "display_name": "Generación de video Google Veo 3",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_de_aspecto",
        "tooltip": "Relación de aspecto del video de salida"
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration_seconds": {
        "name": "duración_segundos",
        "tooltip": "Duración del video de salida en segundos (Veo 3 solo admite 8 segundos)"
      },
      "enhance_prompt": {
        "name": "mejorar_promoción",
        "tooltip": "Si se debe mejorar la promoción con asistencia de IA"
      },
      "generate_audio": {
        "name": "generar_audio",
        "tooltip": "Generar audio para el video. Compatible con todos los modelos Veo 3."
      },
      "image": {
        "name": "imagen",
        "tooltip": "Imagen de referencia opcional para guiar la generación de video"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo Veo 3 a utilizar para la generación de video"
      },
      "negative_prompt": {
        "name": "promoción_negativa",
        "tooltip": "Promoción de texto negativa para guiar qué evitar en el video"
      },
      "person_generation": {
        "name": "generación_de_personas",
        "tooltip": "Si se permite generar personas en el video"
      },
      "prompt": {
        "name": "promoción",
        "tooltip": "Descripción de texto del video"
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "Resolución de salida del video. 4K no está disponible para los modelos veo-3.1-lite y veo-3.0."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para la generación de video (0 para aleatorio)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VeoVideoGenerationNode": {
    "description": "Genera videos a partir de indicaciones de texto usando la API de Veo de Google",
    "display_name": "Generación de Video Google Veo2",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Relación de aspecto del video de salida"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration_seconds": {
        "name": "duration_seconds",
        "tooltip": "Duración del video de salida en segundos"
      },
      "enhance_prompt": {
        "name": "enhance_prompt",
        "tooltip": "Si se debe mejorar la indicación con asistencia de IA"
      },
      "image": {
        "name": "image",
        "tooltip": "Imagen de referencia opcional para guiar la generación del video"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo Veo 2 a utilizar para la generación de video"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Indicaciones negativas para guiar lo que se debe evitar en el video"
      },
      "person_generation": {
        "name": "person_generation",
        "tooltip": "Si se permite generar personas en el video"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción de texto del video"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semilla para la generación de video (0 para aleatorio)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Video Slice": {
    "display_name": "Corte de Video",
    "inputs": {
      "duration": {
        "name": "duración",
        "tooltip": "Duración en segundos, o 0 para duración ilimitada"
      },
      "start_time": {
        "name": "hora de inicio",
        "tooltip": "Hora de inicio en segundos"
      },
      "strict_duration": {
        "name": "duración estricta",
        "tooltip": "Si es Verdadero, cuando la duración especificada no sea posible, se generará un error."
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VideoFrameSample": {
    "description": "Muestrea un número fijo de fotogramas de un video utilizando varias estrategias.",
    "display_name": "Muestrear fotograma de video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "num_frames": {
        "name": "num_frames",
        "tooltip": "Número de fotogramas a muestrear."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla aleatoria (solo se usa con la estrategia 'random')."
      },
      "strategy": {
        "name": "estrategia",
        "tooltip": "uniform: espaciado uniforme, head: primeros N, tail: últimos N, random: aleatorio ordenado."
      },
      "video": {
        "name": "video",
        "tooltip": "Video de entrada."
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": "Video muestreado."
      }
    }
  },
  "VideoLinearCFGGuidance": {
    "display_name": "OrientaciónLinealCFGVideo",
    "inputs": {
      "min_cfg": {
        "name": "min_cfg"
      },
      "model": {
        "name": "modelo"
      }
    }
  },
  "VideoRandomTemporalCrop": {
    "description": "Recorta aleatoriamente un rango continuo de fotogramas de un video.",
    "display_name": "Recortar video (temporal aleatorio)",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "length": {
        "name": "longitud",
        "tooltip": "Número de fotogramas a conservar."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla aleatoria."
      },
      "video": {
        "name": "video",
        "tooltip": "Video de entrada."
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": "Video recortado (perezoso)."
      }
    }
  },
  "VideoTemporalCrop": {
    "description": "Recorta un rango continuo de fotogramas de un video.",
    "display_name": "Recortar video (temporal)",
    "inputs": {
      "length": {
        "name": "longitud",
        "tooltip": "Número de fotogramas a conservar."
      },
      "start_frame": {
        "name": "fotograma_inicio",
        "tooltip": "Índice del fotograma inicial."
      },
      "video": {
        "name": "video",
        "tooltip": "Video de entrada."
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": "Video recortado (perezoso)."
      }
    }
  },
  "VideoTriangleCFGGuidance": {
    "display_name": "OrientaciónTriangularCFGVideo",
    "inputs": {
      "min_cfg": {
        "name": "min_cfg"
      },
      "model": {
        "name": "modelo"
      }
    }
  },
  "Vidu2ImageToVideoNode": {
    "description": "Genera un video a partir de una imagen y un prompt opcional.",
    "display_name": "Vidu2 Generación de Imagen a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "image": {
        "name": "imagen",
        "tooltip": "Una imagen que se usará como el primer fotograma del video generado."
      },
      "model": {
        "name": "modelo"
      },
      "movement_amplitude": {
        "name": "amplitud_de_movimiento",
        "tooltip": "La amplitud de movimiento de los objetos en el fotograma."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt de texto opcional para la generación de video (máx. 2000 caracteres)."
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2ReferenceVideoNode": {
    "description": "Genera un video a partir de múltiples imágenes de referencia y un prompt.",
    "display_name": "Vidu2 Generación de Video con Referencias",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_de_aspecto"
      },
      "audio": {
        "name": "audio",
        "tooltip": "Si está habilitado, el video contendrá voz generada y música de fondo basada en el prompt."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "model": {
        "name": "modelo"
      },
      "movement_amplitude": {
        "name": "amplitud_de_movimiento",
        "tooltip": "La amplitud de movimiento de los objetos en el fotograma."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Si está habilitado, el video incluirá voz generada y música de fondo basada en el prompt."
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla"
      },
      "subjects": {
        "name": "sujetos",
        "tooltip": "Para cada sujeto, proporciona hasta 3 imágenes de referencia (7 imágenes en total entre todos los sujetos). Haz referencia a ellos en los prompts usando @subject{subject_id}."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2StartEndToVideoNode": {
    "description": "Genera un video a partir de un fotograma inicial, un fotograma final y un prompt.",
    "display_name": "Generación de video de Vidu2 desde fotogramas inicial/final",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "end_frame": {
        "name": "fotograma_final"
      },
      "first_frame": {
        "name": "fotograma_inicial"
      },
      "model": {
        "name": "modelo"
      },
      "movement_amplitude": {
        "name": "amplitud_de_movimiento",
        "tooltip": "La amplitud de movimiento de los objetos en el fotograma."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción del prompt (máximo 2000 caracteres)."
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2TextToVideoNode": {
    "description": "Genera un video a partir de un prompt de texto",
    "display_name": "Generación de video de Vidu2 desde texto",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_de_aspecto"
      },
      "background_music": {
        "name": "música_de_fondo",
        "tooltip": "Indica si se añade música de fondo al video generado."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Una descripción textual para la generación de video, con una longitud máxima de 2000 caracteres."
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3ImageToVideoNode": {
    "description": "Genera un video a partir de una imagen y un prompt opcional.",
    "display_name": "Generación de video de imagen a video Vidu Q3",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "image": {
        "name": "imagen",
        "tooltip": "Una imagen que se usará como el primer fotograma del video generado."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la generación de video."
      },
      "model_audio": {
        "name": "audio"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt de texto opcional para la generación de video (máx. 2000 caracteres)."
      },
      "seed": {
        "name": "semilla"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3StartEndToVideoNode": {
    "description": "Genera un video a partir de un fotograma inicial, un fotograma final y un prompt.",
    "display_name": "Generación de video de inicio/fin de Vidu Q3",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "end_frame": {
        "name": "fotograma final"
      },
      "first_frame": {
        "name": "fotograma inicial"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la generación de video."
      },
      "model_audio": {
        "name": "audio"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descripción del prompt (máximo 2000 caracteres)."
      },
      "seed": {
        "name": "semilla"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3TextToVideoNode": {
    "description": "Genera un video a partir de un prompt de texto.",
    "display_name": "Generación de video de texto a video Vidu Q3",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la generación de video."
      },
      "model_aspect_ratio": {
        "name": "relación_de_aspecto"
      },
      "model_audio": {
        "name": "audio"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Una descripción textual para la generación de video, con una longitud máxima de 2000 caracteres."
      },
      "seed": {
        "name": "semilla"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduExtendVideoNode": {
    "description": "Extiende un video existente generando fotogramas adicionales.",
    "display_name": "Extensión de video Vidu",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "end_frame": {
        "name": "fotograma_final"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar para la extensión de video."
      },
      "model_duration": {
        "name": "duración"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt de texto opcional para el video extendido (máx. 2000 caracteres)."
      },
      "seed": {
        "name": "semilla"
      },
      "video": {
        "name": "video",
        "tooltip": "El video fuente a extender."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduImageToVideoNode": {
    "description": "Generar video a partir de imagen y texto opcional",
    "display_name": "Generación de Video a partir de Imagen Vidu",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "Duración del video de salida en segundos"
      },
      "image": {
        "name": "imagen",
        "tooltip": "Una imagen para usar como fotograma inicial del video generado"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Nombre del modelo"
      },
      "movement_amplitude": {
        "name": "amplitud_movimiento",
        "tooltip": "La amplitud de movimiento de los objetos en el fotograma"
      },
      "prompt": {
        "name": "texto",
        "tooltip": "Una descripción textual para la generación de video"
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "Los valores admitidos pueden variar según el modelo y la duración"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para la generación de video (0 para aleatorio)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduMultiFrameVideoNode": {
    "description": "Genera un video con múltiples transiciones de fotogramas clave.",
    "display_name": "Generación de video multifotograma Vidu",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "frames": {
        "name": "fotogramas",
        "tooltip": "Número de transiciones de fotogramas clave (2-9)."
      },
      "frames_duration1": {
        "name": "duración1"
      },
      "frames_duration2": {
        "name": "duración2"
      },
      "frames_prompt1": {
        "name": "prompt1"
      },
      "frames_prompt2": {
        "name": "prompt2"
      },
      "model": {
        "name": "modelo"
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla"
      },
      "start_image": {
        "name": "imagen_inicial",
        "tooltip": "La imagen del fotograma inicial. La relación de aspecto debe estar entre 1:4 y 4:1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduReferenceVideoNode": {
    "description": "Generar video a partir de múltiples imágenes y texto",
    "display_name": "Generación de Video a partir de Referencia Vidu",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_de_aspecto",
        "tooltip": "La relación de aspecto del video de salida"
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "Duración del video de salida en segundos"
      },
      "images": {
        "name": "imágenes",
        "tooltip": "Imágenes para usar como referencias y generar un video con sujetos consistentes (máximo 7 imágenes)."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Nombre del modelo"
      },
      "movement_amplitude": {
        "name": "amplitud_de_movimiento",
        "tooltip": "La amplitud de movimiento de los objetos en el cuadro"
      },
      "prompt": {
        "name": "texto",
        "tooltip": "Una descripción textual para la generación de video"
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "Los valores admitidos pueden variar según el modelo y la duración"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para la generación de video (0 para aleatorio)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduStartEndToVideoNode": {
    "description": "Generar un video a partir de cuadros inicial y final y un prompt",
    "display_name": "Generación de Video Vidu de Inicio a Fin",
    "inputs": {
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "Duración del video de salida en segundos"
      },
      "end_frame": {
        "name": "cuadro_final",
        "tooltip": "Cuadro final"
      },
      "first_frame": {
        "name": "primer_cuadro",
        "tooltip": "Cuadro inicial"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Nombre del modelo"
      },
      "movement_amplitude": {
        "name": "amplitud_de_movimiento",
        "tooltip": "La amplitud de movimiento de los objetos en el cuadro"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Una descripción textual para la generación de video"
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "Los valores admitidos pueden variar según el modelo y la duración"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para la generación de video (0 para aleatorio)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduTextToVideoNode": {
    "description": "Generar video a partir de un prompt de texto",
    "display_name": "Generación de Video Vidu de Texto a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "relación_de_aspecto",
        "tooltip": "La relación de aspecto del video de salida"
      },
      "control_after_generate": {
        "name": "control después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "Duración del video de salida en segundos"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Nombre del modelo"
      },
      "movement_amplitude": {
        "name": "amplitud_movimiento",
        "tooltip": "La amplitud de movimiento de los objetos en el fotograma"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Una descripción textual para la generación de video"
      },
      "resolution": {
        "name": "resolución",
        "tooltip": "Los valores admitidos pueden variar según el modelo y la duración"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para la generación de video (0 para aleatorio)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VoxelToMesh": {
    "description": "Convierte una cuadrícula de vóxeles en una malla.",
    "display_name": "VoxelToMesh",
    "inputs": {
      "algorithm": {
        "name": "algoritmo"
      },
      "threshold": {
        "name": "umbral"
      },
      "voxel": {
        "name": "voxel"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VoxelToMeshBasic": {
    "description": "Convierte una cuadrícula de vóxeles en una malla.",
    "display_name": "VoxelAMallaBásico",
    "inputs": {
      "threshold": {
        "name": "umbral"
      },
      "voxel": {
        "name": "voxel"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan22FunControlToVideo": {
    "display_name": "Wan22FunControlToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "control_video": {
        "name": "video_control"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "duración"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_image": {
        "name": "imagen_ref"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "Wan22ImageToVideoLatent": {
    "display_name": "Wan22ImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "duración"
      },
      "start_image": {
        "name": "imagen_inicio"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2ImageToVideoApi": {
    "description": "Genera un video a partir de una imagen del primer fotograma, con opción de imagen del último fotograma y audio.",
    "display_name": "Wan 2.7 Imagen a Video",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio para guiar la generación del video (por ejemplo, sincronización labial, movimiento al ritmo). Duración: 2s-30s. Si no se proporciona, el modelo genera automáticamente música de fondo o efectos de sonido acordes."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "first_frame": {
        "name": "primer_fotograma",
        "tooltip": "Imagen del primer fotograma. La relación de aspecto de salida se deriva de esta imagen."
      },
      "last_frame": {
        "name": "último_fotograma",
        "tooltip": "Imagen del último fotograma. El modelo genera un video que transiciona del primer al último fotograma."
      },
      "model": {
        "name": "modelo"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_negative_prompt": {
        "name": "prompt_negativo"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "prompt_extend": {
        "name": "extender_prompt",
        "tooltip": "Si se debe mejorar el prompt con asistencia de IA."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para usar en la generación."
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Si se debe añadir una marca de agua generada por IA al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2ReferenceVideoApi": {
    "description": "Genera un video con una persona u objeto a partir de materiales de referencia. Soporta actuaciones de un solo personaje e interacciones entre varios personajes.",
    "display_name": "Wan 2.7 Referencia a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_negative_prompt": {
        "name": "prompt_negativo"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "relación"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para usar en la generación."
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Si se debe añadir una marca de agua generada por IA al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2TextToVideoApi": {
    "description": "Genera un video a partir de un texto usando el modelo Wan 2.7.",
    "display_name": "Wan 2.7 Texto a Video",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio para guiar la generación del video (por ejemplo, sincronización labial, movimiento al ritmo). Duración: 3s-30s. Si no se proporciona, el modelo genera automáticamente música de fondo o efectos de sonido acordes."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_negative_prompt": {
        "name": "prompt_negativo"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "relación de aspecto"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "prompt_extend": {
        "name": "extender_prompt",
        "tooltip": "Si se debe mejorar el prompt con asistencia de IA."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para usar en la generación."
      },
      "watermark": {
        "name": "marca de agua",
        "tooltip": "Si se debe añadir una marca de agua generada por IA al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2VideoContinuationApi": {
    "description": "Continúa un video desde donde terminó, con control opcional del último fotograma.",
    "display_name": "Wan 2.7 Continuación de Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "first_clip": {
        "name": "primer_clip",
        "tooltip": "Video de entrada desde el cual continuar. Duración: 2s-10s. La relación de aspecto de salida se deriva de este video."
      },
      "last_frame": {
        "name": "último_fotograma",
        "tooltip": "Imagen del último fotograma. La continuación hará la transición hacia este fotograma."
      },
      "model": {
        "name": "modelo"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_negative_prompt": {
        "name": "prompt_negativo"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "prompt_extend": {
        "name": "extender_prompt",
        "tooltip": "Si se debe mejorar el prompt con asistencia de IA."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para usar en la generación."
      },
      "watermark": {
        "name": "marca de agua",
        "tooltip": "Si se debe añadir una marca de agua generada por IA al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2VideoEditApi": {
    "description": "Edita un video usando instrucciones de texto, imágenes de referencia o transferencia de estilo.",
    "display_name": "Wan 2.7 Edición de Video",
    "inputs": {
      "audio_setting": {
        "name": "configuración_de_audio",
        "tooltip": "'auto': el modelo decide si regenerar el audio según el prompt. 'origin': conserva el audio original del video de entrada."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "model": {
        "name": "modelo"
      },
      "model_duration": {
        "name": "duración"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "relación de aspecto"
      },
      "model_resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla para usar en la generación."
      },
      "video": {
        "name": "video",
        "tooltip": "El video a editar."
      },
      "watermark": {
        "name": "marca de agua",
        "tooltip": "Si se debe añadir una marca de agua generada por IA al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanAnimate2Cache": {
    "description": "Almacena en caché las activaciones por bloque del video de pose para que se ejecute una sola vez en lugar de en cada paso de muestreo. Aproximadamente reduce a la mitad el tiempo de generación. El compromiso es ~12,5 GB de RAM del sistema a 480x832/81 fotogramas en bf16 (escala según la resolución y la duración). Con ventanas de contexto, cada ventana se almacena en caché por separado, por lo que la RAM escala con la cantidad de ventanas; utiliza el planificador static_standard, ya que los planificadores uniformes desplazan las ventanas en cada paso y nunca se reutiliza la caché.",
    "display_name": "WanAnimate2Cache",
    "inputs": {
      "device": {
        "name": "dispositivo",
        "tooltip": "Dónde mantener la caché. cpu (RAM) es la opción segura, la caché no cabrá en la VRAM junto con el modelo en tamaños típicos. gpu (VRAM) puede ser más rápido si cabe."
      },
      "dtype": {
        "name": "tipo de dato",
        "tooltip": "Precisión de almacenamiento. default almacena las activaciones en el tipo de dato de cálculo del modelo. int8 reduce la caché a la mitad, int4 la reduce a un cuarto, convrot se usa para mantener la precisión."
      },
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanAnimate2ToVideo": {
    "description": "Anima un personaje en una imagen de referencia usando un video, replicando efectivamente la animación facial, el movimiento corporal y los gestos de las manos del video.",
    "display_name": "WanAnimate2ToVideo",
    "inputs": {
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Cantidad de videos a generar simultáneamente."
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "CLIP vision de la imagen de referencia."
      },
      "clip_vision_output_pose": {
        "name": "clip_vision_output_pose",
        "tooltip": "CLIP vision del primer fotograma del video de pose. Por defecto es clip_vision_output."
      },
      "continue_motion": {
        "name": "continue_motion",
        "tooltip": "Secuencia de movimiento previa desde la que continuar para mantener la consistencia temporal."
      },
      "height": {
        "name": "height",
        "tooltip": "Alto del video de salida en píxeles."
      },
      "length": {
        "name": "length",
        "tooltip": "Número de fotogramas a generar."
      },
      "negative": {
        "name": "negative"
      },
      "pose_end_percent": {
        "name": "pose_end_percent",
        "tooltip": "Porcentaje de muestreo en el que termina la influencia de la pose. El movimiento se establece principalmente al principio, por lo que, por ejemplo, 0.7 puede relajar los detalles finos manteniendo la coreografía."
      },
      "pose_start_percent": {
        "name": "pose_start_percent",
        "tooltip": "Porcentaje de muestreo en el que comienza la influencia de la pose. Fuera de la ventana, la rama de pose se omite por completo, lo que también acelera esos pasos."
      },
      "pose_strength": {
        "name": "pose_strength",
        "tooltip": "Escala la influencia del video de pose en el movimiento. 1.0 es el comportamiento entrenado; por debajo debilita la adherencia, por encima la amplifica. 0.0 la silencia pero no la elimina completamente."
      },
      "pose_video": {
        "name": "pose_video",
        "tooltip": "El video cuyo movimiento se transfiere al personaje de referencia."
      },
      "positive": {
        "name": "positive"
      },
      "positive_pose": {
        "name": "positive_pose",
        "tooltip": "Prompt para la rama del video de pose, describiendo el movimiento en lugar del personaje. Por defecto es positive. Se usa tanto para los pases cond como uncond."
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "El personaje a animar."
      },
      "reference_image_strength": {
        "name": "reference_image_strength",
        "tooltip": "Escala cuán fuertemente los fotogramas generados atienden al fotograma latente de la imagen de referencia. Por debajo de 1.0 relaja la adherencia a la identidad/apariencia (por ejemplo, para permitir que el prompt cambie el estilo), por encima la refuerza para evitar desviaciones."
      },
      "vae": {
        "name": "vae"
      },
      "video_frame_offset": {
        "name": "video_frame_offset",
        "tooltip": "Fotogramas a adelantar en el video de pose. Conectar a la salida video_frame_offset del nodo anterior al extender."
      },
      "width": {
        "name": "width",
        "tooltip": "Ancho del video de salida en píxeles."
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      },
      "3": {
        "name": "trim_latent",
        "tooltip": "Número de fotogramas latentes que deben recortarse antes de decodificar."
      },
      "4": {
        "name": "trim_image",
        "tooltip": "Número de fotogramas de imagen superpuestos al extender un video."
      },
      "5": {
        "name": "video_frame_offset",
        "tooltip": "Fotogramas a adelantar en el video de pose."
      }
    }
  },
  "WanAnimateToVideo": {
    "display_name": "WanAnimateToVideo",
    "inputs": {
      "background_video": {
        "name": "video_fondo"
      },
      "batch_size": {
        "name": "tamaño_lote"
      },
      "character_mask": {
        "name": "máscara_personaje"
      },
      "clip_vision_output": {
        "name": "salida_visión_clip"
      },
      "continue_motion": {
        "name": "continuar_movimiento"
      },
      "continue_motion_max_frames": {
        "name": "máximo_fotogramas_continuación_movimiento"
      },
      "face_video": {
        "name": "video_rostro"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "duración"
      },
      "negative": {
        "name": "negativo"
      },
      "pose_video": {
        "name": "video_pose"
      },
      "positive": {
        "name": "positivo"
      },
      "reference_image": {
        "name": "imagen_referencia"
      },
      "vae": {
        "name": "vae"
      },
      "video_frame_offset": {
        "name": "desplazamiento_fotograma_video",
        "tooltip": "La cantidad de fotogramas a buscar en todos los videos de entrada. Se utiliza para generar videos más largos por fragmentos. Conecte a la salida video_frame_offset del nodo anterior para extender un video."
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      },
      "3": {
        "name": "recortar_latente",
        "tooltip": null
      },
      "4": {
        "name": "recortar_imagen",
        "tooltip": null
      },
      "5": {
        "name": "desplazamiento_fotograma_video",
        "tooltip": null
      }
    }
  },
  "WanCameraEmbedding": {
    "display_name": "IncrustaciónCámaraWan",
    "inputs": {
      "camera_pose": {
        "name": "pose_cámara"
      },
      "cx": {
        "name": "cx"
      },
      "cy": {
        "name": "cy"
      },
      "fx": {
        "name": "fx"
      },
      "fy": {
        "name": "fy"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "speed": {
        "name": "velocidad"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "incrustación_cámara",
        "tooltip": null
      },
      "1": {
        "name": "ancho",
        "tooltip": null
      },
      "2": {
        "name": "alto",
        "tooltip": null
      },
      "3": {
        "name": "longitud",
        "tooltip": null
      }
    }
  },
  "WanCameraImageToVideo": {
    "display_name": "WanCameraImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "camera_conditions": {
        "name": "condiciones_cámara"
      },
      "clip_vision_output": {
        "name": "salida_visión_clip"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagen_inicio"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanContextWindowsManual": {
    "description": "Establecer manualmente las ventanas de contexto para modelos tipo WAN (dim=2).",
    "display_name": "Ventanas de Contexto WAN (Manual)",
    "inputs": {
      "closed_loop": {
        "name": "closed_loop",
        "tooltip": "Si cerrar el bucle de la ventana de contexto; solo aplicable a programaciones en bucle."
      },
      "context_length": {
        "name": "longitud_contexto",
        "tooltip": "La longitud de la ventana de contexto."
      },
      "context_overlap": {
        "name": "context_overlap",
        "tooltip": "La superposición de la ventana de contexto."
      },
      "context_schedule": {
        "name": "context_schedule",
        "tooltip": "El paso de la ventana de contexto."
      },
      "context_stride": {
        "name": "context_stride",
        "tooltip": "El paso de la ventana de contexto; solo aplicable a programaciones uniformes."
      },
      "freenoise": {
        "name": "freenoise",
        "tooltip": "Si se aplica el barajado de ruido FreeNoise, mejora la mezcla de ventanas."
      },
      "fuse_method": {
        "name": "fuse_method",
        "tooltip": "El método a utilizar para fusionar las ventanas de contexto."
      },
      "model": {
        "name": "modelo",
        "tooltip": "El modelo al que aplicar las ventanas de contexto durante el muestreo."
      },
      "retain_first_frame": {
        "name": "retain_first_frame",
        "tooltip": "Conservar el primer fotograma I2V en cada ventana de contexto (puede ayudar a mantener la referencia inicial)."
      },
      "split_conds_to_windows": {
        "name": "split_conds_to_windows",
        "tooltip": "Si se deben dividir múltiples condicionamientos (creados por ConditionCombine) en cada ventana según el índice de región."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "El modelo con ventanas de contexto aplicadas durante el muestreo."
      }
    }
  },
  "WanDancerEncodeAudio": {
    "display_name": "WanDancerEncodeAudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audio_inject_scale": {
        "name": "audio_inject_scale",
        "tooltip": "La escala para las características de audio cuando se inyectan en el modelo de video."
      },
      "video_frames": {
        "name": "video_frames"
      }
    },
    "outputs": {
      "0": {
        "name": "audio_encoder_output",
        "tooltip": null
      },
      "1": {
        "name": "fps_string",
        "tooltip": "Los fps calculados en base a la duración del audio y el número de fotogramas de video. Se usa en el prompt."
      }
    }
  },
  "WanDancerPadKeyframes": {
    "display_name": "WanDancerPadKeyframes",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio para calcular el total de fotogramas de salida y extraer el audio del segmento."
      },
      "images": {
        "name": "images"
      },
      "segment_index": {
        "name": "segment_index",
        "tooltip": "Qué segmento es este (0 para el primero, 1 para el segundo, etc.)"
      },
      "segment_length": {
        "name": "segment_length",
        "tooltip": "Longitud de este segmento (usualmente 149 fotogramas)"
      }
    },
    "outputs": {
      "0": {
        "name": "keyframes_sequence",
        "tooltip": "Secuencia de keyframes rellenada"
      },
      "1": {
        "name": "keyframes_mask",
        "tooltip": "Máscara que indica los fotogramas válidos"
      },
      "2": {
        "name": "audio_segment",
        "tooltip": "Segmento de audio para este segmento de video"
      }
    }
  },
  "WanDancerPadKeyframesList": {
    "display_name": "WanDancerPadKeyframesList",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio para dividir para cada segmento emitido."
      },
      "images": {
        "name": "images"
      },
      "num_segments": {
        "name": "num_segments",
        "tooltip": "Cuántos segmentos rellenados emitir como listas."
      },
      "segment_length": {
        "name": "segment_length",
        "tooltip": "Longitud de cada segmento (usualmente 149 fotogramas)"
      }
    },
    "outputs": {
      "0": {
        "name": "keyframes_sequence",
        "tooltip": "Secuencias de keyframes rellenadas"
      },
      "1": {
        "name": "keyframes_mask",
        "tooltip": "Máscaras que indican los fotogramas válidos"
      },
      "2": {
        "name": "audio_segment",
        "tooltip": "Segmento de audio para cada segmento de video"
      }
    }
  },
  "WanDancerVideo": {
    "display_name": "WanDancerVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "audio_encoder_output"
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "Las incrustaciones de visión de CLIP para el primer fotograma."
      },
      "clip_vision_output_ref": {
        "name": "clip_vision_output_ref",
        "tooltip": "Las incrustaciones de visión de CLIP para la imagen de referencia."
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud",
        "tooltip": "El número de fotogramas en el video generado. Debe mantenerse en 149 para WanDancer."
      },
      "mask": {
        "name": "máscara",
        "tooltip": "Máscara de acondicionamiento de imagen para la(s) imagen(es) inicial(es). El blanco se mantiene, el negro se genera. Se utiliza para las generaciones locales."
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagen_inicial",
        "tooltip": "La(s) imagen(es) inicial(es) a codificar, puede ser cualquier cantidad de fotogramas."
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": "Latente vacío."
      }
    }
  },
  "WanFirstLastFrameToVideo": {
    "display_name": "WanFirstLastFrameToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "clip_vision_end_image": {
        "name": "clip_vision_end_image"
      },
      "clip_vision_start_image": {
        "name": "clip_vision_start_image"
      },
      "end_image": {
        "name": "imagen_final"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanFunControlToVideo": {
    "display_name": "WanFunControlToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "control_video": {
        "name": "control_video"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanFunInpaintToVideo": {
    "display_name": "WanFunInpaintToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_de_lote"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "end_image": {
        "name": "imagen_final"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanHuMoImageToVideo": {
    "display_name": "WanHuMoImageToVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "salida_codificador_audio"
      },
      "batch_size": {
        "name": "tamaño_lote"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_image": {
        "name": "imagen_referencia"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanImageToImageApi": {
    "description": "Genera una imagen a partir de una o dos imágenes de entrada y un texto descriptivo. La imagen de salida tiene actualmente una resolución fija de 1,6 MP; su relación de aspecto coincide con la(s) imagen(es) de entrada.",
    "display_name": "Wan Image to Image",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "image": {
        "name": "imagen",
        "tooltip": "Edición de imagen única o fusión de múltiples imágenes, máximo 2 imágenes."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar."
      },
      "negative_prompt": {
        "name": "texto_negativo",
        "tooltip": "Texto negativo para guiar lo que se debe evitar."
      },
      "prompt": {
        "name": "texto_descriptivo",
        "tooltip": "Texto descriptivo utilizado para describir los elementos y características visuales, admite inglés/chino."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla a utilizar para la generación."
      },
      "watermark": {
        "name": "marca_agua",
        "tooltip": "Si agregar una marca de agua \"Generado por IA\" al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanImageToVideo": {
    "display_name": "WanImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_del_lote"
      },
      "clip_vision_output": {
        "name": "salida_de_vision_clip"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagen_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanImageToVideoApi": {
    "description": "Genera video basado en el primer fotograma y el texto de entrada.",
    "display_name": "Wan Imagen a Video",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "El audio debe contener una voz clara y fuerte, sin ruido extraño ni música de fondo."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "Duración disponible: 5 y 10 segundos"
      },
      "generate_audio": {
        "name": "generar_audio",
        "tooltip": "Si no hay entrada de audio, generar audio automáticamente."
      },
      "image": {
        "name": "imagen"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar."
      },
      "negative_prompt": {
        "name": "texto_negativo",
        "tooltip": "Texto negativo para guiar qué elementos evitar."
      },
      "prompt": {
        "name": "texto",
        "tooltip": "Texto utilizado para describir los elementos y características visuales, admite inglés/chino."
      },
      "prompt_extend": {
        "name": "extender_texto",
        "tooltip": "Si se debe mejorar el texto con asistencia de IA."
      },
      "resolution": {
        "name": "resolución"
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla a utilizar para la generación."
      },
      "shot_type": {
        "name": "tipo_de_toma",
        "tooltip": "Especifica el tipo de toma para el video generado, es decir, si el video es una sola toma continua o varias tomas con cortes. Este parámetro solo tiene efecto cuando prompt_extend es True."
      },
      "watermark": {
        "name": "marca_agua",
        "tooltip": "Si se debe agregar una marca de agua \"Generado por IA\" al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanInfiniteTalkToVideo": {
    "display_name": "WanInfiniteTalkToVideo",
    "inputs": {
      "audio_encoder_output_1": {
        "name": "salida codificador de audio 1"
      },
      "audio_scale": {
        "name": "escala de audio"
      },
      "clip_vision_output": {
        "name": "salida de clip visión"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "mode": {
        "name": "modo"
      },
      "model": {
        "name": "modelo"
      },
      "model_patch": {
        "name": "parche de modelo"
      },
      "motion_frame_count": {
        "name": "número de fotogramas de movimiento",
        "tooltip": "Número de fotogramas anteriores a usar como contexto de movimiento."
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "previous_frames": {
        "name": "fotogramas anteriores"
      },
      "start_image": {
        "name": "imagen inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo",
        "tooltip": null
      },
      "1": {
        "name": "positivo",
        "tooltip": null
      },
      "2": {
        "name": "negativo",
        "tooltip": null
      },
      "3": {
        "name": "latente",
        "tooltip": null
      },
      "4": {
        "name": "imagen recortada",
        "tooltip": null
      }
    }
  },
  "WanMoveConcatTrack": {
    "display_name": "WanMoveConcatTrack",
    "inputs": {
      "tracks_1": {
        "name": "pistas_1"
      },
      "tracks_2": {
        "name": "pistas_2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanMoveTrackToVideo": {
    "display_name": "WanMoveTrackToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagen_inicial"
      },
      "strength": {
        "name": "fuerza",
        "tooltip": "Fuerza del acondicionamiento de la pista."
      },
      "tracks": {
        "name": "pistas"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanMoveTracksFromCoords": {
    "display_name": "WanMoveTracksFromCoords",
    "inputs": {
      "track_coords": {
        "name": "coordenadas_de_pista"
      },
      "track_mask": {
        "name": "máscara_de_pista"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "longitud_de_pista",
        "tooltip": null
      }
    }
  },
  "WanMoveVisualizeTracks": {
    "display_name": "WanMoveVisualizeTracks",
    "inputs": {
      "circle_size": {
        "name": "tamaño_círculo"
      },
      "images": {
        "name": "imágenes"
      },
      "line_resolution": {
        "name": "resolución_de_línea"
      },
      "line_width": {
        "name": "ancho_de_línea"
      },
      "opacity": {
        "name": "opacidad"
      },
      "tracks": {
        "name": "pistas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanPhantomSubjectToVideo": {
    "display_name": "WanPhantomSubjectToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "height": {
        "name": "alto"
      },
      "images": {
        "name": "imágenes"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "texto_negativo",
        "tooltip": null
      },
      "2": {
        "name": "texto_img_negativa",
        "tooltip": null
      },
      "3": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanReferenceVideoApi": {
    "description": "Utiliza el personaje y la voz de los videos de entrada, combinados con un prompt, para generar un nuevo video que mantenga la coherencia del personaje.",
    "display_name": "Wan Reference to Video",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración"
      },
      "model": {
        "name": "modelo"
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Prompt negativo que describe lo que se debe evitar."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt que describe los elementos y características visuales. Soporta inglés y chino. Usa identificadores como `character1` y `character2` para referirse a los personajes de referencia."
      },
      "reference_videos": {
        "name": "videos_de_referencia"
      },
      "seed": {
        "name": "semilla"
      },
      "shot_type": {
        "name": "tipo_de_toma",
        "tooltip": "Especifica el tipo de toma para el video generado, es decir, si el video es una sola toma continua o varias tomas con cortes."
      },
      "size": {
        "name": "tamaño"
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Indica si se debe añadir una marca de agua generada por IA al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanSCAILToVideo": {
    "display_name": "WanSCAILToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "Características de visión de CLIP para el acondicionamiento. El modelo está entrenado con cambio de tamaño estirado a la relación de aspecto."
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "pose_end": {
        "name": "fin_pose",
        "tooltip": "Paso final para usar el condicionamiento de pose."
      },
      "pose_start": {
        "name": "inicio_pose",
        "tooltip": "Paso inicial para usar el condicionamiento de pose."
      },
      "pose_strength": {
        "name": "fuerza_pose",
        "tooltip": "Fuerza del espacio latente de la pose."
      },
      "pose_video": {
        "name": "video_pose",
        "tooltip": "Video usado para el condicionamiento de pose. Se reducirá a la mitad de la resolución del video principal."
      },
      "pose_video_mask": {
        "name": "pose_video_mask",
        "tooltip": "Solo SCAIL-2. Video de máscara SAM3 coloreada por identidad a la misma resolución que pose_video."
      },
      "positive": {
        "name": "positivo"
      },
      "previous_frame_count": {
        "name": "previous_frame_count",
        "tooltip": "Fotogramas finales de previous_frames para anclar. SCAIL-2 entrenado con 5 (fragmentos de 81 fotogramas, paso de 76 fotogramas)."
      },
      "previous_frames": {
        "name": "previous_frames",
        "tooltip": "Solo SCAIL-2. Salida decodificada completa del fragmento anterior. Solo se usan los últimos previous_frame_count como ancla de extensión."
      },
      "reference_image": {
        "name": "imagen_referencia",
        "tooltip": "Imagen de referencia; para múltiples referencias, compón todas en una sola imagen."
      },
      "reference_image_mask": {
        "name": "reference_image_mask",
        "tooltip": "Solo SCAIL-2. Máscara de referencia coloreada a la misma resolución que reference_image."
      },
      "replacement_mode": {
        "name": "replacement_mode",
        "tooltip": "Solo SCAIL-2. Falso = Modo Animación (pose_video_mask debe tener fondo negro). Verdadero = Modo Reemplazo (pose_video_mask debe tener fondo blanco)."
      },
      "vae": {
        "name": "vae"
      },
      "video_frame_offset": {
        "name": "video_frame_offset",
        "tooltip": "Fotograma acumulativo de salida donde comienza este fragmento. Conectar desde la salida video_frame_offset del fragmento anterior."
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": "Espacio latente vacío del tamaño de la generación."
      },
      "3": {
        "name": "video_frame_offset",
        "tooltip": "Desplazamiento ajustado + longitud. Conectar al siguiente fragmento."
      }
    }
  },
  "WanSoundImageToVideo": {
    "display_name": "WanSoundImageToVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "salida_codificador_audio"
      },
      "batch_size": {
        "name": "tamaño_lote"
      },
      "control_video": {
        "name": "video_control"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_image": {
        "name": "imagen_ref"
      },
      "ref_motion": {
        "name": "movimiento_ref"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanSoundImageToVideoExtend": {
    "display_name": "WanSoundImageToVideoExtend",
    "inputs": {
      "audio_encoder_output": {
        "name": "salida_codificador_audio"
      },
      "control_video": {
        "name": "video_control"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_image": {
        "name": "imagen_ref"
      },
      "vae": {
        "name": "vae"
      },
      "video_latent": {
        "name": "video_latente"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanTextToImageApi": {
    "description": "Genera imagen basada en texto de entrada.",
    "display_name": "Wan Texto a Imagen",
    "inputs": {
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "height": {
        "name": "alto"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar."
      },
      "negative_prompt": {
        "name": "texto_negativo",
        "tooltip": "Texto negativo que guía sobre qué evitar."
      },
      "prompt": {
        "name": "texto_entrada",
        "tooltip": "Texto que describe los elementos y características visuales, admite inglés/chino."
      },
      "prompt_extend": {
        "name": "extender_texto",
        "tooltip": "Si se debe mejorar el texto de entrada con asistencia de IA."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla a utilizar para la generación."
      },
      "watermark": {
        "name": "marca_agua",
        "tooltip": "Si se debe agregar una marca de agua \"Generado por IA\" al resultado."
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanTextToVideoApi": {
    "description": "Genera video basado en un texto descriptivo.",
    "display_name": "Wan Text to Video",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "El audio debe contener una voz clara y alta, sin ruido extraño ni música de fondo."
      },
      "control_after_generate": {
        "name": "controlar después de generar"
      },
      "duration": {
        "name": "duración",
        "tooltip": "Duración disponible: 5 y 10 segundos"
      },
      "generate_audio": {
        "name": "generar_audio",
        "tooltip": "Si no hay entrada de audio, generar audio automáticamente."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a utilizar."
      },
      "negative_prompt": {
        "name": "texto_negativo",
        "tooltip": "Texto negativo para guiar qué elementos evitar."
      },
      "prompt": {
        "name": "texto_descriptivo",
        "tooltip": "Texto utilizado para describir los elementos y características visuales, admite inglés/chino."
      },
      "prompt_extend": {
        "name": "extender_texto",
        "tooltip": "Si se debe mejorar el texto descriptivo con asistencia de IA."
      },
      "seed": {
        "name": "semilla",
        "tooltip": "Semilla a utilizar para la generación."
      },
      "shot_type": {
        "name": "tipo_de_toma",
        "tooltip": "Especifica el tipo de toma para el video generado, es decir, si el video es una sola toma continua o varias tomas con cortes. Este parámetro solo tiene efecto cuando prompt_extend es True."
      },
      "size": {
        "name": "tamaño"
      },
      "watermark": {
        "name": "marca_de_agua",
        "tooltip": "Si se debe agregar una marca de agua \"Generado por IA\" al resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanTrackToVideo": {
    "display_name": "WanTrackToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "clip_vision_output": {
        "name": "salida_vision_clip"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagen_inicial"
      },
      "temperature": {
        "name": "temperatura"
      },
      "topk": {
        "name": "topk"
      },
      "tracks": {
        "name": "pistas"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanUni3CControlnetApply": {
    "display_name": "Aplicar Wan Uni3C ControlNet",
    "inputs": {
      "end_percent": {
        "name": "porcentaje_fin"
      },
      "model": {
        "name": "modelo"
      },
      "model_patch": {
        "name": "parche de modelo"
      },
      "render_video": {
        "name": "render_video",
        "tooltip": "El video de guía renderizado desde la trayectoria de la cámara, comúnmente renderizados de nubes de puntos deformadas de la imagen de entrada."
      },
      "start_percent": {
        "name": "porcentaje_inicio"
      },
      "strength": {
        "name": "fuerza"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "WanVaceToVideo": {
    "display_name": "WanVaceToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamaño_lote"
      },
      "control_masks": {
        "name": "máscaras_de_control"
      },
      "control_video": {
        "name": "control_video"
      },
      "height": {
        "name": "alto"
      },
      "length": {
        "name": "longitud"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "reference_image": {
        "name": "imagen_de_referencia"
      },
      "strength": {
        "name": "fuerza"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ancho"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      },
      "3": {
        "name": "latente_recortado",
        "tooltip": null
      }
    }
  },
  "WavespeedFlashVSRNode": {
    "description": "Escalador de video rápido y de alta calidad que aumenta la resolución y restaura la claridad de videos de baja resolución o borrosos.",
    "display_name": "FlashVSR Escalado de Video",
    "inputs": {
      "target_resolution": {
        "name": "resolución_objetivo"
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WavespeedImageUpscaleNode": {
    "description": "Aumenta la resolución y calidad de la imagen, escalando fotos a 4K u 8K para obtener resultados nítidos y detallados.",
    "display_name": "WaveSpeed Escalado de Imagen",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "model": {
        "name": "modelo"
      },
      "target_resolution": {
        "name": "resolución_objetivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WebcamCapture": {
    "display_name": "Captura de Webcam",
    "inputs": {
      "capture_on_queue": {
        "name": "captura_en_cola"
      },
      "height": {
        "name": "altura"
      },
      "image": {
        "name": "imagen"
      },
      "waiting for camera___": {},
      "width": {
        "name": "ancho"
      }
    }
  },
  "ZImageFunControlnet": {
    "display_name": "ZImageFunControlnet",
    "inputs": {
      "image": {
        "name": "imagen"
      },
      "inpaint_image": {
        "name": "imagen_relleno"
      },
      "mask": {
        "name": "máscara"
      },
      "model": {
        "name": "modelo"
      },
      "model_patch": {
        "name": "parche_de_modelo"
      },
      "strength": {
        "name": "fuerza"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "unCLIPCheckpointLoader": {
    "display_name": "Cargador de Puntos de Control unCLIP",
    "inputs": {
      "ckpt_name": {
        "name": "nombre_ckpt"
      }
    }
  },
  "unCLIPConditioning": {
    "display_name": "Acondicionamiento unCLIP",
    "inputs": {
      "clip_vision_output": {
        "name": "salida_vision_clip"
      },
      "conditioning": {
        "name": "acondicionamiento"
      },
      "noise_augmentation": {
        "name": "aumento_ruido"
      },
      "strength": {
        "name": "fuerza"
      }
    }
  },
  "wanBlockSwap": {
    "description": "NOP",
    "display_name": "wanBlockSwap",
    "inputs": {
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  }
}
