{
  "APG": {
    "display_name": "Adaptive Projected Guidance",
    "inputs": {
      "eta": {
        "name": "eta",
        "tooltip": "Controlla la scala del vettore di guida parallelo. Comportamento CFG predefinito con un valore di 1."
      },
      "model": {
        "name": "model"
      },
      "momentum": {
        "name": "momentum",
        "tooltip": "Controlla una media mobile della guida durante la diffusione, disabilitata con un valore di 0."
      },
      "norm_threshold": {
        "name": "norm_threshold",
        "tooltip": "Normalizza il vettore di guida a questo valore, la normalizzazione è disabilitata con un valore di 0."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ARVideoI2V": {
    "display_name": "ARVideoI2V",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length"
      },
      "model": {
        "name": "model"
      },
      "start_image": {
        "name": "start_image"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "AddNoise": {
    "display_name": "AddNoise",
    "inputs": {
      "latent_image": {
        "name": "immagine latente"
      },
      "model": {
        "name": "model"
      },
      "noise": {
        "name": "rumore"
      },
      "sigmas": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AddTextPrefix": {
    "display_name": "Aggiungi Prefisso Testo (DEPRECATO)",
    "inputs": {
      "prefix": {
        "name": "prefisso",
        "tooltip": "Prefisso da aggiungere."
      },
      "texts": {
        "name": "testi",
        "tooltip": "Testo da elaborare."
      }
    },
    "outputs": {
      "0": {
        "name": "testi",
        "tooltip": "Testi elaborati"
      }
    }
  },
  "AddTextSuffix": {
    "display_name": "Aggiungi Suffisso Testo (DEPRECATO)",
    "inputs": {
      "suffix": {
        "name": "suffisso",
        "tooltip": "Suffisso da aggiungere."
      },
      "texts": {
        "name": "testi",
        "tooltip": "Testo da elaborare."
      }
    },
    "outputs": {
      "0": {
        "name": "testi",
        "tooltip": "Testi elaborati"
      }
    }
  },
  "AdjustBrightness": {
    "description": "Regola la luminosità di un'immagine.",
    "display_name": "Regola Luminosità",
    "inputs": {
      "factor": {
        "name": "fattore",
        "tooltip": "Fattore di luminosità. 1.0 = nessuna modifica, <1.0 = più scuro, >1.0 = più chiaro."
      },
      "images": {
        "name": "immagini",
        "tooltip": "Immagine da elaborare."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Immagini elaborate"
      }
    }
  },
  "AdjustContrast": {
    "description": "Regola il contrasto di un'immagine.",
    "display_name": "Regola Contrasto",
    "inputs": {
      "factor": {
        "name": "fattore",
        "tooltip": "Fattore di contrasto. 1.0 = nessuna modifica, <1.0 = meno contrasto, >1.0 = più contrasto."
      },
      "images": {
        "name": "immagini",
        "tooltip": "Immagine da elaborare."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Immagini elaborate"
      }
    }
  },
  "AlignYourStepsScheduler": {
    "display_name": "AlignYourStepsScheduler",
    "inputs": {
      "denoise": {
        "name": "denoise"
      },
      "model_type": {
        "name": "tipo_modello"
      },
      "steps": {
        "name": "passi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AnimaLLLiteApply": {
    "display_name": "Applica Anima LLLite",
    "inputs": {
      "end_percent": {
        "name": "percentuale_fine"
      },
      "image": {
        "name": "immagine"
      },
      "mask": {
        "name": "maschera"
      },
      "model": {
        "name": "model"
      },
      "model_patch": {
        "name": "model_patch"
      },
      "start_percent": {
        "name": "percentuale_inizio"
      },
      "strength": {
        "name": "intensità"
      }
    }
  },
  "AudioAdjustVolume": {
    "description": "Regola il volume dell'audio di una quantità specificata in decibel (dB).",
    "display_name": "Regola Volume Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "volume": {
        "name": "volume",
        "tooltip": "Regolazione del volume in decibel (dB). 0 = nessuna modifica, +6 = raddoppia, -6 = dimezza, ecc."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioConcat": {
    "description": "Concatena audio1 ad audio2 nella direzione specificata.",
    "display_name": "Concatena Audio",
    "inputs": {
      "audio1": {
        "name": "audio1"
      },
      "audio2": {
        "name": "audio2"
      },
      "direction": {
        "name": "direction",
        "tooltip": "Se aggiungere audio2 dopo o prima di audio1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEncoderEncode": {
    "display_name": "AudioEncoderEncode",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audio_encoder": {
        "name": "audio_encoder"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEncoderLoader": {
    "display_name": "Carica Audio Encoder",
    "inputs": {
      "audio_encoder_name": {
        "name": "audio_encoder_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEqualizer3Band": {
    "display_name": "Equalizzatore Audio (3 Bande)",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "high_freq": {
        "name": "high_freq",
        "tooltip": "Frequenza di taglio per lo shelf alto"
      },
      "high_gain_dB": {
        "name": "high_gain_dB",
        "tooltip": "Guadagno per le frequenze alte (Alti)"
      },
      "low_freq": {
        "name": "low_freq",
        "tooltip": "Frequenza di taglio per lo shelf basso"
      },
      "low_gain_dB": {
        "name": "low_gain_dB",
        "tooltip": "Guadagno per le frequenze basse (Bassi)"
      },
      "mid_freq": {
        "name": "mid_freq",
        "tooltip": "Frequenza centrale per le medie"
      },
      "mid_gain_dB": {
        "name": "mid_gain_dB",
        "tooltip": "Guadagno per le frequenze medie"
      },
      "mid_q": {
        "name": "mid_q",
        "tooltip": "Fattore Q (larghezza di banda) per le medie"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioMerge": {
    "description": "Combina due tracce audio sovrapponendo le loro forme d'onda.",
    "display_name": "Unisci Audio",
    "inputs": {
      "audio1": {
        "name": "audio1"
      },
      "audio2": {
        "name": "audio2"
      },
      "merge_method": {
        "name": "merge_method",
        "tooltip": "Il metodo utilizzato per combinare le forme d'onda audio."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BasicGuider": {
    "display_name": "Guida Base",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BasicScheduler": {
    "display_name": "Scheduler Base",
    "inputs": {
      "denoise": {
        "name": "denoise"
      },
      "model": {
        "name": "model"
      },
      "scheduler": {
        "name": "scheduler"
      },
      "steps": {
        "name": "steps"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchImagesNode": {
    "display_name": "Batch Immagini",
    "inputs": {
      "images": {
        "name": "images"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchLatentsNode": {
    "display_name": "Batch Latent",
    "inputs": {
      "latents": {
        "name": "latents"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchMasksNode": {
    "display_name": "Batch Maschere",
    "inputs": {
      "masks": {
        "name": "masks"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BeebleSwitchXImageEdit": {
    "description": "Modifica una singola immagine con Beeble SwitchX. Cambia qualsiasi elemento della scena (sfondo, illuminazione, costume) mantenendo i pixel originali del soggetto. Fornisci un'immagine di riferimento e/o un prompt testuale per descrivere il nuovo aspetto. Max ~2,77MP.",
    "display_name": "Beeble SwitchX Modifica Immagine",
    "inputs": {
      "alpha_mode": {
        "name": "modalità alpha",
        "tooltip": "Controlla come SwitchX decide cosa mantenere e cosa rigenerare. 'auto' isola automaticamente il soggetto principale. 'fill' rigenera l'intero fotogramma mantenendo la geometria. 'select' propaga un keyframe del primo fotogramma su tutta la clip. 'custom' utilizza una maschera alpha per fotogramma fornita da te."
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "image": {
        "name": "immagine"
      },
      "max_resolution": {
        "name": "risoluzione massima",
        "tooltip": "Risoluzione massima di output."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale del risultato desiderato (max 2000 caratteri). È richiesto almeno uno tra 'prompt' o 'reference_image'."
      },
      "reference_image": {
        "name": "immagine di riferimento",
        "tooltip": "Immagine di riferimento di cui il risultato dovrebbe adottare l'aspetto (sfondo, illuminazione, costume). È richiesto almeno uno tra 'reference_image' o 'prompt'."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "name": "immagine",
        "tooltip": null
      },
      "1": {
        "name": "alpha",
        "tooltip": "La maschera alpha utilizzata da Beeble. Vuota in modalità 'fill', che non ha una maschera separata."
      }
    }
  },
  "BeebleSwitchXVideoEdit": {
    "description": "Modifica un video con Beeble SwitchX. Cambia qualsiasi elemento della scena (sfondo, illuminazione, costume) mantenendo i pixel e il movimento originali del soggetto. Fornisci un'immagine di riferimento e/o un prompt testuale per descrivere il nuovo aspetto. Max 240 fotogrammi, max ~2,77MP per fotogramma.",
    "display_name": "Beeble SwitchX Modifica Video",
    "inputs": {
      "alpha_mode": {
        "name": "modalità alpha",
        "tooltip": "Controlla come SwitchX decide cosa mantenere e cosa rigenerare. 'auto' isola automaticamente il soggetto principale. 'fill' rigenera l'intero fotogramma mantenendo la geometria. 'select' propaga un keyframe del primo fotogramma su tutta la clip. 'custom' utilizza una maschera alpha per fotogramma fornita da te."
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "max_resolution": {
        "name": "risoluzione massima",
        "tooltip": "Risoluzione massima di output."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale del risultato desiderato (max 2000 caratteri). È richiesto almeno uno tra 'prompt' o 'reference_image'."
      },
      "reference_image": {
        "name": "immagine di riferimento",
        "tooltip": "Immagine di riferimento di cui il risultato dovrebbe adottare l'aspetto (sfondo, illuminazione, costume). È richiesto almeno uno tra 'reference_image' o 'prompt'."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": null
      },
      "1": {
        "name": "alpha",
        "tooltip": "La maschera alpha utilizzata da Beeble. Vuota in modalità 'fill', che non ha una maschera separata."
      }
    }
  },
  "BerniniConditioning": {
    "description": "Nodo di conditioning per Bernini per il conditioning contestuale di video/immagini. Può essere utilizzato per i seguenti compiti: t2v (testo-a-video), v2v (video-a-video), rv2v (editing video guidato da riferimento), r2v (riferimento-a-video), ads2v (inserisci immagine/video in un video). Le immagini di riferimento iniettate come token contestuali (r2v, rv2v) vengono codificate indipendentemente con il proprio rapporto d'aspetto nativo (lato lungo limitato da ref_max_size)",
    "display_name": "Bernini Conditioning",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_max_size": {
        "name": "ref_max_size",
        "tooltip": "Dimensione massima per il lato lungo di reference_video e reference_images. Ridimensionato mantenendo il rapporto d'aspetto e arrotondato a 16px."
      },
      "reference_images": {
        "name": "immagini_di_riferimento"
      },
      "reference_video": {
        "name": "video_di_riferimento",
        "tooltip": "Video da inserire nel video sorgente (ads2v)."
      },
      "source_video": {
        "name": "video_sorgente",
        "tooltip": "Video sorgente da modificare o restilizzare (v2v, rv2v). Ridimensionato a larghezza/altezza e tagliato a lunghezza."
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "BetaSamplingScheduler": {
    "display_name": "BetaSamplingScheduler",
    "inputs": {
      "alpha": {
        "name": "alpha"
      },
      "beta": {
        "name": "beta"
      },
      "model": {
        "name": "modello"
      },
      "steps": {
        "name": "passi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaImageEditNode": {
    "description": "Modifica immagini utilizzando il modello più recente di Bria",
    "display_name": "Bria FIBO Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "guidance_scale": {
        "name": "scala_di_guidance",
        "tooltip": "Un valore più alto fa sì che l'immagine segua il prompt più fedelmente."
      },
      "image": {
        "name": "immagine"
      },
      "mask": {
        "name": "maschera",
        "tooltip": "Se omesso, la modifica viene applicata all'intera immagine."
      },
      "model": {
        "name": "modello"
      },
      "moderation": {
        "name": "moderazione",
        "tooltip": "Impostazioni di moderazione"
      },
      "negative_prompt": {
        "name": "prompt_negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Istruzione per modificare l'immagine"
      },
      "seed": {
        "name": "seed"
      },
      "steps": {
        "name": "passi"
      },
      "structured_prompt": {
        "name": "prompt_strutturato",
        "tooltip": "Una stringa contenente il prompt di modifica strutturato in formato JSON. Usa questo invece del prompt normale per un controllo preciso e programmabile."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "prompt_strutturato",
        "tooltip": null
      }
    }
  },
  "BriaRemoveImageBackground": {
    "description": "Rimuovi lo sfondo da un'immagine utilizzando Bria RMBG 2.0.",
    "display_name": "Bria Rimuovi Sfondo Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "image": {
        "name": "immagine"
      },
      "moderation": {
        "name": "moderazione",
        "tooltip": "Impostazioni di moderazione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaRemoveVideoBackground": {
    "description": "Rimuovi lo sfondo da un video utilizzando Bria.",
    "display_name": "Bria Rimuovi Sfondo Video",
    "inputs": {
      "background_color": {
        "name": "colore di sfondo",
        "tooltip": "Colore di sfondo per il video in output."
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaTransparentVideoBackground": {
    "description": "Rimuovi lo sfondo da un video utilizzando Bria e restituisci i frame ritagliati più una maschera alfa. Collegali entrambi a un nodo di compositing, oppure inviali a Salva WEBM per scrivere un video trasparente.",
    "display_name": "Bria Rimuovi Sfondo Video (Trasparente)",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": null
      },
      "1": {
        "name": "mask",
        "tooltip": null
      }
    }
  },
  "BriaVideoGreenScreen": {
    "description": "Sostituisci lo sfondo di un video con uno schermo solido per chroma key utilizzando Bria.",
    "display_name": "Bria Video Green Screen",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "green_shade": {
        "name": "tonalità di verde",
        "tooltip": "Tonalità solida per chroma key applicata dietro il primo piano: broadcast_green (#00B140), chroma_green (#00FF00), o blue_screen (#0000FF)."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaVideoReplaceBackground": {
    "description": "Sostituisci lo sfondo di un video con un'immagine o un video fornito utilizzando Bria. L'output mantiene la risoluzione e il frame rate del primo piano; uno sfondo con un rapporto d'aspetto diverso viene adattato per riempire, quindi abbina il rapporto per evitare distorsioni.",
    "display_name": "Bria Video Sostituisci Sfondo",
    "inputs": {
      "background_image": {
        "name": "immagine_sfondo",
        "tooltip": "Immagine di sfondo da inserire dietro il primo piano. Fornire un'immagine di sfondo o un video di sfondo, non entrambi."
      },
      "background_video": {
        "name": "video_sfondo",
        "tooltip": "Video di sfondo da inserire dietro il primo piano. Fornire un'immagine di sfondo o un video di sfondo, non entrambi."
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "video": {
        "name": "video",
        "tooltip": "Video in primo piano il cui sfondo viene sostituito."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BuildJsonPromptIdeogram": {
    "description": "Crea un prompt JSON per il modello Ideogram 4.",
    "display_name": "Crea Prompt JSON (Ideogram)",
    "inputs": {
      "aesthetics": {
        "name": "estetica",
        "tooltip": "Parole chiave estetiche obbligatorie (es. cupo, cinematografico, desaturato)."
      },
      "background": {
        "name": "sfondo",
        "tooltip": "Descrizione obbligatoria dello sfondo o dell'ambiente dell'immagine."
      },
      "color_palette": {
        "name": "palette_colori",
        "tooltip": "Codici colore hex che guidano i colori dominanti dell'immagine. Fino a 16 voci."
      },
      "element": {
        "name": "elemento",
        "tooltip": "Elementi del prompt dal nodo Crea Riquadri di Selezione."
      },
      "high_level_description": {
        "name": "descrizione_alto_livello",
        "tooltip": "Descrizione opzionale dell'immagine in una o due frasi. Fortemente consigliata."
      },
      "lighting": {
        "name": "illuminazione",
        "tooltip": "Descrizione obbligatoria dell'illuminazione (es. ora d'oro, controluce, ombre drammatiche)."
      },
      "medium": {
        "name": "supporto",
        "tooltip": "Tipo di supporto obbligatorio (es. fotografia, illustrazione, 3d_render, pittura, graphic_design). Quando stile = foto, impostare su fotografia."
      },
      "style": {
        "name": "stile"
      }
    },
    "outputs": {
      "0": {
        "name": "prompt",
        "tooltip": null
      }
    }
  },
  "ByteDance2FirstLastFrameNode": {
    "description": "Genera un video utilizzando Seedance 2.0 da un'immagine del primo frame e, opzionalmente, dell'ultimo frame.",
    "display_name": "ByteDance Seedance 2.0 Da Primo-Ultimo Frame a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "first_frame": {
        "name": "primo frame",
        "tooltip": "Immagine del primo frame per il video."
      },
      "first_frame_asset_id": {
        "name": "ID asset primo frame",
        "tooltip": "Seedance asset_id da usare come primo frame. Esclusivo rispetto all'input immagine del primo frame."
      },
      "last_frame": {
        "name": "ultimo frame",
        "tooltip": "Immagine dell'ultimo frame per il video."
      },
      "last_frame_asset_id": {
        "name": "ID asset ultimo frame",
        "tooltip": "Seedance asset_id da usare come ultimo frame. Esclusivo rispetto all'input immagine dell'ultimo frame."
      },
      "model": {
        "name": "modello",
        "tooltip": "Seedance 2.0 per la massima qualità; Fast per ottimizzare la velocità; Mini per la generazione più veloce e a basso costo."
      },
      "model_duration": {
        "name": "durata"
      },
      "model_generate_audio": {
        "name": "genera audio"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "rapporto"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDance2ReferenceNode": {
    "description": "Genera, modifica o estendi video utilizzando Seedance 2.0 con immagini di riferimento, video e audio. Supporta riferimenti multimodali, editing video ed estensione video.",
    "display_name": "ByteDance Seedance 2.0 Da Riferimento a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello",
        "tooltip": "Seedance 2.0 per la massima qualità; Fast per ottimizzare la velocità; Mini per la generazione più veloce e a basso costo."
      },
      "model_auto_downscale": {
        "name": "ridimensionamento automatico in basso"
      },
      "model_auto_upscale": {
        "name": "ingrandimento automatico"
      },
      "model_duration": {
        "name": "durata"
      },
      "model_generate_audio": {
        "name": "genera audio"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "rapporto"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDance2TextToVideoNode": {
    "description": "Genera un video utilizzando i modelli Seedance 2.0 a partire da un prompt testuale.",
    "display_name": "ByteDance Seedance 2.0 Testo in Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello",
        "tooltip": "Seedance 2.0 per la massima qualità; Fast per ottimizzare la velocità; Mini per la generazione più veloce e a basso costo."
      },
      "model_duration": {
        "name": "durata"
      },
      "model_generate_audio": {
        "name": "genera_audio"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "rapporto"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceCreateImageAsset": {
    "description": "Crea un asset immagine personale Seedance 2.0. Carica l'immagine di input e la registra nel gruppo di asset specificato. Se group_id è vuoto, viene eseguita un'autenticazione H5 per creare un nuovo gruppo prima di aggiungere l'asset.",
    "display_name": "ByteDance Crea Asset Immagine",
    "inputs": {
      "group_id": {
        "name": "group_id",
        "tooltip": "Riutilizza un ID gruppo asset Seedance esistente per saltare la verifica umana ripetuta per la stessa persona. Lascia vuoto per eseguire l'autenticazione reale nel browser e creare un nuovo gruppo."
      },
      "image": {
        "name": "immagine",
        "tooltip": "Immagine da registrare come asset personale."
      }
    },
    "outputs": {
      "0": {
        "name": "asset_id",
        "tooltip": null
      },
      "1": {
        "name": "group_id",
        "tooltip": null
      }
    }
  },
  "ByteDanceCreateVideoAsset": {
    "description": "Crea un asset video personale Seedance 2.0. Carica il video di input e lo registra nel gruppo di asset specificato. Se group_id è vuoto, viene eseguita un'autenticazione H5 per creare un nuovo gruppo prima di aggiungere l'asset.",
    "display_name": "ByteDance Crea Asset Video",
    "inputs": {
      "group_id": {
        "name": "group_id",
        "tooltip": "Riutilizza un ID gruppo asset Seedance esistente per saltare la verifica umana ripetuta per la stessa persona. Lascia vuoto per eseguire l'autenticazione reale nel browser e creare un nuovo gruppo."
      },
      "video": {
        "name": "video",
        "tooltip": "Video da registrare come asset personale."
      }
    },
    "outputs": {
      "0": {
        "name": "asset_id",
        "tooltip": null
      },
      "1": {
        "name": "group_id",
        "tooltip": null
      }
    }
  },
  "ByteDanceFirstLastFrameNode": {
    "description": "Genera un video utilizzando un prompt e il primo e l’ultimo frame.",
    "display_name": "ByteDance Da Primo-Ultimo Frame a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Il rapporto d’aspetto del video in output."
      },
      "camera_fixed": {
        "name": "camera_fixed",
        "tooltip": "Specifica se fissare la camera. L’app aggiunge un’istruzione per fissare la camera al prompt, ma non garantisce l’effetto reale."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "La durata del video in output in secondi."
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Primo frame da utilizzare per il video."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Questo parametro viene ignorato per qualsiasi modello tranne seedance-1-5-pro."
      },
      "last_frame": {
        "name": "last_frame",
        "tooltip": "Ultimo frame da utilizzare per il video."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Il prompt testuale utilizzato per generare il video."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "La risoluzione del video in output."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere una filigrana \"AI generated\" al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageNode": {
    "description": "Genera immagini utilizzando i modelli ByteDance tramite API in base al prompt",
    "display_name": "ByteDance Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "guidance_scale": {
        "name": "guidance_scale",
        "tooltip": "Un valore più alto fa sì che l’immagine segua il prompt più fedelmente"
      },
      "height": {
        "name": "height",
        "tooltip": "Altezza personalizzata per l’immagine. Il valore funziona solo se `size_preset` è impostato su `Personalizzato`"
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Il prompt testuale utilizzato per generare l’immagine"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione"
      },
      "size_preset": {
        "name": "size_preset",
        "tooltip": "Scegli una dimensione consigliata. Seleziona Personalizzato per usare larghezza e altezza sotto"
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere una filigrana \"AI generated\" all’immagine"
      },
      "width": {
        "name": "width",
        "tooltip": "Larghezza personalizzata per l’immagine. Il valore funziona solo se `size_preset` è impostato su `Personalizzato`"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageReferenceNode": {
    "description": "Genera un video utilizzando un prompt e immagini di riferimento.",
    "display_name": "Immagini di riferimento ByteDance in video",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto d'aspetto",
        "tooltip": "Il rapporto d'aspetto del video in output."
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration": {
        "name": "durata",
        "tooltip": "La durata del video in output in secondi."
      },
      "images": {
        "name": "immagini",
        "tooltip": "Da una a quattro immagini."
      },
      "model": {
        "name": "modello"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Il prompt testuale utilizzato per generare il video."
      },
      "resolution": {
        "name": "risoluzione",
        "tooltip": "La risoluzione del video in output."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana \"Generato da AI\" al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageToVideoNode": {
    "description": "Genera un video utilizzando i modelli ByteDance tramite API a partire da un'immagine e un prompt",
    "display_name": "ByteDance da immagine a video",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto d'aspetto",
        "tooltip": "Il rapporto d'aspetto del video in output."
      },
      "camera_fixed": {
        "name": "camera fissa",
        "tooltip": "Specifica se fissare la camera. L'app aggiunge un'istruzione per fissare la camera al tuo prompt, ma non garantisce l'effetto reale."
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration": {
        "name": "durata",
        "tooltip": "La durata del video in output in secondi."
      },
      "generate_audio": {
        "name": "genera audio",
        "tooltip": "Questo parametro viene ignorato per qualsiasi modello tranne seedance-1-5-pro."
      },
      "image": {
        "name": "immagine",
        "tooltip": "Il primo fotogramma da utilizzare per il video."
      },
      "model": {
        "name": "modello"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Il prompt testuale utilizzato per generare il video."
      },
      "resolution": {
        "name": "risoluzione",
        "tooltip": "La risoluzione del video in output."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana \"Generato da AI\" al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedAudio": {
    "description": "Genera discorsi, musica, effetti sonori e dialoghi multi-speaker da un singolo prompt con ByteDance Seed Audio 1.0. Descrivi la/le voce/i, emozione, atmosfera, musica di sottofondo ed effetti sonori nel prompt, e includi le battute da pronunciare. Puoi scegliere una voce preimpostata integrata, clonare voci da un massimo di 3 clip di riferimento (contrassegnate come {'@'}Audio1-3 nel prompt), oppure derivare una voce da un'immagine di un personaggio. Fino a 2 minuti di audio per esecuzione. Il modello multilingue supporta 20 lingue e il controllo del timing basato su timestamp.",
    "display_name": "ByteDance Seed Audio 1.0",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "loudness_rate": {
        "name": "loudness_rate",
        "tooltip": "Volume. 0 = normale, 100 = 2.0x, -50 = 0.5x."
      },
      "model": {
        "name": "model",
        "tooltip": "seed-audio-1.0-multilingual: 20 lingue (inglese, cinese, giapponese, coreano, spagnolo messicano e castigliano, indonesiano, tedesco, portoghese brasiliano, francese, thailandese, vietnamita, malese, filippino, italiano, russo, olandese, polacco, turco, svedese) più controllo del timing per frase tramite timestamp \"[5.5s:8.0s] ...\". seed-audio-1.0: solo inglese e cinese, senza controllo del timing."
      },
      "pitch_rate": {
        "name": "pitch_rate",
        "tooltip": "Spostamento di tonalità in semitoni (-12 a 12)."
      },
      "reference_mode": {
        "name": "reference_mode",
        "tooltip": "Come condizionare la voce: 'solo testo' (descrivi tutto nel prompt), 'audio reference' (clona fino a 3 voci, contrassegnate @Audio1-3), 'image reference' (deriva una voce da un'immagine di personaggio), oppure 'preset voice' (scegli una voce preimpostata che legge il prompt)."
      },
      "sample_rate": {
        "name": "sample_rate",
        "tooltip": "Frequenza di campionamento in uscita in Hz."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "speech_rate": {
        "name": "speech_rate",
        "tooltip": "Velocità di parlato. 0 = normale, 100 = 2.0x, -50 = 0.5x."
      },
      "text_prompt": {
        "name": "text_prompt",
        "tooltip": "Descrivi la/le voce/i, emozione, ritmo, atmosfera, musica di sottofondo ed effetti sonori, e includi le battute da pronunciare (nomina i personaggi direttamente per i dialoghi). In modalità 'audio reference', fai riferimento alle clip collegate in ordine come @Audio1, @Audio2, @Audio3. Con il modello multilingue, una battuta tra virgolette può iniziare con un intervallo di timestamp che controlla quando e per quanto tempo viene pronunciata, ad es. \"[5.5s:8.0s] Aspettami!\". Scrivi il prompt nella stessa lingua delle battute da pronunciare. Massimo 3000 caratteri."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedNode": {
    "description": "Genera risposte testuali con i modelli Seed 2.0 di ByteDance. Fornisci un prompt testuale e opzionalmente una o più immagini o video per il contesto multimodale.",
    "display_name": "ByteDance Seed",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello Seed utilizzato per generare la risposta."
      },
      "model_temperature": {
        "name": "temperature"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Input testuale per il modello."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Istruzioni fondamentali che determinano il comportamento del modello."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedreamNode": {
    "description": "Generazione unificata da testo a immagine e modifica precisa di singole frasi fino a una risoluzione di 4K.",
    "display_name": "ByteDance Seedream 4.5 & 5.0",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "fail_on_partial": {
        "name": "interrompi su parziale",
        "tooltip": "Se abilitato, interrompe l'esecuzione se una delle immagini richieste manca o restituisce un errore."
      },
      "height": {
        "name": "altezza",
        "tooltip": "Altezza personalizzata per l'immagine. Il valore funziona solo se `size_preset` è impostato su `Personalizzato`."
      },
      "image": {
        "name": "immagine",
        "tooltip": "Immagine/i di input per la generazione da immagine a immagine. Immagine/i di riferimento per generazione a riferimento singolo o multiplo."
      },
      "max_images": {
        "name": "immagini massime",
        "tooltip": "Numero massimo di immagini da generare quando sequential_image_generation='auto'. Il totale delle immagini (input + generate) non può superare 15."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per creare o modificare un'immagine."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "sequential_image_generation": {
        "name": "generazione sequenziale immagini",
        "tooltip": "Modalità di generazione immagini di gruppo. 'disabilitato' genera una singola immagine. 'auto' lascia decidere al modello se generare più immagini correlate (es. scene di una storia, variazioni di personaggi)."
      },
      "size_preset": {
        "name": "preimpostazione dimensione",
        "tooltip": "Scegli una dimensione consigliata. Seleziona Personalizzato per usare larghezza e altezza qui sotto."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana \"AI generated\" all'immagine."
      },
      "width": {
        "name": "larghezza",
        "tooltip": "Larghezza personalizzata per l'immagine. Il valore funziona solo se `size_preset` è impostato su `Personalizzato`."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedreamNodeV2": {
    "description": "Generazione unificata da testo a immagine e modifica precisa di singole frasi fino a una risoluzione di 4K.",
    "display_name": "ByteDance Seedream 4.5 & 5.0",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "model": {
        "name": "model"
      },
      "model_height": {
        "name": "altezza"
      },
      "model_size_preset": {
        "name": "preimpostazione dimensione"
      },
      "model_width": {
        "name": "larghezza"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per creare o modificare un'immagine."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "thinking": {
        "name": "thinking",
        "tooltip": "Abilita il ragionamento di ottimizzazione del prompt del modello ('thinking') per una maggiore aderenza. Può aumentare notevolmente il tempo di generazione — in particolare su Seedream 5.0 Pro. Può essere disabilitato solo per testo-a-immagine (non quando sono fornite immagini di riferimento)."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana \"AI generated\" all'immagine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceTextToVideoNode": {
    "description": "Genera video utilizzando modelli ByteDance tramite API basata su prompt",
    "display_name": "ByteDance Testo in Video",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto d'aspetto",
        "tooltip": "Il rapporto d'aspetto del video in output."
      },
      "camera_fixed": {
        "name": "camera fissa",
        "tooltip": "Specifica se fissare la telecamera. L'app aggiunge un'istruzione per fissare la telecamera al prompt, ma non garantisce l'effetto reale."
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "duration": {
        "name": "durata",
        "tooltip": "La durata del video in output in secondi."
      },
      "generate_audio": {
        "name": "genera audio",
        "tooltip": "Questo parametro viene ignorato per qualsiasi modello tranne seedance-1-5-pro."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Il prompt testuale utilizzato per generare il video."
      },
      "resolution": {
        "name": "risoluzione",
        "tooltip": "La risoluzione del video in output."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere una filigrana \"AI generated\" al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGGuider": {
    "display_name": "CFG Guider",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "model": {
        "name": "model"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGNorm": {
    "display_name": "CFGNorm",
    "inputs": {
      "model": {
        "name": "model"
      },
      "pre_cfg": {
        "name": "pre_cfg",
        "tooltip": "Se vero, riscalare il rumore combinato PRIMA della combinazione CFG del sampler, senza clamp (può amplificare). Corrisponde al CFG norm-scaled usato da modelli come Lens. Il valore predefinito false mantiene il comportamento originale di attenuazione post-CFG in x0-space."
      },
      "strength": {
        "name": "intensità"
      }
    },
    "outputs": {
      "0": {
        "name": "patched_model",
        "tooltip": null
      }
    }
  },
  "CFGOverride": {
    "description": "Sovrascrive cfg con un valore fisso su un intervallo percentuale [inizio, fine] (sigma). In caso di più override, quello più vicino al sampler ha la precedenza in caso di sovrapposizione.",
    "display_name": "Override CFG",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "end_percent": {
        "name": "end_percent"
      },
      "model": {
        "name": "model"
      },
      "start_percent": {
        "name": "start_percent"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGZeroStar": {
    "display_name": "CFGZeroStar",
    "inputs": {
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "name": "patched_model",
        "tooltip": null
      }
    }
  },
  "CLIPAttentionMultiply": {
    "display_name": "CLIPAttentionMultiply",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "k": {
        "name": "k"
      },
      "out": {
        "name": "out"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPLoader": {
    "description": "Ricette:\nsd: clip-l\nstable cascade: clip-g\nsd3: t5 xxl / clip-g / clip-l\nstable audio: t5 base\nmochi: t5 xxl\ncogvideox: t5 xxl (padding 226-token)\ncosmos: old t5 xxl\nlumina2: gemma 2 2B\nwan: umt5 xxl\nhidream: llama-3.1 (Consigliato) o t5\nomnigen2: qwen vl 2.5 3B\njoyimage: qwen3-vl 8B\nlens: gpt-oss-20b\npixeldit: gemma 2 2B elm",
    "display_name": "Carica CLIP",
    "inputs": {
      "clip_name": {
        "name": "clip_name"
      },
      "device": {
        "name": "device"
      },
      "type": {
        "name": "type"
      }
    }
  },
  "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": "multiplier"
      }
    }
  },
  "CLIPSave": {
    "display_name": "CLIPSave",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      }
    }
  },
  "CLIPSetLastLayer": {
    "display_name": "CLIP Set Last Layer",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "stop_at_clip_layer": {
        "name": "stop_at_clip_layer"
      }
    }
  },
  "CLIPTextEncode": {
    "description": "Codifica un prompt testuale utilizzando un modello CLIP in un embedding che può essere utilizzato per guidare il modello di diffusione nella generazione di immagini specifiche.",
    "display_name": "CLIP Text Encode (Prompt)",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Il modello CLIP utilizzato per la codifica del testo."
      },
      "text": {
        "name": "text",
        "tooltip": "Il testo da codificare."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Un conditioning contenente il testo codificato utilizzato per guidare il modello di diffusione."
      }
    }
  },
  "CLIPTextEncodeControlnet": {
    "display_name": "CLIP Text Encode (Controlnet)",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "conditioning": {
        "name": "conditioning"
      },
      "text": {
        "name": "text"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeFlux": {
    "display_name": "CLIPTextEncodeFlux",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "guidance": {
        "name": "guidance"
      },
      "t5xxl": {
        "name": "t5xxl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeHiDream": {
    "display_name": "CLIP Text Encode (HiDream)",
    "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": "CLIP Text Encode (Hunyuan Image)",
    "inputs": {
      "bert": {
        "name": "bert"
      },
      "clip": {
        "name": "clip"
      },
      "mt5xl": {
        "name": "mt5xl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeKandinsky5": {
    "display_name": "CLIP Text Encode (Kandinsky 5)",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "qwen25_7b": {
        "name": "qwen25_7b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeLumina2": {
    "description": "Codifica un prompt di sistema e un prompt utente utilizzando un modello CLIP in un embedding che può essere utilizzato per guidare il modello di diffusione nella generazione di immagini specifiche.",
    "display_name": "CLIP Text Encode (Lumina 2)",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Il modello CLIP utilizzato per la codifica del testo."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Lumina2 fornisce due tipi di prompt di sistema: Superior: Sei un assistente progettato per generare immagini superiori con il massimo grado di allineamento testo-immagine basato su prompt testuali o prompt utente. Alignment: Sei un assistente progettato per generare immagini di alta qualità con il massimo grado di allineamento testo-immagine basato su prompt testuali."
      },
      "user_prompt": {
        "name": "user_prompt",
        "tooltip": "Il testo da codificare."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Un conditioning contenente il testo codificato utilizzato per guidare il modello di diffusione."
      }
    }
  },
  "CLIPTextEncodePixArtAlpha": {
    "description": "Codifica il testo e imposta la condizione di risoluzione per PixArt Alpha. Non si applica a PixArt Sigma.",
    "display_name": "CLIP Text Encode (PixArt Alpha)",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "altezza"
      },
      "text": {
        "name": "testo"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSD3": {
    "display_name": "CLIP Text Encode (SD3)",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_g": {
        "name": "clip_g"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "empty_padding": {
        "name": "spaziatura vuota"
      },
      "t5xxl": {
        "name": "t5xxl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSDXL": {
    "display_name": "CLIP Text Encode (SDXL)",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "crop_h": {
        "name": "ritaglio_altezza"
      },
      "crop_w": {
        "name": "ritaglio_larghezza"
      },
      "height": {
        "name": "altezza"
      },
      "target_height": {
        "name": "altezza_target"
      },
      "target_width": {
        "name": "larghezza_target"
      },
      "text_g": {
        "name": "testo_g"
      },
      "text_l": {
        "name": "testo_l"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSDXLRefiner": {
    "display_name": "CLIP Text Encode (SDXL Refiner)",
    "inputs": {
      "ascore": {
        "name": "ascore"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "altezza"
      },
      "text": {
        "name": "testo"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPVisionEncode": {
    "display_name": "CLIP Vision Encode",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "crop": {
        "name": "ritaglia"
      },
      "image": {
        "name": "immagine"
      }
    }
  },
  "CLIPVisionLoader": {
    "display_name": "Carica CLIP Vision",
    "inputs": {
      "clip_name": {
        "name": "nome_clip"
      }
    }
  },
  "Canny": {
    "display_name": "Rileva Bordi (Canny)",
    "inputs": {
      "high_threshold": {
        "name": "soglia_alta"
      },
      "image": {
        "name": "immagine"
      },
      "low_threshold": {
        "name": "soglia_bassa"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CaseConverter": {
    "display_name": "Converti Maiuscole/Minuscole",
    "inputs": {
      "mode": {
        "name": "modalità"
      },
      "string": {
        "name": "stringa"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CenterCropImages": {
    "description": "Ritaglia centralmente un'immagine alle dimensioni specificate.",
    "display_name": "Ritaglia Immagine (Centro)",
    "inputs": {
      "height": {
        "name": "altezza",
        "tooltip": "Altezza del ritaglio."
      },
      "images": {
        "name": "immagini",
        "tooltip": "Immagine da elaborare."
      },
      "width": {
        "name": "larghezza",
        "tooltip": "Larghezza del ritaglio."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Immagini elaborate"
      }
    }
  },
  "CheckpointLoader": {
    "display_name": "Carica Checkpoint con Config (DEPRECATO)",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name"
      },
      "config_name": {
        "name": "config_name"
      }
    }
  },
  "CheckpointLoaderSimple": {
    "description": "Carica un checkpoint di un modello di diffusione; i modelli di diffusione vengono utilizzati per denoizzare i latenti.",
    "display_name": "Carica Checkpoint",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name",
        "tooltip": "Il nome del checkpoint (modello) da caricare."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il modello utilizzato per la denoising dei latenti."
      },
      "1": {
        "tooltip": "Il modello CLIP utilizzato per codificare i prompt testuali."
      },
      "2": {
        "tooltip": "Il modello VAE utilizzato per codificare e decodificare immagini da e verso lo spazio latente."
      }
    }
  },
  "CheckpointSave": {
    "display_name": "Salva Checkpoint",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "model": {
        "name": "model"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "ChromaRadianceOptions": {
    "description": "Permette di impostare opzioni avanzate per il modello Chroma Radiance.",
    "display_name": "Opzioni ChromaRadiance",
    "inputs": {
      "end_sigma": {
        "name": "end_sigma",
        "tooltip": "Ultimo sigma per cui queste opzioni saranno attive."
      },
      "force_sequential_txt_ids": {
        "name": "force_sequential_txt_ids",
        "tooltip": "Forza l'uso di ID token testuali sequenziali invece degli zeri. Da usare per i checkpoint dal 22-05-2026 al 01-06-2026 che sono stati addestrati in questo modo ma non contengono la chiave __sequential__ nello state dict."
      },
      "model": {
        "name": "model"
      },
      "nerf_tile_size": {
        "name": "nerf_tile_size",
        "tooltip": "Permette di sovrascrivere la dimensione di tile NeRF predefinita. -1 significa usare il valore predefinito (32). 0 significa modalità senza tile (può richiedere molta VRAM)."
      },
      "preserve_wrapper": {
        "name": "preserve_wrapper",
        "tooltip": "Se abilitato, delega a un wrapper di funzione del modello esistente se presente. In generale dovrebbe rimanere abilitato."
      },
      "start_sigma": {
        "name": "start_sigma",
        "tooltip": "Primo sigma per cui queste opzioni saranno attive."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ClaudeNode": {
    "description": "Genera risposte testuali con i modelli Claude di Anthropic. Fornisci un prompt testuale e opzionalmente una o più immagini per il contesto multimodale.",
    "display_name": "Anthropic Claude",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "images": {
        "name": "images",
        "tooltip": "Immagine/i opzionale/i da usare come contesto per il modello. Fino a 20 immagini."
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello Claude utilizzato per generare la risposta."
      },
      "model_max_tokens": {
        "name": "max_tokens"
      },
      "model_reasoning_effort": {
        "name": "reasoning_effort"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Input testuale per il modello."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Istruzioni fondamentali che determinano il comportamento del modello."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ColorToRGBInt": {
    "description": "Restituisce un valore colore RGB intero e la rappresentazione esadecimale.",
    "display_name": "Selettore Colore",
    "inputs": {
      "color": {
        "name": "colore"
      }
    },
    "outputs": {
      "0": {
        "name": "rgb_int",
        "tooltip": null
      },
      "1": {
        "name": "hex",
        "tooltip": null
      },
      "2": {
        "name": "alfa",
        "tooltip": null
      }
    }
  },
  "ColorTransfer": {
    "description": "Abbina i colori di un'immagine a quelli di un'altra utilizzando vari algoritmi.",
    "display_name": "Trasferisci Colore",
    "inputs": {
      "image_ref": {
        "name": "image_ref",
        "tooltip": "Immagine/i di riferimento a cui abbinare i colori."
      },
      "image_target": {
        "name": "image_target",
        "tooltip": "Immagine/i a cui applicare la trasformazione del colore."
      },
      "method": {
        "name": "method"
      },
      "source_stats": {
        "name": "source_stats",
        "tooltip": "per_frame: ogni fotogramma viene abbinato individualmente a image_ref. uniform: statistiche aggregate su tutti i fotogrammi sorgente come base, abbina a image_ref. target_frame: usa un fotogramma scelto come base per la trasformazione verso image_ref, applicato uniformemente a tutti i fotogrammi (preserva le differenze relative)"
      },
      "strength": {
        "name": "strength"
      }
    },
    "outputs": {
      "0": {
        "name": "image",
        "tooltip": null
      }
    }
  },
  "CombineHooks2": {
    "display_name": "Combina Hook [2]",
    "inputs": {
      "hooks_A": {
        "name": "hooks_A"
      },
      "hooks_B": {
        "name": "hooks_B"
      }
    }
  },
  "CombineHooks4": {
    "display_name": "Combina Hook [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": "Combina Hook [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": "Operazione logica AND. Restituisce vero se tutti i valori sono veri. Usa le regole di veridicità di Python.",
    "display_name": "E",
    "inputs": {
      "values": {
        "name": "values"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ComfyMathExpression": {
    "display_name": "Espressione Matematica",
    "inputs": {
      "expression": {
        "name": "expression"
      },
      "values": {
        "name": "values"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "BOOL",
        "tooltip": null
      }
    }
  },
  "ComfyNotNode": {
    "description": "Operazione logica NOT. Restituisce vero se il valore è falso. Usa le regole di veridicità di Python.",
    "display_name": "Non",
    "inputs": {
      "value": {
        "name": "value"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ComfyNumberConvert": {
    "display_name": "Converti Numero",
    "inputs": {
      "value": {
        "name": "value"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "ComfyOrNode": {
    "description": "Operazione logica OR. Restituisce vero se almeno uno dei valori è vero. Usa le regole di veridicità di Python.",
    "display_name": "O",
    "inputs": {
      "values": {
        "name": "values"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ComfySwitchNode": {
    "display_name": "Interruttore If/Else",
    "inputs": {
      "on_false": {
        "name": "su_falso"
      },
      "on_true": {
        "name": "su_vero"
      },
      "switch": {
        "name": "switch"
      }
    },
    "outputs": {
      "0": {
        "name": "output",
        "tooltip": null
      }
    }
  },
  "ConditioningAverage": {
    "display_name": "Conditioning (Media)",
    "inputs": {
      "conditioning_from": {
        "name": "conditioning_da"
      },
      "conditioning_to": {
        "name": "conditioning_a"
      },
      "conditioning_to_strength": {
        "name": "intensità_conditioning_a"
      }
    }
  },
  "ConditioningCombine": {
    "display_name": "Conditioning (Combina)",
    "inputs": {
      "conditioning_1": {
        "name": "conditioning_1"
      },
      "conditioning_2": {
        "name": "conditioning_2"
      }
    }
  },
  "ConditioningConcat": {
    "display_name": "Conditioning (Concatena)",
    "inputs": {
      "conditioning_from": {
        "name": "conditioning_da"
      },
      "conditioning_to": {
        "name": "conditioning_a"
      }
    }
  },
  "ConditioningMultiply": {
    "display_name": "Conditioning (Moltiplica)",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "multiplier": {
        "name": "moltiplicatore"
      }
    }
  },
  "ConditioningSetArea": {
    "display_name": "Conditioning (Imposta Area)",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "height": {
        "name": "altezza"
      },
      "strength": {
        "name": "intensità"
      },
      "width": {
        "name": "larghezza"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "ConditioningSetAreaPercentage": {
    "display_name": "Conditioning (Imposta Area in Percentuale)",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "height": {
        "name": "altezza"
      },
      "strength": {
        "name": "intensità"
      },
      "width": {
        "name": "larghezza"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "ConditioningSetAreaPercentageVideo": {
    "display_name": "Conditioning (Imposta Area in Percentuale per Video)",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "height": {
        "name": "altezza"
      },
      "strength": {
        "name": "intensità"
      },
      "temporal": {
        "name": "temporale"
      },
      "width": {
        "name": "larghezza"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      },
      "z": {
        "name": "z"
      }
    }
  },
  "ConditioningSetAreaStrength": {
    "display_name": "Conditioning (Imposta Intensità Area)",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "strength": {
        "name": "intensità"
      }
    }
  },
  "ConditioningSetDefaultCombine": {
    "display_name": "Cond Imposta Combina Predefinito",
    "inputs": {
      "cond": {
        "name": "cond"
      },
      "cond_DEFAULT": {
        "name": "cond_PREDEFINITO"
      },
      "hooks": {
        "name": "hooks"
      }
    }
  },
  "ConditioningSetMask": {
    "display_name": "Conditioning (Imposta Maschera)",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "mask": {
        "name": "mask"
      },
      "set_cond_area": {
        "name": "imposta_area_cond"
      },
      "strength": {
        "name": "intensità"
      }
    }
  },
  "ConditioningSetProperties": {
    "display_name": "Proprietà Set Cond",
    "inputs": {
      "cond_NEW": {
        "name": "cond_NEW"
      },
      "hooks": {
        "name": "hook"
      },
      "mask": {
        "name": "maschera"
      },
      "set_cond_area": {
        "name": "imposta_area_cond"
      },
      "strength": {
        "name": "intensità"
      },
      "timesteps": {
        "name": "passi_temporali"
      }
    }
  },
  "ConditioningSetPropertiesAndCombine": {
    "display_name": "Combina Proprietà Set Cond",
    "inputs": {
      "cond": {
        "name": "cond"
      },
      "cond_NEW": {
        "name": "cond_NEW"
      },
      "hooks": {
        "name": "hook"
      },
      "mask": {
        "name": "maschera"
      },
      "set_cond_area": {
        "name": "imposta_area_cond"
      },
      "strength": {
        "name": "intensità"
      },
      "timesteps": {
        "name": "passi_temporali"
      }
    }
  },
  "ConditioningSetTimestepRange": {
    "display_name": "Imposta Intervallo Passi Temporali Cond",
    "inputs": {
      "conditioning": {
        "name": "condizionamento"
      },
      "end": {
        "name": "fine"
      },
      "start": {
        "name": "inizio"
      }
    }
  },
  "ConditioningStableAudio": {
    "display_name": "Condizionamento Stable Audio",
    "inputs": {
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "seconds_start": {
        "name": "secondi_inizio"
      },
      "seconds_total": {
        "name": "secondi_totali"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "ConditioningTimestepsRange": {
    "display_name": "Intervallo Passi Temporali",
    "inputs": {
      "end_percent": {
        "name": "percentuale_fine"
      },
      "start_percent": {
        "name": "percentuale_inizio"
      }
    },
    "outputs": {
      "1": {
        "name": "PRIMA_INTERVALLO"
      },
      "2": {
        "name": "DOPO_INTERVALLO"
      }
    }
  },
  "ConditioningZeroOut": {
    "display_name": "Condizionamento Azzerato",
    "inputs": {
      "conditioning": {
        "name": "condizionamento"
      }
    }
  },
  "ContextWindowsManual": {
    "description": "Imposta manualmente le finestre di contesto.",
    "display_name": "Finestre di contesto (Manuale)",
    "inputs": {
      "causal_window_fix": {
        "name": "correzione finestra causale",
        "tooltip": "Se aggiungere un frame di correzione causale alle finestre di contesto con indice diverso da 0."
      },
      "closed_loop": {
        "name": "ciclo chiuso",
        "tooltip": "Se chiudere il ciclo della finestra di contesto; applicabile solo a pianificazioni cicliche."
      },
      "cond_retain_index_list": {
        "name": "lista indici condizionamento da mantenere",
        "tooltip": "Elenco degli indici latenti da mantenere nei tensori di condizionamento per ogni finestra. Per modelli I2V in stile concat (es. Wan I2V, HunyuanVideo I2V, Cosmos I2V, SVD) l'immagine iniziale codificata si trova nei canali di condizionamento c_concat; impostando '0' si mantiene il contenuto dell'immagine iniziale alla sub-pos 0 di ogni finestra."
      },
      "context_length": {
        "name": "lunghezza contesto",
        "tooltip": "La lunghezza della finestra di contesto."
      },
      "context_overlap": {
        "name": "sovrapposizione contesto",
        "tooltip": "La sovrapposizione della finestra di contesto."
      },
      "context_schedule": {
        "name": "pianificazione contesto",
        "tooltip": "Algoritmo di pianificazione dipendente dal passo per le finestre di contesto."
      },
      "context_stride": {
        "name": "passo contesto",
        "tooltip": "Il passo della finestra di contesto; applicabile solo a pianificazioni uniformi."
      },
      "dim": {
        "name": "dimensione",
        "tooltip": "La dimensione a cui applicare le finestre di contesto."
      },
      "freenoise": {
        "name": "freenoise",
        "tooltip": "Se applicare la miscelazione del rumore FreeNoise, migliora la fusione delle finestre."
      },
      "fuse_method": {
        "name": "metodo di fusione",
        "tooltip": "Il metodo da utilizzare per fondere le finestre di contesto."
      },
      "latent_retain_index_list": {
        "name": "lista indici latenti da mantenere",
        "tooltip": "Elenco degli indici latenti da mantenere direttamente nel rumore latente per ogni finestra. Da usare per workflow dove il contenuto di riferimento (es. un'immagine iniziale) si trova direttamente nel rumore latente invece che in canali di condizionamento separati (es. I2V in stile inplace come LTXV, AnimateDiff). Indipendente da cond_retain_index_list."
      },
      "model": {
        "name": "modello",
        "tooltip": "Il modello a cui applicare le finestre di contesto durante il campionamento."
      },
      "split_conds_to_windows": {
        "name": "suddividi condizionamenti su finestre",
        "tooltip": "Se suddividere più condizionamenti (creati da ConditionCombine) su ciascuna finestra in base all'indice di regione."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il modello con finestre di contesto applicate durante il campionamento."
      }
    }
  },
  "ControlNetApply": {
    "display_name": "Applica ControlNet (DEPRECATO)",
    "inputs": {
      "conditioning": {
        "name": "condizionamento"
      },
      "control_net": {
        "name": "control_net"
      },
      "image": {
        "name": "immagine"
      },
      "strength": {
        "name": "intensità"
      }
    }
  },
  "ControlNetApplyAdvanced": {
    "display_name": "Applica ControlNet",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "percentuale fine"
      },
      "image": {
        "name": "immagine"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_percent": {
        "name": "percentuale inizio"
      },
      "strength": {
        "name": "intensità"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "ControlNetApplySD3": {
    "display_name": "Applica ControlNet con VAE",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "percentuale_fine"
      },
      "image": {
        "name": "immagine"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_percent": {
        "name": "percentuale_inizio"
      },
      "strength": {
        "name": "intensità"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "ControlNetInpaintingAliMamaApply": {
    "display_name": "Applica ControlNet Inpainting (AliMama)",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "percentuale_fine"
      },
      "image": {
        "name": "immagine"
      },
      "mask": {
        "name": "maschera"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_percent": {
        "name": "percentuale_inizio"
      },
      "strength": {
        "name": "intensità"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "ControlNetLoader": {
    "display_name": "Carica Modello ControlNet",
    "inputs": {
      "control_net_name": {
        "name": "control_net_name"
      }
    }
  },
  "ConvertArrayToString": {
    "display_name": "Converti Array in Stringa",
    "inputs": {
      "array": {
        "name": "array"
      },
      "indent": {
        "name": "indentazione",
        "tooltip": "Spazi per livello di indentazione. 0 produce una stringa compatta su una sola riga."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ConvertDictionaryToString": {
    "display_name": "Converti Dizionario in Stringa",
    "inputs": {
      "dictionary": {
        "name": "dizionario"
      },
      "indent": {
        "name": "indentazione",
        "tooltip": "Spazi per livello di indentazione. 0 produce una stringa compatta su una sola riga."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CosmosImageToVideoLatent": {
    "display_name": "CosmosImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "end_image": {
        "name": "immagine_finale"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "start_image": {
        "name": "immagine_iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CosmosPredict2ImageToVideoLatent": {
    "display_name": "CosmosPredict2ImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "end_image": {
        "name": "immagine_finale"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "start_image": {
        "name": "immagine_iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CreateBoundingBoxes": {
    "description": "Disegna bounding boxes su una canvas. Produce elementi prompt Ideogram, bounding boxes in pixel-space e un'immagine di anteprima.",
    "display_name": "Crea Bounding Boxes",
    "inputs": {
      "background": {
        "name": "sfondo",
        "tooltip": "Immagine opzionale usata come sfondo nella canvas e nell'anteprima."
      },
      "bboxes": {
        "name": "bounding_boxes",
        "tooltip": "Bounding boxes, elementi o una stringa JSON per inizializzare la canvas. Un nuovo valore a monte inizializza la canvas; le modifiche fatte sulla canvas hanno la priorità e vengono mantenute fino a quando il valore a monte cambia di nuovo."
      },
      "editor_state": {
        "name": "stato_editor",
        "tooltip": "Disegna bounding boxes e imposta per ogni box il tipo, testo, descrizione, palette di colori. Inizia con l'elemento di sfondo e termina con quello in primo piano."
      },
      "height": {
        "name": "altezza",
        "tooltip": "Altezza della canvas e della griglia di pixel per le bounding boxes."
      },
      "last_incoming": {
        "name": "ultimo_in_arrivo",
        "tooltip": "Stato interno gestito dalla canvas: il valore bboxes a monte che l'ha inizializzata per ultimo. Lasciare vuoto per re-inizializzare la canvas dall'input bboxes al prossimo avvio."
      },
      "width": {
        "name": "larghezza",
        "tooltip": "Larghezza della canvas e della griglia di pixel per le bounding boxes."
      }
    },
    "outputs": {
      "0": {
        "name": "anteprima",
        "tooltip": null
      },
      "1": {
        "name": "bounding_boxes",
        "tooltip": null
      },
      "2": {
        "name": "elementi",
        "tooltip": null
      }
    }
  },
  "CreateCameraInfo": {
    "description": "Crea una camera_info. La modalità 'orbit' punta con yaw/pitch/distanza attorno al target; 'look_at' posiziona la camera in una posizione del mondo. Le coordinate sono nello spazio mondo dell'osservatore (destrorso, Y-su).",
    "display_name": "Crea Info Camera",
    "inputs": {
      "camera_type": {
        "name": "tipo_camera",
        "tooltip": "Proiezione usata da Render Splat: prospettica (con scorciatoia) o ortografica (parallela)."
      },
      "fov": {
        "name": "fov",
        "tooltip": "Campo visivo verticale in gradi."
      },
      "mode": {
        "name": "modalità",
        "tooltip": "Come definire la camera: angoli di orbita, una posizione esplicita o una posizione + quaternione."
      },
      "mode_distance": {
        "name": "distanza"
      },
      "mode_pitch": {
        "name": "inclinazione"
      },
      "mode_yaw": {
        "name": "imbardata"
      },
      "roll": {
        "name": "rollio",
        "tooltip": "Rollio della camera sull'asse di vista, in gradi."
      },
      "target_x": {
        "name": "target_x",
        "tooltip": "Punto di look-at (pivot/obiettivo dell'orbita). In modalità orbita, spostalo per traslare tutta la camera. Ignorato in modalità quaternione. Predefinito all'origine."
      },
      "target_y": {
        "name": "target_y"
      },
      "target_z": {
        "name": "target_z"
      },
      "zoom": {
        "name": "zoom",
        "tooltip": "Zoom digitale (moltiplicatore della lunghezza focale). >1 ingrandisce senza muovere la camera."
      }
    },
    "outputs": {
      "0": {
        "name": "info_camera",
        "tooltip": null
      }
    }
  },
  "CreateHookKeyframe": {
    "display_name": "Crea Keyframe Hook",
    "inputs": {
      "prev_hook_kf": {
        "name": "keyframe_hook_precedente"
      },
      "start_percent": {
        "name": "percentuale_inizio"
      },
      "strength_mult": {
        "name": "moltiplicatore_forza"
      }
    },
    "outputs": {
      "0": {
        "name": "HOOK_KF"
      }
    }
  },
  "CreateHookKeyframesFromFloats": {
    "display_name": "Crea Keyframe Hook da Float",
    "inputs": {
      "end_percent": {
        "name": "end_percent"
      },
      "floats_strength": {
        "name": "floats_strength"
      },
      "prev_hook_kf": {
        "name": "prev_hook_kf"
      },
      "print_keyframes": {
        "name": "print_keyframes"
      },
      "start_percent": {
        "name": "start_percent"
      }
    },
    "outputs": {
      "0": {
        "name": "HOOK_KF"
      }
    }
  },
  "CreateHookKeyframesInterpolated": {
    "display_name": "Crea Keyframe Hook Interpolati",
    "inputs": {
      "end_percent": {
        "name": "end_percent"
      },
      "interpolation": {
        "name": "interpolation"
      },
      "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": "Crea 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": "Crea Hook LoRA (Solo Modello)",
    "inputs": {
      "lora_name": {
        "name": "lora_name"
      },
      "prev_hooks": {
        "name": "prev_hooks"
      },
      "strength_model": {
        "name": "strength_model"
      }
    }
  },
  "CreateHookModelAsLora": {
    "display_name": "Crea Hook Modello come 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": "Crea Hook Modello come LoRA (Solo Modello)",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name"
      },
      "prev_hooks": {
        "name": "prev_hooks"
      },
      "strength_model": {
        "name": "strength_model"
      }
    }
  },
  "CreateList": {
    "display_name": "Crea Lista",
    "inputs": {
      "inputs": {
        "name": "inputs"
      }
    },
    "outputs": {
      "0": {
        "name": "lista",
        "tooltip": null
      }
    }
  },
  "CreateVideo": {
    "description": "Crea un video da immagini.",
    "display_name": "Crea Video",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "L'audio da aggiungere al video."
      },
      "bit_depth": {
        "name": "bit_depth",
        "tooltip": "Profondità di bit del video creato. 10-bit mantiene gradienti più uniformi con meno banding, ma alcuni player e nodi a valle potrebbero non supportarlo."
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "immagini",
        "tooltip": "Le immagini da cui creare un video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CropByBBoxes": {
    "description": "Ritaglia e ridimensiona le regioni dal batch di immagini di input in base ai riquadri di delimitazione forniti.",
    "display_name": "Ritaglia per riquadri di delimitazione",
    "inputs": {
      "bboxes": {
        "name": "riquadri"
      },
      "image": {
        "name": "immagine"
      },
      "keep_aspect": {
        "name": "mantieni_proporzioni",
        "tooltip": "Se allungare il ritaglio per adattarlo alla dimensione di output o aggiungere pixel neri per preservare il rapporto d'aspetto."
      },
      "output_height": {
        "name": "altezza_output",
        "tooltip": "Altezza a cui ogni ritaglio viene ridimensionato."
      },
      "output_width": {
        "name": "larghezza_output",
        "tooltip": "Larghezza a cui ogni ritaglio viene ridimensionato."
      },
      "padding": {
        "name": "margine",
        "tooltip": "Margine extra in pixel aggiunto su ogni lato del riquadro prima del ritaglio."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Tutti i ritagli impilati in un unico batch di immagini."
      }
    }
  },
  "CropMask": {
    "display_name": "Ritaglia Maschera",
    "inputs": {
      "height": {
        "name": "altezza"
      },
      "mask": {
        "name": "maschera"
      },
      "width": {
        "name": "larghezza"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CurveEditor": {
    "display_name": "Editor Curve",
    "inputs": {
      "curve": {
        "name": "curva"
      },
      "histogram": {
        "name": "istogramma"
      }
    },
    "outputs": {
      "0": {
        "name": "curva",
        "tooltip": null
      }
    }
  },
  "CustomCombo": {
    "display_name": "Combinazione Personalizzata",
    "inputs": {
      "choice": {
        "name": "scelta"
      },
      "index": {},
      "option1": {}
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "INDICE",
        "tooltip": null
      }
    }
  },
  "DA3GeometryToMesh": {
    "description": "Converte una mappa di profondità in una mesh 3D triangolata.",
    "display_name": "Converti DA3 Geometry in Mesh",
    "inputs": {
      "batch_index": {
        "name": "indice_batch",
        "tooltip": "Quale immagine di un batch convertire. Il numero di vertici per immagine differisce, quindi i batch non possono essere impilati."
      },
      "confidence_threshold": {
        "name": "soglia_confidenza",
        "tooltip": "Escludi i pixel la cui confidenza normalizzata per immagine è inferiore a questo valore (0 = mantieni tutti, 1 = mantieni solo il pixel più affidabile). Usato quando la geometria ha una mappa di confidenza (modelli Small/Base)."
      },
      "da3_geometry": {
        "name": "da3_geometry"
      },
      "decimation": {
        "name": "decimazione",
        "tooltip": "Passo dei vertici. 1 = risoluzione completa, 2 = metà, ecc."
      },
      "discontinuity_threshold": {
        "name": "soglia_discontinuità",
        "tooltip": "Elimina i triangoli la cui profondità su 3x3 supera questa frazione. 0 = disattivato."
      },
      "texture": {
        "name": "texture",
        "tooltip": "Usa l'immagine sorgente come texture di colore base."
      },
      "use_sky_mask": {
        "name": "usa_maschera_cielo",
        "tooltip": "Escludi i pixel con probabilità cielo (cielo >= 0.5) dalla mesh. Usato quando la geometria ha una mappa cielo (modelli Mono/Metric)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DA3Inference": {
    "description": "Esegui Depth Anything 3 su un'immagine. In modalità multi-view, ogni immagine viene trattata come una vista separata della stessa scena.",
    "display_name": "Esegui Depth Anything 3",
    "inputs": {
      "da3_model": {
        "name": "da3_model"
      },
      "image": {
        "name": "image"
      },
      "mode": {
        "name": "modalità",
        "tooltip": "mono: immagine a vista singola (funziona con qualsiasi variante del modello).\nmultiview: tutte le immagini vengono elaborate insieme per coerenza geometrica + posizione della fotocamera (solo per modelli Small/Base)."
      },
      "resize_method": {
        "name": "metodo_ridimensionamento",
        "tooltip": "upper_bound_resize: scala in modo che il lato più lungo = risoluzione (limita la memoria, predefinito).\nlower_bound_resize: scala in modo che il lato più corto = risoluzione (preserva più dettagli su immagini alte/larghe, usa più memoria)."
      },
      "resolution": {
        "name": "risoluzione",
        "tooltip": "Risoluzione a cui il modello viene eseguito (lato più lungo, multiplo di 14).\nPiù bassa = più veloce / meno VRAM.\nPiù alta = più dettaglio.\nL'output viene ricampionato alla dimensione originale."
      }
    },
    "outputs": {
      "0": {
        "name": "da3_geometry",
        "tooltip": "Dizionario di tensori non normalizzati.\nContiene sempre le chiavi: depth, image, mode.\nChiavi opzionali: sky (per Mono/Metric), confidence (per Small/Base), extrinsics + intrinsics (per multi-view)."
      }
    }
  },
  "DA3Render": {
    "description": "Renderizza una mappa di profondità, una mappa di confidenza o una maschera cielo dai dati geometrici di Depth Anything 3.",
    "display_name": "Renderizza Depth Anything 3",
    "inputs": {
      "da3_geometry": {
        "name": "da3_geometry"
      },
      "output": {
        "name": "output",
        "tooltip": "- depth: immagine di profondità in scala di grigi normalizzata.\n- depth_colored: profondità mappata tramite la colormap Turbo.\n- sky_mask: probabilità cielo in [0, 1] (solo per modelli Mono/Metric).\n- confidence: confidenza profondità normalizzata (solo per modelli Small/Base)."
      },
      "output_apply_sky_clip": {
        "name": "apply_sky_clip"
      },
      "output_normalization": {
        "name": "normalizzazione"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DiffControlNetLoader": {
    "display_name": "Carica Modello ControlNet (diff)",
    "inputs": {
      "control_net_name": {
        "name": "control_net_name"
      },
      "model": {
        "name": "model"
      }
    }
  },
  "DifferentialDiffusion": {
    "display_name": "Diffusione Differenziale",
    "inputs": {
      "model": {
        "name": "model"
      },
      "strength": {
        "name": "forza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DiffusersLoader": {
    "display_name": "Carica Modello Diffusers (DEPRECATO)",
    "inputs": {
      "model_path": {
        "name": "percorso_modello"
      }
    }
  },
  "DisableNoise": {
    "display_name": "Disabilita Rumore",
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DrawBBoxes": {
    "display_name": "Disegna BBoxes",
    "inputs": {
      "bboxes": {
        "name": "bboxes"
      },
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "name": "out_image",
        "tooltip": null
      }
    }
  },
  "DualCFGGuider": {
    "display_name": "Dual CFG Guider",
    "inputs": {
      "cfg_cond2_negative": {
        "name": "cfg_cond2_negative"
      },
      "cfg_conds": {
        "name": "cfg_conds"
      },
      "cond1": {
        "name": "cond1"
      },
      "cond2": {
        "name": "cond2"
      },
      "model": {
        "name": "modello"
      },
      "negative": {
        "name": "negativo"
      },
      "style": {
        "name": "stile"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DualCLIPLoader": {
    "description": "Ricette:\nsdxl: clip-l, clip-g\nsd3: clip-l, clip-g / clip-l, t5 / clip-g, t5\nflux: clip-l, t5\nhidream: almeno uno tra t5 o llama, consigliato t5 e llama\nhunyuan_image: qwen2.5vl 7b e byt5 small\nnewbie: gemma-3-4b-it, jina clip v2",
    "display_name": "Carica CLIP (Duale)",
    "inputs": {
      "clip_name1": {
        "name": "clip_name1"
      },
      "clip_name2": {
        "name": "clip_name2"
      },
      "device": {
        "name": "dispositivo"
      },
      "type": {
        "name": "tipo"
      }
    }
  },
  "DualModelGuider": {
    "display_name": "Dual Model CFG Guider",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello utilizzato per il passaggio positivo (condizionale)."
      },
      "model_negative": {
        "name": "modello_negativo",
        "tooltip": "Modello utilizzato per il passaggio negativo (incondizionato). Usa lo stesso modello per CFG ordinario."
      },
      "negative": {
        "name": "negativo",
        "tooltip": "Condizionamento negativo eseguito sul modello negativo. Lasciare scollegato per un passaggio incondizionato senza testo (solo immagine)."
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EasyCache": {
    "description": "Implementazione nativa di EasyCache.",
    "display_name": "EasyCache",
    "inputs": {
      "end_percent": {
        "name": "percentuale_fine",
        "tooltip": "Il passaggio relativo di campionamento in cui terminare l'uso di EasyCache."
      },
      "model": {
        "name": "modello",
        "tooltip": "Il modello a cui aggiungere EasyCache."
      },
      "reuse_threshold": {
        "name": "soglia_riutilizzo",
        "tooltip": "La soglia per il riutilizzo dei passaggi memorizzati nella cache."
      },
      "start_percent": {
        "name": "percentuale_inizio",
        "tooltip": "Il passaggio relativo di campionamento da cui iniziare a usare EasyCache."
      },
      "verbose": {
        "name": "verboso",
        "tooltip": "Se registrare informazioni dettagliate."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il modello con EasyCache."
      }
    }
  },
  "ElevenLabsAudioIsolation": {
    "description": "Rimuovi il rumore di fondo dall'audio, isolando la voce o il parlato.",
    "display_name": "Isolamento Voce ElevenLabs",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio da elaborare per la rimozione del rumore di fondo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsInstantVoiceClone": {
    "description": "Crea una voce clonata da campioni audio. Fornisci da 1 a 8 registrazioni audio della voce da clonare.",
    "display_name": "ElevenLabs Instant Voice Clone",
    "inputs": {
      "files": {
        "name": "files",
        "tooltip": "Registrazioni audio per la clonazione della voce."
      },
      "remove_background_noise": {
        "name": "remove_background_noise",
        "tooltip": "Rimuovi il rumore di fondo dai campioni vocali utilizzando l'isolamento audio."
      }
    },
    "outputs": {
      "0": {
        "name": "voice",
        "tooltip": null
      }
    }
  },
  "ElevenLabsSpeechToSpeech": {
    "description": "Trasforma la voce da una sorgente a un'altra mantenendo il contenuto e l'emozione originali.",
    "display_name": "ElevenLabs Speech to Speech",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio sorgente da trasformare."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Modello da utilizzare per la trasformazione speech-to-speech."
      },
      "model_similarity_boost": {
        "name": "similarity_boost"
      },
      "model_speed": {
        "name": "speed"
      },
      "model_style": {
        "name": "style"
      },
      "model_use_speaker_boost": {
        "name": "use_speaker_boost"
      },
      "output_format": {
        "name": "output_format",
        "tooltip": "Formato di output audio."
      },
      "remove_background_noise": {
        "name": "remove_background_noise",
        "tooltip": "Rimuovi il rumore di fondo dall'audio di input utilizzando l'isolamento audio."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la riproducibilità."
      },
      "stability": {
        "name": "stability",
        "tooltip": "Stabilità della voce. Valori più bassi danno una gamma emotiva più ampia, valori più alti producono una voce più coerente ma potenzialmente monotona."
      },
      "voice": {
        "name": "voice",
        "tooltip": "Voce di destinazione per la trasformazione. Collega da Voice Selector o Instant Voice Clone."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsSpeechToText": {
    "description": "Trascrivi l'audio in testo. Supporta il rilevamento automatico della lingua, la diarizzazione dei parlanti e il tagging degli eventi audio.",
    "display_name": "ElevenLabs Speech to Text",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio da trascrivere."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "language_code": {
        "name": "language_code",
        "tooltip": "Codice lingua ISO-639-1 o ISO-639-3 (es. 'en', 'es', 'fra'). Lascia vuoto per il rilevamento automatico."
      },
      "model": {
        "name": "model",
        "tooltip": "Modello da utilizzare per la trascrizione."
      },
      "model_diarization_threshold": {
        "name": "diarization_threshold"
      },
      "model_diarize": {
        "name": "diarize"
      },
      "model_tag_audio_events": {
        "name": "tag_audio_events"
      },
      "model_temperature": {
        "name": "temperature"
      },
      "model_timestamps_granularity": {
        "name": "timestamps_granularity"
      },
      "num_speakers": {
        "name": "num_speakers",
        "tooltip": "Numero massimo di parlanti da prevedere. Imposta a 0 per il rilevamento automatico."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la riproducibilità (la determinazione non è garantita)."
      }
    },
    "outputs": {
      "0": {
        "name": "text",
        "tooltip": null
      },
      "1": {
        "name": "language_code",
        "tooltip": null
      },
      "2": {
        "name": "words_json",
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToDialogue": {
    "description": "Genera dialoghi multi-interlocutore da testo. Ogni voce del dialogo ha il proprio testo e voce.",
    "display_name": "ElevenLabs Testo in Dialogo",
    "inputs": {
      "apply_text_normalization": {
        "name": "applica normalizzazione testo",
        "tooltip": "Modalità di normalizzazione del testo. 'auto' lascia decidere al sistema, 'on' applica sempre la normalizzazione, 'off' la salta."
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "inputs": {
        "name": "voci dialogo",
        "tooltip": "Numero di voci del dialogo."
      },
      "inputs_text1": {
        "name": "testo1"
      },
      "language_code": {
        "name": "codice lingua",
        "tooltip": "Codice lingua ISO-639-1 o ISO-639-3 (es. 'en', 'es', 'fra'). Lascia vuoto per il rilevamento automatico."
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la generazione del dialogo."
      },
      "output_format": {
        "name": "formato output",
        "tooltip": "Formato audio di output."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la riproducibilità."
      },
      "stability": {
        "name": "stabilità",
        "tooltip": "Stabilità della voce. Valori più bassi danno una gamma emotiva più ampia, valori più alti producono una voce più coerente ma potenzialmente monotona."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToSoundEffects": {
    "description": "Genera effetti sonori da descrizioni testuali.",
    "display_name": "ElevenLabs Testo in Effetti Sonori",
    "inputs": {
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la generazione dell'effetto sonoro."
      },
      "model_duration": {
        "name": "durata"
      },
      "model_loop": {
        "name": "loop"
      },
      "model_prompt_influence": {
        "name": "influenza prompt"
      },
      "output_format": {
        "name": "formato output",
        "tooltip": "Formato audio di output."
      },
      "text": {
        "name": "testo",
        "tooltip": "Descrizione testuale dell'effetto sonoro da generare."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToSpeech": {
    "description": "Converti testo in voce.",
    "display_name": "ElevenLabs Text to Speech",
    "inputs": {
      "apply_text_normalization": {
        "name": "applica normalizzazione testo",
        "tooltip": "Modalità di normalizzazione del testo. 'auto' lascia decidere al sistema, 'on' applica sempre la normalizzazione, 'off' la salta."
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "language_code": {
        "name": "codice lingua",
        "tooltip": "Codice lingua ISO-639-1 o ISO-639-3 (es. 'en', 'es', 'fra'). Lascia vuoto per il rilevamento automatico."
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la conversione testo-in-voce."
      },
      "model_similarity_boost": {
        "name": "similarity_boost"
      },
      "model_speed": {
        "name": "velocità"
      },
      "model_style": {
        "name": "stile"
      },
      "model_use_speaker_boost": {
        "name": "use_speaker_boost"
      },
      "output_format": {
        "name": "formato output",
        "tooltip": "Formato di output audio."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la riproducibilità (determinismo non garantito)."
      },
      "stability": {
        "name": "stabilità",
        "tooltip": "Stabilità della voce. Valori più bassi danno una gamma emotiva più ampia, valori più alti producono una voce più coerente ma potenzialmente monotona."
      },
      "text": {
        "name": "testo",
        "tooltip": "Il testo da convertire in voce."
      },
      "voice": {
        "name": "voce",
        "tooltip": "Voce da utilizzare per la sintesi vocale. Collega dal Selettore Voce o Instant Voice Clone."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsVoiceSelector": {
    "description": "Seleziona una voce ElevenLabs predefinita per la generazione testo-in-voce.",
    "display_name": "Selettore Voce ElevenLabs",
    "inputs": {
      "voice": {
        "name": "voce",
        "tooltip": "Scegli una voce tra quelle predefinite di ElevenLabs."
      }
    },
    "outputs": {
      "0": {
        "name": "voce",
        "tooltip": null
      }
    }
  },
  "EmptyARVideoLatent": {
    "display_name": "EmptyARVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAceStep1_5LatentAudio": {
    "display_name": "Empty Ace Step 1.5 Latent Audio",
    "inputs": {
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Il numero di immagini latenti nel batch."
      },
      "seconds": {
        "name": "secondi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAceStepLatentAudio": {
    "display_name": "Empty Ace Step 1.0 Latent Audio",
    "inputs": {
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Il numero di immagini latenti nel batch."
      },
      "seconds": {
        "name": "secondi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAudio": {
    "display_name": "Audio Vuoto",
    "inputs": {
      "channels": {
        "name": "canali",
        "tooltip": "Numero di canali audio (1 per mono, 2 per stereo)."
      },
      "duration": {
        "name": "durata",
        "tooltip": "Durata della clip audio vuota in secondi"
      },
      "sample_rate": {
        "name": "frequenza di campionamento",
        "tooltip": "Frequenza di campionamento della clip audio vuota."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyChromaRadianceLatentImage": {
    "display_name": "Immagine Latent Vuota ChromaRadiance",
    "inputs": {
      "batch_size": {
        "name": "dimensione batch"
      },
      "height": {
        "name": "altezza"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyCosmosLatentVideo": {
    "display_name": "Video Latent Vuoto Cosmos",
    "inputs": {
      "batch_size": {
        "name": "dimensione batch"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyFlux2LatentImage": {
    "display_name": "Empty Flux 2 Latent",
    "inputs": {
      "batch_size": {
        "name": "dimensione batch"
      },
      "height": {
        "name": "altezza"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHiDreamO1LatentImage": {
    "description": "Latent in pixel vuoto per HiDream-O1-Image. Il modello è stato addestrato a ~4 megapixel; risoluzioni inferiori vanno fuori distribuzione e la qualità regredisce notevolmente. Risoluzioni addestrate: 2048x2048, 2304x1728, 1728x2304, 2560x1440, 1440x2560, 2496x1664, 1664x2496, 3104x1312, 1312x3104, 2304x1792, 1792x2304.",
    "display_name": "Immagine Latent Vuota HiDream-O1",
    "inputs": {
      "batch_size": {
        "name": "dimensione batch"
      },
      "height": {
        "name": "altezza"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanImageLatent": {
    "display_name": "Immagine Latent Vuota Hunyuan",
    "inputs": {
      "batch_size": {
        "name": "dimensione batch"
      },
      "height": {
        "name": "altezza"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanLatentVideo": {
    "display_name": "Video Latent Vuoto Hunyuan 1.0",
    "inputs": {
      "batch_size": {
        "name": "dimensione batch"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanVideo15Latent": {
    "display_name": "Empty HunyuanVideo 1.5 Latent",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyImage": {
    "display_name": "Immagine Vuota",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "color": {
        "name": "colore"
      },
      "height": {
        "name": "altezza"
      },
      "width": {
        "name": "larghezza"
      }
    }
  },
  "EmptyLTXVLatentVideo": {
    "display_name": "EmptyLTXVLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentAudio": {
    "display_name": "Audio Latent Vuoto",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch",
        "tooltip": "Il numero di immagini latenti nel batch."
      },
      "seconds": {
        "name": "secondi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentHunyuan3Dv2": {
    "display_name": "EmptyLatentHunyuan3Dv2",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch",
        "tooltip": "Il numero di immagini latenti nel batch."
      },
      "resolution": {
        "name": "risoluzione"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentImage": {
    "description": "Crea un nuovo batch di immagini latenti vuote da denoising tramite campionamento.",
    "display_name": "Immagine Latent Vuota",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch",
        "tooltip": "Il numero di immagini latenti nel batch."
      },
      "height": {
        "name": "altezza",
        "tooltip": "L'altezza delle immagini latenti in pixel."
      },
      "width": {
        "name": "larghezza",
        "tooltip": "La larghezza delle immagini latenti in pixel."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il batch di immagini latenti vuote."
      }
    }
  },
  "EmptyMiniMaxH3LatentAV": {
    "description": "Latent video+audio congiunto per MiniMax H3. La durata si adatta alla griglia del modello di 17k+5 frame a 24 fps.",
    "display_name": "MiniMax H3 AV Latent Vuoto",
    "inputs": {
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza",
        "tooltip": "Conteggio dei frame a 24 fps, arrotondato alla griglia del modello 17k+5 (124 = ~5s; intervallo di addestramento ~124-362, valori superiori non testati)"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyMochiLatentVideo": {
    "display_name": "EmptyMochiLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyQwenImageLayeredLatentImage": {
    "display_name": "Immagine Latent Stratificata Vuota Qwen",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "height": {
        "name": "altezza"
      },
      "layers": {
        "name": "livelli"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptySD3LatentImage": {
    "display_name": "Immagine Latent Vuota SD3",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "height": {
        "name": "altezza"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Epsilon Scaling": {
    "display_name": "Scalatura Epsilon",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "scaling_factor": {
        "name": "fattore_di_scalatura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ExponentialScheduler": {
    "display_name": "Scheduler Esponenziale",
    "inputs": {
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "passi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ExtendIntermediateSigmas": {
    "display_name": "Estendi Sigmas Intermedi",
    "inputs": {
      "end_at_sigma": {
        "name": "termina_a_sigma"
      },
      "sigmas": {
        "name": "sigmas"
      },
      "spacing": {
        "name": "spaziatura"
      },
      "start_at_sigma": {
        "name": "inizia_a_sigma"
      },
      "steps": {
        "name": "passi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FeatherMask": {
    "display_name": "Maschera Sfumata",
    "inputs": {
      "bottom": {
        "name": "basso"
      },
      "left": {
        "name": "sinistra"
      },
      "mask": {
        "name": "mask"
      },
      "right": {
        "name": "destra"
      },
      "top": {
        "name": "alto"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "File3DToSplat": {
    "description": "Analizza un file 3D splat in uno splat gaussiano. Inverso di Crea File 3D (da Splat). Formati supportati: PLY, SPLAT, KSPLAT, SPZ. PLY contiene armoniche sferiche complete, gli altri formati solo colore base. Il formato viene rilevato automaticamente dal contenuto del file.",
    "display_name": "Ottieni Splat",
    "inputs": {
      "model_3d": {
        "name": "modello_3d",
        "tooltip": "Un file 3D splat gaussiano"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "FlipSigmas": {
    "display_name": "Inverti Sigmas",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2ImageNode": {
    "description": "Genera immagini tramite Flux.2 [pro] o Flux.2 [max] da un prompt e immagini di riferimento opzionali.",
    "display_name": "Flux.2 Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello"
      },
      "model_height": {
        "name": "altezza"
      },
      "model_width": {
        "name": "larghezza"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione o modifica dell'immagine"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2MaxImageNode": {
    "description": "Genera immagini in modo sincrono in base al prompt e alla risoluzione.",
    "display_name": "Flux.2 [max] Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "height": {
        "name": "altezza"
      },
      "images": {
        "name": "immagini",
        "tooltip": "Fino a 9 immagini da utilizzare come riferimento."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione o modifica dell'immagine"
      },
      "prompt_upsampling": {
        "name": "upsampling del prompt",
        "tooltip": "Se eseguire l'upsampling sul prompt. Se attivo, modifica automaticamente il prompt per una generazione più creativa."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2ProImageNode": {
    "description": "Genera immagini in modo sincrono in base al prompt e alla risoluzione.",
    "display_name": "Flux.2 [pro] Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "height": {
        "name": "altezza"
      },
      "images": {
        "name": "immagini",
        "tooltip": "Fino a 9 immagini da utilizzare come riferimento."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione o modifica dell'immagine"
      },
      "prompt_upsampling": {
        "name": "upsampling del prompt",
        "tooltip": "Se eseguire l'upsampling sul prompt. Se attivo, modifica automaticamente il prompt per una generazione più creativa."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2Scheduler": {
    "display_name": "Flux2Scheduler",
    "inputs": {
      "height": {
        "name": "altezza"
      },
      "steps": {
        "name": "passaggi"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux3ImageToVideoNode": {
    "description": "Anima da 1 a 10 immagini con FLUX 3. Ogni immagine diventa un fotogramma del clip: una immagine lo apre, due fanno una transizione dalla prima alla seconda, e più immagini vengono distribuite nel clip o fissate ai tempi che scegli.",
    "display_name": "Flux 3 Da Immagine a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Rapporto d’aspetto dell’output. 'auto' ne sceglie uno dal prompt e dagli input."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Durata del clip in secondi. 'auto' adatta la lunghezza al contenuto."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Genera audio sincronizzato (ambiente, parlato, effetti). Disattivato produce un video senza traccia audio."
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Da 1 a 10 immagini, nell’ordine di riproduzione. Minimo 256x256 pixel ciascuna."
      },
      "placement": {
        "name": "placement",
        "tooltip": "'distribuite nel clip' lascia che FLUX 3 posizioni le immagini (una apre il clip, due diventano inizio e fine); 'a tempi' fissa ogni immagine a un secondo scelto da te."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Come la scena dovrebbe muoversi e suonare; il prompt viene interpretato ed espanso prima della generazione."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Risoluzione dell’output."
      },
      "safety_tolerance": {
        "name": "safety_tolerance",
        "tooltip": "Tolleranza di moderazione, 0 è la più restrittiva. Le richieste che inviano immagini o video sono limitate a 2 indipendentemente da quanto imposti qui."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; FLUX 3 sceglie il proprio seed, quindi i risultati effettivi sono non deterministici a prescindere da questo valore."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux3TextToVideoNode": {
    "description": "Genera un video con audio sincronizzato da un prompt testuale tramite FLUX 3.",
    "display_name": "Flux 3 Da Testo a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Rapporto d’aspetto dell’output. 'auto' ne sceglie uno dal prompt e dagli input."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Durata del clip in secondi. 'auto' adatta la lunghezza al contenuto."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Genera audio sincronizzato (ambiente, parlato, effetti). Disattivato produce un video senza traccia audio."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Cosa desideri, in linguaggio naturale; il prompt viene interpretato ed espanso prima della generazione. Descrivi separatamente suono ambientale, musica e parlato per un audio stratificato."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Risoluzione dell’output."
      },
      "safety_tolerance": {
        "name": "safety_tolerance",
        "tooltip": "Tolleranza di moderazione, 0 è la più restrittiva. Le richieste che inviano immagini o video sono limitate a 2 indipendentemente da quanto imposti qui."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; FLUX 3 sceglie il proprio seed, quindi i risultati effettivi sono non deterministici a prescindere da questo valore."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux3VideoContinuationNode": {
    "description": "Continua un video con FLUX 3: la nuova clip prosegue dalle ultime immagini di quella fornita.",
    "display_name": "Flux 3 Continuazione Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Rapporto d'aspetto di output. 'auto' ne sceglie uno dal prompt e dagli input."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Durata della clip in secondi. 'auto' adatta la lunghezza al contenuto."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Genera audio sincronizzato (ambiente, parlato, effetti). Disattivato produce un video senza traccia audio."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Cosa dovrebbe mostrare la continuazione; il prompt viene interpretato ed espanso prima della generazione."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Risoluzione di output."
      },
      "safety_tolerance": {
        "name": "safety_tolerance",
        "tooltip": "Tolleranza di moderazione, 0 è la più rigorosa. Le richieste che inviano immagini o video sono limitate a 2 indipendentemente dal valore impostato qui."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; FLUX 3 sceglie il proprio seed, quindi i risultati effettivi sono non deterministici indipendentemente da questo valore."
      },
      "video": {
        "name": "video",
        "tooltip": "La clip da continuare."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxDisableGuidance": {
    "description": "Questo nodo disabilita completamente l'embedding di guida su Flux e modelli simili a Flux",
    "display_name": "FluxDisabilitaGuida",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxEraseNode": {
    "description": "Rimuove l'oggetto mascherato da un'immagine e ricostruisce lo sfondo. Dipingi la maschera su ciò che vuoi cancellare.",
    "display_name": "Flux Cancella Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "dilate_pixels": {
        "name": "dilate_pixels",
        "tooltip": "Espande i bordi della maschera per garantire una copertura pulita dei bordi dell'oggetto."
      },
      "image": {
        "name": "image"
      },
      "mask": {
        "name": "mask",
        "tooltip": "Le aree bianche vengono rimosse; quelle nere vengono preservate."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxGuidance": {
    "display_name": "FluxGuida",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "guidance": {
        "name": "guidance"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKVCache": {
    "description": "Abilita l'ottimizzazione KV Cache per immagini di riferimento sui modelli della famiglia Flux.",
    "display_name": "Flux KV Cache",
    "inputs": {
      "model": {
        "name": "model",
        "tooltip": "Il modello su cui abilitare KV Cache."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il modello patchato con KV Cache abilitato."
      }
    }
  },
  "FluxKontextImageScale": {
    "description": "Questo nodo ridimensiona l'immagine a una più ottimale per flux kontext.",
    "display_name": "FluxKontextRidimensionaImmagine",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextMaxImageNode": {
    "description": "Modifica immagini utilizzando Flux.1 Kontext [pro] tramite API in base al prompt e al rapporto d'aspetto.",
    "display_name": "Flux.1 Kontext [max] Immagine",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Rapporto d'aspetto dell'immagine; deve essere compreso tra 1:4 e 4:1."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "guidance": {
        "name": "guidance",
        "tooltip": "Intensità della guida per il processo di generazione dell'immagine"
      },
      "input_image": {
        "name": "input_image"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine - specifica cosa e come modificare."
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Se eseguire l'upsampling sul prompt. Se attivo, modifica automaticamente il prompt per una generazione più creativa, ma i risultati sono non deterministici (lo stesso seed non produrrà esattamente lo stesso risultato)."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      },
      "steps": {
        "name": "steps",
        "tooltip": "Numero di passaggi per il processo di generazione dell'immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextMultiReferenceLatentMethod": {
    "display_name": "Modifica Metodo di Riferimento Modello",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "reference_latents_method": {
        "name": "reference_latents_method"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextProImageNode": {
    "description": "Modifica immagini utilizzando Flux.1 Kontext [pro] tramite API in base al prompt e al rapporto d'aspetto.",
    "display_name": "Flux.1 Kontext [pro] Immagine",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Rapporto d'aspetto dell'immagine; deve essere compreso tra 1:4 e 4:1."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "guidance": {
        "name": "guidance",
        "tooltip": "Intensità della guida per il processo di generazione dell'immagine"
      },
      "input_image": {
        "name": "input_image"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine - specifica cosa e come modificare."
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Se eseguire l'upsampling sul prompt. Se attivo, modifica automaticamente il prompt per una generazione più creativa, ma i risultati sono non deterministici (lo stesso seed non produrrà esattamente lo stesso risultato)."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      },
      "steps": {
        "name": "steps",
        "tooltip": "Numero di passaggi per il processo di generazione dell'immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProExpandNode": {
    "description": "Espande l'immagine in base al prompt.",
    "display_name": "Flux.1 Espandi Immagine",
    "inputs": {
      "bottom": {
        "name": "basso",
        "tooltip": "Numero di pixel da espandere nella parte inferiore dell'immagine"
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "guidance": {
        "name": "guida",
        "tooltip": "Intensità della guida per il processo di generazione dell'immagine"
      },
      "image": {
        "name": "immagine"
      },
      "left": {
        "name": "sinistra",
        "tooltip": "Numero di pixel da espandere a sinistra dell'immagine"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine"
      },
      "prompt_upsampling": {
        "name": "upsampling prompt",
        "tooltip": "Se eseguire l'upsampling sul prompt. Se attivo, modifica automaticamente il prompt per una generazione più creativa, ma i risultati non sono deterministici (lo stesso seed non produrrà esattamente lo stesso risultato)."
      },
      "right": {
        "name": "destra",
        "tooltip": "Numero di pixel da espandere a destra dell'immagine"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      },
      "steps": {
        "name": "passi",
        "tooltip": "Numero di passi per il processo di generazione dell'immagine"
      },
      "top": {
        "name": "alto",
        "tooltip": "Numero di pixel da espandere nella parte superiore dell'immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProFillNode": {
    "description": "Riempe l'immagine in base alla mask e al prompt.",
    "display_name": "Flux.1 Riempi Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "guidance": {
        "name": "guida",
        "tooltip": "Intensità della guida per il processo di generazione dell'immagine"
      },
      "image": {
        "name": "immagine"
      },
      "mask": {
        "name": "mask"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine"
      },
      "prompt_upsampling": {
        "name": "upsampling prompt",
        "tooltip": "Se eseguire l'upsampling sul prompt. Se attivo, modifica automaticamente il prompt per una generazione più creativa, ma i risultati non sono deterministici (lo stesso seed non produrrà esattamente lo stesso risultato)."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      },
      "steps": {
        "name": "passi",
        "tooltip": "Numero di passi per il processo di generazione dell'immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProUltraImageNode": {
    "description": "Genera immagini utilizzando Flux Pro 1.1 Ultra tramite API in base al prompt e alla risoluzione.",
    "display_name": "Flux 1.1 [pro] Ultra Image",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Rapporto d'aspetto dell'immagine; deve essere compreso tra 1:4 e 4:1."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image_prompt": {
        "name": "image_prompt"
      },
      "image_prompt_strength": {
        "name": "image_prompt_strength",
        "tooltip": "Fusione tra il prompt e l'image prompt."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine"
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Se eseguire l'upsampling sul prompt. Se attivo, modifica automaticamente il prompt per una generazione più creativa, ma i risultati non sono deterministici (lo stesso seed non produrrà esattamente lo stesso risultato)."
      },
      "raw": {
        "name": "raw",
        "tooltip": "Se attivo, genera immagini meno elaborate e dall'aspetto più naturale."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxVTONode": {
    "description": "Prova virtuale: veste la persona con il capo fornito.",
    "display_name": "Flux Virtual Try-On",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "garment": {
        "name": "garment",
        "tooltip": "Immagine del capo da applicare."
      },
      "person": {
        "name": "person",
        "tooltip": "Immagine della persona da vestire."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Istruzione opzionale in linguaggio naturale per lo stile (ad es. come dovrebbe calzare il capo)."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FrameInterpolate": {
    "display_name": "Esegui Modello di Interpolazione Frame",
    "inputs": {
      "images": {
        "name": "images"
      },
      "interp_model": {
        "name": "interp_model"
      },
      "multiplier": {
        "name": "multiplier"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FrameInterpolationModelLoader": {
    "display_name": "Carica Modello di Interpolazione Frame",
    "inputs": {
      "model_name": {
        "name": "model_name",
        "tooltip": "Seleziona un modello di interpolazione frame da caricare. I modelli devono essere inseriti nella cartella 'frame_interpolation'."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FreSca": {
    "description": "Applica una scalatura dipendente dalla frequenza alla guida",
    "display_name": "FreSca",
    "inputs": {
      "freq_cutoff": {
        "name": "freq_cutoff",
        "tooltip": "Numero di indici di frequenza intorno al centro da considerare come bassa frequenza"
      },
      "model": {
        "name": "model"
      },
      "scale_high": {
        "name": "scale_high",
        "tooltip": "Fattore di scala per le componenti ad alta frequenza"
      },
      "scale_low": {
        "name": "scale_low",
        "tooltip": "Fattore di scala per le componenti a bassa frequenza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FreeU": {
    "display_name": "FreeU",
    "inputs": {
      "b1": {
        "name": "b1"
      },
      "b2": {
        "name": "b2"
      },
      "model": {
        "name": "model"
      },
      "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": "model"
      },
      "s1": {
        "name": "s1"
      },
      "s2": {
        "name": "s2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GITSScheduler": {
    "display_name": "GITSScheduler",
    "inputs": {
      "coeff": {
        "name": "coefficiente"
      },
      "denoise": {
        "name": "denoise"
      },
      "steps": {
        "name": "passi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GLIGENLoader": {
    "display_name": "Carica Modello GLIGEN",
    "inputs": {
      "gligen_name": {
        "name": "gligen_name"
      }
    }
  },
  "GLIGENTextBoxApply": {
    "display_name": "Applica GLIGEN Text Box",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "conditioning_to": {
        "name": "conditioning_to"
      },
      "gligen_textbox_model": {
        "name": "gligen_textbox_model"
      },
      "height": {
        "name": "altezza"
      },
      "text": {
        "name": "testo"
      },
      "width": {
        "name": "larghezza"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "GLSLShader": {
    "description": "Applica shader di frammenti GLSL ES alle immagini. u_resolution (vec2) è sempre disponibile.",
    "display_name": "Shader GLSL",
    "inputs": {
      "bools": {
        "name": "booleani",
        "tooltip": "I booleani sono disponibili come u_bool0-9 (bool) nel codice dello shader"
      },
      "curves": {
        "name": "curve",
        "tooltip": "Le curve sono disponibili come u_curve0-3 (sampler2D, 1D LUT) nel codice dello shader. Campiona con texture(u_curve0, vec2(x, 0.5)).r"
      },
      "floats": {
        "name": "float",
        "tooltip": "I float sono disponibili come u_float0-19 nel codice dello shader"
      },
      "fragment_shader": {
        "name": "fragment_shader",
        "tooltip": "Codice sorgente dello shader di frammento GLSL (compatibile con GLSL ES 3.00 / WebGL 2.0)"
      },
      "images": {
        "name": "immagini",
        "tooltip": "Le immagini sono disponibili come u_image0-4 (sampler2D) nel codice dello shader"
      },
      "ints": {
        "name": "interi",
        "tooltip": "Gli interi sono disponibili come u_int0-19 nel codice dello shader"
      },
      "size_mode": {
        "name": "modalità_dimensione",
        "tooltip": "Dimensione output: 'from_input' usa le dimensioni della prima immagine in input, 'custom' permette dimensioni manuali"
      }
    },
    "outputs": {
      "0": {
        "name": "IMMAGINE0",
        "tooltip": "Disponibile tramite layout(location = 0) out vec4 fragColor0 nel codice dello shader"
      },
      "1": {
        "name": "IMMAGINE1",
        "tooltip": "Disponibile tramite layout(location = 1) out vec4 fragColor1 nel codice dello shader"
      },
      "2": {
        "name": "IMMAGINE2",
        "tooltip": "Disponibile tramite layout(location = 2) out vec4 fragColor2 nel codice dello shader"
      },
      "3": {
        "name": "IMMAGINE3",
        "tooltip": "Disponibile tramite layout(location = 3) out vec4 fragColor3 nel codice dello shader"
      }
    }
  },
  "GeminiImage2Node": {
    "description": "Genera o modifica immagini in modo sincrono tramite Google Vertex API.",
    "display_name": "Nano Banana Pro (Google Gemini Image)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Se impostato su 'auto', corrisponde al rapporto d'aspetto dell'immagine di input; se non viene fornita un'immagine, viene solitamente generato un quadrato 16:9."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "File opzionali da usare come contesto per il modello. Accetta input dal nodo Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Immagine/i di riferimento opzionale/i. Per includere più immagini, usa il nodo Batch Images (fino a 14)."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale che descrive l'immagine da generare o le modifiche da applicare. Includi eventuali vincoli, stili o dettagli che il modello deve seguire."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Risoluzione di output desiderata. Per 2K/4K viene utilizzato l'upscaler nativo Gemini."
      },
      "response_modalities": {
        "name": "response_modalities",
        "tooltip": "Scegli 'IMAGE' per un output solo immagine, oppure 'IMAGE+TEXT' per restituire sia l'immagine generata che una risposta testuale."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Quando il seed è fissato a un valore specifico, il modello cerca di fornire la stessa risposta per richieste ripetute. L'output deterministico non è garantito. Inoltre, cambiare il modello o i parametri, come la temperatura, può causare variazioni nella risposta anche usando lo stesso seed. Di default viene usato un seed casuale."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Istruzioni fondamentali che determinano il comportamento dell'AI."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GeminiImageNode": {
    "description": "Modifica immagini in modo sincrono tramite Google API.",
    "display_name": "Nano Banana (Google Gemini Image)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Per impostazione predefinita, la dimensione dell'immagine generata corrisponde a quella dell'immagine di input, oppure genera quadrati 1:1."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "File opzionale/i da usare come contesto per il modello. Accetta input dal nodo Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Immagine/i opzionale/i da usare come contesto per il modello. Per includere più immagini, puoi usare il nodo Batch Images."
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello Gemini da utilizzare per generare le risposte."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per la generazione"
      },
      "response_modalities": {
        "name": "response_modalities",
        "tooltip": "Scegli 'IMAGE' per un output solo immagine, oppure 'IMAGE+TEXT' per restituire sia l'immagine generata che una risposta testuale."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Quando il seed è fissato a un valore specifico, il modello cerca di fornire la stessa risposta per richieste ripetute. L'output deterministico non è garantito. Inoltre, cambiare il modello o le impostazioni dei parametri, come la temperatura, può causare variazioni nella risposta anche utilizzando lo stesso seed. Per impostazione predefinita viene utilizzato un seed casuale."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Istruzioni fondamentali che determinano il comportamento dell'IA."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GeminiInputFiles": {
    "description": "Carica e prepara i file di input da includere come input per i nodi Gemini LLM. I file verranno letti dal modello Gemini durante la generazione della risposta. Il contenuto del file di testo conta ai fini del limite di token. 🛈 SUGGERIMENTO: Può essere concatenato con altri nodi Gemini Input File.",
    "display_name": "Gemini Input Files",
    "inputs": {
      "GEMINI_INPUT_FILES": {
        "name": "GEMINI_INPUT_FILES",
        "tooltip": "Un file aggiuntivo opzionale da raggruppare insieme al file caricato da questo nodo. Permette di concatenare file di input in modo che un singolo messaggio possa includere più file di input."
      },
      "file": {
        "name": "file",
        "tooltip": "File di input da includere come contesto per il modello. Attualmente accetta solo file di testo (.txt) e PDF (.pdf)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiNanoBanana2": {
    "description": "Genera o modifica immagini in modo sincrono tramite Google Vertex API.",
    "display_name": "Nano Banana 2",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Se impostato su 'auto', corrisponde al rapporto d'aspetto dell'immagine di input; se non viene fornita alcuna immagine, viene solitamente generato un quadrato 16:9."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "File opzionali da utilizzare come contesto per il modello. Accetta input dal nodo Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Immagine/i di riferimento opzionale/i. Per includere più immagini, utilizza il nodo Batch Images (fino a 14)."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale che descrive l'immagine da generare o le modifiche da applicare. Includi eventuali vincoli, stili o dettagli che il modello deve seguire."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Risoluzione di output desiderata. Per 2K/4K viene utilizzato l'upscaler nativo Gemini."
      },
      "response_modalities": {
        "name": "response_modalities"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Quando il seed è fissato a un valore specifico, il modello cerca di fornire la stessa risposta per richieste ripetute. L'output deterministico non è garantito. Inoltre, cambiare il modello o le impostazioni dei parametri, come la temperatura, può causare variazioni nella risposta anche utilizzando lo stesso seed. Per impostazione predefinita viene utilizzato un seed casuale."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Istruzioni fondamentali che determinano il comportamento dell'AI."
      },
      "thinking_level": {
        "name": "thinking_level"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "thought_image",
        "tooltip": "Prima immagine dal processo di pensiero del modello. Disponibile solo con thinking_level HIGH e modalità IMAGE+TEXT."
      }
    }
  },
  "GeminiNanoBanana2V2": {
    "description": "Genera o modifica immagini in modo sincrono tramite Google Vertex API.",
    "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": "Prompt testuale che descrive l'immagine da generare o le modifiche da applicare. Includi eventuali vincoli, stili o dettagli che il modello deve seguire."
      },
      "response_modalities": {
        "name": "response_modalities"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Quando il seed è fissato a un valore specifico, il modello cerca di fornire la stessa risposta per richieste ripetute. L'output deterministico non è garantito. Inoltre, cambiare il modello o le impostazioni dei parametri, come la temperatura, può causare variazioni nella risposta anche utilizzando lo stesso seed. Per impostazione predefinita viene utilizzato un seed casuale."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Istruzioni fondamentali che determinano il comportamento dell'IA."
      },
      "temperature": {
        "name": "temperature",
        "tooltip": "Controlla la casualità nella generazione. Un valore basso è più focalizzato/deterministico."
      },
      "top_p": {
        "name": "top_p",
        "tooltip": "Soglia di campionamento nucleus. Un valore basso è più focalizzato, uno alto più diversificato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "thought_image",
        "tooltip": "Prima immagine dal processo di pensiero del modello. Disponibile solo con thinking_level HIGH e modalità IMAGE+TEXT."
      }
    }
  },
  "GeminiNode": {
    "description": "Genera risposte testuali con il modello Gemini AI di Google. Puoi fornire diversi tipi di input (testo, immagini, audio, video) come contesto per generare risposte più pertinenti e significative.",
    "display_name": "Google Gemini",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio opzionale da usare come contesto per il modello."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "File opzionale/i da usare come contesto per il modello. Accetta input dal nodo Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Immagine/i opzionale/i da usare come contesto per il modello. Per includere più immagini, puoi usare il nodo Batch Images."
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello Gemini da utilizzare per generare le risposte."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Input testuali per il modello, utilizzati per generare una risposta. Puoi includere istruzioni dettagliate, domande o contesto per il modello."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Quando il seed è fissato a un valore specifico, il modello cerca di fornire la stessa risposta per richieste ripetute. L'output deterministico non è garantito. Inoltre, cambiare il modello o le impostazioni dei parametri, come la temperatura, può causare variazioni nella risposta anche utilizzando lo stesso seed. Per impostazione predefinita viene utilizzato un seed casuale."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Istruzioni fondamentali che determinano il comportamento dell'IA."
      },
      "video": {
        "name": "video",
        "tooltip": "Video opzionale da usare come contesto per il modello."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiNodeV2": {
    "description": "Genera risposte testuali con i modelli Gemini di Google. Fornisci un prompt testuale e, opzionalmente, una o più immagini, clip audio, video o file come contesto multimodale.",
    "display_name": "Google Gemini",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello Gemini utilizzato per generare la risposta."
      },
      "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": "Input testuale per il modello. Includi istruzioni dettagliate, domande o contesto."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per il campionamento. Imposta a 0 per un seed casuale. L’output deterministico non è garantito."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Istruzioni fondamentali che determinano il comportamento del modello."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiVideoOmni": {
    "description": "Genera un video con audio da un prompt testuale utilizzando il modello Gemini Omni Flash di Google. Fornisci opzionalmente immagini e/o video di riferimento per guidare o modificare il risultato. Descrivi la lunghezza desiderata (3-10s) e il rapporto d’aspetto (16:9 o 9:16) direttamente nel prompt.",
    "display_name": "Google Gemini Omni (Video)",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello video Gemini utilizzato per generare il video."
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_temperature": {
        "name": "temperature"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GenerateTracks": {
    "display_name": "Genera Tracce Video",
    "inputs": {
      "bezier": {
        "name": "bezier",
        "tooltip": "Abilita il percorso a curva di Bezier usando il punto medio come punto di controllo."
      },
      "end_x": {
        "name": "end_x",
        "tooltip": "Coordinata X normalizzata (0-1) per la posizione finale."
      },
      "end_y": {
        "name": "end_y",
        "tooltip": "Coordinata Y normalizzata (0-1) per la posizione finale."
      },
      "height": {
        "name": "altezza"
      },
      "interpolation": {
        "name": "interpolazione",
        "tooltip": "Controlla il tempo/la velocità del movimento lungo il percorso."
      },
      "mid_x": {
        "name": "mid_x",
        "tooltip": "Punto di controllo X normalizzato per la curva di Bezier. Usato solo quando 'bezier' è abilitato."
      },
      "mid_y": {
        "name": "mid_y",
        "tooltip": "Punto di controllo Y normalizzato per la curva di Bezier. Usato solo quando 'bezier' è abilitato."
      },
      "num_frames": {
        "name": "num_frames"
      },
      "num_tracks": {
        "name": "num_tracks"
      },
      "start_x": {
        "name": "start_x",
        "tooltip": "Coordinata X normalizzata (0-1) per la posizione iniziale."
      },
      "start_y": {
        "name": "start_y",
        "tooltip": "Coordinata Y normalizzata (0-1) per la posizione iniziale."
      },
      "track_mask": {
        "name": "track_mask",
        "tooltip": "Maschera opzionale per indicare i frame visibili."
      },
      "track_spread": {
        "name": "track_spread",
        "tooltip": "Distanza normalizzata tra le tracce. Le tracce sono distribuite perpendicolarmente alla direzione del movimento."
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "lunghezza_traccia",
        "tooltip": null
      }
    }
  },
  "GetICLoRAParameters": {
    "description": "Estrae i parametri IC-LoRA dai metadati safetensors di un modello caricato con LoRA e li restituisce per LTXVAddGuide (es. reference_downscale_factor).",
    "display_name": "Ottieni Parametri IC-LoRA",
    "inputs": {
      "iclora_model": {
        "name": "iclora_model",
        "tooltip": "Output diretto da un LoRA Loader per lo specifico IC-LoRA da cui estrarre i metadati."
      }
    },
    "outputs": {
      "0": {
        "name": "iclora_parameters",
        "tooltip": "Parametri IC-LoRA estratti dai metadati LoRA (es. reference_downscale_factor). Collegare a LTXVAddGuide se il LoRA richiede una gestione speciale delle guide."
      }
    }
  },
  "GetImageSize": {
    "description": "Restituisce larghezza e altezza dell'immagine, lasciandola invariata.",
    "display_name": "Ottieni Dimensione Immagine",
    "inputs": {
      "image": {
        "name": "immagine"
      }
    },
    "outputs": {
      "0": {
        "name": "larghezza",
        "tooltip": null
      },
      "1": {
        "name": "altezza",
        "tooltip": null
      },
      "2": {
        "name": "dimensione_batch",
        "tooltip": null
      }
    }
  },
  "GetSplatCount": {
    "description": "Restituisce il numero di splats sommati attraverso il batch.",
    "display_name": "Ottieni Numero di Splats",
    "inputs": {
      "splat": {
        "name": "splat"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      },
      "1": {
        "name": "conteggio",
        "tooltip": null
      }
    }
  },
  "GetVideoComponents": {
    "description": "Estrae tutti i componenti da un video: fotogrammi, audio, framerate e profondità di bit.",
    "display_name": "Estrai Componenti Video",
    "inputs": {
      "video": {
        "name": "video",
        "tooltip": "Il video da cui estrarre i componenti."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": null
      },
      "1": {
        "name": "audio",
        "tooltip": null
      },
      "2": {
        "name": "fps",
        "tooltip": null
      },
      "3": {
        "name": "profondità_bit",
        "tooltip": null
      }
    }
  },
  "GrokImageEditNode": {
    "description": "Modifica un'immagine esistente in base a un prompt testuale",
    "display_name": "Grok Image Edit",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto_d'aspetto",
        "tooltip": "Consentito solo quando più immagini sono collegate all'input immagine."
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "image": {
        "name": "immagine"
      },
      "model": {
        "name": "modello"
      },
      "number_of_images": {
        "name": "numero_di_immagini",
        "tooltip": "Numero di immagini modificate da generare"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Il prompt testuale utilizzato per generare l'immagine"
      },
      "resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokImageEditNodeV2": {
    "description": "Modifica un'immagine esistente in base a un prompt testuale",
    "display_name": "Grok Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello"
      },
      "model_aspect_ratio": {
        "name": "rapporto_d'aspetto"
      },
      "model_number_of_images": {
        "name": "numero_di_immagini"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Il prompt testuale utilizzato per generare l'immagine"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokImageNode": {
    "description": "Genera immagini con Grok in base a un prompt testuale",
    "display_name": "Grok Image",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto_d'aspetto"
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello"
      },
      "number_of_images": {
        "name": "numero_di_immagini",
        "tooltip": "Numero di immagini da generare"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Il prompt testuale utilizzato per generare l'immagine"
      },
      "resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoEditNode": {
    "description": "Modifica un video esistente in base a un prompt testuale.",
    "display_name": "Grok Video Edit",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale del video desiderato."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici."
      },
      "video": {
        "name": "video",
        "tooltip": "La durata massima supportata è di 8,7 secondi e la dimensione massima del file è di 50MB."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoExtendNode": {
    "description": "Estendi un video esistente con una continuazione fluida basata su un prompt testuale.",
    "display_name": "Grok Video Extend",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello da utilizzare per l'estensione del video."
      },
      "model_duration": {
        "name": "duration"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale di ciò che dovrebbe accadere successivamente nel video."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici indipendentemente dal seed."
      },
      "video": {
        "name": "video",
        "tooltip": "Video sorgente da estendere. Formato MP4, da 2 a 15 secondi."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoNode": {
    "description": "Genera un video da un prompt o da un'immagine",
    "display_name": "Grok Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Il rapporto d'aspetto del video in output."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "La durata del video in output in secondi."
      },
      "image": {
        "name": "image",
        "tooltip": "Immagine di partenza opzionale. Se omessa, il video viene generato solo dal prompt testuale."
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello da utilizzare per la generazione del video."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale del video desiderato. Opzionale per grok-imagine-video-1.5 quando viene fornita un'immagine di input."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "La risoluzione del video in output. 1080p è disponibile solo per grok-imagine-video-1.5."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoReferenceNode": {
    "description": "Genera un video guidato da immagini di riferimento, con opzione di voci preimpostate.",
    "display_name": "Grok Reference-to-Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello da utilizzare per la generazione del video."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_duration": {
        "name": "duration"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "model_voice_1": {
        "name": "voice_1"
      },
      "model_voice_2": {
        "name": "voice_2"
      },
      "model_voice_3": {
        "name": "voice_3"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale del video desiderato."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrowMask": {
    "display_name": "Grow Mask",
    "inputs": {
      "expand": {
        "name": "expand"
      },
      "mask": {
        "name": "mask"
      },
      "tapered_corners": {
        "name": "tapered_corners"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseImageToVideoApi": {
    "description": "Genera un video da un'immagine del primo fotogramma utilizzando il modello HappyHorse.",
    "display_name": "HappyHorse Immagine in Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "first_frame": {
        "name": "primo fotogramma",
        "tooltip": "Immagine del primo fotogramma. Il rapporto d'aspetto dell'output è derivato da questa immagine."
      },
      "model": {
        "name": "modello"
      },
      "model_duration": {
        "name": "durata"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana generata dall'AI al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseReferenceVideoApi": {
    "description": "Genera un video con una persona o un oggetto da materiali di riferimento utilizzando il modello HappyHorse. Supporta performance a personaggio singolo e interazioni tra più personaggi.",
    "display_name": "HappyHorse Riferimento in Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello"
      },
      "model_duration": {
        "name": "durata"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "rapporto"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana generata dall'AI al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseTextToVideoApi": {
    "description": "Genera un video basato su un prompt testuale utilizzando il modello HappyHorse.",
    "display_name": "HappyHorse Testo in Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello"
      },
      "model_duration": {
        "name": "durata"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "rapporto"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana generata dall'AI al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseVideoEditApi": {
    "description": "Modifica un video utilizzando istruzioni testuali o immagini di riferimento con il modello HappyHorse. La durata dell'output è 3-15s e corrisponde al video di input; gli input più lunghi di 15s vengono troncati.",
    "display_name": "HappyHorse Modifica Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "rapporto"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "video": {
        "name": "video",
        "tooltip": "Il video da modificare."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana generata dall'AI al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenAvatarVideoNode": {
    "description": "Genera un video con presentatore parlante da un avatar HeyGen. Include gli avatar pubblici più popolari di HeyGen; è possibile fornire qualsiasi look ID come override.",
    "display_name": "Video Avatar HeyGen",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Proporzioni del video in uscita. 'auto' segue il filmato sorgente dell'avatar."
      },
      "background_color": {
        "name": "colore_sfondo",
        "tooltip": "Colore di sfondo solido opzionale come codice hex (es. '#00ff00'). Lascia vuoto per usare lo sfondo dell'avatar."
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "custom_avatar_id": {
        "name": "custom_avatar_id",
        "tooltip": "ID look avatar HeyGen opzionale. Se impostato, sovrascrive l'avatar selezionato sopra. Puoi usare uno dei 3000+ look pubblici di HeyGen (o i tuoi avatar privati)."
      },
      "engine": {
        "name": "motore",
        "tooltip": "Motore di rendering; ogni scelta elenca solo gli avatar che lo supportano. 'auto' offre tutti gli avatar e seleziona il motore migliore (preferenza per Avatar IV). Avatar V ha la massima fedeltà, Avatar III è il più economico."
      },
      "engine_avatar": {
        "name": "avatar"
      },
      "resolution": {
        "name": "risoluzione",
        "tooltip": "Risoluzione del video in uscita."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Non inviato a HeyGen; cambialo per forzare una nuova generazione."
      },
      "speech": {
        "name": "voce",
        "tooltip": "Fai parlare l'avatar con uno script testuale (HeyGen text-to-speech) o con il tuo audio."
      },
      "speech_custom_voice_id": {
        "name": "custom_voice_id"
      },
      "speech_text": {
        "name": "testo"
      },
      "speech_voice": {
        "name": "voce"
      },
      "speech_voice_speed": {
        "name": "velocità_voce"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenCreateAvatarNode": {
    "description": "Crea il tuo avatar HeyGen riutilizzabile da una foto di una persona o da un prompt testuale (personaggio generato). Inserisci l'avatar_id risultante nel campo custom_avatar_id di Video Avatar HeyGen — e salva l'ID per riutilizzare l'avatar in futuri workflow.",
    "display_name": "Crea Avatar HeyGen",
    "inputs": {
      "source": {
        "name": "sorgente",
        "tooltip": "Genera un nuovo personaggio da un prompt testuale, oppure crea l'avatar da una foto collegata di una persona."
      },
      "source_prompt": {
        "name": "prompt"
      }
    },
    "outputs": {
      "0": {
        "name": "avatar_id",
        "tooltip": "ID look avatar. Passalo al campo custom_avatar_id di Video Avatar HeyGen; salvalo per riutilizzare l'avatar in seguito."
      },
      "1": {
        "name": "anteprima",
        "tooltip": null
      }
    }
  },
  "HeyGenTalkingPhotoNode": {
    "description": "Anima qualsiasi immagine di una persona in un video parlante sincronizzato con il labiale (HeyGen Avatar IV). Puoi guidarlo con uno script di testo o con il tuo audio.",
    "display_name": "HeyGen Talking Photo",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto d'aspetto",
        "tooltip": "Rapporto d'aspetto del video in uscita. 'auto' segue l'immagine di input."
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "expressiveness": {
        "name": "espressività",
        "tooltip": "Quanto sono espressivi il volto e i gesti animati."
      },
      "image": {
        "name": "immagine",
        "tooltip": "Immagine di una persona da animare. Ridimensionata automaticamente se superiore a 2K."
      },
      "resolution": {
        "name": "risoluzione",
        "tooltip": "Risoluzione del video in uscita."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Non inviato a HeyGen; cambialo per forzare una nuova generazione."
      },
      "speech": {
        "name": "voce",
        "tooltip": "Guida l'avatar con uno script di testo (HeyGen text-to-speech) o con il tuo audio."
      },
      "speech_custom_voice_id": {
        "name": "custom_voice_id"
      },
      "speech_text": {
        "name": "testo"
      },
      "speech_voice": {
        "name": "voce"
      },
      "speech_voice_speed": {
        "name": "velocità_voce"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenTextToSpeechNode": {
    "description": "Genera audio vocale da testo utilizzando il motore Starfish TTS di HeyGen. Include le voci più popolari di HeyGen in 17 lingue.",
    "display_name": "HeyGen Text to Speech",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "custom_voice_id": {
        "name": "custom_voice_id",
        "tooltip": "ID voce HeyGen opzionale. Se impostato, sovrascrive la voce selezionata sopra. La voce deve supportare il motore Starfish."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Non inviato a HeyGen; cambialo per forzare una nuova generazione."
      },
      "speed": {
        "name": "velocità",
        "tooltip": "Moltiplicatore della velocità della voce."
      },
      "ssml": {
        "name": "ssml",
        "tooltip": "Tratta il testo come markup SSML (per pause, enfasi e controllo della pronuncia)."
      },
      "text": {
        "name": "testo",
        "tooltip": "Testo da sintetizzare (fino a 5000 caratteri). L'audio generato deve durare almeno 1 secondo."
      },
      "voice": {
        "name": "voce",
        "tooltip": "Voce da utilizzare (selezionata tra le voci Starfish più popolari di HeyGen)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenVideoTranslateNode": {
    "description": "Traduce un video parlato in un'altra lingua. Clona la voce originale del parlante e ri-animare la bocca per adattarsi al discorso tradotto.",
    "display_name": "HeyGen Video Translate",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "mode": {
        "name": "mode",
        "tooltip": "'speed' è più veloce; 'precision' produce una sincronizzazione labiale di qualità superiore al doppio del prezzo."
      },
      "output_language": {
        "name": "output_language",
        "tooltip": "Lingua di destinazione per il video tradotto."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Non inviato a HeyGen; cambialo per forzare una nuova esecuzione."
      },
      "speaker_count": {
        "name": "speaker_count",
        "tooltip": "Numero di parlanti nel video. 0 = rilevamento automatico."
      },
      "translate_audio_only": {
        "name": "translate_audio_only",
        "tooltip": "Sostituisce solo la traccia audio, mantenendo i movimenti originali della bocca (senza sincronizzazione labiale)."
      },
      "video": {
        "name": "video",
        "tooltip": "Video con parlato da tradurre."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HiDreamO1PatchSeamSmoothing": {
    "description": "Media l'output del modello su più posizioni della griglia di patch spostate durante la fase finale del campionamento. Elimina le cuciture.",
    "display_name": "HiDream-O1 Patch Seam Smoothing",
    "inputs": {
      "blend": {
        "name": "blend",
        "tooltip": "average: media a peso uguale. window: pesatura con finestra di Hann che favorisce ogni passaggio lontano dai bordi delle patch. median: mediana per pixel, esclude i passaggi outlier di wraparound."
      },
      "end_percent": {
        "name": "end_percent",
        "tooltip": "Progresso del campionamento in cui la fusione si DISATTIVA."
      },
      "model": {
        "name": "model"
      },
      "passes": {
        "name": "passes",
        "tooltip": "Numero di passaggi per ogni step controllato. 2/4 = fisso. ramp_*: il numero di passaggi aumenta man mano che il campionamento si avvicina alla fine (più smoothing dove le cuciture sono più visibili)."
      },
      "pattern": {
        "name": "pattern",
        "tooltip": "Layout dello spostamento. single_shift: un passaggio sulla griglia di patch naturale + altri spostati. symmetric: tutti i passaggi fuori griglia, spostamenti divisi attorno all'origine."
      },
      "start_percent": {
        "name": "start_percent",
        "tooltip": "Progresso del campionamento (0=inizio, 1=fine) in cui la fusione si ATTIVA."
      },
      "strength": {
        "name": "strength",
        "tooltip": "Interpolazione tra la previsione sulla griglia naturale (0) e il risultato mediato (1)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HiDreamO1ReferenceImages": {
    "description": "Allega da 1 a 10 immagini di riferimento al conditioning, una per istruzione di modifica o più per personalizzazione guidata dal soggetto.",
    "display_name": "HiDream-O1 Reference Images",
    "inputs": {
      "images": {
        "name": "images",
        "tooltip": "Immagini di riferimento. 1 immagine = modifica tramite istruzione; 2-10 immagini = multi riferimento."
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      }
    }
  },
  "HitPawGeneralImageEnhance": {
    "description": "Ingrandisci immagini a bassa risoluzione fino a super-risoluzione, elimina artefatti e rumore. Output massimo: 32 megapixel.",
    "display_name": "HitPaw General Image Enhance",
    "inputs": {
      "auto_downscale": {
        "name": "ridimensionamento automatico",
        "tooltip": "Ridimensiona automaticamente l'immagine di input se l'output supera il limite."
      },
      "image": {
        "name": "immagine"
      },
      "model": {
        "name": "modello"
      },
      "upscale_factor": {
        "name": "fattore di ingrandimento"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HitPawVideoEnhance": {
    "description": "Ingrandisci video a bassa risoluzione fino ad alta risoluzione, elimina artefatti e rumore. I prezzi indicati sono per secondo di video.",
    "display_name": "HitPaw Video Enhance",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Hunyuan3Dv2Conditioning": {
    "display_name": "Hunyuan3Dv2Conditioning",
    "inputs": {
      "clip_vision_output": {
        "name": "clip_vision_output"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "Hunyuan3Dv2ConditioningMultiView": {
    "display_name": "Hunyuan3Dv2ConditioningMultiView",
    "inputs": {
      "back": {
        "name": "retro"
      },
      "front": {
        "name": "fronte"
      },
      "left": {
        "name": "sinistra"
      },
      "right": {
        "name": "destra"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "HunyuanImageToVideo": {
    "display_name": "HunyuanImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione batch"
      },
      "guidance_type": {
        "name": "tipo di guida"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "durata"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "immagine iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "HunyuanRefinerLatent": {
    "display_name": "Hunyuan Latent Refiner",
    "inputs": {
      "latent": {
        "name": "latent"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_augmentation": {
        "name": "aumento del rumore"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15ImageToVideo": {
    "display_name": "HunyuanVideo15ImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione batch"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "immagine iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15LatentUpscaleWithModel": {
    "display_name": "Hunyuan Video 15 Upscale Latente con Modello",
    "inputs": {
      "crop": {
        "name": "ritaglio"
      },
      "height": {
        "name": "altezza"
      },
      "model": {
        "name": "modello"
      },
      "samples": {
        "name": "campioni"
      },
      "upscale_method": {
        "name": "metodo di upscaling"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15SuperResolution": {
    "display_name": "Hunyuan Video 1.5 Super Risoluzione",
    "inputs": {
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "latent": {
        "name": "latente"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_augmentation": {
        "name": "aumento rumore"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "immagine iniziale"
      },
      "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": "profondità massima"
      },
      "model": {
        "name": "modello"
      },
      "scale_depth": {
        "name": "scala profondità"
      },
      "swap_size": {
        "name": "dimensione swap"
      },
      "tile_size": {
        "name": "dimensione tile"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HypernetworkLoader": {
    "display_name": "Carica Hypernetwork",
    "inputs": {
      "hypernetwork_name": {
        "name": "nome hypernetwork"
      },
      "model": {
        "name": "modello"
      },
      "strength": {
        "name": "intensità"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Ideogram4Scheduler": {
    "display_name": "Ideogram 4 Scheduler",
    "inputs": {
      "height": {
        "name": "altezza"
      },
      "mu": {
        "name": "mu"
      },
      "std": {
        "name": "std"
      },
      "steps": {
        "name": "passi"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "IdeogramPImage": {
    "description": "Genera immagini utilizzando P-Image, il modello text-to-image veloce di Ideogram. Tipografia avanzata e fotorealismo; supporta le didascalie strutturate JSON di Ideogram 4.0 per testo, colori e layout esatti.",
    "display_name": "Ideogram P-Image",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Il rapporto d’aspetto per la generazione dell’immagine."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale. Accetta anche una didascalia strutturata JSON di Ideogram 4.0 (colori esatti come esadecimali #RRGGBB, stringhe di testo esatte, layout con bounding-box) — imposta prompt_upsampling su OFF per utilizzarla letteralmente."
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Espande prompt brevi in una didascalia strutturata dettagliata prima della generazione (il prompt riscritto viene restituito come final_prompt). Imposta su OFF quando fornisci la tua didascalia JSON o testo esatto."
      },
      "quality": {
        "name": "quality",
        "tooltip": "Livello di velocità/prezzo/qualità. MEDIUM è il valore predefinito per l’uso quotidiano; HIGH per prompt complessi, dettagli fini e testo difficile; VERY_LOW/LOW per bozze su larga scala. Il testo difficile viene reso male sotto MEDIUM."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Classe di dimensione dell’output (i pixel esatti seguono il rapporto d’aspetto, ad es. 16:9 produce 1280x720 a 1K e 2560x1440 a 2K). Preferisci HIGH + 2K per una tipografia nitida."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per una generazione riproducibile. Con prompt_upsampling su OFF, lo stesso seed e impostazioni restituiscono la stessa immagine; con ON/AUTO la riscrittura del prompt varia ad ogni esecuzione — riproduci un risultato riutilizzando il suo final_prompt con prompt_upsampling su OFF e lo stesso seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "final_prompt",
        "tooltip": "Il prompt da cui è stata effettivamente generata l’immagine (la didascalia strutturata riscritta se prompt_upsampling era attivo, altrimenti il tuo prompt). Riutilizzalo con prompt_upsampling su OFF e lo stesso seed per riprodurre questa immagine."
      }
    }
  },
  "IdeogramV3": {
    "description": "Genera immagini utilizzando il modello Ideogram V3. Supporta sia la generazione di immagini da prompt testuali sia la modifica di immagini con mask.",
    "display_name": "Ideogram V3",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Il rapporto d’aspetto per la generazione dell’immagine. Ignorato se la risoluzione non è impostata su Auto."
      },
      "character_image": {
        "name": "character_image",
        "tooltip": "Immagine da utilizzare come riferimento per il personaggio."
      },
      "character_mask": {
        "name": "character_mask",
        "tooltip": "Mask opzionale per l’immagine di riferimento del personaggio."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image",
        "tooltip": "Immagine di riferimento opzionale per la modifica dell’immagine."
      },
      "magic_prompt_option": {
        "name": "magic_prompt_option",
        "tooltip": "Determina se MagicPrompt deve essere utilizzato nella generazione"
      },
      "mask": {
        "name": "mask",
        "tooltip": "Mask opzionale per inpainting (le aree bianche verranno sostituite)"
      },
      "num_images": {
        "name": "num_images"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione o modifica dell’immagine"
      },
      "rendering_speed": {
        "name": "rendering_speed",
        "tooltip": "Controlla il bilanciamento tra velocità di generazione e qualità"
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "La risoluzione per la generazione dell’immagine. Se non impostata su Auto, questa opzione sovrascrive il parametro aspect_ratio."
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "IdeogramV4": {
    "description": "Genera immagini utilizzando il modello Ideogram 4.0 da un prompt testuale.",
    "display_name": "Ideogram V4",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per la generazione dell'immagine."
      },
      "rendering_speed": {
        "name": "velocità di rendering",
        "tooltip": "Controlla il compromesso tra velocità di generazione e qualità."
      },
      "resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seme"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageAddNoise": {
    "display_name": "Aggiungi Rumore all'Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "image": {
        "name": "immagine"
      },
      "seed": {
        "name": "seme",
        "tooltip": "Il seme casuale utilizzato per creare il rumore."
      },
      "strength": {
        "name": "intensità"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageBatch": {
    "display_name": "Batch Immagini (DEPRECATO)",
    "inputs": {
      "image1": {
        "name": "immagine1"
      },
      "image2": {
        "name": "immagine2"
      }
    }
  },
  "ImageBlend": {
    "display_name": "Fondi Immagini",
    "inputs": {
      "blend_factor": {
        "name": "fattore di fusione"
      },
      "blend_mode": {
        "name": "modalità di fusione"
      },
      "image1": {
        "name": "immagine1"
      },
      "image2": {
        "name": "immagine2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageBlur": {
    "display_name": "Sfoca Immagine",
    "inputs": {
      "blur_radius": {
        "name": "raggio di sfocatura"
      },
      "image": {
        "name": "immagine"
      },
      "sigma": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageColorToMask": {
    "display_name": "Converti Colore Immagine in Maschera",
    "inputs": {
      "color": {
        "name": "colore"
      },
      "image": {
        "name": "immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCompare": {
    "description": "Confronta due immagini affiancate con uno slider.",
    "display_name": "Confronta Immagini",
    "inputs": {
      "compare_view": {
        "name": "vista di confronto"
      },
      "image_a": {
        "name": "immagine_a"
      },
      "image_b": {
        "name": "immagine_b"
      }
    }
  },
  "ImageCompositeMasked": {
    "display_name": "Composizione Immagine Mascherata",
    "inputs": {
      "destination": {
        "name": "destinazione"
      },
      "mask": {
        "name": "maschera"
      },
      "resize_source": {
        "name": "ridimensiona sorgente"
      },
      "source": {
        "name": "sorgente"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCrop": {
    "display_name": "Ritaglia Immagine (DEPRECATO)",
    "inputs": {
      "height": {
        "name": "altezza"
      },
      "image": {
        "name": "immagine"
      },
      "width": {
        "name": "larghezza"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCropV2": {
    "description": "Ritaglia un'immagine alle dimensioni specificate.",
    "display_name": "Ritaglia immagine",
    "inputs": {
      "crop_region": {
        "name": "regione di ritaglio"
      },
      "height": {},
      "image": {
        "name": "immagine"
      },
      "width": {},
      "x": {},
      "y": {}
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageDeduplication": {
    "description": "Rimuovi immagini duplicate o molto simili da un elenco.",
    "display_name": "Rimuovi immagini duplicate",
    "inputs": {
      "images": {
        "name": "immagini",
        "tooltip": "Elenco di immagini da elaborare."
      },
      "similarity_threshold": {
        "name": "soglia di similarità",
        "tooltip": "Soglia di similarità (0-1). Un valore più alto indica maggiore somiglianza. Le immagini sopra questa soglia sono considerate duplicate."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Immagini elaborate"
      }
    }
  },
  "ImageFlip": {
    "display_name": "Ribalta immagine",
    "inputs": {
      "flip_method": {
        "name": "metodo di ribaltamento"
      },
      "image": {
        "name": "immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageFromBatch": {
    "display_name": "Ottieni immagine dal batch",
    "inputs": {
      "batch_index": {
        "name": "indice batch"
      },
      "image": {
        "name": "immagine"
      },
      "length": {
        "name": "lunghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageGrid": {
    "description": "Disponi più immagini in una griglia.",
    "display_name": "Crea griglia di immagini",
    "inputs": {
      "cell_height": {
        "name": "altezza cella",
        "tooltip": "Altezza di ogni cella nella griglia."
      },
      "cell_width": {
        "name": "larghezza cella",
        "tooltip": "Larghezza di ogni cella nella griglia."
      },
      "columns": {
        "name": "colonne",
        "tooltip": "Numero di colonne nella griglia."
      },
      "images": {
        "name": "immagini",
        "tooltip": "Elenco di immagini da elaborare."
      },
      "padding": {
        "name": "spaziatura",
        "tooltip": "Spaziatura tra le immagini."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Immagini elaborate"
      }
    }
  },
  "ImageHistogram": {
    "display_name": "Istogramma immagine",
    "inputs": {
      "image": {
        "name": "immagine"
      }
    },
    "outputs": {
      "0": {
        "name": "rgb",
        "tooltip": null
      },
      "1": {
        "name": "luminosità",
        "tooltip": null
      },
      "2": {
        "name": "rosso",
        "tooltip": null
      },
      "3": {
        "name": "verde",
        "tooltip": null
      },
      "4": {
        "name": "blu",
        "tooltip": null
      }
    }
  },
  "ImageInvert": {
    "display_name": "Inverti colori immagine",
    "inputs": {
      "image": {
        "name": "immagine"
      }
    }
  },
  "ImageMergeTileList": {
    "display_name": "Unisci elenco di tile in immagine",
    "inputs": {
      "final_height": {
        "name": "altezza finale"
      },
      "final_width": {
        "name": "larghezza finale"
      },
      "image_list": {
        "name": "elenco tile"
      },
      "overlap": {
        "name": "sovrapposizione"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageOnlyCheckpointLoader": {
    "display_name": "Carica solo immagine checkpoint (modello img2vid)",
    "inputs": {
      "ckpt_name": {
        "name": "nome checkpoint"
      }
    }
  },
  "ImageOnlyCheckpointSave": {
    "display_name": "Salva Checkpoint Solo Immagine",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "model": {
        "name": "modello"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "ImagePadForOutpaint": {
    "display_name": "Aggiungi Margini per Outpainting",
    "inputs": {
      "bottom": {
        "name": "basso"
      },
      "feathering": {
        "name": "sfumatura"
      },
      "image": {
        "name": "immagine"
      },
      "left": {
        "name": "sinistra"
      },
      "right": {
        "name": "destra"
      },
      "top": {
        "name": "alto"
      }
    }
  },
  "ImageQuantize": {
    "display_name": "Quantizza Immagine",
    "inputs": {
      "colors": {
        "name": "colori"
      },
      "dither": {
        "name": "dither"
      },
      "image": {
        "name": "immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageRGBToYUV": {
    "display_name": "Converti Immagine da RGB a YUV",
    "inputs": {
      "image": {
        "name": "immagine"
      }
    },
    "outputs": {
      "0": {
        "name": "Y",
        "tooltip": null
      },
      "1": {
        "name": "U",
        "tooltip": null
      },
      "2": {
        "name": "V",
        "tooltip": null
      }
    }
  },
  "ImageRotate": {
    "display_name": "Ruota Immagine",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "rotation": {
        "name": "rotazione"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageScale": {
    "display_name": "Ingrandisci Immagine",
    "inputs": {
      "crop": {
        "name": "ritaglia"
      },
      "height": {
        "name": "altezza"
      },
      "image": {
        "name": "immagine"
      },
      "upscale_method": {
        "name": "metodo_ingrandimento"
      },
      "width": {
        "name": "larghezza"
      }
    }
  },
  "ImageScaleBy": {
    "display_name": "Ingrandisci Immagine di",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "scale_by": {
        "name": "scala_di"
      },
      "upscale_method": {
        "name": "metodo_ingrandimento"
      }
    }
  },
  "ImageScaleToMaxDimension": {
    "display_name": "Scala Immagine alla Dimensione Massima",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "largest_size": {
        "name": "dimensione_massima"
      },
      "upscale_method": {
        "name": "metodo_ingrandimento"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageScaleToTotalPixels": {
    "display_name": "Scala Immagine al Numero Totale di Pixel",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "megapixels": {
        "name": "megapixel"
      },
      "resolution_steps": {
        "name": "passi_risoluzione"
      },
      "upscale_method": {
        "name": "metodo_ingrandimento"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageSharpen": {
    "display_name": "Aumenta Nitidezza Immagine",
    "inputs": {
      "alpha": {
        "name": "alfa"
      },
      "image": {
        "name": "immagine"
      },
      "sharpen_radius": {
        "name": "raggio_nitidezza"
      },
      "sigma": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageStitch": {
    "description": "Unisce image2 a image1 nella direzione specificata.\nSe image2 non è fornita, restituisce image1 invariata.\nÈ possibile aggiungere uno spazio opzionale tra le immagini.",
    "display_name": "Unisci Immagini",
    "inputs": {
      "direction": {
        "name": "direction"
      },
      "image1": {
        "name": "image1"
      },
      "image2": {
        "name": "image2"
      },
      "match_image_size": {
        "name": "match_image_size"
      },
      "spacing_color": {
        "name": "spacing_color"
      },
      "spacing_width": {
        "name": "spacing_width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageToMask": {
    "display_name": "Converti Immagine in Maschera",
    "inputs": {
      "channel": {
        "name": "channel"
      },
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageUpscaleWithModel": {
    "display_name": "Ingrandisci Immagine (con Modello)",
    "inputs": {
      "image": {
        "name": "image"
      },
      "upscale_model": {
        "name": "upscale_model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageYUVToRGB": {
    "display_name": "Immagine da YUV a RGB",
    "inputs": {
      "U": {
        "name": "U"
      },
      "V": {
        "name": "V"
      },
      "Y": {
        "name": "Y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "InpaintModelConditioning": {
    "display_name": "InpaintModelConditioning",
    "inputs": {
      "mask": {
        "name": "mask"
      },
      "negative": {
        "name": "negative"
      },
      "noise_mask": {
        "name": "noise_mask",
        "tooltip": "Aggiungi una maschera di rumore al latent così il campionamento avverrà solo all'interno della maschera. Potrebbe migliorare i risultati o compromettere tutto a seconda del modello."
      },
      "pixels": {
        "name": "pixels"
      },
      "positive": {
        "name": "positive"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positive"
      },
      "1": {
        "name": "negative"
      },
      "2": {
        "name": "latent"
      }
    }
  },
  "InstructPixToPixConditioning": {
    "display_name": "InstructPixToPixConditioning",
    "inputs": {
      "negative": {
        "name": "negative"
      },
      "pixels": {
        "name": "pixels"
      },
      "positive": {
        "name": "positive"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "InvertMask": {
    "display_name": "Inverti Maschera",
    "inputs": {
      "mask": {
        "name": "mask"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "JoinAudioChannels": {
    "description": "Unisce i canali audio mono sinistro e destro in un audio stereo.",
    "display_name": "Unisci Canali Audio",
    "inputs": {
      "audio_left": {
        "name": "audio_left"
      },
      "audio_right": {
        "name": "audio_right"
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "JoinImageWithAlpha": {
    "display_name": "Unisci Immagine con Alpha",
    "inputs": {
      "alpha": {
        "name": "alpha"
      },
      "image": {
        "name": "immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "JsonExtractString": {
    "display_name": "Estrai Testo da JSON",
    "inputs": {
      "json_string": {
        "name": "stringa_json"
      },
      "key": {
        "name": "chiave"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KSampler": {
    "description": "Utilizza il modello fornito e le condizioni positive e negative per denoising dell'immagine latente.",
    "display_name": "KSampler",
    "inputs": {
      "cfg": {
        "name": "cfg",
        "tooltip": "La scala Classifier-Free Guidance bilancia creatività e aderenza al prompt. Valori più alti producono immagini più aderenti al prompt, ma valori troppo alti possono ridurre la qualità."
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "denoise": {
        "name": "denoise",
        "tooltip": "La quantità di denoising applicata; valori più bassi mantengono la struttura dell'immagine iniziale, permettendo il campionamento da immagine a immagine."
      },
      "latent_image": {
        "name": "immagine_latent",
        "tooltip": "Il latent da denoisare."
      },
      "model": {
        "name": "modello",
        "tooltip": "Il modello utilizzato per il denoising del latent di input."
      },
      "negative": {
        "name": "negativo",
        "tooltip": "La condizione che descrive gli attributi che vuoi escludere dall'immagine."
      },
      "positive": {
        "name": "positivo",
        "tooltip": "La condizione che descrive gli attributi che vuoi includere nell'immagine."
      },
      "sampler_name": {
        "name": "nome_sampler",
        "tooltip": "L'algoritmo utilizzato durante il campionamento; può influenzare qualità, velocità e stile dell'output generato."
      },
      "scheduler": {
        "name": "scheduler",
        "tooltip": "Lo scheduler controlla come il rumore viene gradualmente rimosso per formare l'immagine."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      },
      "steps": {
        "name": "passaggi",
        "tooltip": "Il numero di passaggi utilizzati nel processo di denoising."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il latent denoisato."
      }
    }
  },
  "KSamplerAdvanced": {
    "display_name": "KSampler (Avanzato)",
    "inputs": {
      "add_noise": {
        "name": "aggiungi_rumore"
      },
      "cfg": {
        "name": "cfg"
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "end_at_step": {
        "name": "termina_al_passaggio"
      },
      "latent_image": {
        "name": "immagine_latent"
      },
      "model": {
        "name": "modello"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_seed": {
        "name": "seed_rumore"
      },
      "positive": {
        "name": "positivo"
      },
      "return_with_leftover_noise": {
        "name": "restituisci_con_rumore_residuo"
      },
      "sampler_name": {
        "name": "nome_sampler"
      },
      "scheduler": {
        "name": "scheduler"
      },
      "start_at_step": {
        "name": "inizia_al_passaggio"
      },
      "steps": {
        "name": "passaggi"
      }
    }
  },
  "KSamplerSelect": {
    "display_name": "KSamplerSelect",
    "inputs": {
      "sampler_name": {
        "name": "nome_sampler"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Kandinsky5ImageToVideo": {
    "display_name": "Kandinsky5ImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "durata"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "immagine_iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": "Video latent vuoto"
      },
      "3": {
        "name": "cond_latent",
        "tooltip": "Immagini iniziali codificate pulite, utilizzate per sostituire l'inizio rumoroso dei latenti di output del modello"
      }
    }
  },
  "KarrasScheduler": {
    "display_name": "KarrasScheduler",
    "inputs": {
      "rho": {
        "name": "rho"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "passi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingAvatarNode": {
    "description": "Genera video digitali in stile broadcast di esseri umani a partire da una singola foto e un file audio.",
    "display_name": "Kling Avatar 2.0",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "image": {
        "name": "immagine",
        "tooltip": "Immagine di riferimento per l'avatar. Larghezza e altezza devono essere almeno di 300px. Il rapporto d'aspetto deve essere compreso tra 1:2.5 e 2.5:1."
      },
      "mode": {
        "name": "modalità"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt opzionale per definire azioni, emozioni e movimenti della camera dell'avatar."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "sound_file": {
        "name": "file_audio",
        "tooltip": "Input audio. Deve avere una durata compresa tra 2 e 300 secondi."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingFirstLastFrameNode": {
    "description": "Genera video con Kling V3 utilizzando il primo e l’ultimo frame.",
    "display_name": "Kling 3.0 Primo-Ultimo Frame in Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration": {
        "name": "durata"
      },
      "end_frame": {
        "name": "ultimo_frame"
      },
      "first_frame": {
        "name": "primo_frame"
      },
      "generate_audio": {
        "name": "genera_audio"
      },
      "model": {
        "name": "modello",
        "tooltip": "Impostazioni del modello e della generazione."
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "prompt": {
        "name": "prompt"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingImage2VideoNode": {
    "display_name": "Kling Immagine (Primo Frame) in Video",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto_d’aspetto"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "duration": {
        "name": "durata"
      },
      "mode": {
        "name": "modalità"
      },
      "model_name": {
        "name": "model_name"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt testuale negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale positivo"
      },
      "start_frame": {
        "name": "frame_iniziale",
        "tooltip": "L’immagine di riferimento utilizzata per generare il video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "durata",
        "tooltip": null
      }
    }
  },
  "KlingImageGenerationNode": {
    "description": "Nodo di generazione immagini Kling. Genera un’immagine da un prompt testuale con un’immagine di riferimento opzionale.",
    "display_name": "Kling 3.0 Immagine",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto_d’aspetto"
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "human_fidelity": {
        "name": "fedeltà_umano",
        "tooltip": "Somiglianza di riferimento del soggetto"
      },
      "image": {
        "name": "immagine"
      },
      "image_fidelity": {
        "name": "fedeltà_immagine",
        "tooltip": "Intensità di riferimento per immagini caricate dall’utente"
      },
      "image_type": {
        "name": "tipo_immagine"
      },
      "model_name": {
        "name": "model_name"
      },
      "n": {
        "name": "n",
        "tooltip": "Numero di immagini generate"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt testuale negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale positivo"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingImageToVideoWithAudio": {
    "display_name": "Kling 2.6 Immagine (Primo Frame) in Video con Audio",
    "inputs": {
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "generate_audio"
      },
      "mode": {
        "name": "mode"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale positivo."
      },
      "start_frame": {
        "name": "start_frame"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingLipSyncAudioToVideoNode": {
    "description": "Kling Lip Sync Audio to Video Node. Sincronizza i movimenti della bocca in un file video con il contenuto audio di un file audio. Assicurati che l'audio contenga voci chiaramente distinguibili e che il video mostri un volto ben visibile. Il file audio non deve superare i 5MB. Il file video non deve superare i 100MB, deve avere un'altezza/larghezza tra 720px e 1920px, e una durata tra 2s e 10s.",
    "display_name": "Kling Lip Sync Video con Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "video": {
        "name": "video"
      },
      "voice_language": {
        "name": "voice_language"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingLipSyncTextToVideoNode": {
    "description": "Kling Lip Sync Text to Video Node. Sincronizza i movimenti della bocca in un file video con un prompt testuale. Il file video non deve superare i 100MB, deve avere un'altezza/larghezza tra 720px e 1920px, e una durata tra 2s e 10s.",
    "display_name": "Kling Lip Sync Video con Testo",
    "inputs": {
      "text": {
        "name": "text",
        "tooltip": "Contenuto testuale per la generazione del video Lip-Sync. Richiesto quando la modalità è text2video. Lunghezza massima 120 caratteri."
      },
      "video": {
        "name": "video"
      },
      "voice": {
        "name": "voice"
      },
      "voice_speed": {
        "name": "voice_speed",
        "tooltip": "Velocità della voce. Intervallo valido: 0.8~2.0, con una cifra decimale."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingMotionControl": {
    "display_name": "Kling Motion Control",
    "inputs": {
      "character_orientation": {
        "name": "character_orientation",
        "tooltip": "Controlla da dove proviene l'orientamento del personaggio.\nvideo: movimenti, espressioni, movimenti della camera e orientamento seguono il video di riferimento del movimento (altri dettagli tramite prompt).\nimage: movimenti ed espressioni seguono comunque il video di riferimento del movimento, ma l'orientamento del personaggio corrisponde all'immagine di riferimento (camera/altri dettagli tramite prompt)."
      },
      "keep_original_sound": {
        "name": "keep_original_sound"
      },
      "mode": {
        "name": "mode"
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt"
      },
      "reference_image": {
        "name": "reference_image"
      },
      "reference_video": {
        "name": "reference_video",
        "tooltip": "Video di riferimento del movimento utilizzato per guidare movimento/espressione.\nI limiti di durata dipendono da character_orientation:\n - image: 3–10s (max 10s)\n - video: 3–30s (max 30s)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProEditVideoNode": {
    "description": "Modifica un video esistente con l'ultimo modello di Kling.",
    "display_name": "Kling 3.0 Omni Modifica Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "keep_original_sound": {
        "name": "keep_original_sound"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt testuale che descrive il contenuto del video. Può includere sia descrizioni positive che negative."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Fino a 4 immagini di riferimento aggiuntive."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "video": {
        "name": "video",
        "tooltip": "Video da modificare. La lunghezza del video in output sarà la stessa."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProFirstLastFrameNode": {
    "description": "Usa un frame iniziale, un frame finale opzionale o immagini di riferimento con l'ultimo modello Kling.",
    "display_name": "Kling 3.0 Omni Da Primo-Ultimo Frame a Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Un frame finale opzionale per il video. Non può essere usato contemporaneamente a 'reference_images'. Non funziona con gli storyboard."
      },
      "first_frame": {
        "name": "first_frame"
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Genera audio per il video. Supportato solo per kling-v3-omni."
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt testuale che descrive il contenuto del video. Può includere sia descrizioni positive che negative. Ignorato quando gli storyboard sono abilitati."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Fino a 6 immagini di riferimento aggiuntive."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "storyboards": {
        "name": "storyboards",
        "tooltip": "Genera una serie di segmenti video con prompt e durate individuali. Supportato solo per kling-v3-omni."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProImageNode": {
    "description": "Crea o modifica immagini con l'ultimo modello di Kling.",
    "display_name": "Kling 3.0 Omni Immagine",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt testuale che descrive il contenuto dell'immagine. Può includere sia descrizioni positive che negative."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Fino a 10 immagini di riferimento aggiuntive."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "series_amount": {
        "name": "series_amount",
        "tooltip": "Genera una serie di immagini. Non supportato per kling-image-o1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProImageToVideoNode": {
    "description": "Usa fino a 7 immagini di riferimento per generare un video con l'ultimo modello Kling.",
    "display_name": "Kling 3.0 Omni Da Immagine a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Genera l'audio per il video. Supportato solo per kling-v3-omni."
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt testuale che descrive il contenuto del video. Può includere sia descrizioni positive che negative. Ignorato quando gli storyboard sono abilitati."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Fino a 7 immagini di riferimento."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "storyboards": {
        "name": "storyboards",
        "tooltip": "Genera una serie di segmenti video con prompt e durate individuali. Supportato solo per kling-v3-omni."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProTextToVideoNode": {
    "description": "Usa prompt testuali per generare video con l'ultimo modello Kling.",
    "display_name": "Kling 3.0 Omni Da Testo a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "generate_audio"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt testuale che descrive il contenuto del video. Può includere sia descrizioni positive che negative. Ignorato quando gli storyboard sono abilitati."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "storyboards": {
        "name": "storyboards",
        "tooltip": "Genera una serie di segmenti video con prompt e durate individuali. Ignorato per il modello o1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProVideoToVideoNode": {
    "description": "Usa un video e fino a 4 immagini di riferimento per generare un video con l'ultimo modello Kling.",
    "display_name": "Kling 3.0 Omni Da Video a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "keep_original_sound": {
        "name": "keep_original_sound"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt testuale che descrive il contenuto del video. Può includere sia descrizioni positive che negative."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Fino a 4 immagini di riferimento aggiuntive."
      },
      "reference_video": {
        "name": "reference_video",
        "tooltip": "Video da usare come riferimento."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingStartEndFrameNode": {
    "description": "Genera una sequenza video che transita tra le immagini iniziale e finale fornite. Il nodo crea tutti i fotogrammi intermedi, producendo una trasformazione fluida dal primo all’ultimo fotogramma.",
    "display_name": "Kling Da Immagine Iniziale a Finale in Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Immagine di riferimento - Controllo del fotogramma finale. URL o stringa codificata in Base64, non può superare i 10MB, risoluzione non inferiore a 300*300px. La stringa Base64 non deve includere il prefisso data:image."
      },
      "mode": {
        "name": "mode",
        "tooltip": "Configurazione da utilizzare per la generazione video secondo il formato: mode / durata / model_name."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt testuale negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale positivo"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Immagine di riferimento - URL o stringa codificata in Base64, non può superare i 10MB, risoluzione non inferiore a 300*300px, rapporto d’aspetto tra 1:2.5 ~ 2.5:1. La stringa Base64 non deve includere il prefisso data:image."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingTextToVideoNode": {
    "description": "Nodo Kling Da Testo a Video",
    "display_name": "Kling Da Testo a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "mode": {
        "name": "mode",
        "tooltip": "Configurazione da utilizzare per la generazione video secondo il formato: mode / durata / model_name."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt testuale negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale positivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingTextToVideoWithAudio": {
    "display_name": "Kling 2.6 Da Testo 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 testuale positivo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingVideoExtendNode": {
    "description": "Nodo Kling Video Extend. Estende i video creati da altri nodi Kling. Il video_id viene creato utilizzando altri nodi Kling.",
    "display_name": "Kling Video Extend",
    "inputs": {
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt testuale negativo per elementi da evitare nel video esteso"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale positivo per guidare l'estensione del video"
      },
      "video_id": {
        "name": "video_id",
        "tooltip": "L'ID del video da estendere. Supporta video generati da text-to-video, image-to-video e precedenti operazioni di estensione video. Non può superare i 3 minuti di durata totale dopo l'estensione."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingVideoNode": {
    "description": "Genera video con Kling V3. Supporta text-to-video e image-to-video con storyboard multi-prompt opzionale e generazione audio.",
    "display_name": "Kling 3.0 Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "'kling-3.0-turbo' genera sempre audio nativo, quindi l'opzione audio viene ignorata."
      },
      "model": {
        "name": "model",
        "tooltip": "Impostazioni del modello e della generazione."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "multi_shot": {
        "name": "multi_shot",
        "tooltip": "Genera una serie di segmenti video con prompt e durate individuali."
      },
      "multi_shot_duration": {
        "name": "duration"
      },
      "multi_shot_negative_prompt": {
        "name": "negative_prompt"
      },
      "multi_shot_prompt": {
        "name": "prompt"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Immagine del frame iniziale opzionale. Se collegata, passa alla modalità image-to-video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Krea2ImageNode": {
    "description": "Genera immagini tramite Krea 2 — scegli Medium (illustrazioni espressive) o Large (fotorealismo espressivo). Supporta una moodboard opzionale e fino a 10 riferimenti di stile immagine concatenati.",
    "display_name": "Krea 2 Image",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Krea 2 Medium è ideale per illustrazioni espressive; Krea 2 Large è ideale per fotorealismo espressivo."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_creativity": {
        "name": "creativity"
      },
      "model_moodboard_id": {
        "name": "moodboard_id"
      },
      "model_moodboard_strength": {
        "name": "moodboard_strength"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per l'immagine."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed casuale per la riproducibilità."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Krea2StyleReferenceNode": {
    "description": "Aggiungi un riferimento di stile immagine a una generazione Krea 2. Collega più nodi Krea 2 Style Reference (massimo 10) e inserisci l'output finale `style_reference` in Krea 2 Image. Ogni immagine viene caricata nello storage ComfyAPI e passata come URL.",
    "display_name": "Krea 2 Style Reference",
    "inputs": {
      "image": {
        "name": "immagine",
        "tooltip": "Immagine di riferimento il cui stile influenza la generazione."
      },
      "strength": {
        "name": "intensità",
        "tooltip": "Intensità del riferimento; valori negativi invertono l'influenza dello stile."
      },
      "style_reference": {
        "name": "style_reference",
        "tooltip": "Catena opzionale di riferimenti di stile in ingresso; questo nodo ne aggiunge uno in più."
      }
    },
    "outputs": {
      "0": {
        "name": "style_reference",
        "tooltip": null
      }
    }
  },
  "LTXAVTextEncoderLoader": {
    "description": "Ricette:\nltxav: gemma 3 12B",
    "display_name": "Carica codificatore testo audio LTXV",
    "inputs": {
      "ckpt_name": {
        "name": "nome_ckpt"
      },
      "device": {
        "name": "dispositivo"
      },
      "text_encoder": {
        "name": "codificatore_testo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVAddGuide": {
    "display_name": "LTXVAddGuide",
    "inputs": {
      "attention_mask": {
        "name": "attention_mask",
        "tooltip": "Maschera spaziale opzionale in pixel-space. Controlla l'influenza del condizionamento per regione tramite self-attention, moltiplicata per l'intensità."
      },
      "frame_idx": {
        "name": "indice_fotogramma",
        "tooltip": "Indice del fotogramma da cui iniziare il condizionamento. Per immagini a singolo fotogramma o video con 1-8 fotogrammi, qualsiasi valore di indice_fotogramma è accettabile. Per video con 9 o più fotogrammi, indice_fotogramma deve essere divisibile per 8, altrimenti verrà arrotondato per difetto al multiplo di 8 più vicino. I valori negativi sono contati dalla fine del video."
      },
      "iclora_parameters": {
        "name": "iclora_parameters",
        "tooltip": "Parametri IC-LoRA opzionali da un nodo Get IC-LoRA Parameters. Utilizzati per regolare l'elaborazione della guida come richiesto da alcuni IC-LoRA (ad es. quelli con reference_downscale_factor > 1). Quando concatenati, ogni LTXVAddGuide utilizza solo i parametri collegati ad esso."
      },
      "image": {
        "name": "immagine",
        "tooltip": "Immagine o video su cui condizionare il video latente. Deve avere un numero di fotogrammi pari a 8*n + 1. Se il video non ha 8*n + 1 fotogrammi, verrà tagliato al numero più vicino di 8*n + 1 fotogrammi."
      },
      "latent": {
        "name": "latente"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "strength": {
        "name": "intensità"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAEDecode": {
    "display_name": "LTXV Audio VAE Decode",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "Il modello Audio VAE utilizzato per decodificare il latente."
      },
      "samples": {
        "name": "campioni",
        "tooltip": "Il latente da decodificare."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAEEncode": {
    "display_name": "LTXV Audio VAE Encode",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "L'audio da codificare."
      },
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "Il modello Audio VAE da utilizzare per la codifica."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio Latent",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAELoader": {
    "display_name": "Carica LTXV Audio VAE",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name",
        "tooltip": "Checkpoint Audio VAE da caricare."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio VAE",
        "tooltip": null
      }
    }
  },
  "LTXVConcatAVLatent": {
    "description": "Unisci un video latent e un audio latent in un unico AV latent (qualsiasi modello AV, ad es. LTXV o MiniMax H3).",
    "display_name": "Concatena AV Latent",
    "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": "frame_rate"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      }
    }
  },
  "LTXVContextWindows": {
    "description": "Imposta le finestre di contesto per modelli simili a LTXV.",
    "display_name": "Finestre di Contesto LTXV",
    "inputs": {
      "closed_loop": {
        "name": "closed_loop",
        "tooltip": "Se chiudere il ciclo della finestra di contesto; applicabile solo a pianificazioni cicliche."
      },
      "context_length": {
        "name": "context_length",
        "tooltip": "La lunghezza della finestra di contesto in frame reali. Deve essere 8*n + 1."
      },
      "context_overlap": {
        "name": "context_overlap",
        "tooltip": "La sovrapposizione della finestra di contesto in frame reali."
      },
      "context_schedule": {
        "name": "context_schedule",
        "tooltip": "Algoritmo di pianificazione dipendente dal passo per le finestre di contesto."
      },
      "context_stride": {
        "name": "context_stride",
        "tooltip": "Lo stride della finestra di contesto; applicabile solo a pianificazioni uniformi."
      },
      "freenoise": {
        "name": "freenoise",
        "tooltip": "Se applicare FreeNoise per mescolare il rumore, migliora la fusione delle finestre."
      },
      "fuse_method": {
        "name": "fuse_method",
        "tooltip": "Il metodo da utilizzare per fondere le finestre di contesto."
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello a cui applicare le finestre di contesto durante il campionamento."
      },
      "retain_first_frame": {
        "name": "retain_first_frame",
        "tooltip": "Mantieni il primo frame latent in ogni finestra di contesto (può aiutare a mantenere il riferimento iniziale)."
      },
      "split_conds_to_windows": {
        "name": "split_conds_to_windows",
        "tooltip": "Se suddividere più conditionings (creati da ConditionCombine) in ciascuna finestra in base all'indice della regione."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il modello con finestre di contesto applicate durante il campionamento."
      }
    }
  },
  "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 Empty Latent Audio",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "Il modello Audio VAE da cui ottenere la configurazione."
      },
      "batch_size": {
        "name": "dimensione_batch",
        "tooltip": "Numero di campioni audio latenti nel batch."
      },
      "frame_rate": {
        "name": "frequenza_frame",
        "tooltip": "Numero di frame al secondo."
      },
      "frames_number": {
        "name": "numero_frame",
        "tooltip": "Numero di frame."
      }
    },
    "outputs": {
      "0": {
        "name": "Latente",
        "tooltip": null
      }
    }
  },
  "LTXVImgToVideo": {
    "display_name": "LTXVImgToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "height": {
        "name": "altezza"
      },
      "image": {
        "name": "immagine"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "strength": {
        "name": "intensità"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "LTXVImgToVideoInplace": {
    "display_name": "LTXVImgToVideoInplace",
    "inputs": {
      "bypass": {
        "name": "bypass",
        "tooltip": "Bypassa il conditioning."
      },
      "image": {
        "name": "immagine"
      },
      "latent": {
        "name": "latente"
      },
      "strength": {
        "name": "intensità"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "LTXVLatentUpsampler": {
    "display_name": "LTXVLatentUpsampler",
    "inputs": {
      "samples": {
        "name": "campioni"
      },
      "upscale_model": {
        "name": "modello_upscale"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVPreprocess": {
    "display_name": "LTXV Preprocess",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "img_compression": {
        "name": "compressione_img",
        "tooltip": "Quantità di compressione da applicare all'immagine."
      }
    },
    "outputs": {
      "0": {
        "name": "immagine_output",
        "tooltip": null
      }
    }
  },
  "LTXVReferenceAudio": {
    "description": "Imposta l'audio di riferimento per il trasferimento dell'identità del parlante ID-LoRA. Codifica una clip audio di riferimento nel conditioning e opzionalmente modifica il modello con una guida di identità (passaggio extra senza riferimento, amplificando l'effetto dell'identità del parlante).",
    "display_name": "LTXV Reference Audio (ID-LoRA)",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "LTXV Audio VAE per la codifica."
      },
      "end_percent": {
        "name": "percentuale_fine",
        "tooltip": "Fine dell'intervallo sigma in cui la guida di identità è attiva."
      },
      "identity_guidance_scale": {
        "name": "scala_guida_identità",
        "tooltip": "Intensità della guida di identità. Esegue un passaggio extra senza riferimento a ogni step per amplificare l'identità del parlante. Impostare a 0 per disabilitare (nessun passaggio extra)."
      },
      "model": {
        "name": "modello"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "reference_audio": {
        "name": "audio_di_riferimento",
        "tooltip": "Clip audio di riferimento da cui trasferire l'identità del parlante. Si consiglia una durata di circa 5 secondi (durata dell'addestramento). Clip più corte o più lunghe possono ridurre la qualità del trasferimento dell'identità vocale."
      },
      "start_percent": {
        "name": "percentuale_inizio",
        "tooltip": "Inizio dell'intervallo sigma in cui la guida di identità è attiva."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "positivo",
        "tooltip": null
      },
      "2": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "LTXVScheduler": {
    "display_name": "LTXVScheduler",
    "inputs": {
      "base_shift": {
        "name": "spostamento_base"
      },
      "latent": {
        "name": "latente"
      },
      "max_shift": {
        "name": "spostamento_massimo"
      },
      "steps": {
        "name": "passi"
      },
      "stretch": {
        "name": "stretch",
        "tooltip": "Estende i sigma per essere nell'intervallo [terminal, 1]."
      },
      "terminal": {
        "name": "terminale",
        "tooltip": "Il valore terminale dei sigma dopo lo stretching."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVSeparateAVLatent": {
    "description": "Divide un AV latente congiunto nei suoi latenti video e audio (qualsiasi modello AV, ad es. LTXV o MiniMax H3).",
    "display_name": "Separa AV Latente",
    "inputs": {
      "av_latent": {
        "name": "av_latente"
      }
    },
    "outputs": {
      "0": {
        "name": "video_latente",
        "tooltip": null
      },
      "1": {
        "name": "audio_latente",
        "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": "passi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentAdd": {
    "display_name": "Somma Latent",
    "inputs": {
      "samples1": {
        "name": "campioni1"
      },
      "samples2": {
        "name": "campioni2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentApplyOperation": {
    "display_name": "Applica Operazione Latent",
    "inputs": {
      "operation": {
        "name": "operazione"
      },
      "samples": {
        "name": "campioni"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentApplyOperationCFG": {
    "display_name": "Applica Operazione Latent CFG",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "operation": {
        "name": "operazione"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBatch": {
    "display_name": "Batch Latent (DEPRECATO)",
    "inputs": {
      "samples1": {
        "name": "campioni1"
      },
      "samples2": {
        "name": "campioni2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBatchSeedBehavior": {
    "display_name": "Comportamento Seed Batch Latent",
    "inputs": {
      "samples": {
        "name": "campioni"
      },
      "seed_behavior": {
        "name": "comportamento_seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBlend": {
    "display_name": "Fusione Latent",
    "inputs": {
      "blend_factor": {
        "name": "fattore_fusione"
      },
      "samples1": {
        "name": "campioni1"
      },
      "samples2": {
        "name": "campioni2"
      }
    }
  },
  "LatentComposite": {
    "display_name": "Composito Latent",
    "inputs": {
      "feather": {
        "name": "sfumatura"
      },
      "samples_from": {
        "name": "campioni_origine"
      },
      "samples_to": {
        "name": "campioni_destinazione"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "LatentCompositeMasked": {
    "display_name": "Composito Latent Mascherato",
    "inputs": {
      "destination": {
        "name": "destinazione"
      },
      "mask": {
        "name": "mask"
      },
      "resize_source": {
        "name": "ridimensiona_origine"
      },
      "source": {
        "name": "origine"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentConcat": {
    "display_name": "Concatena Latent",
    "inputs": {
      "dim": {
        "name": "dimensione"
      },
      "samples1": {
        "name": "campioni1"
      },
      "samples2": {
        "name": "campioni2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentCrop": {
    "display_name": "Ritaglia Latent",
    "inputs": {
      "height": {
        "name": "altezza"
      },
      "samples": {
        "name": "campioni"
      },
      "width": {
        "name": "larghezza"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "LatentCut": {
    "display_name": "LatentCut",
    "inputs": {
      "amount": {
        "name": "quantità"
      },
      "dim": {
        "name": "dimensione"
      },
      "index": {
        "name": "indice"
      },
      "samples": {
        "name": "campioni"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentCutToBatch": {
    "display_name": "LatentCutToBatch",
    "inputs": {
      "dim": {
        "name": "dimensione"
      },
      "samples": {
        "name": "campioni"
      },
      "slice_size": {
        "name": "dimensione_fetta"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentFlip": {
    "display_name": "Ribalta Latent",
    "inputs": {
      "flip_method": {
        "name": "metodo_ribaltamento"
      },
      "samples": {
        "name": "campioni"
      }
    }
  },
  "LatentFromBatch": {
    "display_name": "Ottieni Latent da Batch",
    "inputs": {
      "batch_index": {
        "name": "indice_batch"
      },
      "length": {
        "name": "lunghezza"
      },
      "samples": {
        "name": "campioni"
      }
    }
  },
  "LatentInterpolate": {
    "display_name": "Interpolazione Latent",
    "inputs": {
      "ratio": {
        "name": "rapporto"
      },
      "samples1": {
        "name": "campioni1"
      },
      "samples2": {
        "name": "campioni2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentMultiply": {
    "display_name": "Moltiplica Latent",
    "inputs": {
      "multiplier": {
        "name": "moltiplicatore"
      },
      "samples": {
        "name": "campioni"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentOperationSharpen": {
    "display_name": "Affila Latent",
    "inputs": {
      "alpha": {
        "name": "alfa"
      },
      "sharpen_radius": {
        "name": "raggio_affilatura"
      },
      "sigma": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentOperationTonemapReinhard": {
    "display_name": "Tonemap Reinhard Latent",
    "inputs": {
      "multiplier": {
        "name": "moltiplicatore"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentRotate": {
    "display_name": "Ruota Latent",
    "inputs": {
      "rotation": {
        "name": "rotazione"
      },
      "samples": {
        "name": "campioni"
      }
    }
  },
  "LatentSubtract": {
    "display_name": "Sottrai Latent",
    "inputs": {
      "samples1": {
        "name": "campioni1"
      },
      "samples2": {
        "name": "campioni2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentUpscale": {
    "display_name": "Ingrandisci Latent",
    "inputs": {
      "crop": {
        "name": "ritaglia"
      },
      "height": {
        "name": "altezza"
      },
      "samples": {
        "name": "campioni"
      },
      "upscale_method": {
        "name": "metodo di ingrandimento"
      },
      "width": {
        "name": "larghezza"
      }
    }
  },
  "LatentUpscaleBy": {
    "display_name": "Ingrandisci Latent di",
    "inputs": {
      "samples": {
        "name": "campioni"
      },
      "scale_by": {
        "name": "scala di"
      },
      "upscale_method": {
        "name": "metodo di ingrandimento"
      }
    }
  },
  "LatentUpscaleModelLoader": {
    "display_name": "Carica Modello di Ingrandimento Latent",
    "inputs": {
      "model_name": {
        "name": "nome modello"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LazyCache": {
    "description": "Una versione homebrew di EasyCache - una versione ancora più 'semplice' di EasyCache da implementare. In generale funziona peggio di EasyCache, ma meglio in alcuni rari casi E compatibilità universale con tutto in ComfyUI.",
    "display_name": "LazyCache",
    "inputs": {
      "end_percent": {
        "name": "percentuale di fine",
        "tooltip": "Il passaggio di campionamento relativo per terminare l'uso di LazyCache."
      },
      "model": {
        "name": "modello",
        "tooltip": "Il modello a cui aggiungere LazyCache."
      },
      "reuse_threshold": {
        "name": "soglia di riutilizzo",
        "tooltip": "La soglia per riutilizzare i passaggi memorizzati nella cache."
      },
      "start_percent": {
        "name": "percentuale di inizio",
        "tooltip": "Il passaggio di campionamento relativo per iniziare a usare LazyCache."
      },
      "verbose": {
        "name": "verboso",
        "tooltip": "Se registrare informazioni dettagliate."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il modello con LazyCache."
      }
    }
  },
  "Load3D": {
    "display_name": "Carica 3D & Animazione",
    "inputs": {
      "clear": {},
      "height": {
        "name": "altezza"
      },
      "image": {
        "name": "immagine"
      },
      "model_file": {
        "name": "file modello"
      },
      "upload 3d model": {},
      "upload extra resources": {},
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "immagine",
        "tooltip": null
      },
      "1": {
        "name": "mask",
        "tooltip": null
      },
      "2": {
        "name": "mesh_path",
        "tooltip": null
      },
      "3": {
        "name": "normale",
        "tooltip": null
      },
      "4": {
        "name": "info_camera",
        "tooltip": null
      },
      "5": {
        "name": "video_registrazione",
        "tooltip": null
      },
      "6": {
        "name": "modello_3d",
        "tooltip": null
      },
      "7": {
        "name": "info_modello_3d",
        "tooltip": null
      }
    }
  },
  "Load3DAdvanced": {
    "display_name": "Carica 3D (Avanzato)",
    "inputs": {
      "height": {
        "name": "altezza"
      },
      "model_file": {
        "name": "model_file"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "modello_3d",
        "tooltip": null
      },
      "1": {
        "name": "info_modello_3d",
        "tooltip": null
      },
      "2": {
        "name": "info_camera",
        "tooltip": null
      },
      "3": {
        "name": "larghezza",
        "tooltip": null
      },
      "4": {
        "name": "altezza",
        "tooltip": null
      }
    }
  },
  "LoadAudio": {
    "display_name": "Carica Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "upload": {
        "name": "scegli file da caricare"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadBackgroundRemovalModel": {
    "display_name": "Carica Modello Rimozione Sfondo",
    "inputs": {
      "bg_removal_name": {
        "name": "bg_removal_name",
        "tooltip": "Il modello utilizzato per rimuovere gli sfondi dalle immagini"
      }
    },
    "outputs": {
      "0": {
        "name": "bg_model",
        "tooltip": null
      }
    }
  },
  "LoadDA3Model": {
    "display_name": "Carica Depth Anything 3",
    "inputs": {
      "model_name": {
        "name": "model_name"
      },
      "weight_dtype": {
        "name": "weight_dtype"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadImage": {
    "display_name": "Carica Immagine",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "upload": {
        "name": "scegli file da caricare"
      }
    }
  },
  "LoadImageDataSetFromFolder": {
    "description": "Carica un dataset di immagini da una cartella specificata e restituisce una lista di immagini. Formati supportati: PNG, JPG, JPEG, WEBP.",
    "display_name": "Carica Immagine (da Cartella)",
    "inputs": {
      "folder": {
        "name": "cartella",
        "tooltip": "La cartella da cui caricare le immagini."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Elenco delle immagini caricate"
      }
    }
  },
  "LoadImageMask": {
    "display_name": "Carica Immagine (come Maschera)",
    "inputs": {
      "channel": {
        "name": "canale"
      },
      "image": {
        "name": "immagine"
      },
      "upload": {
        "name": "scegli file da caricare"
      }
    }
  },
  "LoadImageOutput": {
    "description": "Carica un'immagine dalla cartella di output. Quando si clicca il pulsante aggiorna, il nodo aggiornerà l'elenco delle immagini e selezionerà automaticamente la prima immagine, permettendo un'iterazione semplice.",
    "display_name": "Carica Immagine (da Output)",
    "inputs": {
      "Auto-refresh after generation": {},
      "image": {
        "name": "immagine"
      },
      "refresh": {},
      "upload": {
        "name": "scegli file da caricare"
      }
    }
  },
  "LoadImageTextDataSetFromFolder": {
    "description": "Carica un dataset di coppie di immagini e didascalie di testo da una cartella specificata e restituiscile come elenco. Formati supportati: PNG, JPG, JPEG, WEBP.",
    "display_name": "Carica Immagine-Testo (da Cartella)",
    "inputs": {
      "folder": {
        "name": "cartella",
        "tooltip": "La cartella da cui caricare immagini e didascalie di testo."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Elenco delle immagini caricate"
      },
      "1": {
        "name": "testi",
        "tooltip": "Elenco delle didascalie di testo"
      }
    }
  },
  "LoadLatent": {
    "display_name": "Carica Latent",
    "inputs": {
      "latent": {
        "name": "latent"
      }
    }
  },
  "LoadMediaPipeFaceLandmarker": {
    "display_name": "Carica Modello Rilevamento Volto (MediaPipe)",
    "inputs": {
      "model_name": {
        "name": "nome_modello",
        "tooltip": "Modello di rilevamento volto da models/detection/."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadMoGeModel": {
    "display_name": "Carica Modello MoGe",
    "inputs": {
      "model_name": {
        "name": "nome_modello"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadTrainingDataset": {
    "description": "Carica un dataset di addestramento codificato (latents + conditioning) dal disco per l'uso nell'addestramento.",
    "display_name": "Carica Dataset di Addestramento",
    "inputs": {
      "folder_name": {
        "name": "nome_cartella",
        "tooltip": "Dataset salvato da caricare, dalla directory dei dataset."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "Elenco di dizionari latent"
      },
      "1": {
        "name": "conditioning",
        "tooltip": "Elenco di liste di conditioning"
      }
    }
  },
  "LoadVideo": {
    "display_name": "Carica Video",
    "inputs": {
      "file": {
        "name": "file"
      },
      "upload": {
        "name": "scegli file da caricare"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadVideoDataSetFromFolder": {
    "description": "Carica un dataset di video da una cartella specificata e restituisci un elenco di video. Formati supportati: MP4, AVI, MOV, WEBM, MKV, FLV.",
    "display_name": "Carica Video (da Cartella)",
    "inputs": {
      "folder": {
        "name": "cartella",
        "tooltip": "La cartella contenente i file video."
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": "Riferimenti video lazy; i frame vengono decodificati solo quando necessario a valle."
      }
    }
  },
  "LoadVideoTextDataSetFromFolder": {
    "description": "Carica un dataset di coppie di video e didascalie di testo da una cartella specificata e restituiscili come elenco. Formati supportati: MP4, AVI, MOV, WEBM, MKV, FLV.",
    "display_name": "Carica Video-Testo (da Cartella)",
    "inputs": {
      "folder": {
        "name": "cartella",
        "tooltip": "La cartella contenente i file video e le didascalie .txt."
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": "Riferimenti video lazy; i frame vengono decodificati solo quando necessario a valle."
      },
      "1": {
        "name": "testi",
        "tooltip": "Elenco delle didascalie di testo."
      }
    }
  },
  "LoraLoader": {
    "description": "Questo loader LoRA viene utilizzato per modificare sia i modelli di diffusione che i modelli CLIP, alterando il modo in cui i latenti vengono denoised, ad esempio applicando stili. È possibile collegare insieme più nodi LoRA.",
    "display_name": "Carica LoRA (Modello e CLIP)",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Il modello CLIP a cui verrà applicato il LoRA."
      },
      "lora_name": {
        "name": "lora_name",
        "tooltip": "Il nome del LoRA."
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello di diffusione a cui verrà applicato il LoRA."
      },
      "strength_clip": {
        "name": "strength_clip",
        "tooltip": "Intensità della modifica al modello CLIP. Questo valore può essere negativo."
      },
      "strength_model": {
        "name": "strength_model",
        "tooltip": "Intensità della modifica al modello di diffusione. Questo valore può essere negativo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il modello di diffusione modificato."
      },
      "1": {
        "tooltip": "Il modello CLIP modificato."
      }
    }
  },
  "LoraLoaderBypass": {
    "description": "Applica LoRA in modalità bypass. A differenza del LoRA normale, questo non modifica i pesi del modello, ma inietta il calcolo LoRA durante il forward pass. Utile per scenari di training.",
    "display_name": "Carica LoRA (Bypass) (per debug)",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Il modello CLIP a cui verrà applicato il LoRA."
      },
      "lora_name": {
        "name": "lora_name",
        "tooltip": "Il nome del LoRA."
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello di diffusione a cui verrà applicato il LoRA."
      },
      "strength_clip": {
        "name": "strength_clip",
        "tooltip": "Intensità della modifica al modello CLIP. Questo valore può essere negativo."
      },
      "strength_model": {
        "name": "strength_model",
        "tooltip": "Intensità della modifica al modello di diffusione. Questo valore può essere negativo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il modello di diffusione modificato."
      },
      "1": {
        "tooltip": "Il modello CLIP modificato."
      }
    }
  },
  "LoraLoaderBypassModelOnly": {
    "description": "Applica LoRA in modalità bypass. A differenza del LoRA normale, questo non modifica i pesi del modello, ma inietta il calcolo LoRA durante il forward pass. Utile per scenari di training.",
    "display_name": "Carica LoRA (Bypass, solo modello) (per debug)",
    "inputs": {
      "lora_name": {
        "name": "lora_name"
      },
      "model": {
        "name": "model"
      },
      "strength_model": {
        "name": "strength_model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il modello di diffusione modificato."
      }
    }
  },
  "LoraLoaderModelOnly": {
    "description": "Questo loader LoRA viene utilizzato per modificare il modello di diffusione, alterando il modo in cui i latenti vengono denoised, ad esempio applicando stili. È possibile collegare insieme più nodi LoRA.",
    "display_name": "Carica LoRA",
    "inputs": {
      "lora_name": {
        "name": "lora_name"
      },
      "model": {
        "name": "model"
      },
      "strength_model": {
        "name": "strength_model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il modello di diffusione modificato."
      }
    }
  },
  "LoraModelLoader": {
    "display_name": "Carica modello LoRA",
    "inputs": {
      "bypass": {
        "name": "bypass",
        "tooltip": "Se abilitato, applica LoRA in modalità bypass senza modificare i pesi del modello base. Utile per l’addestramento e quando i pesi del modello sono scaricati."
      },
      "lora": {
        "name": "lora",
        "tooltip": "Il modello LoRA da applicare al modello di diffusione."
      },
      "model": {
        "name": "modello",
        "tooltip": "Il modello di diffusione a cui verrà applicato il LoRA."
      },
      "strength_model": {
        "name": "forza_modello",
        "tooltip": "Intensità della modifica del modello di diffusione. Questo valore può essere negativo."
      }
    },
    "outputs": {
      "0": {
        "name": "modello",
        "tooltip": "Il modello di diffusione modificato."
      }
    }
  },
  "LoraSave": {
    "display_name": "Estrai e salva LoRA",
    "inputs": {
      "bias_diff": {
        "name": "bias_diff"
      },
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "lora_type": {
        "name": "tipo_lora"
      },
      "model_diff": {
        "name": "model_diff",
        "tooltip": "L’output di ModelSubtract da convertire in LoRA."
      },
      "rank": {
        "name": "rank"
      },
      "text_encoder_diff": {
        "name": "text_encoder_diff",
        "tooltip": "L’output di CLIPSubtract da convertire in LoRA."
      }
    }
  },
  "LossGraphNode": {
    "display_name": "Traccia grafico della perdita",
    "inputs": {
      "filename_prefix": {
        "name": "prefisso_nome_file",
        "tooltip": "Prefisso per l’immagine del grafico della perdita salvata."
      },
      "loss": {
        "name": "perdita",
        "tooltip": "Mappa della perdita dal nodo di addestramento."
      }
    }
  },
  "LotusConditioning": {
    "display_name": "LotusConditioning",
    "outputs": {
      "0": {
        "name": "condizionamento",
        "tooltip": null
      }
    }
  },
  "LtxvApiImageToVideo": {
    "description": "Video di qualità professionale con durata e risoluzione personalizzabili a partire da un'immagine iniziale.",
    "display_name": "LTXV Da Immagine a Video",
    "inputs": {
      "duration": {
        "name": "durata"
      },
      "fps": {
        "name": "fps"
      },
      "generate_audio": {
        "name": "genera_audio",
        "tooltip": "Se attivo, il video generato includerà audio AI che corrisponde alla scena."
      },
      "image": {
        "name": "immagine",
        "tooltip": "Primo fotogramma da utilizzare per il video."
      },
      "model": {
        "name": "modello"
      },
      "prompt": {
        "name": "prompt"
      },
      "resolution": {
        "name": "risoluzione"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LtxvApiTextToVideo": {
    "description": "Video di qualità professionale con durata e risoluzione personalizzabili.",
    "display_name": "LTXV Da Testo a Video",
    "inputs": {
      "duration": {
        "name": "durata"
      },
      "fps": {
        "name": "fps"
      },
      "generate_audio": {
        "name": "genera_audio",
        "tooltip": "Se attivo, il video generato includerà audio AI che corrisponde alla scena."
      },
      "model": {
        "name": "modello"
      },
      "prompt": {
        "name": "prompt"
      },
      "resolution": {
        "name": "risoluzione"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaConceptsNode": {
    "description": "Concetti di fotocamera da utilizzare con i nodi Luma Text to Video e Luma Image to Video.",
    "display_name": "Luma Concepts",
    "inputs": {
      "concept1": {
        "name": "concetto1"
      },
      "concept2": {
        "name": "concetto2"
      },
      "concept3": {
        "name": "concetto3"
      },
      "concept4": {
        "name": "concetto4"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Concetti di fotocamera opzionali da aggiungere a quelli selezionati qui."
      }
    },
    "outputs": {
      "0": {
        "name": "luma_concepts",
        "tooltip": null
      }
    }
  },
  "LumaImageEditNode2": {
    "description": "Modifica un'immagine esistente con un prompt testuale utilizzando il modello Luma UNI-1.",
    "display_name": "Luma UNI-1 Modifica Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la modifica."
      },
      "model_style": {
        "name": "stile"
      },
      "model_web_search": {
        "name": "ricerca web"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione della modifica desiderata. 1–6000 caratteri."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "source": {
        "name": "sorgente",
        "tooltip": "Immagine sorgente da modificare."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageModifyNode": {
    "description": "Modifica le immagini in modo sincrono in base al prompt e al rapporto d'aspetto.",
    "display_name": "Luma Da Immagine a Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "image": {
        "name": "immagine"
      },
      "image_weight": {
        "name": "peso_immagine",
        "tooltip": "Peso dell'immagine; più vicino a 1.0, meno l'immagine verrà modificata."
      },
      "model": {
        "name": "modello"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageNode": {
    "description": "Genera immagini in modo sincrono in base al prompt e al rapporto d'aspetto.",
    "display_name": "Luma Da Testo a Immagine",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto_d'aspetto"
      },
      "character_image": {
        "name": "immagine_personaggio",
        "tooltip": "Immagini di riferimento per il personaggio; può essere un batch di più immagini, fino a 4 immagini possono essere considerate."
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "image_luma_ref": {
        "name": "riferimento_luma_immagine",
        "tooltip": "Connessione al nodo di riferimento Luma per influenzare la generazione con immagini di input; possono essere considerate fino a 4 immagini."
      },
      "model": {
        "name": "modello"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono non deterministici indipendentemente dal seed."
      },
      "style_image": {
        "name": "immagine_stile",
        "tooltip": "Immagine di riferimento per lo stile; verrà utilizzata solo 1 immagine."
      },
      "style_image_weight": {
        "name": "peso_immagine_stile",
        "tooltip": "Peso dell'immagine di stile. Ignorato se nessuna immagine di stile è fornita."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageNode2": {
    "description": "Genera immagini da testo utilizzando il modello Luma UNI-1.",
    "display_name": "Luma UNI-1 Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la generazione."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_style": {
        "name": "stile"
      },
      "model_web_search": {
        "name": "web_search"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale dell'immagine desiderata. 1–6000 caratteri."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageToVideoNode": {
    "description": "Genera video in modo sincrono basandosi su prompt, immagini di input e output_size.",
    "display_name": "Luma Da Immagine a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration": {
        "name": "durata"
      },
      "first_image": {
        "name": "prima_immagine",
        "tooltip": "Primo fotogramma del video generato."
      },
      "last_image": {
        "name": "ultima_immagine",
        "tooltip": "Ultimo fotogramma del video generato."
      },
      "loop": {
        "name": "loop"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Concetti Camera opzionali per dettare il movimento della camera tramite il nodo Luma Concepts."
      },
      "model": {
        "name": "modello"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione del video"
      },
      "resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaRay32ExtendVideoNode": {
    "description": "Estendi una generazione Ray 3.2 precedente in avanti (continua dopo) o indietro (introduzione prima). Collega l'output generation_id di un nodo Luma Ray 3.2 precedente. Le estensioni sono sempre di 5 secondi.",
    "display_name": "Luma Ray 3.2 Estendi Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "direction": {
        "name": "direzione",
        "tooltip": "Avanti continua dopo il clip precedente; indietro viene anteposto prima di esso."
      },
      "direction_loop": {
        "name": "loop"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per il nuovo contenuto."
      },
      "resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "source_generation_id": {
        "name": "source_generation_id",
        "tooltip": "generation_id del video Ray 3.2 precedente da estendere. Collega l'output generation_id di un altro nodo Luma Ray 3.2."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32ImageToVideoNode": {
    "description": "Genera un video da un fotogramma iniziale e/o finale utilizzando il modello Ray 3.2 di Luma. Le generazioni ancorate all'immagine durano sempre 5 secondi.",
    "display_name": "Luma Ray 3.2 Da Immagine a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Ultimo fotogramma del video generato."
      },
      "loop": {
        "name": "loop",
        "tooltip": "Rendi il video in loop senza soluzione di continuità. Non disponibile quando è impostato un end_frame."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per la generazione del video."
      },
      "resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati sono comunque non deterministici indipendentemente dal seed."
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Primo fotogramma del video generato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32KeyframeNode": {
    "description": "Ancora un'immagine guida a una posizione sulla timeline del video generato da Ray 3.2. Collega questo nodo all'input 'keyframes' del nodo Luma Ray 3.2 Keyframes to Video; collega più nodi insieme tramite l'input opzionale 'keyframes' qui sotto.",
    "display_name": "Luma Ray 3.2 Keyframe",
    "inputs": {
      "image": {
        "name": "immagine",
        "tooltip": "Immagine guida da posizionare nel momento scelto del video di output."
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Keyframe precedenti opzionali da concatenare a questo."
      },
      "position": {
        "name": "posizione",
        "tooltip": "Come posizionare questa immagine sulla timeline del video di output."
      },
      "position_fraction": {
        "name": "frazione"
      }
    },
    "outputs": {
      "0": {
        "name": "keyframes",
        "tooltip": null
      }
    }
  },
  "LumaRay32KeyframesToVideoNode": {
    "description": "Genera un video che interpola attraverso una sequenza di immagini guida, ciascuna ancorata a una posizione sulla timeline, utilizzando Luma Ray 3.2. Costruisci la sequenza con i nodi Luma Ray 3.2 Keyframe (almeno 2).",
    "display_name": "Luma Ray 3.2 Keyframes to Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration": {
        "name": "durata"
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Sequenza di keyframe dai nodi Luma Ray 3.2 Keyframe (almeno 2)."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per la generazione del video."
      },
      "resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati sono comunque non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32TextToVideoNode": {
    "description": "Genera un video da un prompt testuale utilizzando il modello Ray 3.2 di Luma.",
    "display_name": "Luma Ray 3.2 Testo in Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "loop": {
        "name": "loop",
        "tooltip": "Rendi il video in loop senza soluzione di continuità. Disponibile solo con durata di 5s."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per la generazione del video."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati sono comunque non deterministici."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32VideoEditNode": {
    "description": "Rigenera un video esistente con un nuovo prompt usando Luma Ray 3.2 (restyle, relight, aggiungi o rimuovi elementi) mantenendo il movimento originale. Video sorgente fino a 18 secondi; il video modificato mantiene la lunghezza dell’originale.",
    "display_name": "Luma Ray 3.2 Modifica Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrive la modifica desiderata."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati sono comunque non deterministici."
      },
      "strength": {
        "name": "strength",
        "tooltip": "Quanto fortemente preservare o reinventare il sorgente. 'auto' lascia scegliere a Ray 3.2; adhere_* preserva di più, flex_* è bilanciato, reimagine_* cambia di più."
      },
      "video": {
        "name": "video",
        "tooltip": "Video sorgente da modificare. Fino a 18 secondi."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32VideoReframeNode": {
    "description": "Cambia il rapporto d’aspetto di un video esistente, utilizzando Luma Ray 3.2 per riempire le nuove aree del canvas esposte. Video sorgente fino a 30 secondi. Fatturazione per secondo di output.",
    "display_name": "Luma Ray 3.2 Riquadratura Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrive come riempire le nuove aree del canvas esposte."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati sono comunque non deterministici."
      },
      "video": {
        "name": "video",
        "tooltip": "Video sorgente da riquadrare. Fino a 30 secondi."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaReferenceNode": {
    "description": "Contiene un'immagine e un peso da utilizzare con il nodo Luma Generate Image.",
    "display_name": "Luma Reference",
    "inputs": {
      "image": {
        "name": "immagine",
        "tooltip": "Immagine da utilizzare come riferimento."
      },
      "luma_ref": {
        "name": "luma_ref"
      },
      "weight": {
        "name": "peso",
        "tooltip": "Peso del riferimento immagine."
      }
    },
    "outputs": {
      "0": {
        "name": "luma_ref",
        "tooltip": null
      }
    }
  },
  "LumaVideoNode": {
    "description": "Genera video in modo sincrono in base al prompt e alla dimensione di output.",
    "display_name": "Luma Text to Video",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto d'aspetto"
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "duration": {
        "name": "durata"
      },
      "loop": {
        "name": "loop"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Concetti Camera opzionali per controllare il movimento della camera tramite il nodo Luma Concepts."
      },
      "model": {
        "name": "modello"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione del video"
      },
      "resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageRelightNode": {
    "description": "Rilluminazione di un'immagine con regolazioni della luce e trasferimento opzionale della luce da riferimento.",
    "display_name": "Magnific Image Relight",
    "inputs": {
      "advanced_settings": {
        "name": "impostazioni avanzate",
        "tooltip": "Opzioni di regolazione fine per il controllo avanzato dell'illuminazione."
      },
      "change_background": {
        "name": "cambia sfondo",
        "tooltip": "Modifica lo sfondo in base al prompt/riferimento."
      },
      "image": {
        "name": "immagine",
        "tooltip": "L'immagine da rilluminare."
      },
      "interpolate_from_original": {
        "name": "interpolazione dall'originale",
        "tooltip": "Limita la libertà di generazione per aderire maggiormente all'originale."
      },
      "light_transfer_strength": {
        "name": "intensità trasferimento luce",
        "tooltip": "Intensità dell'applicazione del trasferimento luce."
      },
      "preserve_details": {
        "name": "preserva dettagli",
        "tooltip": "Mantiene la texture e i dettagli fini dell'originale."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Guida descrittiva per l'illuminazione. Supporta la notazione di enfasi (1-1.4)."
      },
      "reference_image": {
        "name": "immagine di riferimento",
        "tooltip": "Immagine di riferimento opzionale da cui trasferire l'illuminazione."
      },
      "style": {
        "name": "stile",
        "tooltip": "Preferenza stilistica per l'output."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageSkinEnhancerNode": {
    "description": "Miglioramento della pelle per ritratti con modalità di elaborazione multiple.",
    "display_name": "Magnific Image Skin Enhancer",
    "inputs": {
      "image": {
        "name": "immagine",
        "tooltip": "L'immagine del ritratto da migliorare."
      },
      "mode": {
        "name": "modalità",
        "tooltip": "Modalità di elaborazione: creative per miglioramento artistico, faithful per preservare l'aspetto originale, flexible per ottimizzazione mirata."
      },
      "sharpen": {
        "name": "nitidezza",
        "tooltip": "Livello di intensità della nitidezza."
      },
      "smart_grain": {
        "name": "grana intelligente",
        "tooltip": "Livello di intensità della grana intelligente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageStyleTransferNode": {
    "description": "Trasferisci lo stile da un'immagine di riferimento alla tua immagine di input.",
    "display_name": "Trasferimento Stile Immagine Magnific",
    "inputs": {
      "engine": {
        "name": "engine",
        "tooltip": "Selezione del motore di elaborazione."
      },
      "fixed_generation": {
        "name": "fixed_generation",
        "tooltip": "Se disabilitato, ogni generazione introdurrà un certo grado di casualità, portando a risultati più vari."
      },
      "flavor": {
        "name": "flavor",
        "tooltip": "Tipo di trasferimento di stile."
      },
      "image": {
        "name": "image",
        "tooltip": "L'immagine a cui applicare il trasferimento di stile."
      },
      "portrait_mode": {
        "name": "portrait_mode",
        "tooltip": "Abilita la modalità ritratto per miglioramenti facciali."
      },
      "prompt": {
        "name": "prompt"
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "L'immagine di riferimento da cui estrarre lo stile."
      },
      "structure_strength": {
        "name": "structure_strength",
        "tooltip": "Mantiene la struttura dell'immagine originale."
      },
      "style_strength": {
        "name": "style_strength",
        "tooltip": "Percentuale di intensità dello stile."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageUpscalerCreativeNode": {
    "description": "Miglioramento guidato da prompt, stilizzazione e ingrandimento 2x/4x/8x/16x. Output massimo: 25,3 megapixel.",
    "display_name": "Ingrandimento Immagine Magnific (Creativo)",
    "inputs": {
      "auto_downscale": {
        "name": "auto_downscale",
        "tooltip": "Ridimensiona automaticamente l'immagine di input se l'output supera il limite massimo di pixel."
      },
      "creativity": {
        "name": "creativity"
      },
      "engine": {
        "name": "engine"
      },
      "fractality": {
        "name": "fractality",
        "tooltip": "L'intensità del prompt e la complessità per pixel quadrato."
      },
      "hdr": {
        "name": "hdr",
        "tooltip": "Il livello di definizione e dettaglio."
      },
      "image": {
        "name": "image"
      },
      "optimized_for": {
        "name": "optimized_for"
      },
      "prompt": {
        "name": "prompt"
      },
      "resemblance": {
        "name": "resemblance",
        "tooltip": "Il livello di somiglianza con l'immagine originale."
      },
      "scale_factor": {
        "name": "scale_factor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageUpscalerPreciseV2Node": {
    "description": "Ingrandimento ad alta fedeltà con controllo preciso su nitidezza, grana e dettaglio. Output massimo: 10060×10060 pixel.",
    "display_name": "Ingrandimento Immagine Magnific (Preciso V2)",
    "inputs": {
      "auto_downscale": {
        "name": "auto_downscale",
        "tooltip": "Ridimensiona automaticamente l'immagine di input se l'output supera la risoluzione massima."
      },
      "flavor": {
        "name": "flavor",
        "tooltip": "Stile di elaborazione: sublime per uso generale, photo per fotografie, photo_denoiser per foto rumorose."
      },
      "image": {
        "name": "image"
      },
      "scale_factor": {
        "name": "scale_factor"
      },
      "sharpen": {
        "name": "sharpen",
        "tooltip": "Intensità della nitidezza dell'immagine. Valori più alti aumentano la definizione dei bordi e la chiarezza."
      },
      "smart_grain": {
        "name": "smart_grain",
        "tooltip": "Miglioramento intelligente della grana/texture per evitare che l'immagine risulti troppo liscia o artificiale."
      },
      "ultra_detail": {
        "name": "ultra_detail",
        "tooltip": "Controlla i dettagli fini, le texture e i micro-dettagli aggiunti durante l'ingrandimento."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Mahiro": {
    "description": "Modifica la guida per scalare maggiormente sulla 'direzione' del prompt positivo piuttosto che sulla differenza tra il prompt negativo.",
    "display_name": "Guida con Bias Positivo",
    "inputs": {
      "model": {
        "name": "modello"
      }
    },
    "outputs": {
      "0": {
        "name": "modello_patchato",
        "tooltip": null
      }
    }
  },
  "MakeTrainingDataset": {
    "description": "Codifica le immagini con VAE e i testi con CLIP per creare un dataset di addestramento di latenti e conditionings.",
    "display_name": "Crea Dataset di Addestramento",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Modello CLIP per codificare il testo in conditioning."
      },
      "images": {
        "name": "immagini",
        "tooltip": "Elenco di immagini da codificare."
      },
      "texts": {
        "name": "testi",
        "tooltip": "Elenco di didascalie testuali. Può essere di lunghezza n (corrispondente alle immagini), 1 (ripetuto per tutte), o omesso (usa stringa vuota)."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Modello VAE per codificare le immagini in latenti."
      }
    },
    "outputs": {
      "0": {
        "name": "latenti",
        "tooltip": "Elenco di dizionari latenti"
      },
      "1": {
        "name": "conditioning",
        "tooltip": "Elenco di liste di conditioning"
      }
    }
  },
  "ManualSigmas": {
    "display_name": "ManualSigmas",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MaskComposite": {
    "display_name": "Combina Maschere",
    "inputs": {
      "destination": {
        "name": "destinazione"
      },
      "operation": {
        "name": "operazione"
      },
      "source": {
        "name": "sorgente"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MaskPreview": {
    "description": "Visualizza in anteprima le maschere senza salvarle nella directory di output di ComfyUI.",
    "display_name": "Anteprima Maschera",
    "inputs": {
      "mask": {
        "name": "maschera"
      }
    },
    "outputs": {
      "0": {
        "name": "maschera",
        "tooltip": null
      }
    }
  },
  "MaskToImage": {
    "display_name": "Converti Maschera in Immagine",
    "inputs": {
      "mask": {
        "name": "maschera"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MediaPipeFaceLandmarker": {
    "description": "Rileva i punti di riferimento facciali utilizzando il modello MediaPipe.",
    "display_name": "Rileva Punti di Riferimento del Viso (MediaPipe)",
    "inputs": {
      "detector_variant": {
        "name": "variante_rilevatore",
        "tooltip": "Intervallo del rilevatore facciale. 'short' è ottimizzato per visi ravvicinati (entro ~2 m dalla fotocamera); 'full' copre visi più lontani/piccoli (fino a ~5 m) ma è più lento. 'both' esegue entrambi i rilevatori e mantiene quello che ha trovato più visi per fotogramma (~2× costo di rilevamento)."
      },
      "face_detection_model": {
        "name": "face_detection_model"
      },
      "image": {
        "name": "immagine"
      },
      "min_confidence": {
        "name": "min_confidenza",
        "tooltip": "Soglia di punteggio BlazeFace. Abbassare per rilevare visi piccoli/occlusi."
      },
      "missing_frame_fallback": {
        "name": "fallback_frame_mancante",
        "tooltip": "Comportamento per fotogramma quando il rilevamento fallisce in un batch. 'empty' lascia il fotogramma senza volto. 'previous' copia il rilevamento riuscito più recente. 'interpolate' interpola punti di riferimento/bbox/blendshapes tra i fotogrammi riusciti adiacenti. Multi-volto: abbina i volti tra i fotogrammi tramite nearest neighbor greedy sul centro del bbox."
      },
      "num_faces": {
        "name": "num_volti",
        "tooltip": "Numero massimo di volti da restituire per fotogramma. 0 = nessun limite (restituisce tutti quelli rilevati)."
      }
    },
    "outputs": {
      "0": {
        "name": "face_landmarks",
        "tooltip": null
      },
      "1": {
        "name": "bboxes",
        "tooltip": null
      }
    }
  },
  "MediaPipeFaceMask": {
    "description": "Disegna una maschera dai punti di riferimento facciali.",
    "display_name": "Disegna Maschera Facciale (MediaPipe)",
    "inputs": {
      "face_landmarks": {
        "name": "face_landmarks"
      },
      "regions": {
        "name": "regioni",
        "tooltip": "'all' = unione di face_oval+labbra+occhi+iridi (che si riduce a face_oval poiché racchiude il resto). 'custom' = attiva/disattiva ogni regione individualmente per combinazioni come labbra+occhi."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MediaPipeFaceMeshVisualize": {
    "description": "Disegna la mesh dei punti di riferimento facciali sull'immagine di input.",
    "display_name": "Visualizza Punti di Riferimento del Viso (MediaPipe)",
    "inputs": {
      "color": {
        "name": "colore"
      },
      "connections": {
        "name": "connessioni",
        "tooltip": "'all' = oval+occhi+sopracciglia+labbra+iridi+naso. 'fill' = poligono face_oval pieno (maschera silhouette). 'custom' = attiva/disattiva ogni caratteristica individualmente (incluso 'tesselation', il wireframe completo da 2547 spigoli)."
      },
      "face_landmarks": {
        "name": "face_landmarks"
      },
      "image": {
        "name": "immagine",
        "tooltip": "Se non collegata, verrà utilizzata una tela nera."
      },
      "point_size": {
        "name": "dimensione_punto",
        "tooltip": "Raggio dei punti di riferimento in pixel. 0 disabilita il disegno dei punti."
      },
      "thickness": {
        "name": "spessore",
        "tooltip": "Spessore delle linee dei bordi in pixel. 0 disabilita il disegno dei bordi."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MergeImageLists": {
    "description": "Concatena più liste di immagini in una sola.",
    "display_name": "Unisci Liste di Immagini (DEPRECATO)",
    "inputs": {
      "images": {
        "name": "immagini",
        "tooltip": "Elenco delle immagini da elaborare."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Immagini elaborate"
      }
    }
  },
  "MergeSplat": {
    "description": "Concatena qualsiasi numero di gaussian splats in uno solo. L'unione di diverse decodifiche dello stesso latent con seed differenti densifica la superficie, migliorando la qualità della superficie durante la creazione della mesh.",
    "display_name": "Unisci Splats",
    "inputs": {
      "splats": {
        "name": "splats"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "MergeTextLists": {
    "display_name": "Unisci Liste di Testi (DEPRECATO)",
    "inputs": {
      "texts": {
        "name": "testi",
        "tooltip": "Elenco di testi da elaborare."
      }
    },
    "outputs": {
      "0": {
        "name": "testi",
        "tooltip": "Testi elaborati"
      }
    }
  },
  "MeshyAnimateModelNode": {
    "description": "Applica una specifica azione di animazione a un personaggio precedentemente riggato.",
    "display_name": "Meshy: Anima Modello",
    "inputs": {
      "action_id": {
        "name": "action_id",
        "tooltip": "Visita https://docs.meshy.ai/en/api/animation-library per un elenco dei valori disponibili."
      },
      "rig_task_id": {
        "name": "rig_task_id"
      }
    },
    "outputs": {
      "0": {
        "name": "file_modello",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyImageToModelNode": {
    "display_name": "Meshy: Da Immagine a Modello",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "image": {
        "name": "immagine"
      },
      "model": {
        "name": "modello"
      },
      "pose_mode": {
        "name": "modalità_pose",
        "tooltip": "Specifica la modalità di posa per il modello generato."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "should_remesh": {
        "name": "rimodellare",
        "tooltip": "Se impostato su falso, restituisce una mesh triangolare non elaborata."
      },
      "should_remesh_target_polycount": {
        "name": "conteggio_poligoni_target"
      },
      "should_remesh_topology": {
        "name": "topologia"
      },
      "should_texture": {
        "name": "applica_texture",
        "tooltip": "Determina se vengono generate le texture. Se impostato su falso, salta la fase di texturizzazione e restituisce una mesh senza texture."
      },
      "should_texture_enable_pbr": {
        "name": "abilita_pbr"
      },
      "should_texture_texture_prompt": {
        "name": "prompt_texture"
      },
      "symmetry_mode": {
        "name": "modalità_simmetria"
      }
    },
    "outputs": {
      "0": {
        "name": "file_modello",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyMultiImageToModelNode": {
    "display_name": "Meshy: Da Immagini Multiple a Modello",
    "inputs": {
      "control_after_generate": {
        "name": "controllo_dopo_generazione"
      },
      "images": {
        "name": "immagini"
      },
      "model": {
        "name": "modello"
      },
      "pose_mode": {
        "name": "modalità_pose",
        "tooltip": "Specifica la modalità di posa per il modello generato."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "should_remesh": {
        "name": "ricostruisci_mesh",
        "tooltip": "Se impostato su falso, restituisce una mesh triangolare non elaborata."
      },
      "should_remesh_target_polycount": {
        "name": "conteggio_poligoni_target"
      },
      "should_remesh_topology": {
        "name": "topologia"
      },
      "should_texture": {
        "name": "genera_texture",
        "tooltip": "Determina se vengono generate le texture. Impostando su falso si salta la fase di texturizzazione e si restituisce una mesh senza texture."
      },
      "should_texture_enable_pbr": {
        "name": "abilita_pbr"
      },
      "should_texture_texture_prompt": {
        "name": "prompt_texture"
      },
      "symmetry_mode": {
        "name": "modalità_simmetria"
      }
    },
    "outputs": {
      "0": {
        "name": "file_modello",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyRefineNode": {
    "description": "Raffina un modello bozza creato precedentemente.",
    "display_name": "Meshy: Raffina Modello Bozza",
    "inputs": {
      "enable_pbr": {
        "name": "abilita_pbr",
        "tooltip": "Genera mappe PBR (metallico, roughness, normale) oltre al colore base. Nota: deve essere impostato su falso quando si utilizza lo stile Scultura, poiché lo stile Scultura genera il proprio set di mappe PBR."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "model": {
        "name": "modello"
      },
      "texture_image": {
        "name": "immagine_texture",
        "tooltip": "Solo uno tra 'texture_image' o 'texture_prompt' può essere usato contemporaneamente."
      },
      "texture_prompt": {
        "name": "prompt_texture",
        "tooltip": "Fornisci un prompt testuale per guidare il processo di texturizzazione. Massimo 600 caratteri. Non può essere usato contemporaneamente a 'texture_image'."
      }
    },
    "outputs": {
      "0": {
        "name": "file_modello",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyRigModelNode": {
    "description": "Fornisce un personaggio riggato in formati standard. L'auto-rigging attualmente non è adatto per mesh senza texture, asset non umanoidi o asset umanoidi con struttura di arti e corpo poco chiara.",
    "display_name": "Meshy: Rig Model",
    "inputs": {
      "height_meters": {
        "name": "height_meters",
        "tooltip": "L'altezza approssimativa del modello del personaggio in metri. Aiuta nella precisione della scala e del rigging."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "texture_image": {
        "name": "texture_image",
        "tooltip": "L'immagine della texture base a colori UV-unwrapped del modello."
      }
    },
    "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: Text to Model",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "pose_mode": {
        "name": "pose_mode",
        "tooltip": "Specifica la modalità di posa per il modello generato."
      },
      "prompt": {
        "name": "prompt"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "should_remesh": {
        "name": "should_remesh",
        "tooltip": "Se impostato su falso, restituisce una mesh triangolare non elaborata."
      },
      "should_remesh_target_polycount": {
        "name": "target_polycount"
      },
      "should_remesh_topology": {
        "name": "topology"
      },
      "style": {
        "name": "style"
      },
      "symmetry_mode": {
        "name": "symmetry_mode"
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyTextureNode": {
    "display_name": "Meshy: Texture Model",
    "inputs": {
      "enable_original_uv": {
        "name": "enable_original_uv",
        "tooltip": "Usa l'UV originale del modello invece di generarne di nuovi. Quando abilitato, Meshy preserva le texture esistenti del modello caricato. Se il modello non ha UV originali, la qualità dell'output potrebbe non essere ottimale."
      },
      "image_style": {
        "name": "image_style",
        "tooltip": "Un'immagine 2D per guidare il processo di texturizzazione. Non può essere usata contemporaneamente a 'text_style_prompt'."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "model": {
        "name": "model"
      },
      "pbr": {
        "name": "pbr"
      },
      "text_style_prompt": {
        "name": "text_style_prompt",
        "tooltip": "Descrivi lo stile di texture desiderato per l'oggetto usando il testo. Massimo 600 caratteri. Non può essere usato contemporaneamente a 'image_style'."
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MiniMaxH3ImageToVideo": {
    "display_name": "MiniMax H3 Immagine in Video",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "first_frame": {
        "name": "primo fotogramma"
      },
      "height": {
        "name": "altezza"
      },
      "last_frame": {
        "name": "ultimo fotogramma"
      },
      "length": {
        "name": "durata",
        "tooltip": "Numero di fotogrammi a 24 fps, arrotondato alla griglia 17k+5 del modello (124 = ~5s; intervallo di addestramento ~124-362, valori superiori non testati)"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "MiniMaxH3ReferenceToVideo": {
    "description": "<Picture i> / <Video k> / <Audio j> condizionamento di riferimento per MiniMax H3. Usa gli stessi tag durante la generazione del prompt.",
    "display_name": "MiniMax H3 Riferimento a Video",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "durata",
        "tooltip": "Numero di fotogrammi a 24 fps (124 = ~5s, intervallo di addestramento ~124-362)"
      },
      "prompt": {
        "name": "prompt"
      },
      "ref_audios": {
        "name": "audio di riferimento"
      },
      "ref_image_size": {
        "name": "dimensione immagine di riferimento",
        "tooltip": "Ridimensionamento dell'immagine di riferimento. 'match' ridimensiona ogni riferimento (solo in diminuzione, mantenendo le proporzioni) all'area in pixel della generazione; 'max' utilizza il lato corto da 2048px della pipeline di riferimento per la massima fedeltà dell'identità. I token di riferimento vengono mantenuti in ogni passaggio di campionamento, quindi 'max' può essere molto più lento."
      },
      "ref_images": {
        "name": "immagini di riferimento"
      },
      "ref_video_audios": {
        "name": "audio dei video di riferimento"
      },
      "ref_videos": {
        "name": "video di riferimento"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "MiniMaxH3SigmaShift": {
    "description": "Imposta gli shift di flusso video/audio.",
    "display_name": "ModelSamplingMiniMaxH3",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "shift_audio": {
        "name": "shift_audio"
      },
      "shift_video": {
        "name": "shift_video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuo03FirstLastFrameNode": {
    "description": "Genera un video da un'immagine del primo frame e, opzionalmente, da un'immagine dell'ultimo frame utilizzando il modello MiniMax H3. Il rapporto d'aspetto del video segue quello delle immagini fornite.",
    "display_name": "MiniMax H3 Da Primo-Ultimo Frame a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "first_frame": {
        "name": "primo frame",
        "tooltip": "Immagine del primo frame per il video."
      },
      "last_frame": {
        "name": "ultimo frame",
        "tooltip": "Immagine opzionale dell'ultimo frame per il video."
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la generazione del video."
      },
      "model_duration": {
        "name": "durata"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed casuale. La stessa richiesta con lo stesso seed produce risultati simili, ma non garantiti identici."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere o meno un watermark AIGC al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuo03ReferenceNode": {
    "description": "Genera un video condizionato su immagini di riferimento, video e audio utilizzando il modello MiniMax H3. Fai riferimento agli elementi nel prompt secondo il loro ordine: 'Immagine 1', 'Immagine 2', 'Video 1', 'Audio 1', e così via.",
    "display_name": "MiniMax H3 Riferimento a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la generazione del video."
      },
      "model_duration": {
        "name": "durata"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "rapporto"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed casuale. La stessa richiesta con lo stesso seed produce risultati simili, ma non garantiti identici."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere o meno un watermark AIGC al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuo03TextToVideoNode": {
    "description": "Genera un video da un prompt testuale utilizzando il modello MiniMax H3.",
    "display_name": "MiniMax H3 Testo a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la generazione del video."
      },
      "model_duration": {
        "name": "durata"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "rapporto"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed casuale. La stessa richiesta con lo stesso seed produce risultati simili, ma non garantiti identici."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere o meno un watermark AIGC al video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuoVideoNode": {
    "description": "Genera video da un prompt, con fotogramma iniziale opzionale utilizzando il modello MiniMax Hailuo-02.",
    "display_name": "MiniMax Hailuo 02 Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "La durata del video generato in secondi."
      },
      "first_frame_image": {
        "name": "first_frame_image",
        "tooltip": "Immagine opzionale da usare come primo fotogramma per generare un video."
      },
      "prompt_optimizer": {
        "name": "prompt_optimizer",
        "tooltip": "Ottimizza il prompt per migliorare la qualità della generazione quando necessario."
      },
      "prompt_text": {
        "name": "prompt_text",
        "tooltip": "Prompt testuale per guidare la generazione del video."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Le dimensioni del video. 1080p è 1920x1080, 768p è 1366x768."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxImageToVideoNode": {
    "description": "Genera video in modo sincrono a partire da un'immagine e un prompt, con parametri opzionali.",
    "display_name": "MiniMax Da Immagine a Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image",
        "tooltip": "Immagine da usare come primo fotogramma della generazione video"
      },
      "model": {
        "name": "model",
        "tooltip": "Modello da utilizzare per la generazione del video"
      },
      "prompt_text": {
        "name": "prompt_text",
        "tooltip": "Prompt testuale per guidare la generazione del video"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxTextToVideoNode": {
    "description": "Genera video in modo sincrono a partire da un prompt, con parametri opzionali.",
    "display_name": "MiniMax Da Testo a Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Modello da utilizzare per la generazione del video"
      },
      "prompt_text": {
        "name": "prompt_text",
        "tooltip": "Prompt testuale per guidare la generazione del video"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed casuale utilizzato per creare il rumore."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MoGeInference": {
    "description": "Esegui MoGe su una singola immagine per stimare profondità e geometria.",
    "display_name": "Esegui Inferenza MoGe",
    "inputs": {
      "apply_mask": {
        "name": "apply_mask",
        "tooltip": "Imposta i pixel mascherati (cielo / non validi) su inf nei punti e nella profondità così che la mesh li escluda. Disabilita per mantenere la geometria grezza prevista ovunque; la mask viene comunque restituita separatamente."
      },
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Immagini per chiamata di inferenza. Riduci se esaurisci la memoria su un video lungo o un set di immagini."
      },
      "force_projection": {
        "name": "force_projection"
      },
      "fov_x_degrees": {
        "name": "fov_x_degrees",
        "tooltip": "Campo visivo orizzontale della fotocamera sorgente. Imposta la lunghezza focale usata per proiettare la mappa di profondità in 3D. 0 = recupero automatico dai punti previsti."
      },
      "image": {
        "name": "image"
      },
      "moge_model": {
        "name": "moge_model"
      },
      "resolution_level": {
        "name": "resolution_level",
        "tooltip": "0 = più veloce, 9 = maggior dettaglio."
      }
    },
    "outputs": {
      "0": {
        "name": "moge_geometry",
        "tooltip": null
      }
    }
  },
  "MoGePanoramaInference": {
    "description": "Esegui MoGe su un panorama equirettangolare suddividendolo in 12 viste prospettiche, eseguendo l'inferenza su ciascuna e unendo i risultati in una singola mappa di profondità.",
    "display_name": "Esegui Inferenza Panorama MoGe",
    "inputs": {
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Viste per batch di inferenza (totale 12 suddivisioni)."
      },
      "image": {
        "name": "image",
        "tooltip": "Panorama equirettangolare (qualsiasi rapporto d'aspetto)."
      },
      "merge_resolution": {
        "name": "merge_resolution",
        "tooltip": "Risoluzione del lato lungo della mappa di distanza unita."
      },
      "moge_model": {
        "name": "moge_model"
      },
      "resolution_level": {
        "name": "resolution_level",
        "tooltip": "Dettaglio per vista (0 = più veloce, 9 = più dettagliato)."
      },
      "split_resolution": {
        "name": "split_resolution",
        "tooltip": "Risoluzione di ciascuna suddivisione prospettica."
      }
    },
    "outputs": {
      "0": {
        "name": "moge_geometry",
        "tooltip": null
      }
    }
  },
  "MoGePointMapToMesh": {
    "description": "Converti una mappa punti MoGe in una mesh 3D.",
    "display_name": "Converti Mappa Punti MoGe in Mesh",
    "inputs": {
      "batch_index": {
        "name": "batch_index",
        "tooltip": "Quale immagine di una geometria MoGe batchizzata convertire in mesh. Il numero di vertici per immagine varia, quindi i batch non possono essere uniti in una singola MESH."
      },
      "decimation": {
        "name": "decimation",
        "tooltip": "Passo dei vertici; 1 = risoluzione completa."
      },
      "discontinuity_threshold": {
        "name": "discontinuity_threshold",
        "tooltip": "Elimina i pixel la cui profondità su 3x3 supera questa frazione. 0 = disattivato."
      },
      "moge_geometry": {
        "name": "moge_geometry"
      },
      "texture": {
        "name": "texture",
        "tooltip": "Trasporta l'immagine sorgente come texture baseColor."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MoGeRender": {
    "description": "Renderizza una mappa di profondità o una mappa delle normali dai dati di geometria",
    "display_name": "Renderizza Geometria MoGe",
    "inputs": {
      "moge_geometry": {
        "name": "moge_geometry"
      },
      "output": {
        "name": "output",
        "tooltip": "DirectX vs OpenGL controlla la convenzione del canale verde della normal map. DirectX: verde = -Y in basso (Unreal). OpenGL: verde = +Y in alto (Blender, Substance, Unity, glTF)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ModelComputeDtype": {
    "display_name": "ModelComputeDtype",
    "inputs": {
      "dtype": {
        "name": "dtype"
      },
      "model": {
        "name": "model"
      }
    }
  },
  "ModelMergeAdd": {
    "display_name": "ModelMergeAdd",
    "inputs": {
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      }
    }
  },
  "ModelMergeAuraflow": {
    "display_name": "ModelMergeAuraflow",
    "inputs": {
      "cond_seq_linear_": {
        "name": "cond_seq_linear."
      },
      "double_layers_0_": {
        "name": "double_layers.0."
      },
      "double_layers_1_": {
        "name": "double_layers.1."
      },
      "double_layers_2_": {
        "name": "double_layers.2."
      },
      "double_layers_3_": {
        "name": "double_layers.3."
      },
      "final_linear_": {
        "name": "final_linear."
      },
      "init_x_linear_": {
        "name": "init_x_linear."
      },
      "modF_": {
        "name": "modF."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "positional_encoding": {
        "name": "positional_encoding"
      },
      "register_tokens": {
        "name": "register_tokens"
      },
      "single_layers_0_": {
        "name": "single_layers.0."
      },
      "single_layers_10_": {
        "name": "single_layers.10."
      },
      "single_layers_11_": {
        "name": "single_layers.11."
      },
      "single_layers_12_": {
        "name": "single_layers.12."
      },
      "single_layers_13_": {
        "name": "single_layers.13."
      },
      "single_layers_14_": {
        "name": "single_layers.14."
      },
      "single_layers_15_": {
        "name": "single_layers.15."
      },
      "single_layers_16_": {
        "name": "single_layers.16."
      },
      "single_layers_17_": {
        "name": "single_layers.17."
      },
      "single_layers_18_": {
        "name": "single_layers.18."
      },
      "single_layers_19_": {
        "name": "single_layers.19."
      },
      "single_layers_1_": {
        "name": "single_layers.1."
      },
      "single_layers_20_": {
        "name": "single_layers.20."
      },
      "single_layers_21_": {
        "name": "single_layers.21."
      },
      "single_layers_22_": {
        "name": "single_layers.22."
      },
      "single_layers_23_": {
        "name": "single_layers.23."
      },
      "single_layers_24_": {
        "name": "single_layers.24."
      },
      "single_layers_25_": {
        "name": "single_layers.25."
      },
      "single_layers_26_": {
        "name": "single_layers.26."
      },
      "single_layers_27_": {
        "name": "single_layers.27."
      },
      "single_layers_28_": {
        "name": "single_layers.28."
      },
      "single_layers_29_": {
        "name": "single_layers.29."
      },
      "single_layers_2_": {
        "name": "single_layers.2."
      },
      "single_layers_30_": {
        "name": "single_layers.30."
      },
      "single_layers_31_": {
        "name": "single_layers.31."
      },
      "single_layers_3_": {
        "name": "single_layers.3."
      },
      "single_layers_4_": {
        "name": "single_layers.4."
      },
      "single_layers_5_": {
        "name": "single_layers.5."
      },
      "single_layers_6_": {
        "name": "single_layers.6."
      },
      "single_layers_7_": {
        "name": "single_layers.7."
      },
      "single_layers_8_": {
        "name": "single_layers.8."
      },
      "single_layers_9_": {
        "name": "single_layers.9."
      },
      "t_embedder_": {
        "name": "t_embedder."
      }
    }
  },
  "ModelMergeBlocks": {
    "display_name": "ModelMergeBlocks",
    "inputs": {
      "input": {
        "name": "input"
      },
      "middle": {
        "name": "intermedio"
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "out": {
        "name": "uscita"
      }
    }
  },
  "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": "blocks.block35."
      },
      "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."
      }
    }
  },
  "ModelMergeCosmos7B": {
    "display_name": "ModelMergeCosmos7B",
    "inputs": {
      "affline_norm_": {
        "name": "affline_norm."
      },
      "blocks_block0_": {
        "name": "blocco0."
      },
      "blocks_block10_": {
        "name": "blocco10."
      },
      "blocks_block11_": {
        "name": "blocco11."
      },
      "blocks_block12_": {
        "name": "blocco12."
      },
      "blocks_block13_": {
        "name": "blocco13."
      },
      "blocks_block14_": {
        "name": "blocco14."
      },
      "blocks_block15_": {
        "name": "blocco15."
      },
      "blocks_block16_": {
        "name": "blocco16."
      },
      "blocks_block17_": {
        "name": "blocco17."
      },
      "blocks_block18_": {
        "name": "blocco18."
      },
      "blocks_block19_": {
        "name": "blocco19."
      },
      "blocks_block1_": {
        "name": "blocco1."
      },
      "blocks_block20_": {
        "name": "blocco20."
      },
      "blocks_block21_": {
        "name": "blocco21."
      },
      "blocks_block22_": {
        "name": "blocco22."
      },
      "blocks_block23_": {
        "name": "blocco23."
      },
      "blocks_block24_": {
        "name": "blocco24."
      },
      "blocks_block25_": {
        "name": "blocco25."
      },
      "blocks_block26_": {
        "name": "blocco26."
      },
      "blocks_block27_": {
        "name": "blocco27."
      },
      "blocks_block2_": {
        "name": "blocco2."
      },
      "blocks_block3_": {
        "name": "blocco3."
      },
      "blocks_block4_": {
        "name": "blocco4."
      },
      "blocks_block5_": {
        "name": "blocco5."
      },
      "blocks_block6_": {
        "name": "blocco6."
      },
      "blocks_block7_": {
        "name": "blocco7."
      },
      "blocks_block8_": {
        "name": "blocco8."
      },
      "blocks_block9_": {
        "name": "blocco9."
      },
      "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": "blocco 0."
      },
      "blocks_10_": {
        "name": "blocco 10."
      },
      "blocks_11_": {
        "name": "blocco 11."
      },
      "blocks_12_": {
        "name": "blocco 12."
      },
      "blocks_13_": {
        "name": "blocco 13."
      },
      "blocks_14_": {
        "name": "blocco 14."
      },
      "blocks_15_": {
        "name": "blocco 15."
      },
      "blocks_16_": {
        "name": "blocco 16."
      },
      "blocks_17_": {
        "name": "blocco 17."
      },
      "blocks_18_": {
        "name": "blocco 18."
      },
      "blocks_19_": {
        "name": "blocco 19."
      },
      "blocks_1_": {
        "name": "blocco 1."
      },
      "blocks_20_": {
        "name": "blocco 20."
      },
      "blocks_21_": {
        "name": "blocco 21."
      },
      "blocks_22_": {
        "name": "blocco 22."
      },
      "blocks_23_": {
        "name": "blocco 23."
      },
      "blocks_24_": {
        "name": "blocco 24."
      },
      "blocks_25_": {
        "name": "blocco 25."
      },
      "blocks_26_": {
        "name": "blocco 26."
      },
      "blocks_27_": {
        "name": "blocco 27."
      },
      "blocks_28_": {
        "name": "blocco 28."
      },
      "blocks_29_": {
        "name": "blocco 29."
      },
      "blocks_2_": {
        "name": "blocco 2."
      },
      "blocks_30_": {
        "name": "blocco 30."
      },
      "blocks_31_": {
        "name": "blocco 31."
      },
      "blocks_32_": {
        "name": "blocco 32."
      },
      "blocks_33_": {
        "name": "blocco 33."
      },
      "blocks_34_": {
        "name": "blocco 34."
      },
      "blocks_35_": {
        "name": "blocco 35."
      },
      "blocks_3_": {
        "name": "blocco 3."
      },
      "blocks_4_": {
        "name": "blocco 4."
      },
      "blocks_5_": {
        "name": "blocco 5."
      },
      "blocks_6_": {
        "name": "blocco 6."
      },
      "blocks_7_": {
        "name": "blocco 7."
      },
      "blocks_8_": {
        "name": "blocco 8."
      },
      "blocks_9_": {
        "name": "blocco 9."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "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": "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_2_": {
        "name": "blocks.2."
      },
      "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."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embedder_": {
        "name": "pos_embedder."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "t_embedding_norm_": {
        "name": "t_embedding_norm."
      },
      "x_embedder_": {
        "name": "x_embedder."
      }
    }
  },
  "ModelMergeFlux1": {
    "display_name": "ModelMergeFlux1",
    "inputs": {
      "double_blocks_0_": {
        "name": "double_blocks.0."
      },
      "double_blocks_10_": {
        "name": "double_blocks.10."
      },
      "double_blocks_11_": {
        "name": "double_blocks.11."
      },
      "double_blocks_12_": {
        "name": "double_blocks.12."
      },
      "double_blocks_13_": {
        "name": "double_blocks.13."
      },
      "double_blocks_14_": {
        "name": "double_blocks.14."
      },
      "double_blocks_15_": {
        "name": "double_blocks.15."
      },
      "double_blocks_16_": {
        "name": "double_blocks.16."
      },
      "double_blocks_17_": {
        "name": "double_blocks.17."
      },
      "double_blocks_18_": {
        "name": "double_blocks.18."
      },
      "double_blocks_1_": {
        "name": "double_blocks.1."
      },
      "double_blocks_2_": {
        "name": "double_blocks.2."
      },
      "double_blocks_3_": {
        "name": "double_blocks.3."
      },
      "double_blocks_4_": {
        "name": "double_blocks.4."
      },
      "double_blocks_5_": {
        "name": "double_blocks.5."
      },
      "double_blocks_6_": {
        "name": "double_blocks.6."
      },
      "double_blocks_7_": {
        "name": "double_blocks.7."
      },
      "double_blocks_8_": {
        "name": "double_blocks.8."
      },
      "double_blocks_9_": {
        "name": "double_blocks.9."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "guidance_in": {
        "name": "guidance_in"
      },
      "img_in_": {
        "name": "img_in."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "single_blocks_0_": {
        "name": "single_blocks.0."
      },
      "single_blocks_10_": {
        "name": "single_blocks.10."
      },
      "single_blocks_11_": {
        "name": "single_blocks.11."
      },
      "single_blocks_12_": {
        "name": "single_blocks.12."
      },
      "single_blocks_13_": {
        "name": "single_blocks.13."
      },
      "single_blocks_14_": {
        "name": "single_blocks.14."
      },
      "single_blocks_15_": {
        "name": "single_blocks.15."
      },
      "single_blocks_16_": {
        "name": "single_blocks.16."
      },
      "single_blocks_17_": {
        "name": "single_blocks.17."
      },
      "single_blocks_18_": {
        "name": "single_blocks.18."
      },
      "single_blocks_19_": {
        "name": "single_blocks.19."
      },
      "single_blocks_1_": {
        "name": "single_blocks.1."
      },
      "single_blocks_20_": {
        "name": "single_blocks.20."
      },
      "single_blocks_21_": {
        "name": "single_blocks.21."
      },
      "single_blocks_22_": {
        "name": "single_blocks.22."
      },
      "single_blocks_23_": {
        "name": "single_blocks.23."
      },
      "single_blocks_24_": {
        "name": "single_blocks.24."
      },
      "single_blocks_25_": {
        "name": "single_blocks.25."
      },
      "single_blocks_26_": {
        "name": "single_blocks.26."
      },
      "single_blocks_27_": {
        "name": "single_blocks.27."
      },
      "single_blocks_28_": {
        "name": "single_blocks.28."
      },
      "single_blocks_29_": {
        "name": "single_blocks.29."
      },
      "single_blocks_2_": {
        "name": "single_blocks.2."
      },
      "single_blocks_30_": {
        "name": "single_blocks.30."
      },
      "single_blocks_31_": {
        "name": "single_blocks.31."
      },
      "single_blocks_32_": {
        "name": "single_blocks.32."
      },
      "single_blocks_33_": {
        "name": "single_blocks.33."
      },
      "single_blocks_34_": {
        "name": "single_blocks.34."
      },
      "single_blocks_35_": {
        "name": "single_blocks.35."
      },
      "single_blocks_36_": {
        "name": "single_blocks.36."
      },
      "single_blocks_37_": {
        "name": "single_blocks.37."
      },
      "single_blocks_3_": {
        "name": "single_blocks.3."
      },
      "single_blocks_4_": {
        "name": "single_blocks.4."
      },
      "single_blocks_5_": {
        "name": "single_blocks.5."
      },
      "single_blocks_6_": {
        "name": "single_blocks.6."
      },
      "single_blocks_7_": {
        "name": "single_blocks.7."
      },
      "single_blocks_8_": {
        "name": "single_blocks.8."
      },
      "single_blocks_9_": {
        "name": "single_blocks.9."
      },
      "time_in_": {
        "name": "time_in."
      },
      "txt_in_": {
        "name": "txt_in."
      },
      "vector_in_": {
        "name": "vector_in."
      }
    }
  },
  "ModelMergeKrea2": {
    "display_name": "ModelMergeKrea2",
    "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_2_": {
        "name": "blocks.2."
      },
      "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."
      },
      "first_": {
        "name": "first."
      },
      "last_": {
        "name": "last."
      },
      "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": "tabella_scala_shift"
      },
      "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": "ModelMergeQwenImage",
    "inputs": {
      "img_in_": {
        "name": "img_in."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embeds_": {
        "name": "pos_embeds."
      },
      "proj_out_": {
        "name": "proj_out."
      },
      "time_text_embed_": {
        "name": "time_text_embed."
      },
      "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_28_": {
        "name": "transformer_blocks.28."
      },
      "transformer_blocks_29_": {
        "name": "transformer_blocks.29."
      },
      "transformer_blocks_2_": {
        "name": "transformer_blocks.2."
      },
      "transformer_blocks_30_": {
        "name": "transformer_blocks.30."
      },
      "transformer_blocks_31_": {
        "name": "transformer_blocks.31."
      },
      "transformer_blocks_32_": {
        "name": "transformer_blocks.32."
      },
      "transformer_blocks_33_": {
        "name": "transformer_blocks.33."
      },
      "transformer_blocks_34_": {
        "name": "transformer_blocks.34."
      },
      "transformer_blocks_35_": {
        "name": "transformer_blocks.35."
      },
      "transformer_blocks_36_": {
        "name": "transformer_blocks.36."
      },
      "transformer_blocks_37_": {
        "name": "transformer_blocks.37."
      },
      "transformer_blocks_38_": {
        "name": "transformer_blocks.38."
      },
      "transformer_blocks_39_": {
        "name": "transformer_blocks.39."
      },
      "transformer_blocks_3_": {
        "name": "transformer_blocks.3."
      },
      "transformer_blocks_40_": {
        "name": "transformer_blocks.40."
      },
      "transformer_blocks_41_": {
        "name": "transformer_blocks.41."
      },
      "transformer_blocks_42_": {
        "name": "transformer_blocks.42."
      },
      "transformer_blocks_43_": {
        "name": "transformer_blocks.43."
      },
      "transformer_blocks_44_": {
        "name": "transformer_blocks.44."
      },
      "transformer_blocks_45_": {
        "name": "transformer_blocks.45."
      },
      "transformer_blocks_46_": {
        "name": "transformer_blocks.46."
      },
      "transformer_blocks_47_": {
        "name": "transformer_blocks.47."
      },
      "transformer_blocks_48_": {
        "name": "transformer_blocks.48."
      },
      "transformer_blocks_49_": {
        "name": "transformer_blocks.49."
      },
      "transformer_blocks_4_": {
        "name": "transformer_blocks.4."
      },
      "transformer_blocks_50_": {
        "name": "transformer_blocks.50."
      },
      "transformer_blocks_51_": {
        "name": "transformer_blocks.51."
      },
      "transformer_blocks_52_": {
        "name": "transformer_blocks.52."
      },
      "transformer_blocks_53_": {
        "name": "transformer_blocks.53."
      },
      "transformer_blocks_54_": {
        "name": "transformer_blocks.54."
      },
      "transformer_blocks_55_": {
        "name": "transformer_blocks.55."
      },
      "transformer_blocks_56_": {
        "name": "transformer_blocks.56."
      },
      "transformer_blocks_57_": {
        "name": "transformer_blocks.57."
      },
      "transformer_blocks_58_": {
        "name": "transformer_blocks.58."
      },
      "transformer_blocks_59_": {
        "name": "transformer_blocks.59."
      },
      "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."
      },
      "txt_in_": {
        "name": "txt_in."
      },
      "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": "rapporto"
      }
    }
  },
  "ModelMergeSubtract": {
    "display_name": "ModelMergeSubtract",
    "inputs": {
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "multiplier": {
        "name": "moltiplicatore"
      }
    }
  },
  "ModelMergeWAN2_1": {
    "description": "Il modello da 1,3B ha 30 blocchi, il modello da 14B ha 40 blocchi. Il modello da immagine a video ha l'extra img_emb.",
    "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": "ModelNoiseScale",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "noise_scale": {
        "name": "scala_rumore",
        "tooltip": "Scala assoluta del rumore di addestramento. Ad esempio HiDream-O1 base: 8.0, dev: 7.5."
      }
    }
  },
  "ModelPatchLoader": {
    "display_name": "Carica Patch Modello",
    "inputs": {
      "name": {
        "name": "nome"
      }
    }
  },
  "ModelSamplingAuraFlow": {
    "display_name": "ModelSamplingAuraFlow",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "shift": {
        "name": "spostamento"
      }
    }
  },
  "ModelSamplingContinuousEDM": {
    "display_name": "ModelSamplingContinuousEDM",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "sampling": {
        "name": "campionamento"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      }
    }
  },
  "ModelSamplingContinuousV": {
    "display_name": "ModelSamplingContinuousV",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "sampling": {
        "name": "campionamento"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      }
    }
  },
  "ModelSamplingDiscrete": {
    "display_name": "ModelSamplingDiscrete",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "sampling": {
        "name": "campionamento"
      },
      "zsnr": {
        "name": "zsnr"
      }
    }
  },
  "ModelSamplingFlux": {
    "display_name": "ModelSamplingFlux",
    "inputs": {
      "base_shift": {
        "name": "spostamento_base"
      },
      "height": {
        "name": "altezza"
      },
      "max_shift": {
        "name": "spostamento_massimo"
      },
      "model": {
        "name": "modello"
      },
      "width": {
        "name": "larghezza"
      }
    }
  },
  "ModelSamplingLTXV": {
    "display_name": "ModelSamplingLTXV",
    "inputs": {
      "base_shift": {
        "name": "spostamento_base"
      },
      "latent": {
        "name": "latent"
      },
      "max_shift": {
        "name": "spostamento_massimo"
      },
      "model": {
        "name": "modello"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ModelSamplingSD3": {
    "display_name": "ModelSamplingSD3",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "shift": {
        "name": "spostamento"
      }
    }
  },
  "ModelSamplingStableCascade": {
    "display_name": "ModelSamplingStableCascade",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "shift": {
        "name": "spostamento"
      }
    }
  },
  "ModelSave": {
    "display_name": "Salva Modello",
    "inputs": {
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "model": {
        "name": "modello"
      }
    }
  },
  "Morphology": {
    "display_name": "Applica Morfologia",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "kernel_size": {
        "name": "dimensione kernel"
      },
      "operation": {
        "name": "operazione"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MultiGPU_WorkUnits": {
    "description": "Prepara il modello per accelerare il campionamento tramite la suddivisione delle unità di lavoro.\n\nDeve essere posizionato dopo i nodi che modificano direttamente l’oggetto modello, come i nodi di compilazione o di cambio attenzione.\n\nA parte queste eccezioni, questo nodo può essere posizionato in qualsiasi ordine.",
    "display_name": "Divisione CFG MultiGPU",
    "inputs": {
      "max_gpus": {
        "name": "max GPU"
      },
      "model": {
        "name": "modello"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "NAGuidance": {
    "description": "Applica la Guida Attenzione Normalizzata ai modelli, abilitando prompt negativi su modelli distilled/schnell.",
    "display_name": "Guida Attenzione Normalizzata",
    "inputs": {
      "model": {
        "name": "modello",
        "tooltip": "Il modello a cui applicare NAG."
      },
      "nag_alpha": {
        "name": "nag_alpha",
        "tooltip": "Fattore di fusione per l’attenzione normalizzata. 1.0 è sostituzione completa, 0.0 nessun effetto."
      },
      "nag_scale": {
        "name": "fattore scala NAG",
        "tooltip": "Il fattore di scala della guida. Valori più alti allontanano maggiormente dal prompt negativo."
      },
      "nag_tau": {
        "name": "nag_tau"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il modello patchato con NAG abilitato."
      }
    }
  },
  "NormalizeImages": {
    "description": "Normalizza le immagini usando media e deviazione standard.",
    "display_name": "Normalizza Colori Immagine",
    "inputs": {
      "images": {
        "name": "immagini",
        "tooltip": "Immagine da elaborare."
      },
      "mean": {
        "name": "media",
        "tooltip": "Valore medio per la normalizzazione."
      },
      "std": {
        "name": "deviazione standard",
        "tooltip": "Deviazione standard per la normalizzazione."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Immagini elaborate"
      }
    }
  },
  "NormalizeVideoLatentStart": {
    "description": "Normalizza i frame iniziali di un latente video per farli corrispondere alla media e deviazione standard dei frame di riferimento successivi. Aiuta a ridurre le differenze tra i frame iniziali e il resto del video.",
    "display_name": "NormalizzaInizioLatenteVideo",
    "inputs": {
      "latent": {
        "name": "latente"
      },
      "reference_frame_count": {
        "name": "numero frame di riferimento",
        "tooltip": "Numero di frame latenti dopo quelli iniziali da usare come riferimento"
      },
      "start_frame_count": {
        "name": "numero frame iniziali",
        "tooltip": "Numero di frame latenti da normalizzare, a partire dall’inizio"
      }
    },
    "outputs": {
      "0": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "OpenAIChatConfig": {
    "description": "Permette di specificare opzioni di configurazione avanzate per i nodi OpenAI Chat.",
    "display_name": "Opzioni Avanzate OpenAI ChatGPT",
    "inputs": {
      "instructions": {
        "name": "istruzioni",
        "tooltip": "Istruzioni per il modello su come generare la risposta."
      },
      "max_output_tokens": {
        "name": "token_massimi_output",
        "tooltip": "Un limite superiore al numero di token che possono essere generati per una risposta, inclusi i token di output visibili."
      },
      "truncation": {
        "name": "troncamento",
        "tooltip": "La strategia di troncamento da utilizzare per la risposta del modello. auto: Se il contesto di questa risposta e delle precedenti supera la dimensione massima della finestra di contesto del modello, il modello troncherà la risposta per adattarla alla finestra di contesto eliminando elementi di input nel mezzo della conversazione. disabled: Se una risposta del modello supera la dimensione della finestra di contesto, la richiesta fallirà con un errore 400."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIChatNode": {
    "description": "Genera risposte testuali da un modello OpenAI.",
    "display_name": "OpenAI ChatGPT",
    "inputs": {
      "advanced_options": {
        "name": "opzioni_avanzate",
        "tooltip": "Configurazione opzionale per il modello. Accetta input dal nodo OpenAI Chat Advanced Options."
      },
      "files": {
        "name": "file",
        "tooltip": "File opzionale/i da usare come contesto per il modello. Accetta input dal nodo OpenAI Chat Input Files."
      },
      "images": {
        "name": "immagini",
        "tooltip": "Immagine/i opzionale/i da usare come contesto per il modello. Per includere più immagini, puoi usare il nodo Batch Images."
      },
      "model": {
        "name": "modello",
        "tooltip": "Il modello utilizzato per generare la risposta."
      },
      "persist_context": {
        "name": "mantieni_contesto",
        "tooltip": "Questo parametro è deprecato e non ha effetto."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Input testuali per il modello, utilizzati per generare una risposta."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIDalle2": {
    "description": "Genera immagini in modo sincrono tramite l'endpoint DALL·E 2 di OpenAI.",
    "display_name": "OpenAI DALL·E 2",
    "inputs": {
      "control_after_generate": {
        "name": "controllo_dopo_generazione"
      },
      "image": {
        "name": "immagine",
        "tooltip": "Immagine di riferimento opzionale per l'editing dell'immagine."
      },
      "mask": {
        "name": "mask",
        "tooltip": "Mask opzionale per inpainting (le aree bianche verranno sostituite)"
      },
      "n": {
        "name": "n",
        "tooltip": "Quante immagini generare"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per DALL·E"
      },
      "seed": {
        "name": "seed",
        "tooltip": "non ancora implementato nel backend"
      },
      "size": {
        "name": "dimensione",
        "tooltip": "Dimensione dell'immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIDalle3": {
    "description": "Genera immagini in modo sincrono tramite l'endpoint DALL·E 3 di OpenAI.",
    "display_name": "OpenAI DALL·E 3",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per DALL·E"
      },
      "quality": {
        "name": "qualità",
        "tooltip": "Qualità dell'immagine"
      },
      "seed": {
        "name": "seed",
        "tooltip": "non ancora implementato nel backend"
      },
      "size": {
        "name": "dimensione",
        "tooltip": "Dimensione dell'immagine"
      },
      "style": {
        "name": "stile",
        "tooltip": "Vivido fa sì che il modello tenda a generare immagini iper-realistiche e drammatiche. Naturale fa sì che il modello produca immagini più naturali e meno iper-realistiche."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIGPTImage1": {
    "description": "Genera immagini in modo sincrono tramite l'endpoint GPT Image di OpenAI.",
    "display_name": "OpenAI GPT Image 2",
    "inputs": {
      "background": {
        "name": "sfondo",
        "tooltip": "Restituisci l'immagine con o senza sfondo"
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "custom_height": {
        "name": "altezza_personalizzata",
        "tooltip": "Usato solo quando `dimensione` è 'Personalizzata'. Deve essere un multiplo di 16 (solo GPT Image 2)."
      },
      "custom_width": {
        "name": "larghezza_personalizzata",
        "tooltip": "Usato solo quando `dimensione` è 'Personalizzata'. Deve essere un multiplo di 16 (solo GPT Image 2)."
      },
      "image": {
        "name": "immagine",
        "tooltip": "Immagine di riferimento opzionale per la modifica dell'immagine."
      },
      "mask": {
        "name": "mask",
        "tooltip": "Mask opzionale per inpainting (le aree bianche verranno sostituite)"
      },
      "model": {
        "name": "modello"
      },
      "n": {
        "name": "n",
        "tooltip": "Quante immagini generare"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per GPT Image"
      },
      "quality": {
        "name": "qualità",
        "tooltip": "Qualità dell'immagine, influisce su costo e tempo di generazione."
      },
      "seed": {
        "name": "seed",
        "tooltip": "non ancora implementato nel backend"
      },
      "size": {
        "name": "dimensione",
        "tooltip": "Dimensione dell'immagine. Seleziona 'Personalizzata' per usare larghezza e altezza personalizzate (solo GPT Image 2)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIGPTImageNodeV2": {
    "description": "Genera immagini tramite l'endpoint GPT Image di OpenAI.",
    "display_name": "OpenAI GPT Image 2",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello"
      },
      "model_background": {
        "name": "sfondo"
      },
      "model_custom_height": {
        "name": "altezza_personalizzata"
      },
      "model_custom_width": {
        "name": "larghezza_personalizzata"
      },
      "model_quality": {
        "name": "qualità"
      },
      "model_size": {
        "name": "dimensione"
      },
      "n": {
        "name": "n",
        "tooltip": "Quante immagini generare"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per GPT Image"
      },
      "seed": {
        "name": "seed",
        "tooltip": "non ancora implementato nel backend"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIInputFiles": {
    "description": "Carica e prepara file di input (testo, pdf, ecc.) da includere come input per il nodo OpenAI Chat. I file verranno letti dal modello OpenAI durante la generazione di una risposta. 🛈 SUGGERIMENTO: Può essere concatenato con altri nodi di Input File OpenAI.",
    "display_name": "File di Input OpenAI ChatGPT",
    "inputs": {
      "OPENAI_INPUT_FILES": {
        "name": "OPENAI_INPUT_FILES",
        "tooltip": "File aggiuntivo opzionale da raggruppare insieme al file caricato da questo nodo. Permette di concatenare file di input in modo che un singolo messaggio possa includere più file di input."
      },
      "file": {
        "name": "file",
        "tooltip": "File di input da includere come contesto per il modello. Attualmente accetta solo file di testo (.txt) e PDF (.pdf)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIVideoSora2": {
    "description": "Generazione di video e audio con OpenAI.\n\nAVVISO DI DEPRECAMENTO: OpenAI interromperà il servizio dell'API Sora v2 a settembre 2026. Questo nodo verrà rimosso da ComfyUI in quel momento.",
    "display_name": "OpenAI Sora - Video (DEPRECATO)",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Testo guida; può essere vuoto se è presente un'immagine di input."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici."
      },
      "size": {
        "name": "size"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenRouterLLMNode": {
    "description": "Genera risposte testuali tramite OpenRouter. Instrada verso una selezione curata di modelli popolari di Anthropic (Claude), OpenAI (GPT), Google (Gemini), xAI (Grok), DeepSeek, Qwen, Mistral, Z.AI (GLM), Moonshot (Kimi) e Perplexity Sonar.",
    "display_name": "OpenRouter LLM",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Il modello OpenRouter utilizzato per generare la risposta."
      },
      "model_reasoning_effort": {
        "name": "reasoning_effort"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Testo di input per il modello."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per il campionamento. Impostare a 0 per omettere. La maggior parte dei modelli lo considera solo come suggerimento."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Istruzioni fondamentali che determinano il comportamento del modello."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpticalFlowLoader": {
    "display_name": "Carica Modello Optical Flow",
    "inputs": {
      "model_name": {
        "name": "model_name",
        "tooltip": "Modello di optical flow da caricare. I file devono essere posizionati nella cartella 'optical_flow'. Attualmente è supportato solo raft_large.pth di torchvision."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OptimalStepsScheduler": {
    "display_name": "OptimalStepsScheduler",
    "inputs": {
      "denoise": {
        "name": "denoise"
      },
      "model_type": {
        "name": "model_type"
      },
      "steps": {
        "name": "steps"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Painter": {
    "display_name": "Painter",
    "inputs": {
      "bg_color": {
        "name": "colore_sfondo"
      },
      "height": {
        "name": "altezza"
      },
      "image": {
        "name": "immagine",
        "tooltip": "Immagine di base opzionale su cui dipingere"
      },
      "mask": {
        "name": "mask"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "PairConditioningCombine": {
    "display_name": "Cond Pair Combine",
    "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": "Cond Pair Set Default Combine",
    "inputs": {
      "hooks": {
        "name": "hooks"
      },
      "negative": {
        "name": "negativo"
      },
      "negative_DEFAULT": {
        "name": "negativo_DEFAULT"
      },
      "positive": {
        "name": "positivo"
      },
      "positive_DEFAULT": {
        "name": "positivo_DEFAULT"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "PairConditioningSetProperties": {
    "display_name": "Cond Pair Set Props",
    "inputs": {
      "hooks": {
        "name": "hooks"
      },
      "mask": {
        "name": "mask"
      },
      "negative_NEW": {
        "name": "negativo_NUOVO"
      },
      "positive_NEW": {
        "name": "positivo_NUOVO"
      },
      "set_cond_area": {
        "name": "imposta_area_cond"
      },
      "strength": {
        "name": "intensità"
      },
      "timesteps": {
        "name": "passi_temporali"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "PairConditioningSetPropertiesAndCombine": {
    "display_name": "Cond Pair Set Props Combine",
    "inputs": {
      "hooks": {
        "name": "hooks"
      },
      "mask": {
        "name": "mask"
      },
      "negative": {
        "name": "negativo"
      },
      "negative_NEW": {
        "name": "negativo_NUOVO"
      },
      "positive": {
        "name": "positivo"
      },
      "positive_NEW": {
        "name": "positivo_NUOVO"
      },
      "set_cond_area": {
        "name": "imposta_area_cond"
      },
      "strength": {
        "name": "intensità"
      },
      "timesteps": {
        "name": "passi_temporali"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "PatchModelAddDownscale": {
    "display_name": "PatchModelAddDownscale (Kohya Deep Shrink)",
    "inputs": {
      "block_number": {
        "name": "numero_blocco"
      },
      "downscale_after_skip": {
        "name": "riduci_dopo_skip"
      },
      "downscale_factor": {
        "name": "fattore_riduzione"
      },
      "downscale_method": {
        "name": "metodo_riduzione"
      },
      "end_percent": {
        "name": "percentuale_fine"
      },
      "model": {
        "name": "modello"
      },
      "start_percent": {
        "name": "percentuale_inizio"
      },
      "upscale_method": {
        "name": "metodo_ingrandimento"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerpNeg": {
    "display_name": "Perp-Neg (DEPRECATO da Perp-Neg Guider)",
    "inputs": {
      "empty_conditioning": {
        "name": "empty_conditioning"
      },
      "model": {
        "name": "model"
      },
      "neg_scale": {
        "name": "neg_scale"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerpNegGuider": {
    "display_name": "Perp-Neg Guider",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "empty_conditioning": {
        "name": "empty_conditioning"
      },
      "model": {
        "name": "model"
      },
      "neg_scale": {
        "name": "neg_scale"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerturbedAttentionGuidance": {
    "display_name": "PerturbedAttentionGuidance",
    "inputs": {
      "model": {
        "name": "model"
      },
      "scale": {
        "name": "scale"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PhotoMakerEncode": {
    "display_name": "PhotoMaker Encode",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "image"
      },
      "photomaker": {
        "name": "photomaker"
      },
      "text": {
        "name": "text"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PhotoMakerLoader": {
    "display_name": "Carica modello PhotoMaker",
    "inputs": {
      "photomaker_model_name": {
        "name": "photomaker_model_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PiDConditioning": {
    "description": "Collega uno spazio latente e uno scalare degrade_sigma a un CONDITIONING per la decodifica/upscaling PiD",
    "display_name": "PiD Conditioning",
    "inputs": {
      "degrade_sigma": {
        "name": "degrade_sigma",
        "tooltip": "0 = spazio latente pulito. Aumenta per denoising di output latenti corrotti."
      },
      "latent": {
        "name": "latent",
        "tooltip": "latent (da VAEEncode o un KSampler)."
      },
      "latent_format": {
        "name": "latent_format",
        "tooltip": "I latenti Flux1 (16-ch) e Flux2 (128-ch) vengono rilevati automaticamente dalla dimensione dei canali sotto 'flux'. Per SD3 (16-ch), SDXL (4-ch) o QwenImage (16-ch), selezionare manualmente."
      },
      "positive": {
        "name": "positive"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseImageToVideoNode": {
    "description": "Genera video basati su prompt e output_size.",
    "display_name": "PixVerse Da Immagine a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration_seconds": {
        "name": "durata_secondi"
      },
      "image": {
        "name": "immagine"
      },
      "motion_mode": {
        "name": "modalità_movimento"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descrizione testuale opzionale degli elementi indesiderati in un'immagine."
      },
      "pixverse_template": {
        "name": "pixverse_template",
        "tooltip": "Un template opzionale per influenzare lo stile della generazione, creato dal nodo PixVerse Template."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione del video"
      },
      "quality": {
        "name": "qualità"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la generazione del video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseTemplateNode": {
    "display_name": "PixVerse Template",
    "inputs": {
      "template": {
        "name": "template"
      }
    },
    "outputs": {
      "0": {
        "name": "pixverse_template",
        "tooltip": null
      }
    }
  },
  "PixverseTextToVideoNode": {
    "description": "Genera video basati su prompt e output_size.",
    "display_name": "PixVerse Da Testo a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto_aspetto"
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration_seconds": {
        "name": "durata_secondi"
      },
      "motion_mode": {
        "name": "modalità_movimento"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descrizione testuale opzionale degli elementi indesiderati in un'immagine."
      },
      "pixverse_template": {
        "name": "pixverse_template",
        "tooltip": "Un template opzionale per influenzare lo stile della generazione, creato dal nodo PixVerse Template."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione del video"
      },
      "quality": {
        "name": "qualità"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la generazione del video."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseTransitionVideoNode": {
    "description": "Genera video basati su prompt e output_size.",
    "display_name": "PixVerse Video di Transizione",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration_seconds": {
        "name": "durata_secondi"
      },
      "first_frame": {
        "name": "primo_frame"
      },
      "last_frame": {
        "name": "ultimo_frame"
      },
      "motion_mode": {
        "name": "modalità_movimento"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descrizione testuale opzionale degli elementi indesiderati in un'immagine."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione del video"
      },
      "quality": {
        "name": "qualità"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la generazione del 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": "passi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PorterDuffImageComposite": {
    "display_name": "Composito Immagine Porter-Duff",
    "inputs": {
      "destination": {
        "name": "destinazione"
      },
      "destination_alpha": {
        "name": "alfa destinazione"
      },
      "mode": {
        "name": "modalità"
      },
      "source": {
        "name": "sorgente"
      },
      "source_alpha": {
        "name": "alfa sorgente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "Preview3D": {
    "description": "Visualizza in anteprima un file modello 3D senza salvarlo nella directory di output di ComfyUI.",
    "display_name": "Anteprima 3D & Animazione",
    "inputs": {
      "bg_image": {
        "name": "immagine_sfondo"
      },
      "camera_info": {
        "name": "info_camera"
      },
      "image": {
        "name": "immagine"
      },
      "model_file": {
        "name": "file_modello",
        "tooltip": "File modello 3D o percorso del file"
      }
    }
  },
  "Preview3DAdvanced": {
    "description": "Visualizza in anteprima un file modello 3D senza salvarlo nella directory di output di ComfyUI.",
    "display_name": "Anteprima 3D (Avanzata)",
    "inputs": {
      "camera_info": {
        "name": "info_camera"
      },
      "height": {
        "name": "altezza"
      },
      "model_3d": {
        "name": "modello_3d",
        "tooltip": "File modello 3D da un nodo 3D a monte."
      },
      "model_3d_info": {
        "name": "info_modello_3d"
      },
      "viewport_state": {
        "name": "stato_viewport"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "modello_3d",
        "tooltip": null
      },
      "1": {
        "name": "info_modello_3d",
        "tooltip": null
      },
      "2": {
        "name": "info_camera",
        "tooltip": null
      },
      "3": {
        "name": "larghezza",
        "tooltip": null
      },
      "4": {
        "name": "altezza",
        "tooltip": null
      }
    }
  },
  "PreviewAny": {
    "description": "Visualizza in anteprima qualsiasi valore di input come testo.",
    "display_name": "Anteprima come Testo",
    "inputs": {
      "preview_mode": {},
      "preview_text": {},
      "source": {
        "name": "sorgente"
      }
    }
  },
  "PreviewAudio": {
    "description": "Ascolta l'audio in anteprima senza salvarlo nella directory di output di ComfyUI.",
    "display_name": "Anteprima Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "audioUI"
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "PreviewGaussianSplat": {
    "description": "Visualizza in anteprima un file gaussian splat 3D senza salvarlo nella directory di output di ComfyUI.",
    "display_name": "Anteprima Splat",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Un file gaussian splat 3D."
      },
      "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
      }
    }
  },
  "PreviewImage": {
    "description": "Visualizza in anteprima le immagini senza salvarle nella directory di output di ComfyUI.",
    "display_name": "Anteprima Immagine",
    "inputs": {
      "images": {
        "name": "images"
      }
    },
    "outputs": {
      "0": {
        "name": "images"
      }
    }
  },
  "PreviewPointCloud": {
    "description": "Visualizza in anteprima un file point cloud 3D senza salvarlo nella directory di output di ComfyUI.",
    "display_name": "Anteprima Point Cloud",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "File point cloud (.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
      }
    }
  },
  "PrimitiveBoolean": {
    "display_name": "Booleano",
    "inputs": {
      "value": {
        "name": "value"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveBoundingBox": {
    "display_name": "Rettangolo di Selezione",
    "inputs": {
      "height": {
        "name": "height"
      },
      "width": {
        "name": "width"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveFloat": {
    "display_name": "Virgola Mobile",
    "inputs": {
      "value": {
        "name": "value"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveInt": {
    "display_name": "Intero",
    "inputs": {
      "fixed": {
        "name": "controllo dopo la generazione"
      },
      "value": {
        "name": "value"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveString": {
    "display_name": "Testo",
    "inputs": {
      "value": {
        "name": "valore"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveStringMultiline": {
    "display_name": "Testo (Multilinea)",
    "inputs": {
      "value": {
        "name": "valore"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QuadrupleCLIPLoader": {
    "description": "Ricette:\nhidream: long clip-l, long clip-g, t5xxl, llama_8b_3.1_instruct",
    "display_name": "Carica CLIP (Quadruplo)",
    "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": "Vettorizza un'immagine raster in SVG usando Quiver AI.",
    "display_name": "Quiver Immagine in SVG",
    "inputs": {
      "auto_crop": {
        "name": "ritaglio automatico",
        "tooltip": "Ritaglia automaticamente sul soggetto dominante."
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "image": {
        "name": "immagine",
        "tooltip": "Immagine di input da vettorizzare."
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la vettorizzazione SVG."
      },
      "model_presence_penalty": {
        "name": "presence_penalty"
      },
      "model_target_size": {
        "name": "dimensione_target"
      },
      "model_temperature": {
        "name": "temperatura"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QuiverTextToSVGNode": {
    "description": "Genera un SVG da un prompt testuale usando Quiver AI.",
    "display_name": "Quiver Testo in SVG",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "instructions": {
        "name": "istruzioni",
        "tooltip": "Indicazioni aggiuntive di stile o formattazione."
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la generazione SVG."
      },
      "model_presence_penalty": {
        "name": "presence_penalty"
      },
      "model_temperature": {
        "name": "temperatura"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale dell'SVG desiderato."
      },
      "reference_images": {
        "name": "immagini_di_riferimento",
        "tooltip": "Fino a 4 immagini di riferimento per guidare la generazione."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QwenImageDiffsynthControlnet": {
    "display_name": "Applica Qwen Image DiffSynth ControlNet",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "mask": {
        "name": "mask"
      },
      "model": {
        "name": "modello"
      },
      "model_patch": {
        "name": "model_patch"
      },
      "strength": {
        "name": "forza"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "RTDETR_detect": {
    "display_name": "Esegui Rilevamento in Tempo Reale (RT-DETR)",
    "inputs": {
      "class_name": {
        "name": "nome_classe",
        "tooltip": "Filtra i rilevamenti per classe. Imposta su 'all' per disabilitare il filtro."
      },
      "image": {
        "name": "immagine"
      },
      "max_detections": {
        "name": "max_rilevamenti",
        "tooltip": "Numero massimo di rilevamenti da restituire per immagine. In ordine decrescente di punteggio di confidenza."
      },
      "model": {
        "name": "modello"
      },
      "threshold": {
        "name": "soglia"
      }
    },
    "outputs": {
      "0": {
        "name": "bboxes",
        "tooltip": null
      }
    }
  },
  "RandomCropImages": {
    "description": "Ritaglia casualmente un'immagine alle dimensioni specificate.",
    "display_name": "Ritaglia Immagine (Casuale)",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "height": {
        "name": "altezza",
        "tooltip": "Altezza del ritaglio."
      },
      "images": {
        "name": "immagini",
        "tooltip": "Immagine da elaborare."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed casuale."
      },
      "width": {
        "name": "larghezza",
        "tooltip": "Larghezza del ritaglio."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Immagini elaborate"
      }
    }
  },
  "RandomNoise": {
    "display_name": "RandomNoise",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "noise_seed": {
        "name": "seed rumore"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RebatchImages": {
    "display_name": "Ribatch Immagini",
    "inputs": {
      "batch_size": {
        "name": "dimensione batch"
      },
      "images": {
        "name": "immagini"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RebatchLatents": {
    "display_name": "Ribatch Latent",
    "inputs": {
      "batch_size": {
        "name": "dimensione batch"
      },
      "latents": {
        "name": "latent"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecordAudio": {
    "display_name": "Registra Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftColorRGB": {
    "description": "Crea un colore Recraft scegliendo valori RGB specifici.",
    "display_name": "Recraft Colore RGB",
    "inputs": {
      "b": {
        "name": "b",
        "tooltip": "Valore blu del colore."
      },
      "g": {
        "name": "g",
        "tooltip": "Valore verde del colore."
      },
      "r": {
        "name": "r",
        "tooltip": "Valore rosso del colore."
      },
      "recraft_color": {
        "name": "recraft_color"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_color",
        "tooltip": null
      }
    }
  },
  "RecraftControls": {
    "description": "Crea controlli Recraft per personalizzare la generazione Recraft.",
    "display_name": "Recraft Controlli",
    "inputs": {
      "background_color": {
        "name": "colore di sfondo"
      },
      "colors": {
        "name": "colori"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_controls",
        "tooltip": null
      }
    }
  },
  "RecraftCreateStyleNode": {
    "description": "Crea uno stile personalizzato da immagini di riferimento. Carica da 1 a 5 immagini da usare come riferimento di stile. La dimensione totale di tutte le immagini è limitata a 5 MB.",
    "display_name": "Recraft Crea Stile",
    "inputs": {
      "images": {
        "name": "immagini"
      },
      "style": {
        "name": "stile",
        "tooltip": "Lo stile di base delle immagini generate."
      }
    },
    "outputs": {
      "0": {
        "name": "style_id",
        "tooltip": null
      }
    }
  },
  "RecraftCreativeUpscaleNode": {
    "description": "Effettua l'upscale dell'immagine in modo sincrono.\nMigliora un'immagine raster fornita utilizzando lo strumento ‘creative upscale’, aumentando la risoluzione con particolare attenzione ai piccoli dettagli e ai volti.",
    "display_name": "Recraft Upscale Creativo Immagine",
    "inputs": {
      "image": {
        "name": "immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftCrispUpscaleNode": {
    "description": "Ingrandisci l'immagine in modo sincrono.\nMigliora un'immagine raster fornita utilizzando lo strumento ‘crisp upscale’, aumentando la risoluzione, rendendo l'immagine più nitida e pulita.",
    "display_name": "Recraft Crisp Upscale Image",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftImageInpaintingNode": {
    "description": "Modifica l'immagine in base al prompt e alla mask.",
    "display_name": "Recraft Image Inpainting",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image"
      },
      "mask": {
        "name": "mask"
      },
      "n": {
        "name": "n",
        "tooltip": "Il numero di immagini da generare."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descrizione testuale opzionale degli elementi indesiderati in un'immagine."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftImageToImageNode": {
    "description": "Modifica l'immagine in base al prompt e all'intensità.",
    "display_name": "Recraft V3 Image to Image",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image"
      },
      "n": {
        "name": "n",
        "tooltip": "Il numero di immagini da generare."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descrizione testuale opzionale degli elementi indesiderati in un'immagine."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controlli aggiuntivi opzionali sulla generazione tramite il nodo Recraft Controls."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici indipendentemente dal seed."
      },
      "strength": {
        "name": "strength",
        "tooltip": "Definisce la differenza con l'immagine originale, deve essere compresa tra [0, 1], dove 0 significa quasi identica e 1 significa minima somiglianza."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftRemoveBackgroundNode": {
    "description": "Rimuovi lo sfondo dall'immagine e restituisci l'immagine elaborata e la mask.",
    "display_name": "Recraft Remove Background",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "RecraftReplaceBackgroundNode": {
    "description": "Sostituisci lo sfondo di un'immagine, in base al prompt fornito.",
    "display_name": "Recraft Sostituisci Sfondo",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "image": {
        "name": "immagine"
      },
      "n": {
        "name": "n",
        "tooltip": "Il numero di immagini da generare."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descrizione testuale opzionale degli elementi indesiderati in un'immagine."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3DigitalIllustration": {
    "description": "Seleziona lo stile realistic_image e un eventuale sottostile.",
    "display_name": "Recraft Stile - Illustrazione Digitale",
    "inputs": {
      "substyle": {
        "name": "sottostile"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3InfiniteStyleLibrary": {
    "description": "Scegli uno stile in base all'UUID preesistente dalla Infinite Style Library di Recraft.",
    "display_name": "Recraft Stile - Infinite Style Library",
    "inputs": {
      "style_id": {
        "name": "style_id",
        "tooltip": "UUID dello stile dalla Infinite Style Library."
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3LogoRaster": {
    "description": "Seleziona lo stile realistic_image e un eventuale sottostile.",
    "display_name": "Recraft Stile - Logo Raster",
    "inputs": {
      "substyle": {
        "name": "sottostile"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3RealisticImage": {
    "description": "Seleziona lo stile realistic_image e un eventuale sottostile.",
    "display_name": "Recraft Stile - Immagine Realistica",
    "inputs": {
      "substyle": {
        "name": "sottostile"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftTextToImageNode": {
    "description": "Genera immagini in modo sincrono in base al prompt e alla risoluzione.",
    "display_name": "Recraft V3 Da Testo a Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "n": {
        "name": "n",
        "tooltip": "Il numero di immagini da generare."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descrizione testuale opzionale degli elementi indesiderati in un'immagine."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controlli aggiuntivi opzionali sulla generazione tramite il nodo Recraft Controls."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono comunque non deterministici."
      },
      "size": {
        "name": "dimensione",
        "tooltip": "La dimensione dell'immagine generata."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftTextToVectorNode": {
    "description": "Genera SVG in modo sincrono in base al prompt e alla risoluzione.",
    "display_name": "Recraft V3 Da Testo a Vettore",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "n": {
        "name": "n",
        "tooltip": "Il numero di immagini da generare."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Una descrizione testuale opzionale degli elementi indesiderati in un'immagine."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controlli aggiuntivi opzionali sulla generazione tramite il nodo Recraft Controls."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono non deterministici indipendentemente dal seed."
      },
      "size": {
        "name": "dimensione",
        "tooltip": "La dimensione dell'immagine generata."
      },
      "substyle": {
        "name": "substyle"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftV4TextToImageNode": {
    "description": "Genera immagini utilizzando i modelli Recraft V4 e V4.1.",
    "display_name": "Recraft V4 Da Testo a Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello",
        "tooltip": "Il modello da utilizzare per la generazione."
      },
      "model_size": {
        "name": "dimensione"
      },
      "n": {
        "name": "n",
        "tooltip": "Il numero di immagini da generare."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Questo input viene ignorato: il negative prompt non è supportato dai modelli Recraft V4 e V4.1."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine. Massimo 10.000 caratteri."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controlli aggiuntivi opzionali sulla generazione tramite il nodo Recraft Controls."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftV4TextToVectorNode": {
    "description": "Genera SVG utilizzando i modelli Recraft V4 e V4.1.",
    "display_name": "Recraft V4 Da Testo a Vettore",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello",
        "tooltip": "Il modello da utilizzare per la generazione."
      },
      "model_size": {
        "name": "dimensione"
      },
      "n": {
        "name": "n",
        "tooltip": "Il numero di immagini da generare."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Questo input viene ignorato: il negative prompt non è supportato dai modelli Recraft V4 e V4.1."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt per la generazione dell'immagine. Massimo 10.000 caratteri."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controlli aggiuntivi opzionali sulla generazione tramite il nodo Recraft Controls."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per determinare se il nodo deve essere rieseguito; i risultati effettivi sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftVectorizeImageNode": {
    "description": "Genera un SVG in modo sincrono da un'immagine di input.",
    "display_name": "Recraft Vettorizza Immagine",
    "inputs": {
      "image": {
        "name": "immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReferenceLatent": {
    "description": "Questo nodo imposta il latent guida per un modello di editing. Se il modello lo supporta, puoi concatenarne diversi per impostare più immagini di riferimento.",
    "display_name": "Imposta Latent di Riferimento",
    "inputs": {
      "conditioning": {
        "name": "condizionamento"
      },
      "latent": {
        "name": "latent"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReferenceTimbreAudio": {
    "description": "Questo nodo imposta l'audio di riferimento per ace step 1.5",
    "display_name": "Imposta Audio di Riferimento",
    "inputs": {
      "conditioning": {
        "name": "condizionamento"
      },
      "latent": {
        "name": "latent"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RegexExtract": {
    "display_name": "Estrai Testo",
    "inputs": {
      "case_insensitive": {
        "name": "maiuscole/minuscole"
      },
      "dotall": {
        "name": "dotall"
      },
      "group_index": {
        "name": "indice_gruppo"
      },
      "mode": {
        "name": "modalità"
      },
      "multiline": {
        "name": "multilinea"
      },
      "regex_pattern": {
        "name": "pattern_regex"
      },
      "string": {
        "name": "stringa"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RegexMatch": {
    "display_name": "Confronta Testo",
    "inputs": {
      "case_insensitive": {
        "name": "maiuscole/minuscole"
      },
      "dotall": {
        "name": "dotall"
      },
      "multiline": {
        "name": "multilinea"
      },
      "regex_pattern": {
        "name": "pattern_regex"
      },
      "string": {
        "name": "stringa"
      }
    },
    "outputs": {
      "0": {
        "name": "corrispondenze",
        "tooltip": null
      }
    }
  },
  "RegexReplace": {
    "description": "Trova e sostituisci testo usando pattern regex.",
    "display_name": "Sostituisci Testo (Regex)",
    "inputs": {
      "case_insensitive": {
        "name": "maiuscole/minuscole"
      },
      "count": {
        "name": "conteggio",
        "tooltip": "Numero massimo di sostituzioni da effettuare. Imposta a 0 per sostituire tutte le occorrenze (predefinito). Imposta a 1 per sostituire solo la prima corrispondenza, 2 per le prime due, ecc."
      },
      "dotall": {
        "name": "dotall",
        "tooltip": "Se abilitato, il punto (.) corrisponderà a qualsiasi carattere inclusi i caratteri di nuova riga. Se disabilitato, il punto non corrisponderà alle nuove righe."
      },
      "multiline": {
        "name": "multilinea"
      },
      "regex_pattern": {
        "name": "pattern_regex"
      },
      "replace": {
        "name": "sostituisci"
      },
      "string": {
        "name": "stringa"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RemoveBackground": {
    "description": "Genera una maschera del primo piano per rimuovere lo sfondo da un'immagine utilizzando un modello di rimozione dello sfondo.",
    "display_name": "Rimuovi Sfondo",
    "inputs": {
      "bg_removal_model": {
        "name": "modello_rimozione_sfondo",
        "tooltip": "Modello di rimozione dello sfondo utilizzato per generare la maschera"
      },
      "image": {
        "name": "immagine",
        "tooltip": "Immagine di input da cui rimuovere lo sfondo"
      }
    },
    "outputs": {
      "0": {
        "name": "mask",
        "tooltip": "Maschera del primo piano generata"
      }
    }
  },
  "RenderSplat": {
    "description": "Renderizza uno splat gaussiano come immagine con un rasterizzatore EWA anisotropico (splat ellittici orientati, antialiasing, ordinamento in profondità dal fronte al retro). La fotocamera proviene da un input camera_info (Carica / Anteprima 3D, o un nodo Crea Camera Info); lascia vuoto per inquadrare automaticamente lo splat. Imposta frames maggiore di 1 per una sequenza turntable di immagini da utilizzare in un nodo Video.",
    "display_name": "Render Splat",
    "inputs": {
      "background": {
        "name": "sfondo"
      },
      "bg_image": {
        "name": "immagine_sfondo",
        "tooltip": "Immagine di sfondo opzionale compositata dietro lo splat (sovrascrive il colore di sfondo solido). Ridimensionata alla dimensione di rendering; una sequenza viene usata per fotogramma, una singola immagine per tutti. Solo per color/clay."
      },
      "camera_info": {
        "name": "camera_info",
        "tooltip": "Fotocamera da cui effettuare il rendering - una fotocamera Load3D / Preview3D o un nodo Crea Camera Info. Se vuoto, lo splat viene inquadrato automaticamente da una vista 3/4 predefinita."
      },
      "frames": {
        "name": "fotogrammi",
        "tooltip": "-1, 0, 1 = singola immagine statica; >1 = turntable, la fotocamera ruota su un giro completo di 360° (funziona con qualsiasi camera_info). Un valore negativo ruota nell'altra direzione."
      },
      "headlight_shading": {
        "name": "ombreggiatura_faro",
        "tooltip": "Ombreggiatura diffusa da una luce sulla fotocamera (faro), usando le normali dei surfel dello splat: scurisce le superfici che si allontanano dalla vista per rivelare forma/curvatura. 0 = albedo piatto, 1 = ombreggiatura massima."
      },
      "height": {
        "name": "altezza"
      },
      "opacity_threshold": {
        "name": "soglia_opacità",
        "tooltip": "Elimina i gaussiani con opacità inferiore a questo valore (rimuove elementi deboli/fluttuanti)."
      },
      "render_style": {
        "name": "stile_render",
        "tooltip": "Cosa mostra l'immagine in output: colore, clay (ombreggiatura neutra), profondità (vicino=chiaro), normale (mappa normale OpenGL)."
      },
      "sharpen": {
        "name": "nitidezza",
        "tooltip": "Aumenta la nitidezza degli splat sovrapposti: 1.0 = fusione fisicamente corretta; valori più alti accentuano ogni pixel verso lo splat dominante (più vicino) per una texture più nitida, senza ridurre gli splat o creare spazi vuoti. Sopra 1 non è fisico."
      },
      "splat": {
        "name": "splat"
      },
      "splat_scale": {
        "name": "scala_splat",
        "tooltip": "Moltiplicatore sull'impronta proiettata di ogni splat (più basso = punti più nitidi, più alto = superficie più morbida/piena)."
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "immagine",
        "tooltip": null
      },
      "1": {
        "name": "mask",
        "tooltip": null
      }
    }
  },
  "RenormCFG": {
    "display_name": "RenormCFG",
    "inputs": {
      "cfg_trunc": {
        "name": "cfg_trunc"
      },
      "model": {
        "name": "modello"
      },
      "renorm_cfg": {
        "name": "renorm_cfg"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RepeatImageBatch": {
    "display_name": "Ripeti Batch Immagini",
    "inputs": {
      "amount": {
        "name": "quantità"
      },
      "image": {
        "name": "immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RepeatLatentBatch": {
    "display_name": "Ripeti Batch Latent",
    "inputs": {
      "amount": {
        "name": "quantità"
      },
      "samples": {
        "name": "campioni"
      }
    }
  },
  "ReplaceText": {
    "display_name": "Sostituisci Testo (DEPRECATO)",
    "inputs": {
      "find": {
        "name": "trova",
        "tooltip": "Testo da trovare."
      },
      "replace": {
        "name": "sostituisci",
        "tooltip": "Testo con cui sostituire."
      },
      "texts": {
        "name": "testi",
        "tooltip": "Testo da elaborare."
      }
    },
    "outputs": {
      "0": {
        "name": "testi",
        "tooltip": "Testi elaborati"
      }
    }
  },
  "ReplaceVideoLatentFrames": {
    "display_name": "Sostituisci Frame Latent Video",
    "inputs": {
      "destination": {
        "name": "destinazione",
        "tooltip": "Il latent di destinazione dove i frame saranno sostituiti."
      },
      "index": {
        "name": "indice",
        "tooltip": "L'indice del frame latent iniziale nella destinazione dove i frame latent della sorgente saranno inseriti. I valori negativi contano dalla fine."
      },
      "source": {
        "name": "sorgente",
        "tooltip": "Il latent sorgente che fornisce i frame da inserire nel latent di destinazione. Se non fornito, il latent di destinazione viene restituito invariato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RescaleCFG": {
    "display_name": "RescaleCFG",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "multiplier": {
        "name": "moltiplicatore"
      }
    }
  },
  "ResizeAndPadImage": {
    "display_name": "Ridimensiona e Aggiungi Bordo all'Immagine",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "interpolation": {
        "name": "interpolazione"
      },
      "padding_color": {
        "name": "colore_bordo"
      },
      "target_height": {
        "name": "altezza_obiettivo"
      },
      "target_width": {
        "name": "larghezza_obiettivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ResizeImageMaskNode": {
    "description": "Ridimensiona un'immagine o una maschera utilizzando vari metodi di scala.",
    "display_name": "Ridimensiona Immagine/Maschera",
    "inputs": {
      "input": {
        "name": "input"
      },
      "resize_type": {
        "name": "tipo_ridimensionamento",
        "tooltip": "Seleziona come ridimensionare: per dimensioni esatte, fattore di scala, corrispondenza con un'altra immagine, ecc."
      },
      "resize_type_crop": {
        "name": "ritaglia"
      },
      "resize_type_height": {
        "name": "altezza"
      },
      "resize_type_width": {
        "name": "larghezza"
      },
      "scale_method": {
        "name": "metodo_scala",
        "tooltip": "Algoritmo di interpolazione. 'area' è il migliore per ridurre, 'lanczos' per ingrandire, 'nearest-exact' per pixel art."
      }
    },
    "outputs": {
      "0": {
        "name": "ridimensionato",
        "tooltip": null
      }
    }
  },
  "ResizeImagesByLongerEdge": {
    "description": "Ridimensiona le immagini in modo che il lato più lungo corrisponda alla dimensione specificata mantenendo il rapporto d'aspetto.",
    "display_name": "Ridimensiona Immagini per Lato Più Lungo (DEPRECATO)",
    "inputs": {
      "images": {
        "name": "immagini",
        "tooltip": "Immagine da elaborare."
      },
      "longer_edge": {
        "name": "lato_più_lungo",
        "tooltip": "Dimensione obiettivo per il lato più lungo."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Immagini elaborate"
      }
    }
  },
  "ResizeImagesByShorterEdge": {
    "description": "Ridimensiona le immagini in modo che il lato più corto corrisponda alla dimensione specificata mantenendo il rapporto d'aspetto.",
    "display_name": "Ridimensiona Immagini per Lato Più Corto (DEPRECATO)",
    "inputs": {
      "images": {
        "name": "immagini",
        "tooltip": "Immagine da elaborare."
      },
      "shorter_edge": {
        "name": "lato_più_corto",
        "tooltip": "Dimensione obiettivo per il lato più corto."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Immagini elaborate"
      }
    }
  },
  "ResolutionBucket": {
    "description": "Raggruppa latenti e conditionings in bucket",
    "display_name": "Bucket di Risoluzione",
    "inputs": {
      "conditioning": {
        "name": "conditioning",
        "tooltip": "Elenco di liste conditioning (deve corrispondere alla lunghezza dei latenti)."
      },
      "latents": {
        "name": "latenti",
        "tooltip": "Elenco di dizionari latent da raggruppare per risoluzione."
      }
    },
    "outputs": {
      "0": {
        "name": "latenti",
        "tooltip": "Elenco di dizionari latent raggruppati, uno per ogni bucket di risoluzione."
      },
      "1": {
        "name": "conditioning",
        "tooltip": "Elenco di liste conditioning, una per ogni bucket di risoluzione."
      }
    }
  },
  "ResolutionSelector": {
    "description": "Calcola larghezza e altezza dal rapporto d'aspetto e dal target di megapixel. Utile per impostare le dimensioni di Empty Latent Image.",
    "display_name": "Selettore di Risoluzione",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto d'aspetto",
        "tooltip": "Il rapporto d'aspetto per le dimensioni di output."
      },
      "megapixels": {
        "name": "megapixel",
        "tooltip": "Target totale di megapixel. 1,0 MP ≈ 1024x1024 per il quadrato."
      },
      "multiple": {
        "name": "multiplo",
        "tooltip": "Multiplo più vicino del risultato a cui impostare la risoluzione selezionata."
      }
    },
    "outputs": {
      "0": {
        "name": "larghezza",
        "tooltip": "Larghezza calcolata in pixel moltiplicata per il multiplo selezionato."
      },
      "1": {
        "name": "altezza",
        "tooltip": "Altezza calcolata in pixel moltiplicata per il multiplo selezionato."
      }
    }
  },
  "ReveImageCreateNode": {
    "description": "Genera immagini da descrizioni testuali usando Reve.",
    "display_name": "Crea Immagine Reve",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello",
        "tooltip": "Versione del modello da utilizzare per la generazione."
      },
      "model_aspect_ratio": {
        "name": "rapporto d'aspetto"
      },
      "model_test_time_scaling": {
        "name": "scaling in fase di test"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale dell'immagine desiderata. Massimo 2560 caratteri."
      },
      "remove_background": {
        "name": "rimuovi sfondo",
        "tooltip": "Rimuovi lo sfondo dall'immagine generata. Potrebbe comportare costi aggiuntivi."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "upscale": {
        "name": "upscale",
        "tooltip": "Effettua l'upscale dell'immagine generata. Potrebbe comportare costi aggiuntivi."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReveImageEditNode": {
    "description": "Modifica immagini utilizzando istruzioni in linguaggio naturale con Reve.",
    "display_name": "Reve Modifica Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "edit_instruction": {
        "name": "istruzione_modifica",
        "tooltip": "Descrizione testuale di come modificare l'immagine. Massimo 2560 caratteri."
      },
      "image": {
        "name": "immagine",
        "tooltip": "L'immagine da modificare."
      },
      "model": {
        "name": "modello",
        "tooltip": "Versione del modello da utilizzare per la modifica."
      },
      "model_aspect_ratio": {
        "name": "rapporto_aspetto"
      },
      "model_test_time_scaling": {
        "name": "scalatura_tempo_test"
      },
      "remove_background": {
        "name": "rimuovi_sfondo",
        "tooltip": "Rimuovi lo sfondo dall'immagine generata. Potrebbe comportare costi aggiuntivi."
      },
      "seed": {
        "name": "seme",
        "tooltip": "Il seme controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seme."
      },
      "upscale": {
        "name": "ingrandisci",
        "tooltip": "Ingrandisci l'immagine generata. Potrebbe comportare costi aggiuntivi."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReveImageRemixNode": {
    "description": "Combina immagini di riferimento con prompt testuali per creare nuove immagini usando Reve.",
    "display_name": "Reve Remix Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "model": {
        "name": "modello",
        "tooltip": "Versione del modello da utilizzare per il remix."
      },
      "model_aspect_ratio": {
        "name": "rapporto_aspetto"
      },
      "model_test_time_scaling": {
        "name": "scalatura_tempo_test"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale dell'immagine desiderata. Può includere tag XML img per fare riferimento a immagini specifiche tramite indice, ad es. <img>0</img>, <img>1</img>, ecc."
      },
      "reference_images": {
        "name": "immagini_riferimento"
      },
      "remove_background": {
        "name": "rimuovi_sfondo",
        "tooltip": "Rimuovi lo sfondo dall'immagine generata. Potrebbe comportare costi aggiuntivi."
      },
      "seed": {
        "name": "seme",
        "tooltip": "Il seme controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seme."
      },
      "upscale": {
        "name": "ingrandisci",
        "tooltip": "Ingrandisci l'immagine generata. Potrebbe comportare costi aggiuntivi."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Rodin3D_Detail": {
    "description": "Genera asset 3D utilizzando Rodin API",
    "display_name": "Rodin 3D Genera - Generazione Dettaglio",
    "inputs": {
      "Images": {
        "name": "Immagini"
      },
      "Material_Type": {
        "name": "Tipo_Materiale"
      },
      "Polygon_count": {
        "name": "Numero_Poligoni"
      },
      "Seed": {
        "name": "Seme"
      }
    },
    "outputs": {
      "0": {
        "name": "Percorso Modello 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen2": {
    "description": "Genera asset 3D utilizzando Rodin API",
    "display_name": "Rodin 3D Genera - Generazione Gen-2",
    "inputs": {
      "Images": {
        "name": "Immagini"
      },
      "Material_Type": {
        "name": "Tipo_Materiale"
      },
      "Polygon_count": {
        "name": "Numero_Poligoni"
      },
      "Seed": {
        "name": "Seme"
      },
      "TAPose": {
        "name": "TAPose"
      }
    },
    "outputs": {
      "0": {
        "name": "Percorso Modello 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen25_Image": {
    "description": "Genera un modello 3D da 1 a 5 immagini di riferimento tramite Rodin Gen-2.5. Scegli una modalità (Veloce / Regolare / Estrema-Alta) per bilanciare qualità e costo.",
    "display_name": "Rodin 3D Gen-2.5 - Da immagine a 3D",
    "inputs": {
      "TAPose": {
        "name": "TAPose",
        "tooltip": "Posa T/A per modelli umanoidi."
      },
      "addon_highpack": {
        "name": "addon_highpack",
        "tooltip": "Addon HighPack: texture 4K e ~16x facce in modalità Quad."
      },
      "bbox_height": {
        "name": "altezza_bbox",
        "tooltip": "Altezza del bounding-box (asse Z)."
      },
      "bbox_length": {
        "name": "lunghezza_bbox",
        "tooltip": "Lunghezza del bounding-box (asse X)."
      },
      "bbox_width": {
        "name": "larghezza_bbox",
        "tooltip": "Larghezza del bounding-box (asse Y). Imposta a 0 insieme agli altri per saltare il bbox."
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "geometry_file_format": {
        "name": "formato_file_geometria"
      },
      "hd_texture": {
        "name": "texture_hd",
        "tooltip": "Miglioramento texture di alta qualità."
      },
      "height_cm": {
        "name": "altezza_cm",
        "tooltip": "Altezza approssimativa del modello in centimetri (0 per saltare)."
      },
      "images": {
        "name": "immagini",
        "tooltip": "1-5 immagini. La prima immagine viene usata per i materiali in modalità multi-view."
      },
      "material": {
        "name": "materiale"
      },
      "mode": {
        "name": "modalità",
        "tooltip": "Modalità di generazione. Regolare = bilanciata. Veloce = 1K-20K facce per prototipazione rapida. Estrema-Alta = 20K-2M facce con dettagli micro opzionali."
      },
      "mode_creative": {
        "name": "creativa"
      },
      "mode_polygon_count": {
        "name": "conteggio_poligoni"
      },
      "mode_tier": {
        "name": "livello"
      },
      "seed": {
        "name": "seed"
      },
      "texture_delight": {
        "name": "texture_delight",
        "tooltip": "Rimuovi l'illuminazione incorporata dalle texture."
      },
      "texture_mode": {
        "name": "modalità_texture",
        "tooltip": "Preset qualità texture. 'Predefinito' usa il valore predefinito del server per il livello selezionato."
      },
      "use_original_alpha": {
        "name": "usa_alpha_originale",
        "tooltip": "Preserva la trasparenza dell'immagine."
      }
    },
    "outputs": {
      "0": {
        "name": "file_modello",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen25_Text": {
    "description": "Genera un modello 3D da un prompt testuale tramite Rodin Gen-2.5. Scegli una modalità (Veloce / Regolare / Estrema-Alta) per bilanciare qualità e costo.",
    "display_name": "Rodin 3D Gen-2.5 - Testo a 3D",
    "inputs": {
      "TAPose": {
        "name": "TAPose",
        "tooltip": "Posa T/A per modelli umanoidi."
      },
      "addon_highpack": {
        "name": "addon_highpack",
        "tooltip": "Addon HighPack: texture 4K e ~16x facce in modalità Quad."
      },
      "bbox_height": {
        "name": "altezza_bbox",
        "tooltip": "Altezza del bounding-box (asse Z)."
      },
      "bbox_length": {
        "name": "lunghezza_bbox",
        "tooltip": "Lunghezza del bounding-box (asse X)."
      },
      "bbox_width": {
        "name": "larghezza_bbox",
        "tooltip": "Larghezza del bounding-box (asse Y). Imposta a 0 insieme agli altri per saltare il bbox."
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "geometry_file_format": {
        "name": "formato_file_geometria"
      },
      "hd_texture": {
        "name": "texture_hd",
        "tooltip": "Miglioramento texture di alta qualità."
      },
      "height_cm": {
        "name": "altezza_cm",
        "tooltip": "Altezza approssimativa del modello in centimetri (0 per saltare)."
      },
      "material": {
        "name": "materiale"
      },
      "mode": {
        "name": "modalità",
        "tooltip": "Modalità di generazione. Regolare = bilanciata. Veloce = 1K-20K facce per prototipazione rapida. Estrema-Alta = 20K-2M facce con dettagli micro opzionali."
      },
      "mode_creative": {
        "name": "creativa"
      },
      "mode_polygon_count": {
        "name": "conteggio_poligoni"
      },
      "mode_tier": {
        "name": "livello"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per il modello 3D."
      },
      "seed": {
        "name": "seed"
      },
      "texture_delight": {
        "name": "texture_delight",
        "tooltip": "Rimuovi l'illuminazione incorporata dalle texture."
      },
      "texture_mode": {
        "name": "modalità_texture",
        "tooltip": "Preset di qualità texture. 'Predefinito' usa il valore predefinito del server per il livello selezionato."
      }
    },
    "outputs": {
      "0": {
        "name": "file_modello",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Regular": {
    "description": "Genera asset 3D utilizzando Rodin API",
    "display_name": "Rodin 3D Genera - Generazione Regolare",
    "inputs": {
      "Images": {
        "name": "Immagini"
      },
      "Material_Type": {
        "name": "Tipo_Materiale"
      },
      "Polygon_count": {
        "name": "Conteggio_Poligoni"
      },
      "Seed": {
        "name": "Seed"
      }
    },
    "outputs": {
      "0": {
        "name": "Percorso Modello 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Sketch": {
    "description": "Genera asset 3D utilizzando Rodin API",
    "display_name": "Rodin 3D Genera - Generazione da Schizzo",
    "inputs": {
      "Images": {
        "name": "Immagini"
      },
      "Seed": {
        "name": "Seed"
      }
    },
    "outputs": {
      "0": {
        "name": "Percorso Modello 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Smooth": {
    "description": "Genera asset 3D utilizzando Rodin API",
    "display_name": "Rodin 3D Genera - Generazione Morbida",
    "inputs": {
      "Images": {
        "name": "Immagini"
      },
      "Material_Type": {
        "name": "Tipo Materiale"
      },
      "Polygon_count": {
        "name": "Numero Poligoni"
      },
      "Seed": {
        "name": "Seed"
      }
    },
    "outputs": {
      "0": {
        "name": "Percorso Modello 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "RunwayAleph2KeyframeNode": {
    "description": "Ancora un'immagine guida a un momento del video di input (sorgente), così Aleph2 guida la modifica in quel punto del tuo filmato. Collega questo all'input 'keyframes' del nodo Runway Aleph2 Video to Video; collega più nodi insieme (fino a 5) tramite l'input opzionale 'keyframes' qui sotto.",
    "display_name": "Runway Aleph2 Keyframe",
    "inputs": {
      "image": {
        "name": "immagine",
        "tooltip": "L'immagine guida da applicare al momento scelto del video di input."
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Keyframe precedenti opzionali da concatenare a questo."
      },
      "timing": {
        "name": "tempistica",
        "tooltip": "Come posizionare questa immagine sulla timeline del video di input."
      },
      "timing_seconds": {
        "name": "secondi"
      }
    },
    "outputs": {
      "0": {
        "name": "keyframes",
        "tooltip": null
      }
    }
  },
  "RunwayAleph2PromptImageNode": {
    "description": "Ancora un'immagine guida a un momento del video di output (risultato), per guidare l'aspetto del video modificato in quel punto. Collega questo all'input 'prompt_images' del nodo Runway Aleph2 Video to Video; collega più nodi insieme (fino a 5) tramite l'input opzionale 'prompt_images' qui sotto.",
    "display_name": "Runway Aleph2 Prompt Image",
    "inputs": {
      "image": {
        "name": "immagine",
        "tooltip": "L'immagine guida da posizionare al momento scelto del video di output."
      },
      "position": {
        "name": "posizione",
        "tooltip": "Come posizionare questa immagine sulla timeline del video di output."
      },
      "position_seconds": {
        "name": "secondi"
      },
      "prompt_images": {
        "name": "prompt_images",
        "tooltip": "Immagini guida precedenti opzionali da concatenare a questa."
      }
    },
    "outputs": {
      "0": {
        "name": "prompt_images",
        "tooltip": null
      }
    }
  },
  "RunwayAleph2VideoToVideoNode": {
    "description": "Modifica un video con un prompt testuale utilizzando il modello Aleph2 di Runway. Aleph2 trasforma il tuo filmato (restyling, nuova illuminazione, aggiunta o rimozione di elementi, cambio del punto di vista) mantenendo il movimento e il timing originali; la risoluzione di output corrisponde a quella del video di input, che deve essere di 2-30 secondi a 30 fps o meno. Puoi guidare la modifica opzionalmente con keyframe (ancorati al video di input) o immagini prompt (ancorate al video di output) - usa uno o l'altro, non entrambi.",
    "display_name": "Runway Aleph2 Video to Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Immagini guida ancorate al video di input, da nodi Aleph2 Keyframe (fino a 5). Usa keyframe o immagini prompt, non entrambi."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrive cosa dovrebbe apparire nell'output (1-1000 caratteri)."
      },
      "prompt_images": {
        "name": "prompt_images",
        "tooltip": "Immagini guida ancorate al video di output, da nodi Aleph2 Prompt Image (fino a 5). Usa keyframe o immagini prompt, non entrambi."
      },
      "public_figure_threshold": {
        "name": "public_figure_threshold",
        "tooltip": "Moderazione dei contenuti per figure pubbliche riconoscibili."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed casuale per la generazione"
      },
      "video": {
        "name": "video",
        "tooltip": "Video di input da modificare. Deve essere di 2-30 secondi a 30 fps o meno."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayFirstLastFrameNode": {
    "description": "Carica il primo e l'ultimo keyframe, scrivi un prompt e genera un video. Transizioni più complesse, come nei casi in cui l'ultimo frame è completamente diverso dal primo, possono beneficiare di una durata più lunga di 10s. Questo permette una transizione più fluida tra i due input. Prima di iniziare, consulta queste best practice per assicurarti che le tue scelte di input favoriscano una generazione di successo: https://help.runwayml.com/hc/en-us/articles/34170748696595-Creating-with-Keyframes-on-Gen-3.",
    "display_name": "Runway First-Last-Frame to Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Frame finale da utilizzare per il video. Supportato solo per gen3a_turbo."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per la generazione"
      },
      "ratio": {
        "name": "ratio"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed casuale per la generazione"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Frame iniziale da utilizzare per il video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayImageToVideoNodeGen3a": {
    "description": "Genera un video da un singolo fotogramma iniziale utilizzando il modello Gen3a Turbo. Prima di iniziare, consulta queste best practice per assicurarti che le tue selezioni di input portino a una generazione di successo: https://help.runwayml.com/hc/en-us/articles/33927968552339-Creating-with-Act-One-on-Gen-3-Alpha-and-Turbo.",
    "display_name": "Runway Immagine a Video (Gen3a Turbo)",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration": {
        "name": "duration"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per la generazione"
      },
      "ratio": {
        "name": "ratio"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed casuale per la generazione"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Fotogramma iniziale da utilizzare per il video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayImageToVideoNodeGen4": {
    "description": "Genera un video da un singolo fotogramma iniziale utilizzando il modello Gen4 Turbo. Prima di iniziare, consulta queste best practice per assicurarti che le tue selezioni di input portino a una generazione di successo: https://help.runwayml.com/hc/en-us/articles/37327109429011-Creating-with-Gen-4-Video.",
    "display_name": "Runway Immagine a Video (Gen4 Turbo)",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration": {
        "name": "duration"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per la generazione"
      },
      "ratio": {
        "name": "ratio"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed casuale per la generazione"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Fotogramma iniziale da utilizzare per il video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayTextToImageNode": {
    "description": "Genera un'immagine da un prompt testuale utilizzando il modello Gen 4 di Runway. Puoi anche includere un'immagine di riferimento per guidare la generazione.",
    "display_name": "Runway Testo a Immagine",
    "inputs": {
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale per la generazione"
      },
      "ratio": {
        "name": "ratio"
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "Immagine di riferimento opzionale per guidare la generazione"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SAM3_Detect": {
    "display_name": "SAM3 Rileva",
    "inputs": {
      "bboxes": {
        "name": "bboxes",
        "tooltip": "Rettangoli di delimitazione da segmentare"
      },
      "conditioning": {
        "name": "conditioning",
        "tooltip": "Conditioning testuale da CLIPTextEncode"
      },
      "image": {
        "name": "image"
      },
      "individual_masks": {
        "name": "individual_masks",
        "tooltip": "Output di maschere per oggetto invece che unione"
      },
      "model": {
        "name": "model"
      },
      "negative_coords": {
        "name": "negative_coords",
        "tooltip": "Prompt di punti negativi come JSON [{\"x\": int, \"y\": int}, ...] (coordinate pixel)"
      },
      "positive_coords": {
        "name": "positive_coords",
        "tooltip": "Prompt di punti positivi come JSON [{\"x\": int, \"y\": int}, ...] (coordinate pixel)"
      },
      "refine_iterations": {
        "name": "refine_iterations",
        "tooltip": "Passaggi di raffinamento del decoder SAM (0=usa maschere del rilevatore grezze)"
      },
      "threshold": {
        "name": "threshold"
      }
    },
    "outputs": {
      "0": {
        "name": "masks",
        "tooltip": null
      },
      "1": {
        "name": "bboxes",
        "tooltip": null
      }
    }
  },
  "SAM3_TrackPreview": {
    "display_name": "Anteprima Traccia SAM3",
    "inputs": {
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "immagini"
      },
      "opacity": {
        "name": "opacità"
      },
      "track_data": {
        "name": "track_data"
      }
    }
  },
  "SAM3_TrackToMask": {
    "display_name": "SAM3 Traccia in Maschera",
    "inputs": {
      "object_indices": {
        "name": "indici oggetto",
        "tooltip": "Indici degli oggetti separati da virgola da includere (es. '0,2,3'). Vuoto = tutti gli oggetti."
      },
      "track_data": {
        "name": "track_data"
      }
    },
    "outputs": {
      "0": {
        "name": "maschere",
        "tooltip": null
      }
    }
  },
  "SAM3_VideoTrack": {
    "display_name": "Esegui Tracciamento Video SAM3",
    "inputs": {
      "conditioning": {
        "name": "condizionamento",
        "tooltip": "Condizionamento testuale per rilevare nuovi oggetti durante il tracciamento"
      },
      "detect_interval": {
        "name": "intervallo di rilevamento",
        "tooltip": "Esegui il rilevamento ogni N fotogrammi (1=ogni fotogramma). Valori più alti risparmiano risorse di calcolo."
      },
      "detection_threshold": {
        "name": "soglia di rilevamento",
        "tooltip": "Soglia di punteggio per il rilevamento tramite prompt testuale."
      },
      "images": {
        "name": "immagini",
        "tooltip": "Fotogrammi video come immagini in batch"
      },
      "initial_mask": {
        "name": "maschera iniziale",
        "tooltip": "Maschera/e per il primo fotogramma da tracciare (una per oggetto)"
      },
      "max_objects": {
        "name": "oggetti massimi",
        "tooltip": "Numero massimo di oggetti tracciati. Le maschere iniziali contano per questo limite. 0 usa il limite interno di 64."
      },
      "model": {
        "name": "modello"
      }
    },
    "outputs": {
      "0": {
        "name": "track_data",
        "tooltip": null
      }
    }
  },
  "SCAIL2ColoredMask": {
    "display_name": "Crea Maschera Colorata SCAIL-2",
    "inputs": {
      "driving_track_data": {
        "name": "driving_track_data",
        "tooltip": "Tracciamento SAM3 del video della posa di guida. Verrà renderizzato nell'output pose_video_mask."
      },
      "object_indices": {
        "name": "object_indices",
        "tooltip": "Elenco separato da virgole degli indici delle persone da includere (es. '0,2,3'). Applicato sia alle maschere del video di riferimento che di posa. Vuoto = tutti."
      },
      "ref_track_data": {
        "name": "ref_track_data",
        "tooltip": "Tracciamento SAM3 dell'immagine di riferimento (una identità per oggetto, colorata in ordine di batch), oppure una semplice MASK del soggetto di riferimento (renderizzata come una sola identità)."
      },
      "replacement_mode": {
        "name": "replacement_mode",
        "tooltip": "Falso = Modalità Animazione (pose_video_mask ha sfondo nero, reference_image_mask ha sfondo bianco). Vero = Modalità Sostituzione (pose_video_mask ha sfondo bianco, reference_image_mask ha sfondo nero)."
      },
      "sort_by": {
        "name": "sort_by",
        "tooltip": "Ordine in cui i colori della palette vengono assegnati agli oggetti tracciati (applicato sia al riferimento che al video di posa, così ogni identità mantiene lo stesso colore). Gli oggetti che appaiono nei primi fotogrammi vengono sempre per primi; all'interno di un fotogramma, left_to_right = l'oggetto più a sinistra (per il centroide alla prima apparizione) riceve il primo colore, area = l'oggetto più grande (per area della maschera alla prima apparizione) riceve il primo colore; none = mantiene l'ordine di SAM3."
      }
    },
    "outputs": {
      "0": {
        "name": "pose_video_mask",
        "tooltip": null
      },
      "1": {
        "name": "reference_image_mask",
        "tooltip": null
      }
    }
  },
  "SDPoseDrawKeypoints": {
    "display_name": "SDPose Disegna Keypoints",
    "inputs": {
      "draw_body": {
        "name": "draw_body"
      },
      "draw_face": {
        "name": "draw_face"
      },
      "draw_feet": {
        "name": "draw_feet"
      },
      "draw_hands": {
        "name": "draw_hands"
      },
      "draw_head": {
        "name": "draw_head"
      },
      "face_point_size": {
        "name": "face_point_size"
      },
      "keypoints": {
        "name": "keypoints"
      },
      "score_threshold": {
        "name": "score_threshold"
      },
      "stick_width": {
        "name": "stick_width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SDPoseFaceBBoxes": {
    "display_name": "SDPose Riquadri Volti",
    "inputs": {
      "force_square": {
        "name": "forza_quadrato",
        "tooltip": "Espandi l'asse più corto del riquadro affinché la regione ritagliata sia sempre quadrata."
      },
      "keypoints": {
        "name": "keypoints"
      },
      "scale": {
        "name": "scala",
        "tooltip": "Moltiplicatore per l'area del riquadro attorno a ciascun volto rilevato."
      }
    },
    "outputs": {
      "0": {
        "name": "riquadri",
        "tooltip": "Riquadri dei volti per fotogramma, compatibili con l'input bboxes di SDPoseKeypointExtractor."
      }
    }
  },
  "SDPoseKeypointExtractor": {
    "description": "Estrai i keypoint della posa dalle immagini usando il modello SDPose: https://huggingface.co/Comfy-Org/SDPose/tree/main/checkpoints",
    "display_name": "SDPose Estrazione Keypoint",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "bboxes": {
        "name": "riquadri",
        "tooltip": "Riquadri opzionali per rilevamenti più accurati. Necessari per il rilevamento multi-persona."
      },
      "image": {
        "name": "immagine"
      },
      "model": {
        "name": "modello"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "keypoints",
        "tooltip": "Keypoint nel formato OpenPose frame (canvas_width, canvas_height, people)"
      }
    }
  },
  "SDTurboScheduler": {
    "display_name": "SDTurboScheduler",
    "inputs": {
      "denoise": {
        "name": "denoise"
      },
      "model": {
        "name": "modello"
      },
      "steps": {
        "name": "passi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SD_4XUpscale_Conditioning": {
    "display_name": "SD_4XUpscale_Conditioning",
    "inputs": {
      "images": {
        "name": "images"
      },
      "negative": {
        "name": "negative"
      },
      "noise_augmentation": {
        "name": "noise_augmentation"
      },
      "positive": {
        "name": "positive"
      },
      "scale_ratio": {
        "name": "scale_ratio"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "SUPIRApply": {
    "display_name": "SUPIRApply",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "model": {
        "name": "modello"
      },
      "model_patch": {
        "name": "patch modello"
      },
      "restore_cfg": {
        "name": "restore_cfg",
        "tooltip": "Avvicina l'output denoised al latent di input. Più alto = maggiore fedeltà all'input. 0 per disabilitare."
      },
      "restore_cfg_s_tmin": {
        "name": "restore_cfg_s_tmin",
        "tooltip": "Soglia sigma sotto la quale restore_cfg è disabilitato."
      },
      "strength_end": {
        "name": "intensità finale",
        "tooltip": "Controlla l'intensità alla fine del campionamento (sigma basso). Interpolato linearmente dall'inizio."
      },
      "strength_start": {
        "name": "intensità iniziale",
        "tooltip": "Controlla l'intensità all'inizio del campionamento (sigma alto)."
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SV3D_Conditioning": {
    "display_name": "SV3D_Conditioning",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "elevazione"
      },
      "height": {
        "name": "altezza"
      },
      "init_image": {
        "name": "immagine iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "video_frames": {
        "name": "fotogrammi video"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "SVD_img2vid_Conditioning": {
    "display_name": "SVD_img2vid_Conditioning",
    "inputs": {
      "augmentation_level": {
        "name": "livello di aumentazione"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "fps": {
        "name": "fps"
      },
      "height": {
        "name": "altezza"
      },
      "init_image": {
        "name": "immagine iniziale"
      },
      "motion_bucket_id": {
        "name": "ID motion bucket"
      },
      "vae": {
        "name": "vae"
      },
      "video_frames": {
        "name": "fotogrammi video"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      },
      "2": {
        "name": "latent"
      }
    }
  },
  "SamplerARVideo": {
    "display_name": "Sampler AR Video",
    "inputs": {
      "num_frame_per_block": {
        "name": "num_frame_per_block",
        "tooltip": "Fotogrammi per blocco autoregressivo. 1 = per fotogramma, 3 = per blocco. Deve corrispondere alla modalità di addestramento del checkpoint."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerCustom": {
    "display_name": "SamplerCustom",
    "inputs": {
      "add_noise": {
        "name": "aggiungi rumore"
      },
      "cfg": {
        "name": "cfg"
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "latent_image": {
        "name": "immagine latente"
      },
      "model": {
        "name": "modello"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_seed": {
        "name": "seme rumore"
      },
      "positive": {
        "name": "positivo"
      },
      "sampler": {
        "name": "campionatore"
      },
      "sigmas": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "name": "output",
        "tooltip": null
      },
      "1": {
        "name": "output denoised",
        "tooltip": null
      }
    }
  },
  "SamplerCustomAdvanced": {
    "display_name": "SamplerCustomAdvanced",
    "inputs": {
      "guider": {
        "name": "guida"
      },
      "latent_image": {
        "name": "immagine latente"
      },
      "noise": {
        "name": "rumore"
      },
      "sampler": {
        "name": "campionatore"
      },
      "sigmas": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "name": "output",
        "tooltip": null
      },
      "1": {
        "name": "output denoised",
        "tooltip": null
      }
    }
  },
  "SamplerDPMAdaptative": {
    "display_name": "SamplerDPMAdaptative",
    "inputs": {
      "accept_safety": {
        "name": "sicurezza accettazione"
      },
      "atol": {
        "name": "atol"
      },
      "dcoeff": {
        "name": "coefficiente derivativo"
      },
      "eta": {
        "name": "eta"
      },
      "h_init": {
        "name": "h_init"
      },
      "icoeff": {
        "name": "coefficiente integrale"
      },
      "order": {
        "name": "ordine"
      },
      "pcoeff": {
        "name": "coefficiente proporzionale"
      },
      "rtol": {
        "name": "rtol"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_2M_SDE": {
    "display_name": "SamplerDPMPP_2M_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "dispositivo rumore"
      },
      "s_noise": {
        "name": "s_noise"
      },
      "solver_type": {
        "name": "tipo di risolutore"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_2S_Ancestral": {
    "display_name": "SamplerDPMPP_2S_Ancestral",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_3M_SDE": {
    "display_name": "SamplerDPMPP_3M_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "dispositivo rumore"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_SDE": {
    "display_name": "SamplerDPMPP_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "dispositivo rumore"
      },
      "r": {
        "name": "r"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerER_SDE": {
    "display_name": "SamplerER_SDE",
    "inputs": {
      "eta": {
        "name": "eta",
        "tooltip": "Intensità stocastica della SDE a tempo inverso.\nQuando eta=0, si riduce a ODE deterministica. Questa impostazione non si applica al tipo di risolutore ER-SDE."
      },
      "max_stage": {
        "name": "fase massima"
      },
      "s_noise": {
        "name": "s_noise"
      },
      "solver_type": {
        "name": "tipo di risolutore"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerAncestral": {
    "display_name": "SamplerEulerAncestral",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerAncestralCFGPP": {
    "display_name": "SamplerEulerAncestralCFG++",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerCFGpp": {
    "display_name": "SamplerEulerCFG++",
    "inputs": {
      "version": {
        "name": "version"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLCM": {
    "description": "Campionatore LCM con rumore regolabile per ogni passo. s_noise è un moltiplicatore sulla scala del rumore di addestramento del modello",
    "display_name": "SamplerLCM",
    "inputs": {
      "noise_clip_std": {
        "name": "noise_clip_std",
        "tooltip": "Limita il rumore per passo a +/- N*std. 0 per disabilitare."
      },
      "s_noise": {
        "name": "s_noise",
        "tooltip": "Moltiplicatore di rumore per passo al primo passo (1.0 = uguale all'addestramento)."
      },
      "s_noise_end": {
        "name": "s_noise_end",
        "tooltip": "Moltiplicatore di rumore per passo all'ultimo passo. Impostare uguale a s_noise per una schedulazione costante."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLCMUpscale": {
    "display_name": "SamplerLCMUpscale",
    "inputs": {
      "scale_ratio": {
        "name": "scale_ratio"
      },
      "scale_steps": {
        "name": "scale_steps"
      },
      "upscale_method": {
        "name": "upscale_method"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLMS": {
    "display_name": "SamplerLMS",
    "inputs": {
      "order": {
        "name": "order"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerSASolver": {
    "display_name": "SamplerSASolver",
    "inputs": {
      "corrector_order": {
        "name": "corrector_order"
      },
      "eta": {
        "name": "eta"
      },
      "model": {
        "name": "model"
      },
      "predictor_order": {
        "name": "predictor_order"
      },
      "s_noise": {
        "name": "s_noise"
      },
      "sde_end_percent": {
        "name": "sde_end_percent"
      },
      "sde_start_percent": {
        "name": "sde_start_percent"
      },
      "simple_order_2": {
        "name": "simple_order_2"
      },
      "use_pece": {
        "name": "use_pece"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerSEEDS2": {
    "description": "Questo nodo campionatore può rappresentare più campionatori:\n\nseeds_2\n- impostazione predefinita\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": "Intensità stocastica"
      },
      "r": {
        "name": "r",
        "tooltip": "Dimensione relativa del passo per la fase intermedia (nodo c2)"
      },
      "s_noise": {
        "name": "s_noise",
        "tooltip": "Moltiplicatore di rumore SDE"
      },
      "solver_type": {
        "name": "solver_type"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplingPercentToSigma": {
    "display_name": "SamplingPercentToSigma",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "return_actual_sigma": {
        "name": "restituisci_sigma_reale",
        "tooltip": "Restituisce il valore sigma effettivo invece del valore utilizzato per i controlli di intervallo.\nQuesto influisce solo sui risultati a 0.0 e 1.0."
      },
      "sampling_percent": {
        "name": "percentuale_campionamento"
      }
    },
    "outputs": {
      "0": {
        "name": "valore_sigma",
        "tooltip": null
      }
    }
  },
  "Save3DAdvanced": {
    "display_name": "Salva 3D (Avanzato)",
    "inputs": {
      "camera_info": {
        "name": "info_camera"
      },
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "height": {
        "name": "altezza"
      },
      "model_3d": {
        "name": "modello_3d",
        "tooltip": "File modello 3D da un nodo 3D a monte."
      },
      "model_3d_info": {
        "name": "info_modello_3d"
      },
      "viewport_state": {
        "name": "stato_viewport"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "modello_3d",
        "tooltip": null
      },
      "1": {
        "name": "info_modello_3d",
        "tooltip": null
      },
      "2": {
        "name": "info_camera",
        "tooltip": null
      },
      "3": {
        "name": "larghezza",
        "tooltip": null
      },
      "4": {
        "name": "altezza",
        "tooltip": null
      }
    }
  },
  "SaveAnimatedPNG": {
    "display_name": "Salva PNG Animato",
    "inputs": {
      "compress_level": {
        "name": "livello_compressione"
      },
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "immagini"
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": null
      }
    }
  },
  "SaveAnimatedWEBP": {
    "display_name": "Salva WEBP Animato",
    "inputs": {
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "immagini"
      },
      "lossless": {
        "name": "senza_perdita"
      },
      "method": {
        "name": "metodo"
      },
      "quality": {
        "name": "qualità"
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": null
      }
    }
  },
  "SaveAudio": {
    "display_name": "Salva Audio (FLAC) (DEPRECATO)",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "prefisso_nome_file"
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "SaveAudioAdvanced": {
    "description": "Salva l'audio di input nella cartella di output di ComfyUI.",
    "display_name": "Salva Audio (Avanzato)",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "L'audio da salvare."
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "prefisso_nome_file",
        "tooltip": "Il prefisso per il file da salvare. Può includere token di formattazione come %date:yyyy-MM-dd%."
      },
      "format": {
        "name": "formato",
        "tooltip": "Il formato file in cui salvare l'audio."
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "SaveAudioMP3": {
    "display_name": "Salva Audio (MP3) (DEPRECATO)",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "quality": {
        "name": "qualità"
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "SaveAudioOpus": {
    "display_name": "Salva Audio (Opus) (DEPRECATO)",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "quality": {
        "name": "qualità"
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "SaveGLB": {
    "display_name": "Salva Modello 3D",
    "inputs": {
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "image": {
        "name": "immagine"
      },
      "mesh": {
        "name": "mesh",
        "tooltip": "Mesh o file 3D da salvare"
      }
    }
  },
  "SaveGaussianSplat": {
    "display_name": "Salva Splat",
    "inputs": {
      "camera_info": {
        "name": "info_camera"
      },
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "height": {
        "name": "altezza"
      },
      "model_3d": {
        "name": "modello_3d",
        "tooltip": "Un file 3D gaussian splat."
      },
      "model_3d_info": {
        "name": "info_modello_3d"
      },
      "viewport_state": {
        "name": "stato_viewport"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "modello_3d",
        "tooltip": null
      },
      "1": {
        "name": "info_modello_3d",
        "tooltip": null
      },
      "2": {
        "name": "info_camera",
        "tooltip": null
      },
      "3": {
        "name": "larghezza",
        "tooltip": null
      },
      "4": {
        "name": "altezza",
        "tooltip": null
      }
    }
  },
  "SaveImage": {
    "description": "Salva le immagini di input nella directory di output di ComfyUI.",
    "display_name": "Salva Immagine",
    "inputs": {
      "filename_prefix": {
        "name": "prefisso_nome_file",
        "tooltip": "Il prefisso per il file da salvare. Può includere informazioni di formattazione come %date:yyyy-MM-dd% o %Empty Latent Image.width% per includere valori dai nodi."
      },
      "images": {
        "name": "immagini",
        "tooltip": "Le immagini da salvare."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini"
      }
    }
  },
  "SaveImageAdvanced": {
    "description": "Salva le immagini di input nella directory di output di ComfyUI.",
    "display_name": "Salva Immagine (Avanzato)",
    "inputs": {
      "filename_prefix": {
        "name": "prefisso_nome_file",
        "tooltip": "Il prefisso per il file da salvare. Può includere token di formattazione come %date:yyyy-MM-dd% o %Empty Latent Image.width%."
      },
      "format": {
        "name": "formato",
        "tooltip": "Il formato file in cui salvare l'immagine."
      },
      "format_bit_depth": {
        "name": "profondità_bit"
      },
      "format_input_color_space": {
        "name": "spazio_colore_input"
      },
      "images": {
        "name": "immagini",
        "tooltip": "Le immagini da salvare."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": null
      }
    }
  },
  "SaveImageDataSetToFolder": {
    "description": "Salva un dataset di immagini in una cartella specificata. Formati supportati: PNG.",
    "display_name": "Salva Immagine (in Cartella) (DEPRECATO)",
    "inputs": {
      "filename_prefix": {
        "name": "prefisso_nome_file",
        "tooltip": "Prefisso per i nomi dei file delle immagini salvate."
      },
      "folder_name": {
        "name": "nome_cartella",
        "tooltip": "Nome della cartella in cui salvare le immagini (all'interno della directory di output)."
      },
      "images": {
        "name": "immagini",
        "tooltip": "Elenco di immagini da salvare."
      },
      "mode": {
        "name": "modalità",
        "tooltip": "Se sovrascrivere i file esistenti o incrementare i nomi dei file per evitare sovrascritture."
      }
    }
  },
  "SaveImageTextDataSetToFolder": {
    "description": "Salva un dataset di coppie di immagini e didascalie di testo in una cartella specificata. Le immagini vengono salvate come file PNG e le didascalie come file TXT con lo stesso prefisso_nome_file.",
    "display_name": "Salva Immagine-Testo (in Cartella)",
    "inputs": {
      "filename_prefix": {
        "name": "prefisso_nome_file",
        "tooltip": "Prefisso per i nomi dei file delle immagini salvate."
      },
      "folder_name": {
        "name": "nome_cartella",
        "tooltip": "Nome della cartella in cui salvare le immagini (all'interno della directory di output)."
      },
      "images": {
        "name": "immagini",
        "tooltip": "Elenco di immagini da salvare."
      },
      "mode": {
        "name": "modalità",
        "tooltip": "Se sovrascrivere i file esistenti o incrementare i nomi dei file per evitare sovrascritture."
      },
      "texts": {
        "name": "testi",
        "tooltip": "Elenco di didascalie di testo da salvare."
      }
    }
  },
  "SaveImageWebsocket": {
    "display_name": "Salva Immagine (Websocket)",
    "inputs": {
      "images": {
        "name": "immagini"
      }
    }
  },
  "SaveLatent": {
    "display_name": "Salva Latent",
    "inputs": {
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "samples": {
        "name": "campioni"
      }
    },
    "outputs": {
      "0": {
        "name": "campioni"
      }
    }
  },
  "SaveLoRA": {
    "display_name": "Salva Pesi LoRA",
    "inputs": {
      "lora": {
        "name": "lora",
        "tooltip": "Il modello LoRA da salvare. Non utilizzare il modello con livelli LoRA."
      },
      "prefix": {
        "name": "prefisso",
        "tooltip": "Il prefisso da utilizzare per il file LoRA salvato."
      },
      "steps": {
        "name": "passi",
        "tooltip": "Opzionale: Il numero di passi per cui LoRA è stato addestrato, usato per nominare il file salvato."
      }
    }
  },
  "SavePointCloud": {
    "display_name": "Salva Point Cloud",
    "inputs": {
      "camera_info": {
        "name": "info_camera"
      },
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "height": {
        "name": "altezza"
      },
      "model_3d": {
        "name": "modello_3d",
        "tooltip": "File point cloud (.ply)"
      },
      "model_3d_info": {
        "name": "info_modello_3d"
      },
      "viewport_state": {
        "name": "stato_viewport"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "modello_3d",
        "tooltip": null
      },
      "1": {
        "name": "info_modello_3d",
        "tooltip": null
      },
      "2": {
        "name": "info_camera",
        "tooltip": null
      },
      "3": {
        "name": "larghezza",
        "tooltip": null
      },
      "4": {
        "name": "altezza",
        "tooltip": null
      }
    }
  },
  "SaveSVGNode": {
    "description": "Salva file SVG su disco.",
    "display_name": "Salva SVG",
    "inputs": {
      "filename_prefix": {
        "name": "prefisso_nome_file",
        "tooltip": "Il prefisso per il file da salvare. Può includere informazioni di formattazione come %date:yyyy-MM-dd% o %Empty Latent Image.width% per includere valori dai nodi."
      },
      "svg": {
        "name": "svg"
      }
    },
    "outputs": {
      "0": {
        "name": "svg",
        "tooltip": null
      }
    }
  },
  "SaveText": {
    "description": "Salva il contenuto di testo in un file nella cartella di output.",
    "display_name": "Salva Testo",
    "inputs": {
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "format": {
        "name": "formato"
      },
      "preview_mode": {},
      "preview_text": {},
      "text": {
        "name": "testo"
      }
    },
    "outputs": {
      "0": {
        "name": "testo",
        "tooltip": null
      }
    }
  },
  "SaveTrainingDataset": {
    "description": "Salva il dataset di addestramento codificato (latents + conditioning) su disco per un caricamento efficiente durante l'addestramento.",
    "display_name": "Salva Dataset di Addestramento",
    "inputs": {
      "conditioning": {
        "name": "conditioning",
        "tooltip": "Elenco di liste di conditioning da MakeTrainingDataset."
      },
      "folder_name": {
        "name": "nome_cartella",
        "tooltip": "Nome della cartella in cui salvare il dataset, all'interno della directory datasets. Sono consentite sottocartelle come 'project/run1'."
      },
      "latents": {
        "name": "latents",
        "tooltip": "Elenco di dizionari latent da MakeTrainingDataset."
      },
      "shard_size": {
        "name": "dimensione_shard",
        "tooltip": "Numero di campioni per file shard."
      }
    }
  },
  "SaveVideo": {
    "description": "Salva i video di input nella cartella di output di ComfyUI.",
    "display_name": "Salva Video",
    "inputs": {
      "codec": {
        "name": "codec",
        "tooltip": "Il codec da utilizzare per il video."
      },
      "filename_prefix": {
        "name": "prefisso_nome_file",
        "tooltip": "Il prefisso per il file da salvare. Può includere informazioni di formattazione come %date:yyyy-MM-dd% o %Empty Latent Image.width% per includere valori dai nodi."
      },
      "format": {
        "name": "formato",
        "tooltip": "Il formato con cui salvare il video."
      },
      "video": {
        "name": "video",
        "tooltip": "Il video da salvare."
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": null
      }
    }
  },
  "SaveWEBM": {
    "display_name": "Salva WEBM",
    "inputs": {
      "codec": {
        "name": "codec"
      },
      "crf": {
        "name": "crf",
        "tooltip": "Un valore crf più alto significa qualità inferiore e dimensione file più piccola, un valore crf più basso significa qualità superiore e dimensione file maggiore."
      },
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "immagini",
        "tooltip": "Le immagini RGBA vengono salvate con il loro canale alfa come trasparenza (solo codec vp9)."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": null
      }
    }
  },
  "ScaleROPE": {
    "description": "Scala e trasla la ROPE del modello.",
    "display_name": "ScaleROPE",
    "inputs": {
      "model": {
        "name": "model"
      },
      "scale_t": {
        "name": "scale_t"
      },
      "scale_x": {
        "name": "scale_x"
      },
      "scale_y": {
        "name": "scale_y"
      },
      "shift_t": {
        "name": "shift_t"
      },
      "shift_x": {
        "name": "shift_x"
      },
      "shift_y": {
        "name": "shift_y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SeedNode": {
    "display_name": "Seed",
    "inputs": {
      "fixed": {
        "name": "controlla dopo la generazione"
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "name": "seed",
        "tooltip": null
      }
    }
  },
  "SeedVR2Conditioning": {
    "description": "Crea il conditioning positivo/negativo SeedVR2 da un latent VAE.",
    "display_name": "Applica SeedVR2 Conditioning",
    "inputs": {
      "model": {
        "name": "modello",
        "tooltip": "Il modello SeedVR2."
      },
      "vae_conditioning": {
        "name": "vae_conditioning"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": "Il conditioning positivo per il campionamento."
      },
      "1": {
        "name": "negativo",
        "tooltip": "Il conditioning negativo per il campionamento."
      }
    }
  },
  "SeedVR2PostProcessing": {
    "description": "Allinea l'immagine generata con l'immagine originale ridimensionata e applica la correzione colore.",
    "display_name": "Post-Elaborazione Output SeedVR2",
    "inputs": {
      "color_correction_method": {
        "name": "metodo_correzione_colore",
        "tooltip": "Metodo per abbinare i colori dell'immagine generata a quelli dell'immagine originale. lab: trasferisce il colore nello spazio CIELAB, preservando i dettagli (più fedele). wavelet: trasferisce il colore a bassa frequenza, mantenendo i dettagli ad alta frequenza ingranditi. adain: abbina media/std per canale (più veloce, tinta globale). none: salta il trasferimento colore (solo allineamento geometrico)."
      },
      "images": {
        "name": "immagini",
        "tooltip": "L'immagine generata da elaborare."
      },
      "original_resized_images": {
        "name": "immagini_originali_ridimensionate",
        "tooltip": "L'immagine originale ridimensionata prima del pre-processing, usata come riferimento."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "L'immagine allineata e corretta nei colori."
      }
    }
  },
  "SeedVR2Preprocess": {
    "description": "Aggiunge padding a un'immagine ridimensionata per il modello SeedVR2. Il canale alfa viene rimosso. Il nodo Post-Process SeedVR2 Output lo riapplica dall'immagine ridimensionata originale.",
    "display_name": "Pre-elabora Input SeedVR2",
    "inputs": {
      "resized_images": {
        "name": "resized_images",
        "tooltip": "L'immagine ridimensionata da elaborare."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "L'immagine con padding per la codifica VAE."
      }
    }
  },
  "SeedVR2TemporalChunk": {
    "description": "Divide un video latent SeedVR2 in chunk temporali sovrapposti abbastanza piccoli da poter essere campionati uno alla volta nella VRAM, collegando le uscite dei latent sia ad Apply SeedVR2 Conditioning che all'ingresso del sampler latent prima di ricombinarli con Merge SeedVR2 Latents.",
    "display_name": "Dividi Latent SeedVR2",
    "inputs": {
      "chunking_mode": {
        "name": "chunking_mode",
        "tooltip": "manual = usa esattamente frames_per_chunk; auto = predice il chunk più grande che entra nella VRAM libera."
      },
      "latent": {
        "name": "latent",
        "tooltip": "Il latent SeedVR2 codificato da VAE da dividere."
      },
      "temporal_overlap": {
        "name": "temporal_overlap",
        "tooltip": "Frame latent condivisi tra chunk adiacenti e sfumati incrociati al momento dell'unione; 0 = nessuna sovrapposizione."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "I chunk temporali in ordine di sequenza."
      },
      "1": {
        "name": "temporal_overlap",
        "tooltip": "La sovrapposizione effettiva dei frame latent tra chunk adiacenti, per Merge SeedVR2 Latents."
      }
    }
  },
  "SeedVR2TemporalMerge": {
    "description": "Ricombina i chunk temporali sampled di latent SeedVR2 in un unico latent, sfumando incrociatamente ogni sovrapposizione con una finestra di Hann dimensionata dal temporal_overlap collegato da Split SeedVR2 Latent.",
    "display_name": "Unisci Latent SeedVR2",
    "inputs": {
      "latents": {
        "name": "latents",
        "tooltip": "I chunk temporali sampled in ordine di sequenza."
      },
      "temporal_overlap": {
        "name": "temporal_overlap",
        "tooltip": "L'output temporal_overlap di Split SeedVR2 Latent. 0 = semplice concatenazione."
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": "Il latent ricombinato a lunghezza completa."
      }
    }
  },
  "SelectCLIPDevice": {
    "description": "Posiziona l'encoder di testo CLIP su uno specifico dispositivo (default / cpu / gpu:N).\n\n- \"default\" ripristina il dispositivo assegnato dal loader.\n- \"cpu\" assegna sia il caricamento che lo scaricamento alla CPU.\n- \"gpu:N\" assegna il caricamento al N-esimo GPU disponibile.\n\nQuando il dispositivo selezionato non esiste sulla macchina corrente\n(ad esempio un workflow creato su una macchina con 2 GPU aperto su una con 1 GPU),\nil nodo passa il CLIP invariato e registra un messaggio\ninvece di generare un errore.",
    "display_name": "Seleziona Dispositivo CLIP",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "device": {
        "name": "device"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelectModelDevice": {
    "description": "Posiziona il modello di diffusione su uno specifico dispositivo (default / cpu / gpu:N).\n\n- \"default\" ripristina il dispositivo assegnato dal loader (anche dopo una\n  precedente chiamata a Seleziona Dispositivo Modello).\n- \"cpu\" assegna sia il caricamento che lo scaricamento al dispositivo CPU.\n- \"gpu:N\" assegna il caricamento al dispositivo GPU N disponibile; lo scaricamento\n  viene ripristinato alla scelta originale del loader.\n\nQuando il dispositivo richiesto è diverso da quello su cui si trova già il modello di input,\nviene generato un nuovo modello tramite la reload factory del loader\n(cached_patcher_init) così che il nuovo patcher abbia pesi indipendenti sul\nnuovo dispositivo. I loader che non supportano il multigpu (senza factory)\nfaranno sì che il nodo passi senza modifiche mostrando un avviso.\n\nSe il workflow ha già applicato MultiGPU CFG Split e la GPU scelta\ncollide con una delle copie multigpu esistenti, quella copia viene\nrimossa per evitare che due patcher siano assegnati allo stesso dispositivo.\n\nQuando il dispositivo selezionato non esiste sulla macchina corrente\n(es. un workflow creato su una macchina con 2 GPU aperto su una con 1 GPU),\nil nodo passa il modello senza modifiche e registra un messaggio\ninvece di fallire.\n\nNOTA: Posizionare Seleziona Dispositivo Modello *dopo* un nodo che ha già\nutilizzato lo stesso modello (es. un KSampler che ha lavorato su questo modello sul\ndispositivo originale) non è raccomandato -- qualsiasi stato modificato dal\nconsumatore precedente sul modello originale sarà osservato quando il\ndispositivo selezionato corrisponde all’originale (fast path). Posiziona\nSeleziona Dispositivo Modello prima di qualsiasi consumatore del modello.",
    "display_name": "Seleziona Dispositivo Modello",
    "inputs": {
      "device": {
        "name": "dispositivo"
      },
      "model": {
        "name": "modello"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelectVAEDevice": {
    "description": "Posiziona il VAE su uno specifico dispositivo (default / gpu:N).\n\n- \"default\" ripristina il dispositivo assegnato dal loader.\n- \"gpu:N\" assegna il caricamento al dispositivo GPU N disponibile; lo scaricamento\n  viene impostato sul dispositivo standard di offload VAE.\n\nLa CPU non è intenzionalmente esposta nell’interfaccia per il VAE; se un workflow\nfornisce comunque \"cpu\" (es. aperto da un’altra macchina), la richiesta\nviene ignorata con un messaggio di log e il VAE viene passato senza modifiche.\n\nQuando il dispositivo selezionato non esiste sulla macchina corrente\n(es. un workflow creato su una macchina con 2 GPU aperto su una con 1 GPU),\nil nodo passa il VAE senza modifiche e registra un messaggio\ninvece di fallire.",
    "display_name": "Seleziona Dispositivo VAE",
    "inputs": {
      "device": {
        "name": "dispositivo"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelfAttentionGuidance": {
    "display_name": "Self-Attention Guidance",
    "inputs": {
      "blur_sigma": {
        "name": "blur_sigma"
      },
      "model": {
        "name": "modello"
      },
      "scale": {
        "name": "scala"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SetClipHooks": {
    "display_name": "Imposta Hook CLIP",
    "inputs": {
      "apply_to_conds": {
        "name": "applica_a_condizioni"
      },
      "clip": {
        "name": "clip"
      },
      "hooks": {
        "name": "hook"
      },
      "schedule_clip": {
        "name": "programma_clip"
      }
    }
  },
  "SetFirstSigma": {
    "display_name": "Imposta Primo Sigma",
    "inputs": {
      "sigma": {
        "name": "sigma"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SetHookKeyframes": {
    "display_name": "Imposta Keyframe Hook",
    "inputs": {
      "hook_kf": {
        "name": "hook_kf"
      },
      "hooks": {
        "name": "hook"
      }
    }
  },
  "SetLatentNoiseMask": {
    "display_name": "Imposta Maschera di Rumore Latente",
    "inputs": {
      "mask": {
        "name": "mask"
      },
      "samples": {
        "name": "campioni"
      }
    }
  },
  "SetUnionControlNetType": {
    "display_name": "Imposta Tipo Union ControlNet",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "type": {
        "name": "tipo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ShuffleDataset": {
    "description": "Mescola casualmente l'ordine delle immagini in un elenco.",
    "display_name": "Mescola Elenco Immagini",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "images": {
        "name": "immagini",
        "tooltip": "Elenco di immagini da elaborare."
      },
      "seed": {
        "name": "seme",
        "tooltip": "Seme casuale."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Immagini elaborate"
      }
    }
  },
  "ShuffleImageTextDataset": {
    "description": "Mescola casualmente l'ordine delle coppie immagine-testo in un elenco.",
    "display_name": "Mescola Coppie Immagine-Testo",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "images": {
        "name": "immagini",
        "tooltip": "Elenco di immagini da mescolare."
      },
      "seed": {
        "name": "seme",
        "tooltip": "Seme casuale."
      },
      "texts": {
        "name": "testi",
        "tooltip": "Elenco di testi da mescolare."
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": "Immagini mescolate"
      },
      "1": {
        "name": "testi",
        "tooltip": "Testi mescolati"
      }
    }
  },
  "ShuffleVideoDataset": {
    "description": "Mescola casualmente l'ordine dei video in un elenco.",
    "display_name": "Mescola Elenco Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "seed": {
        "name": "seme",
        "tooltip": "Seme casuale."
      },
      "videos": {
        "name": "video",
        "tooltip": "Elenco di video da mescolare."
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": "Video mescolati"
      }
    }
  },
  "ShuffleVideoTextDataset": {
    "description": "Mescola casualmente l'ordine delle coppie video-testo in un elenco.",
    "display_name": "Mescola Coppie Video-Testo",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "seed": {
        "name": "seme",
        "tooltip": "Seme casuale."
      },
      "texts": {
        "name": "testi",
        "tooltip": "Elenco di testi da mescolare."
      },
      "videos": {
        "name": "video",
        "tooltip": "Elenco di video da mescolare."
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": "Video mescolati"
      },
      "1": {
        "name": "testi",
        "tooltip": "Testi mescolati"
      }
    }
  },
  "SkipLayerGuidanceDiT": {
    "description": "Versione generica del nodo SkipLayerGuidance che può essere utilizzata su ogni modello DiT.",
    "display_name": "SkipLayerGuidanceDiT",
    "inputs": {
      "double_layers": {
        "name": "doppi livelli"
      },
      "end_percent": {
        "name": "percentuale finale"
      },
      "model": {
        "name": "modello"
      },
      "rescaling_scale": {
        "name": "scala di riscalatura"
      },
      "scale": {
        "name": "scala"
      },
      "single_layers": {
        "name": "livelli singoli"
      },
      "start_percent": {
        "name": "percentuale iniziale"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SkipLayerGuidanceDiTSimple": {
    "description": "Versione semplice del nodo SkipLayerGuidanceDiT che modifica solo il passaggio uncond.",
    "display_name": "SkipLayerGuidanceDiTSimple",
    "inputs": {
      "double_layers": {
        "name": "doppi livelli"
      },
      "end_percent": {
        "name": "percentuale finale"
      },
      "model": {
        "name": "modello"
      },
      "single_layers": {
        "name": "livelli singoli"
      },
      "start_percent": {
        "name": "percentuale iniziale"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SkipLayerGuidanceSD3": {
    "description": "Versione generica del nodo SkipLayerGuidance che può essere utilizzata su ogni modello DiT.",
    "display_name": "SkipLayerGuidanceSD3",
    "inputs": {
      "end_percent": {
        "name": "percentuale finale"
      },
      "layers": {
        "name": "livelli"
      },
      "model": {
        "name": "modello"
      },
      "scale": {
        "name": "scala"
      },
      "start_percent": {
        "name": "percentuale iniziale"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SolidMask": {
    "display_name": "Crea Maschera Solida",
    "inputs": {
      "height": {
        "name": "altezza"
      },
      "value": {
        "name": "valore"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SoniloTextToMusic": {
    "description": "Genera musica da un prompt testuale utilizzando il modello AI di Sonilo.",
    "display_name": "Sonilo Testo in Musica",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration": {
        "name": "durata",
        "tooltip": "Durata desiderata in secondi. Massimo: 6 minuti."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale che descrive la musica da generare."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la riproducibilità. Attualmente ignorato dal servizio Sonilo ma mantenuto per la coerenza del grafo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SoniloVideoToMusic": {
    "description": "Genera musica dal contenuto video utilizzando il modello AI di Sonilo. Analizza il video e crea musica corrispondente.",
    "display_name": "Sonilo Video in Musica",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale opzionale per guidare la generazione musicale. Lasciare vuoto per la massima qualità: il modello analizzerà completamente il contenuto video."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la riproducibilità. Attualmente ignorato dal servizio Sonilo ma mantenuto per la coerenza del grafo."
      },
      "video": {
        "name": "video",
        "tooltip": "Video di input da cui generare la musica. Durata massima: 6 minuti."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SplatToFile3D": {
    "description": "Serializza uno splat gaussiano in un oggetto File3D per i nodi Salva / Anteprima 3D. Supporta solo un elemento per batch.",
    "display_name": "Crea File 3D (da Splat)",
    "inputs": {
      "format": {
        "name": "formato",
        "tooltip": "ply: Splat Gaussiano 3D standard con armoniche sferiche complete. ksplat: mkkellogg SplatBuffer (livello 0, non compresso), solo colore base. spz: Niantic gzip-compresso (~10x più piccolo), solo colore base."
      },
      "splat": {
        "name": "splat"
      }
    },
    "outputs": {
      "0": {
        "name": "modello_3d",
        "tooltip": null
      }
    }
  },
  "SplatToMesh": {
    "description": "Estrai una mesh colorata da uno splat gaussiano.",
    "display_name": "Estrai Mesh da Splat",
    "inputs": {
      "color_sharpen": {
        "name": "affila_colore",
        "tooltip": "Rende più nitida la texture dei vertici: 1.0 = fusione fisicamente corretta; valori più alti spostano il colore di ogni voxel verso la sua gaussiana dominante invece di fare la media con i vicini (riduce la sfocatura della texture). Solo colore - la geometria non cambia."
      },
      "kernel": {
        "name": "kernel",
        "tooltip": "Massima semi-larghezza dello splat in voxel. Ogni gaussiana viene rasterizzata su una finestra dimensionata in base al suo 3-sigma, limitata qui - i surfel piccoli restano economici, quelli grandi non vengono troncati. Aumenta se gli splat sparsi lasciano dei vuoti."
      },
      "level": {
        "name": "livello",
        "tooltip": "Livello iso-superficie. Selezionato automaticamente da Otsu; questo lo modifica (1.0 = auto, più basso = superficie più spessa/connessa, più alto = più sottile/stretta)."
      },
      "min_component": {
        "name": "min_componente",
        "tooltip": "Elimina componenti connesse più piccole di questo numero di vertici (0 = mantieni tutte). Rimuove blob fluttuanti staccati e il guscio interno della doppia parete."
      },
      "min_opacity": {
        "name": "min_opacità",
        "tooltip": "Ignora gaussiane più deboli di questo valore prima della creazione della mesh."
      },
      "resolution": {
        "name": "risoluzione",
        "tooltip": "Risoluzione della griglia di densità lungo l'asse più lungo. Più alto = superficie più fine, più VRAM/tempo (crescita con risoluzione^3)."
      },
      "smooth": {
        "name": "smussa",
        "tooltip": "Iterazioni di smoothing mesh Taubin. Leviga la superficie senza ridurla (preserva il volume), a differenza della sfocatura della densità. 0 = superficie grezza."
      },
      "splat": {
        "name": "splat"
      }
    },
    "outputs": {
      "0": {
        "name": "mesh",
        "tooltip": null
      }
    }
  },
  "SplitAudioChannels": {
    "description": "Separa l'audio nei canali sinistro e destro.",
    "display_name": "Dividi Canali Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      }
    },
    "outputs": {
      "0": {
        "name": "sinistro",
        "tooltip": null
      },
      "1": {
        "name": "destro",
        "tooltip": null
      }
    }
  },
  "SplitImageToTileList": {
    "description": "Divide un'immagine in un elenco batch di tasselli con una sovrapposizione specificata.",
    "display_name": "Dividi Immagine in Elenco di Tasselli",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "overlap": {
        "name": "sovrapposizione"
      },
      "tile_height": {
        "name": "altezza_tassello"
      },
      "tile_width": {
        "name": "larghezza_tassello"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SplitImageWithAlpha": {
    "display_name": "Dividi Immagine con Alpha",
    "inputs": {
      "image": {
        "name": "immagine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "SplitSigmas": {
    "display_name": "SplitSigmas",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      },
      "step": {
        "name": "passo"
      }
    },
    "outputs": {
      "0": {
        "name": "high_sigmas",
        "tooltip": null
      },
      "1": {
        "name": "low_sigmas",
        "tooltip": null
      }
    }
  },
  "SplitSigmasDenoise": {
    "display_name": "SplitSigmasDenoise",
    "inputs": {
      "denoise": {
        "name": "denoise"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "name": "high_sigmas",
        "tooltip": null
      },
      "1": {
        "name": "low_sigmas",
        "tooltip": null
      }
    }
  },
  "StableCascade_EmptyLatentImage": {
    "display_name": "StableCascade_EmptyLatentImage",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "compression": {
        "name": "compressione"
      },
      "height": {
        "name": "altezza"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "stage_c",
        "tooltip": null
      },
      "1": {
        "name": "stage_b",
        "tooltip": null
      }
    }
  },
  "StableCascade_StageB_Conditioning": {
    "display_name": "StableCascade_StageB_Conditioning",
    "inputs": {
      "conditioning": {
        "name": "condizionamento"
      },
      "stage_c": {
        "name": "stage_c"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StableCascade_StageC_VAEEncode": {
    "display_name": "StableCascade_StageC_VAEEncode",
    "inputs": {
      "compression": {
        "name": "compressione"
      },
      "image": {
        "name": "immagine"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "stage_c",
        "tooltip": null
      },
      "1": {
        "name": "stage_b",
        "tooltip": null
      }
    }
  },
  "StableCascade_SuperResolutionControlnet": {
    "display_name": "StableCascade_SuperResolutionControlnet",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "controlnet_input",
        "tooltip": null
      },
      "1": {
        "name": "stage_c",
        "tooltip": null
      },
      "2": {
        "name": "stage_b",
        "tooltip": null
      }
    }
  },
  "StableZero123_Conditioning": {
    "display_name": "StableZero123_Conditioning",
    "inputs": {
      "azimuth": {
        "name": "azimut"
      },
      "batch_size": {
        "name": "dimensione_batch"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "elevazione"
      },
      "height": {
        "name": "altezza"
      },
      "init_image": {
        "name": "immagine_iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "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": "azimut"
      },
      "azimuth_batch_increment": {
        "name": "incremento_batch_azimut"
      },
      "batch_size": {
        "name": "dimensione_batch"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "elevazione"
      },
      "elevation_batch_increment": {
        "name": "incremento_batch_elevazione"
      },
      "height": {
        "name": "altezza"
      },
      "init_image": {
        "name": "immagine_iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "StringCompare": {
    "display_name": "Confronta Testo",
    "inputs": {
      "case_sensitive": {
        "name": "distingui_maiuscole"
      },
      "mode": {
        "name": "modalità"
      },
      "string_a": {
        "name": "stringa_a"
      },
      "string_b": {
        "name": "stringa_b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringConcatenate": {
    "display_name": "Concatena Testo",
    "inputs": {
      "delimiter": {
        "name": "delimitatore"
      },
      "string_a": {
        "name": "stringa_a"
      },
      "string_b": {
        "name": "stringa_b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringContains": {
    "display_name": "Contiene Testo",
    "inputs": {
      "case_sensitive": {
        "name": "distingui_maiuscole"
      },
      "string": {
        "name": "stringa"
      },
      "substring": {
        "name": "sottostringa"
      }
    },
    "outputs": {
      "0": {
        "name": "contiene",
        "tooltip": null
      }
    }
  },
  "StringFormat": {
    "description": "Come il metodo di formattazione delle stringhe di Python. Supporta tutte le opzioni e funzionalità di formattazione di Python.",
    "display_name": "Formatta Testo",
    "inputs": {
      "f_string": {
        "name": "f_string"
      },
      "values": {
        "name": "valori"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringLength": {
    "display_name": "Lunghezza Testo",
    "inputs": {
      "string": {
        "name": "stringa"
      }
    },
    "outputs": {
      "0": {
        "name": "lunghezza",
        "tooltip": null
      }
    }
  },
  "StringReplace": {
    "display_name": "Sostituisci Testo",
    "inputs": {
      "find": {
        "name": "trova"
      },
      "replace": {
        "name": "sostituisci"
      },
      "string": {
        "name": "stringa"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringSubstring": {
    "display_name": "Sottostringa",
    "inputs": {
      "end": {
        "name": "fine"
      },
      "start": {
        "name": "inizio"
      },
      "string": {
        "name": "stringa"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringTrim": {
    "display_name": "Rimuovi Spazi Testo",
    "inputs": {
      "mode": {
        "name": "modalità"
      },
      "string": {
        "name": "stringa"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StripWhitespace": {
    "display_name": "Rimuovi spazi bianchi (DEPRECATO)",
    "inputs": {
      "texts": {
        "name": "testi",
        "tooltip": "Testo da elaborare."
      }
    },
    "outputs": {
      "0": {
        "name": "testi",
        "tooltip": "Testi elaborati"
      }
    }
  },
  "StyleModelApply": {
    "display_name": "Applica modello di stile",
    "inputs": {
      "clip_vision_output": {
        "name": "output clip_vision"
      },
      "conditioning": {
        "name": "condizionamento"
      },
      "strength": {
        "name": "intensità"
      },
      "strength_type": {
        "name": "tipo di intensità"
      },
      "style_model": {
        "name": "modello di stile"
      }
    }
  },
  "StyleModelLoader": {
    "display_name": "Carica modello di stile",
    "inputs": {
      "style_model_name": {
        "name": "nome modello di stile"
      }
    }
  },
  "SyncLipSyncNode": {
    "description": "Risincronizza il movimento della bocca in un video con un nuovo audio vocale utilizzando sync.so. Gestisce automaticamente primi piani, profili e ostruzioni, preservando l'espressione dell'oratore. Il costo aumenta in base alla durata dell'output.",
    "display_name": "sync.so Lip Sync",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio vocale a cui sincronizzare il movimento della bocca."
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "model",
        "tooltip": "Modello di generazione 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": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      },
      "video": {
        "name": "video",
        "tooltip": "Filmato dell'oratore da risincronizzare. Fino a 4K (4096x2160); una frequenza costante di 24/25/30 fps offre i risultati migliori."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SyncTalkingImageNode": {
    "description": "Anima un ritratto statico in un video parlante guidato da audio vocale, utilizzando il modello sync-3 di sync.so. La durata dell'output corrisponde all'audio. Il costo aumenta in base alla durata dell'output.",
    "display_name": "sync.so Talking Image",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio vocale che guida il video parlante; la durata dell'output corrisponde a quella dell'audio. Collega qui qualsiasi nodo TTS per animare da testo."
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "image": {
        "name": "image",
        "tooltip": "Un'unica immagine con un volto chiaramente visibile, fino a 4K (4096x2160)."
      },
      "model": {
        "name": "model",
        "tooltip": "Modello di generazione sync.so. L'input immagine è esclusivo per 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": "Guida opzionale su come il ritratto prende vita, ad es. 'fai sorridere il soggetto e guardare la fotocamera'. Lascia vuoto per un movimento naturale."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "T5TokenizerOptions": {
    "display_name": "Opzioni Tokenizer T5",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "min_length": {
        "name": "min_length"
      },
      "min_padding": {
        "name": "min_padding"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TCFG": {
    "description": "TCFG – Tangential Damping CFG (2503.18137)\n\nRaffina l'uncond (negativo) per allinearlo con il cond (positivo) e migliorare la qualità.",
    "display_name": "Tangential Damping CFG",
    "inputs": {
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "name": "patched_model",
        "tooltip": null
      }
    }
  },
  "TemporalScoreRescaling": {
    "description": "[Funzione Post-CFG]\nTSR - Temporal Score Rescaling (2510.01184)\n\nRiscalatura del punteggio o del rumore del modello per guidare la diversità del campionamento.\n",
    "display_name": "TSR - Temporal Score Rescaling",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "tsr_k": {
        "name": "tsr_k",
        "tooltip": "Controlla l'intensità della riscalatura.\nUn valore k più basso produce risultati più dettagliati; un valore k più alto produce risultati più uniformi nella generazione delle immagini. Impostare k = 1 disabilita la riscalatura."
      },
      "tsr_sigma": {
        "name": "tsr_sigma",
        "tooltip": "Controlla quanto presto la riscalatura entra in effetto.\nValori più alti fanno sì che l'effetto inizi prima."
      }
    },
    "outputs": {
      "0": {
        "name": "modello_modificato",
        "tooltip": null
      }
    }
  },
  "Tencent3DPartNode": {
    "description": "Identificazione e generazione automatica dei componenti in base alla struttura del modello.",
    "display_name": "Hunyuan3D: Parte 3D",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model_3d": {
        "name": "modello_3d",
        "tooltip": "Modello 3D in formato FBX. Il modello deve avere meno di 30000 facce."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "Tencent3DTextureEditNode": {
    "description": "Dopo aver inserito il modello 3D, esegue il ridisegno delle texture del modello 3D.",
    "display_name": "Hunyuan3D: Modifica Texture 3D",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model_3d": {
        "name": "modello_3d",
        "tooltip": "Modello 3D in formato FBX. Il modello deve avere meno di 100000 facce."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrive la modifica della texture. Supporta fino a 1024 caratteri UTF-8."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "name": "GLB",
        "tooltip": null
      },
      "1": {
        "name": "OBJ",
        "tooltip": null
      },
      "2": {
        "name": "immagine_texture",
        "tooltip": null
      }
    }
  },
  "TencentImageToModelNode": {
    "display_name": "Hunyuan3D: Da Immagine/i a Modello",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "face_count": {
        "name": "numero_facce"
      },
      "generate_type": {
        "name": "tipo_generazione"
      },
      "generate_type_pbr": {
        "name": "pbr"
      },
      "image": {
        "name": "immagine"
      },
      "image_back": {
        "name": "immagine_posteriore"
      },
      "image_left": {
        "name": "immagine_sinistra"
      },
      "image_right": {
        "name": "immagine_destra"
      },
      "model": {
        "name": "modello",
        "tooltip": "L'opzione LowPoly non è disponibile per il modello `3.1`."
      },
      "seed": {
        "name": "seme",
        "tooltip": "Il seme controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seme."
      }
    },
    "outputs": {
      "0": {
        "name": "file_modello",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "OBJ",
        "tooltip": null
      },
      "3": {
        "name": "immagine_texture",
        "tooltip": null
      },
      "4": {
        "name": "metallico_opzionale",
        "tooltip": null
      },
      "5": {
        "name": "normale_opzionale",
        "tooltip": null
      },
      "6": {
        "name": "ruvidità_opzionale",
        "tooltip": null
      }
    }
  },
  "TencentModelTo3DUVNode": {
    "description": "Esegui l'unfolding UV su un modello 3D per generare la texture UV. Il modello in input deve avere meno di 30000 facce.",
    "display_name": "Hunyuan3D: Modello a UV",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "model_3d": {
        "name": "modello_3d",
        "tooltip": "Modello 3D in input (GLB, OBJ o FBX)"
      },
      "seed": {
        "name": "seme",
        "tooltip": "Il seme controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seme."
      }
    },
    "outputs": {
      "0": {
        "name": "OBJ",
        "tooltip": null
      },
      "1": {
        "name": "FBX",
        "tooltip": null
      },
      "2": {
        "name": "immagine_uv",
        "tooltip": null
      }
    }
  },
  "TencentSmartTopologyNode": {
    "description": "Esegui la retopologia intelligente su un modello 3D. Supporta formati GLB/OBJ; massimo 200MB; consigliato per modelli ad alta poligonatura.",
    "display_name": "Hunyuan3D: Topologia Intelligente",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "face_level": {
        "name": "livello_facce",
        "tooltip": "Livello di riduzione dei poligoni."
      },
      "model_3d": {
        "name": "modello_3d",
        "tooltip": "Modello 3D in input (GLB o OBJ)"
      },
      "polygon_type": {
        "name": "tipo_poligono",
        "tooltip": "Tipo di composizione della superficie."
      },
      "seed": {
        "name": "seme",
        "tooltip": "Il seme controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seme."
      }
    },
    "outputs": {
      "0": {
        "name": "OBJ",
        "tooltip": null
      }
    }
  },
  "TencentTextToModelNode": {
    "display_name": "Hunyuan3D: Da Testo a Modello",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "face_count": {
        "name": "numero_facce"
      },
      "generate_type": {
        "name": "tipo_generazione"
      },
      "generate_type_pbr": {
        "name": "pbr"
      },
      "model": {
        "name": "modello",
        "tooltip": "L'opzione LowPoly non è disponibile per il modello `3.1`."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Supporta fino a 1024 caratteri."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed controlla se il nodo deve essere rieseguito; i risultati sono non deterministici indipendentemente dal seed."
      }
    },
    "outputs": {
      "0": {
        "name": "file_modello",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "OBJ",
        "tooltip": null
      },
      "3": {
        "name": "immagine_texture",
        "tooltip": null
      }
    }
  },
  "TextEncodeAceStepAudio": {
    "display_name": "TextEncodeAceStepAudio",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "lyrics": {
        "name": "testo"
      },
      "lyrics_strength": {
        "name": "intensità_testo"
      },
      "tags": {
        "name": "tag"
      }
    },
    "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": "controllo dopo generazione"
      },
      "duration": {
        "name": "durata"
      },
      "generate_audio_codes": {
        "name": "genera_codici_audio",
        "tooltip": "Abilita il LLM che genera codici audio. Può essere lento ma aumenterà la qualità dell'audio generato. Disattivalo se fornisci al modello un riferimento audio."
      },
      "keyscale": {
        "name": "scala"
      },
      "language": {
        "name": "lingua"
      },
      "lyrics": {
        "name": "testo"
      },
      "min_p": {
        "name": "min_p"
      },
      "seed": {
        "name": "seed"
      },
      "tags": {
        "name": "tag"
      },
      "temperature": {
        "name": "temperatura"
      },
      "timesignature": {
        "name": "indicazione_temporale"
      },
      "top_k": {
        "name": "top_k"
      },
      "top_p": {
        "name": "top_p"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeBooguEdit": {
    "display_name": "TextEncodeBooguEdit",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "images": {
        "name": "immagini",
        "tooltip": "Immagine/i di riferimento da modificare. Boogu si concentra su un riferimento per campione; ne sono consentiti di più."
      },
      "negative_prompt": {
        "name": "prompt_negativo"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "TextEncodeHunyuanVideo_ImageToVideo": {
    "display_name": "TextEncodeHunyuanVideo_ImageToVideo",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "image_interleave": {
        "name": "image_interleave",
        "tooltip": "Quanto l'immagine influenza il risultato rispetto al prompt testuale. Un valore più alto significa maggiore influenza del prompt testuale."
      },
      "prompt": {
        "name": "prompt"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeJoyImageEdit": {
    "display_name": "TextEncodeJoyImageEdit",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "images": {
        "name": "images"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeMageFlowEdit": {
    "description": "Codifica un'istruzione di modifica con una o più immagini di riferimento per Mage-Flow-Edit. I latenti di riferimento vengono ridimensionati alla risoluzione di output (larghezza/altezza, oppure la dimensione della prima immagine se 0). Usa l'output latente per il campionamento così le dimensioni corrispondono sempre.",
    "display_name": "TextEncodeMageFlowEdit",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "height",
        "tooltip": "Altezza di output. 0 = usa la dimensione della prima immagine di riferimento."
      },
      "images": {
        "name": "images",
        "tooltip": "Immagine/i di riferimento da modificare. Tutte le immagini di riferimento vengono ridimensionate alla risoluzione di output prima della codifica."
      },
      "negative_prompt": {
        "name": "negative_prompt"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width",
        "tooltip": "Larghezza di output. 0 = usa la dimensione della prima immagine di riferimento."
      }
    },
    "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": "image"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeQwenImageEditPlus": {
    "display_name": "TextEncodeQwenImageEditPlus",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image1": {
        "name": "image1"
      },
      "image2": {
        "name": "image2"
      },
      "image3": {
        "name": "image3"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeZImageOmni": {
    "display_name": "TextEncodeZImageOmni",
    "inputs": {
      "auto_resize_images": {
        "name": "ridimensiona_automaticamente_immagini"
      },
      "clip": {
        "name": "clip"
      },
      "image1": {
        "name": "immagine1"
      },
      "image2": {
        "name": "immagine2"
      },
      "image3": {
        "name": "immagine3"
      },
      "image_encoder": {
        "name": "image_encoder"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextGenerate": {
    "display_name": "Genera Testo",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "immagine"
      },
      "max_length": {
        "name": "lunghezza_massima"
      },
      "prompt": {
        "name": "prompt"
      },
      "sampling_mode": {
        "name": "modalità_campionamento"
      },
      "sampling_mode_min_p": {
        "name": "min_p"
      },
      "sampling_mode_presence_penalty": {
        "name": "penalità_presenza"
      },
      "sampling_mode_repetition_penalty": {
        "name": "penalità_ripetizione"
      },
      "sampling_mode_seed": {
        "name": "seed"
      },
      "sampling_mode_temperature": {
        "name": "temperatura"
      },
      "sampling_mode_top_k": {
        "name": "top_k"
      },
      "sampling_mode_top_p": {
        "name": "top_p"
      },
      "thinking": {
        "name": "modalità_riflessione",
        "tooltip": "Opera in modalità riflessione se il modello lo supporta."
      },
      "use_default_template": {
        "name": "usa_template_predefinito",
        "tooltip": "Usa il prompt/template di sistema integrato se il modello ne dispone."
      },
      "video": {
        "name": "video",
        "tooltip": "Fotogrammi video come batch di immagini. Si presume 24 FPS; sottocampionati internamente a 1 FPS."
      }
    },
    "outputs": {
      "0": {
        "name": "testo_generato",
        "tooltip": null
      }
    }
  },
  "TextGenerateLTX2Prompt": {
    "display_name": "Genera Prompt LTX2",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "immagine"
      },
      "max_length": {
        "name": "lunghezza_massima"
      },
      "prompt": {
        "name": "prompt"
      },
      "sampling_mode": {
        "name": "modalità_campionamento"
      },
      "sampling_mode_min_p": {
        "name": "min_p"
      },
      "sampling_mode_presence_penalty": {
        "name": "penalità_presenza"
      },
      "sampling_mode_repetition_penalty": {
        "name": "penalità_ripetizione"
      },
      "sampling_mode_seed": {
        "name": "seed"
      },
      "sampling_mode_temperature": {
        "name": "temperatura"
      },
      "sampling_mode_top_k": {
        "name": "top_k"
      },
      "sampling_mode_top_p": {
        "name": "top_p"
      },
      "thinking": {
        "name": "modalità_riflessione",
        "tooltip": "Opera in modalità riflessione se il modello lo supporta."
      },
      "use_default_template": {
        "name": "usa_template_predefinito",
        "tooltip": "Usa il prompt/template di sistema integrato se il modello ne dispone."
      },
      "video": {
        "name": "video",
        "tooltip": "Fotogrammi video come batch di immagini. Si presume 24 FPS; sottocampionati internamente a 1 FPS."
      }
    },
    "outputs": {
      "0": {
        "name": "testo_generato",
        "tooltip": null
      }
    }
  },
  "TextOverlay": {
    "description": "Disegna una sovrapposizione di testo su un'immagine o su un lotto di immagini.",
    "display_name": "Disegna Sovrapposizione Testo",
    "inputs": {
      "align": {
        "name": "allineamento"
      },
      "color": {
        "name": "colore",
        "tooltip": "Colore del testo."
      },
      "font_size": {
        "name": "dimensione_font",
        "tooltip": "Dimensione del font come percentuale dell'altezza dell'immagine."
      },
      "images": {
        "name": "immagini"
      },
      "outline": {
        "name": "contorno",
        "tooltip": "Disegna un contorno nero attorno al testo."
      },
      "position": {
        "name": "posizione"
      },
      "text": {
        "name": "testo"
      }
    },
    "outputs": {
      "0": {
        "name": "immagini",
        "tooltip": null
      }
    }
  },
  "TextToLowercase": {
    "display_name": "Converti Testo in Minuscolo (DEPRECATO)",
    "inputs": {
      "texts": {
        "name": "testi",
        "tooltip": "Testo da elaborare."
      }
    },
    "outputs": {
      "0": {
        "name": "testi",
        "tooltip": "Testi elaborati"
      }
    }
  },
  "TextToUppercase": {
    "display_name": "Converti Testo in Maiuscolo (DEPRECATO)",
    "inputs": {
      "texts": {
        "name": "testi",
        "tooltip": "Testo da elaborare."
      }
    },
    "outputs": {
      "0": {
        "name": "testi",
        "tooltip": "Testi elaborati"
      }
    }
  },
  "ThresholdMask": {
    "display_name": "Maschera di Soglia",
    "inputs": {
      "mask": {
        "name": "maschera"
      },
      "value": {
        "name": "valore"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TomePatchModel": {
    "display_name": "TomePatchModel",
    "inputs": {
      "model": {
        "name": "modello"
      },
      "ratio": {
        "name": "rapporto"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazImageEnhance": {
    "description": "Ingrandimento e miglioramento delle immagini di livello industriale.",
    "display_name": "Topaz Miglioramento Immagine (Legacy)",
    "inputs": {
      "color_preservation": {
        "name": "preservazione_colore",
        "tooltip": "Preserva i colori originali."
      },
      "creativity": {
        "name": "creatività"
      },
      "crop_to_fill": {
        "name": "ritaglia_per_riempire",
        "tooltip": "Per impostazione predefinita, l'immagine viene letterboxata quando il rapporto d'aspetto di output è diverso. Abilita per ritagliare l'immagine e riempire le dimensioni di output."
      },
      "face_enhancement": {
        "name": "miglioramento_volto",
        "tooltip": "Migliora i volti (se presenti) durante l'elaborazione."
      },
      "face_enhancement_creativity": {
        "name": "creatività_miglioramento_volto",
        "tooltip": "Imposta il livello di creatività per il miglioramento dei volti."
      },
      "face_enhancement_strength": {
        "name": "intensità_miglioramento_volto",
        "tooltip": "Controlla quanto sono nitidi i volti migliorati rispetto allo sfondo."
      },
      "face_preservation": {
        "name": "preservazione_volto",
        "tooltip": "Preserva l'identità facciale dei soggetti."
      },
      "image": {
        "name": "immagine"
      },
      "model": {
        "name": "modello"
      },
      "output_height": {
        "name": "altezza_output",
        "tooltip": "Un valore zero significa mantenere la stessa altezza dell'originale o la larghezza di output."
      },
      "output_width": {
        "name": "larghezza_output",
        "tooltip": "Un valore zero significa calcolare automaticamente (di solito sarà la dimensione originale o output_height se specificato)."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt di testo opzionale per una guida creativa all'ingrandimento."
      },
      "subject_detection": {
        "name": "rilevamento_soggetto"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazImageEnhanceV2": {
    "description": "Upscaling e miglioramento delle immagini di livello industriale.",
    "display_name": "Topaz Image Enhance",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "model": {
        "name": "modello"
      },
      "model_color_preservation": {
        "name": "conservazione_colore"
      },
      "model_creativity": {
        "name": "creatività"
      },
      "model_crop_to_fill": {
        "name": "ritaglia_per_riempire"
      },
      "model_face_enhancement": {
        "name": "miglioramento_volto"
      },
      "model_face_enhancement_creativity": {
        "name": "creatività_miglioramento_volto"
      },
      "model_face_enhancement_strength": {
        "name": "intensità_miglioramento_volto"
      },
      "model_face_preservation": {
        "name": "conservazione_volto"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_subject_detection": {
        "name": "rilevamento_soggetto"
      },
      "output_height": {
        "name": "altezza_output",
        "tooltip": "Un valore pari a zero significa mantenere la stessa altezza dell'originale o scalare proporzionalmente a output_width se specificato. Wonder 3.5 supporta solo fattori di upscaling da 1x a 6x. Bloom 2 e Wonder 3.5 preservano il rapporto d'aspetto dell'input e trattano la dimensione richiesta come obiettivo."
      },
      "output_width": {
        "name": "larghezza_output",
        "tooltip": "Un valore pari a zero significa calcolo automatico (di solito sarà la dimensione originale o scalata proporzionalmente a output_height se specificato). Wonder 3.5 supporta solo fattori di upscaling da 1x a 6x. Bloom 2 e Wonder 3.5 preservano il rapporto d'aspetto dell'input e trattano la dimensione richiesta come obiettivo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazVideoEnhance": {
    "description": "Dai nuova vita ai video con potenti tecnologie di upscaling e recupero.",
    "display_name": "Topaz Video Enhance (Legacy)",
    "inputs": {
      "dynamic_compression_level": {
        "name": "livello_compressione_dinamica",
        "tooltip": "Livello CQP."
      },
      "interpolation_duplicate": {
        "name": "rimozione_duplicati_interpolazione",
        "tooltip": "Analizza l'input per fotogrammi duplicati e li rimuove."
      },
      "interpolation_duplicate_threshold": {
        "name": "soglia_duplicati_interpolazione",
        "tooltip": "Sensibilità di rilevamento per i fotogrammi duplicati."
      },
      "interpolation_enabled": {
        "name": "interpolazione_attiva"
      },
      "interpolation_frame_rate": {
        "name": "frame_rate_interpolazione",
        "tooltip": "Frame rate di output."
      },
      "interpolation_model": {
        "name": "modello_interpolazione"
      },
      "interpolation_slowmo": {
        "name": "slowmo_interpolazione",
        "tooltip": "Fattore slow-motion applicato al video di input. Ad esempio, 2 rende l'output due volte più lento e raddoppia la durata."
      },
      "upscaler_creativity": {
        "name": "creatività_upscaler",
        "tooltip": "Livello di creatività (si applica solo a Starlight (Astra) Creative)."
      },
      "upscaler_enabled": {
        "name": "upscaler_attivo"
      },
      "upscaler_model": {
        "name": "modello_upscaler"
      },
      "upscaler_resolution": {
        "name": "risoluzione_upscaler"
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazVideoEnhanceV2": {
    "description": "Dai nuova vita ai video con una potente tecnologia di upscaling e recupero.",
    "display_name": "Topaz Video Enhance",
    "inputs": {
      "dynamic_compression_level": {
        "name": "livello di compressione dinamica",
        "tooltip": "Livello CQP."
      },
      "interpolation_model": {
        "name": "modello di interpolazione"
      },
      "upscaler_model": {
        "name": "modello upscaler"
      },
      "upscaler_model_creativity": {
        "name": "creatività"
      },
      "upscaler_model_prompt": {
        "name": "prompt"
      },
      "upscaler_model_realism": {
        "name": "realismo"
      },
      "upscaler_model_sharp": {
        "name": "nitidezza"
      },
      "upscaler_model_upscaler_resolution": {
        "name": "risoluzione upscaler"
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TorchCompileModel": {
    "display_name": "TorchCompileModel",
    "inputs": {
      "backend": {
        "name": "backend"
      },
      "model": {
        "name": "modello"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TrainLoraNode": {
    "display_name": "Addestra LoRA",
    "inputs": {
      "algorithm": {
        "name": "algorithm",
        "tooltip": "L'algoritmo da utilizzare per l'addestramento."
      },
      "batch_size": {
        "name": "batch_size",
        "tooltip": "La dimensione del batch da utilizzare per l'addestramento."
      },
      "bucket_mode": {
        "name": "bucket_mode",
        "tooltip": "Abilita la modalità bucket di risoluzione. Quando abilitata, si aspettano latenti pre-bucketizzati dal nodo ResolutionBucket."
      },
      "bypass_mode": {
        "name": "bypass_mode",
        "tooltip": "Abilita la modalità bypass per l'addestramento. Quando abilitata, gli adapter vengono applicati tramite forward hooks invece che tramite modifica dei pesi. Utile per modelli quantizzati dove i pesi non possono essere modificati direttamente."
      },
      "checkpoint_depth": {
        "name": "checkpoint_depth",
        "tooltip": "Livello di profondità per il gradient checkpointing."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "existing_lora": {
        "name": "existing_lora",
        "tooltip": "La LoRA esistente a cui aggiungere. Impostare su None per una nuova LoRA."
      },
      "grad_accumulation_steps": {
        "name": "grad_accumulation_steps",
        "tooltip": "Il numero di step di accumulo del gradiente da utilizzare per l'addestramento."
      },
      "gradient_checkpointing": {
        "name": "gradient_checkpointing",
        "tooltip": "Usa il gradient checkpointing per l'addestramento."
      },
      "latents": {
        "name": "latenti",
        "tooltip": "I latenti da utilizzare per l'addestramento, servono come dataset/input del modello."
      },
      "learning_rate": {
        "name": "learning_rate",
        "tooltip": "Il learning rate da utilizzare per l'addestramento."
      },
      "lora_dtype": {
        "name": "lora_dtype",
        "tooltip": "Il dtype da utilizzare per la lora."
      },
      "loss_function": {
        "name": "loss_function",
        "tooltip": "La funzione di perdita da utilizzare per l'addestramento."
      },
      "model": {
        "name": "modello",
        "tooltip": "Il modello su cui addestrare la LoRA."
      },
      "offloading": {
        "name": "offloading",
        "tooltip": "Scarica i pesi del modello sulla CPU durante l'addestramento per risparmiare memoria GPU."
      },
      "optimizer": {
        "name": "optimizer",
        "tooltip": "L'ottimizzatore da utilizzare per l'addestramento."
      },
      "positive": {
        "name": "positivo",
        "tooltip": "Il conditioning positivo da utilizzare per l'addestramento."
      },
      "quantized_backward": {
        "name": "quantized_backward",
        "tooltip": "Quando si utilizza training_dtype 'none' e si addestra su un modello quantizzato, esegue il backward con matmul quantizzato se abilitato."
      },
      "rank": {
        "name": "rank",
        "tooltip": "Il rank dei layer LoRA."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Il seed da utilizzare per l'addestramento (usato nel generatore per l'inizializzazione dei pesi LoRA e il campionamento del rumore)"
      },
      "steps": {
        "name": "steps",
        "tooltip": "Il numero di step per cui addestrare la LoRA."
      },
      "training_dtype": {
        "name": "training_dtype",
        "tooltip": "Il dtype da utilizzare per l'addestramento. 'none' mantiene il dtype nativo del modello invece di sovrascriverlo. Per i modelli fp16, GradScaler è abilitato automaticamente."
      }
    },
    "outputs": {
      "0": {
        "name": "lora",
        "tooltip": "Pesi LoRA"
      },
      "1": {
        "name": "loss_map",
        "tooltip": "Storico della perdita"
      },
      "2": {
        "name": "steps",
        "tooltip": "Step totali di addestramento"
      }
    }
  },
  "TransformSplat": {
    "description": "Trasla, ruota e scala uno splat gaussiano. La scala non uniforme rimodella anche ogni singolo splat, processo più lento.",
    "display_name": "Trasforma Splat",
    "inputs": {
      "rotate_x": {
        "name": "ruota_x"
      },
      "rotate_y": {
        "name": "ruota_y"
      },
      "rotate_z": {
        "name": "ruota_z"
      },
      "scale_x": {
        "name": "scala_x"
      },
      "scale_y": {
        "name": "scala_y"
      },
      "scale_z": {
        "name": "scala_z"
      },
      "splat": {
        "name": "splat"
      },
      "translate_x": {
        "name": "trasla_x"
      },
      "translate_y": {
        "name": "trasla_y"
      },
      "translate_z": {
        "name": "trasla_z"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "TrimAudioDuration": {
    "description": "Taglia il tensore audio nell'intervallo di tempo scelto.",
    "display_name": "Taglia Durata Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "duration": {
        "name": "durata",
        "tooltip": "Durata in secondi"
      },
      "start_index": {
        "name": "indice_inizio",
        "tooltip": "Tempo di inizio in secondi, può essere negativo per contare dalla fine (supporta i sotto-secondi)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TrimVideoLatent": {
    "display_name": "Taglia Latent Video",
    "inputs": {
      "samples": {
        "name": "campioni"
      },
      "trim_amount": {
        "name": "quantità_taglio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripleCLIPLoader": {
    "description": "Ricette:\nsd3: clip-l, clip-g, t5",
    "display_name": "Carica CLIP (Triplo)",
    "inputs": {
      "clip_name1": {
        "name": "clip_name1"
      },
      "clip_name2": {
        "name": "clip_name2"
      },
      "clip_name3": {
        "name": "clip_name3"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripoConversionNode": {
    "display_name": "Tripo: Converti modello",
    "inputs": {
      "animate_in_place": {
        "name": "anima_in_posizione"
      },
      "bake": {
        "name": "bake"
      },
      "export_orientation": {
        "name": "esporta_orientamento"
      },
      "export_vertex_colors": {
        "name": "esporta_colori_vertici"
      },
      "face_limit": {
        "name": "limite_facce"
      },
      "fbx_preset": {
        "name": "preset_fbx"
      },
      "flatten_bottom": {
        "name": "appiattisci_base"
      },
      "flatten_bottom_threshold": {
        "name": "soglia_appiattimento_base"
      },
      "force_symmetry": {
        "name": "forza_simmetria"
      },
      "format": {
        "name": "formato"
      },
      "original_model_task_id": {
        "name": "id_task_modello_originale"
      },
      "pack_uv": {
        "name": "pack_uv"
      },
      "part_names": {
        "name": "nomi_parti"
      },
      "pivot_to_center_bottom": {
        "name": "pivot_al_centro_base"
      },
      "quad": {
        "name": "quad"
      },
      "scale_factor": {
        "name": "fattore_scala"
      },
      "texture_format": {
        "name": "formato_texture"
      },
      "texture_size": {
        "name": "dimensione_texture"
      },
      "with_animation": {
        "name": "con_animazione"
      }
    }
  },
  "TripoImageToModelNode": {
    "display_name": "Tripo: Da Immagine a Modello",
    "inputs": {
      "face_limit": {
        "name": "limite facce"
      },
      "geometry_quality": {
        "name": "qualità geometria"
      },
      "image": {
        "name": "immagine"
      },
      "model_seed": {
        "name": "seme modello"
      },
      "model_version": {
        "name": "versione modello",
        "tooltip": "La versione del modello da utilizzare per la generazione"
      },
      "orientation": {
        "name": "orientamento"
      },
      "pbr": {
        "name": "pbr"
      },
      "quad": {
        "name": "quad"
      },
      "style": {
        "name": "stile"
      },
      "texture": {
        "name": "texture"
      },
      "texture_alignment": {
        "name": "allineamento texture"
      },
      "texture_quality": {
        "name": "qualità texture"
      },
      "texture_seed": {
        "name": "seme texture"
      }
    },
    "outputs": {
      "0": {
        "name": "file modello",
        "tooltip": null
      },
      "1": {
        "name": "task_id modello",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoImportModelNode": {
    "description": "Importa un modello 3D esterno (ad es. da Rodin, Hunyuan3D o da un file locale) in Tripo per utilizzarlo con i nodi di post-processing di Tripo: Texture, Rig, Converti. Si consiglia GLB: le texture vengono mantenute solo se incorporate nel file. Nota che per texturizzare un modello importato è necessario un prompt per la texture.",
    "display_name": "Tripo: Importa Modello",
    "inputs": {
      "model_3d": {
        "name": "modello 3D",
        "tooltip": "Modello 3D da importare (GLB / FBX / OBJ / STL, fino a 150 MB). I file OBJ e STL non contengono texture incorporate."
      }
    },
    "outputs": {
      "0": {
        "name": "task_id modello",
        "tooltip": null
      }
    }
  },
  "TripoMultiviewToModelNode": {
    "display_name": "Tripo: Multiview a Modello",
    "inputs": {
      "face_limit": {
        "name": "limite facce"
      },
      "geometry_quality": {
        "name": "qualità geometria"
      },
      "image": {
        "name": "immagine"
      },
      "image_back": {
        "name": "immagine posteriore"
      },
      "image_left": {
        "name": "immagine sinistra"
      },
      "image_right": {
        "name": "immagine destra"
      },
      "model_seed": {
        "name": "seme modello"
      },
      "model_version": {
        "name": "versione modello",
        "tooltip": "La versione del modello da utilizzare per la generazione"
      },
      "orientation": {
        "name": "orientamento"
      },
      "pbr": {
        "name": "pbr"
      },
      "quad": {
        "name": "quad",
        "tooltip": "Questo parametro è deprecato e non ha effetto."
      },
      "texture": {
        "name": "texture"
      },
      "texture_alignment": {
        "name": "allineamento texture"
      },
      "texture_quality": {
        "name": "qualità texture"
      },
      "texture_seed": {
        "name": "seme texture"
      }
    },
    "outputs": {
      "0": {
        "name": "file modello",
        "tooltip": null
      },
      "1": {
        "name": "task_id modello",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoP1ImageToModelNode": {
    "description": "Tripo P1 da immagine a 3D. Ottimizzato per mesh low-poly pronte per videogiochi.",
    "display_name": "Tripo P1: Da Immagine a Modello",
    "inputs": {
      "auto_size": {
        "name": "dimensione_automatica",
        "tooltip": "Scala l'output per approssimare i metri reali."
      },
      "compress_geometry": {
        "name": "comprimi_geometria",
        "tooltip": "Applica compressione basata sulla geometria. Decomprimi prima di modificare."
      },
      "enable_image_autofix": {
        "name": "abilita_autocorrezione_immagine",
        "tooltip": "Pre-elabora l'immagine di input per una qualità di generazione migliore."
      },
      "export_uv": {
        "name": "esporta_uv",
        "tooltip": "UV unwrap durante la generazione. Disattiva per esecuzioni solo geometria più veloci."
      },
      "face_limit": {
        "name": "limite_facce",
        "tooltip": "Numero di facce desiderato, 48-20000. -1 lascia scegliere a Tripo in modo adattivo."
      },
      "image": {
        "name": "immagine"
      },
      "model_seed": {
        "name": "seme_modello"
      },
      "output_mode": {
        "name": "modalità_output",
        "tooltip": "\"Solo geometria\" restituisce una mesh senza texture. \"Texturizzato\" aggiunge mappe colore/PBR."
      }
    },
    "outputs": {
      "0": {
        "name": "file_modello",
        "tooltip": null
      },
      "1": {
        "name": "task_id_modello",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoP1MultiviewToModelNode": {
    "description": "Tripo P1 da multiview a 3D da 2-4 immagini di riferimento in ordine [fronte, sinistra, retro, destra]. Il fronte è obbligatorio; qualsiasi combinazione delle altre tre può essere omessa.",
    "display_name": "Tripo P1: Multiview a Modello",
    "inputs": {
      "auto_size": {
        "name": "dimensione_automatica",
        "tooltip": "Scala l'output per approssimare i metri reali."
      },
      "compress_geometry": {
        "name": "comprimi_geometria",
        "tooltip": "Applica compressione basata sulla geometria. Decomprimi prima di modificare."
      },
      "export_uv": {
        "name": "esporta_uv",
        "tooltip": "UV unwrap durante la generazione. Disattiva per esecuzioni solo geometria più veloci."
      },
      "face_limit": {
        "name": "limite_facce",
        "tooltip": "Numero di facce desiderato, 48-20000. -1 lascia scegliere a Tripo in modo adattivo."
      },
      "image": {
        "name": "immagine",
        "tooltip": "Vista frontale (0°). Obbligatoria."
      },
      "image_back": {
        "name": "immagine_retro",
        "tooltip": "Vista posteriore (180°)."
      },
      "image_left": {
        "name": "immagine_sinistra",
        "tooltip": "Vista sinistra (90°), cioè il lato sinistro del soggetto."
      },
      "image_right": {
        "name": "immagine_destra",
        "tooltip": "Vista destra (270°), cioè il lato destro del soggetto."
      },
      "model_seed": {
        "name": "seme_modello"
      },
      "output_mode": {
        "name": "modalità_output",
        "tooltip": "\"Solo geometria\" restituisce una mesh senza texture. \"Texturizzato\" aggiunge mappe colore/PBR."
      }
    },
    "outputs": {
      "0": {
        "name": "file_modello",
        "tooltip": null
      },
      "1": {
        "name": "task_id_modello",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoP1TextToModelNode": {
    "description": "Tripo P1 testo-a-3D. Ottimizzato per mesh low-poly pronte per giochi con topologia stabile.",
    "display_name": "Tripo P1: Da testo a modello",
    "inputs": {
      "auto_size": {
        "name": "dimensione automatica",
        "tooltip": "Scala l'output per approssimare i metri reali."
      },
      "compress_geometry": {
        "name": "comprimi geometria",
        "tooltip": "Applica compressione basata sulla geometria. Decomprimi prima di modificare."
      },
      "export_uv": {
        "name": "esporta UV",
        "tooltip": "UV unwrap durante la generazione. Disattiva per esecuzioni solo geometria più veloci."
      },
      "face_limit": {
        "name": "limite facce",
        "tooltip": "Numero di facce desiderato, 48-20000. -1 lascia che Tripo scelga in modo adattivo."
      },
      "image_seed": {
        "name": "seme immagine"
      },
      "model_seed": {
        "name": "seme modello"
      },
      "negative_prompt": {
        "name": "prompt negativo",
        "tooltip": "Fino a 255 caratteri."
      },
      "output_mode": {
        "name": "modalità di output",
        "tooltip": "\"Solo geometria\" restituisce una mesh senza texture. \"Texturizzato\" aggiunge mappe colore/PBR."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Fino a 1024 caratteri."
      }
    },
    "outputs": {
      "0": {
        "name": "file modello",
        "tooltip": null
      },
      "1": {
        "name": "ID task modello",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRefineNode": {
    "description": "Raffina un modello draft creato solo da modelli Tripo v1.4.",
    "display_name": "Tripo: Raffina modello draft",
    "inputs": {
      "model_task_id": {
        "name": "ID task modello",
        "tooltip": "Deve essere un modello Tripo v1.4"
      }
    },
    "outputs": {
      "0": {
        "name": "file modello",
        "tooltip": null
      },
      "1": {
        "name": "ID task modello",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRetargetNode": {
    "display_name": "Tripo: Retarget modello riggato",
    "inputs": {
      "animation": {
        "name": "animazione"
      },
      "original_model_task_id": {
        "name": "ID task modello originale"
      }
    },
    "outputs": {
      "0": {
        "name": "file modello",
        "tooltip": null
      },
      "1": {
        "name": "ID task retarget",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRigNode": {
    "display_name": "Tripo: Rigga modello",
    "inputs": {
      "original_model_task_id": {
        "name": "ID task modello originale"
      }
    },
    "outputs": {
      "0": {
        "name": "file modello",
        "tooltip": null
      },
      "1": {
        "name": "ID task rig",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoSplatConditioning": {
    "description": "Codifica l'immagine con DINOv3 e il Flux2 VAE in una condizionamento positivo/negativo TripoSplat e crea il target di rumore a dimensione fissa (latent + camera) per il KSampler",
    "display_name": "TripoSplat Conditioning",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision",
        "tooltip": "Encoder di immagini DINOv3 ViT-H/16+"
      },
      "image": {
        "name": "image"
      },
      "vae": {
        "name": "vae",
        "tooltip": "Flux2 VAE"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": "Il target di rumore a dimensione fissa (latent + camera)."
      }
    }
  },
  "TripoSplatPreprocessImage": {
    "description": "Ritaglia centralmente ogni immagine su una tela quadrata con sfondo nero e aggiunge padding.",
    "display_name": "TripoSplat Preprocess Image",
    "inputs": {
      "erode_radius": {
        "name": "erode_radius",
        "tooltip": "Erode la maschera alfa di questo raggio in pixel prima del ritaglio (evita sbavature ai bordi)."
      },
      "image": {
        "name": "image"
      },
      "mask": {
        "name": "mask"
      },
      "size": {
        "name": "size",
        "tooltip": "Dimensione dell'immagine quadrata. Il modello è addestrato a 1024; altre dimensioni funzionano ma sono fuori distribuzione."
      }
    },
    "outputs": {
      "0": {
        "name": "image",
        "tooltip": null
      }
    }
  },
  "TripoSplatSamplingPreview": {
    "description": "Applica una patch al modello TripoSplat per il nodo Ksampler standard per mostrare un'anteprima live decodificata di gaussian splat ad ogni step.",
    "display_name": "TripoSplat Sampling Preview",
    "inputs": {
      "model": {
        "name": "model"
      },
      "num_gaussians": {
        "name": "num_gaussians",
        "tooltip": "Numero di gaussiane da produrre per l'anteprima (arrotondato a un multiplo di 32)."
      },
      "octree_level": {
        "name": "octree_level",
        "tooltip": "Profondità dell'octree per la decodifica dell'anteprima (più basso = più economico/più grossolano)."
      },
      "pitch": {
        "name": "pitch",
        "tooltip": "Angolo di beccheggio della camera per l'anteprima in gradi."
      },
      "point_size": {
        "name": "point_size",
        "tooltip": "Raggio massimo dello splat in pixel. Ogni gaussiana è dimensionata dalla sua scala e limitata qui; più basso = più fine/puntiforme, più alto = più grosso."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Decoder TripoSplat VAE"
      },
      "yaw": {
        "name": "yaw",
        "tooltip": "Angolo di imbardata della camera per l'anteprima in gradi."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripoTextToModelNode": {
    "display_name": "Tripo: Da testo a modello",
    "inputs": {
      "face_limit": {
        "name": "limite_facce"
      },
      "geometry_quality": {
        "name": "qualità_geometria"
      },
      "image_seed": {
        "name": "seme_immagine"
      },
      "model_seed": {
        "name": "seme_modello"
      },
      "model_version": {
        "name": "model_version"
      },
      "negative_prompt": {
        "name": "negative_prompt"
      },
      "pbr": {
        "name": "pbr"
      },
      "prompt": {
        "name": "prompt"
      },
      "quad": {
        "name": "quad"
      },
      "style": {
        "name": "stile"
      },
      "texture": {
        "name": "texture"
      },
      "texture_quality": {
        "name": "qualità_texture"
      },
      "texture_seed": {
        "name": "seme_texture"
      }
    },
    "outputs": {
      "0": {
        "name": "file_modello",
        "tooltip": null
      },
      "1": {
        "name": "task_id_modello",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoTextureNode": {
    "display_name": "Tripo: Modello texture",
    "inputs": {
      "model_task_id": {
        "name": "task_id_modello"
      },
      "pbr": {
        "name": "pbr"
      },
      "texture": {
        "name": "texture"
      },
      "texture_alignment": {
        "name": "allineamento_texture"
      },
      "texture_prompt": {
        "name": "prompt_texture",
        "tooltip": "Guida testuale opzionale per la texturizzazione. Necessaria in pratica per i modelli importati (Tripo: Import Model), che non hanno un'immagine di origine da cui dedurre i colori."
      },
      "texture_quality": {
        "name": "qualità_texture"
      },
      "texture_seed": {
        "name": "seme_texture"
      }
    },
    "outputs": {
      "0": {
        "name": "file_modello",
        "tooltip": null
      },
      "1": {
        "name": "task_id_modello",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TruncateText": {
    "display_name": "Tronca testo",
    "inputs": {
      "max_length": {
        "name": "lunghezza_massima",
        "tooltip": "Lunghezza massima del testo."
      },
      "texts": {
        "name": "testi",
        "tooltip": "Testo da elaborare."
      }
    },
    "outputs": {
      "0": {
        "name": "testi",
        "tooltip": "Testi elaborati"
      }
    }
  },
  "UNETLoader": {
    "display_name": "Carica modello di diffusione",
    "inputs": {
      "unet_name": {
        "name": "unet_name"
      },
      "weight_dtype": {
        "name": "tipo_peso"
      }
    }
  },
  "UNetCrossAttentionMultiply": {
    "display_name": "UNetCrossAttentionMultiply",
    "inputs": {
      "k": {
        "name": "k"
      },
      "model": {
        "name": "modello"
      },
      "out": {
        "name": "out"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "UNetSelfAttentionMultiply": {
    "display_name": "UNetSelfAttentionMultiply",
    "inputs": {
      "k": {
        "name": "k"
      },
      "model": {
        "name": "model"
      },
      "out": {
        "name": "out"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "UNetTemporalAttentionMultiply": {
    "display_name": "UNetTemporalAttentionMultiply",
    "inputs": {
      "cross_structural": {
        "name": "cross_structural"
      },
      "cross_temporal": {
        "name": "cross_temporal"
      },
      "model": {
        "name": "model"
      },
      "self_structural": {
        "name": "self_structural"
      },
      "self_temporal": {
        "name": "self_temporal"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "USOStyleReference": {
    "display_name": "Applica riferimento stile USO",
    "inputs": {
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "model": {
        "name": "model"
      },
      "model_patch": {
        "name": "model_patch"
      }
    }
  },
  "UpscaleModelLoader": {
    "display_name": "Carica modello di upscaling",
    "inputs": {
      "model_name": {
        "name": "model_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecode": {
    "description": "Decodifica immagini latenti in immagini nello spazio dei pixel.",
    "display_name": "Decodifica VAE",
    "inputs": {
      "samples": {
        "name": "campioni",
        "tooltip": "Il latente da decodificare."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Il modello VAE utilizzato per la decodifica del latente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "L'immagine decodificata."
      }
    }
  },
  "VAEDecodeAudio": {
    "display_name": "Decodifica audio VAE",
    "inputs": {
      "samples": {
        "name": "campioni"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeAudioTiled": {
    "display_name": "Decodifica audio VAE (a blocchi)",
    "inputs": {
      "overlap": {
        "name": "sovrapposizione"
      },
      "samples": {
        "name": "campioni"
      },
      "tile_size": {
        "name": "dimensione_blocco"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeHunyuan3D": {
    "display_name": "VAEDecodeHunyuan3D",
    "inputs": {
      "num_chunks": {
        "name": "numero_blocchi"
      },
      "octree_resolution": {
        "name": "risoluzione_octree"
      },
      "samples": {
        "name": "campioni"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeTiled": {
    "display_name": "Decodifica VAE (a blocchi)",
    "inputs": {
      "overlap": {
        "name": "sovrapposizione"
      },
      "samples": {
        "name": "campioni"
      },
      "temporal_overlap": {
        "name": "sovrapposizione_temporale",
        "tooltip": "Usato solo per VAE video: Numero di fotogrammi da sovrapporre."
      },
      "temporal_size": {
        "name": "dimensione_temporale",
        "tooltip": "Usato solo per VAE video: Numero di fotogrammi da decodificare alla volta."
      },
      "tile_size": {
        "name": "dimensione_blocco"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEDecodeTripoSplat": {
    "description": "Decodifica il TripoSplat latente campionato in uno splat gaussiano 3D. Modifica il numero di gaussiane per variare la densità.",
    "display_name": "Decodifica TripoSplat",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "num_gaussians": {
        "name": "numero_gaussiane",
        "tooltip": "Numero di gaussiane da produrre (arrotondato a un multiplo di 32). 262144 corrisponde alla densità dei punti dell'octree; valori più alti sovracampionano gli stessi punti (più denso, ma senza nuovi dettagli) e richiedono proporzionalmente più VRAM/tempo."
      },
      "samples": {
        "name": "campioni"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Imposta il seme del campionatore di punti dell'octree (RNG globale) per decodifiche deterministiche."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Decoder VAE TripoSplat"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "VAEEncode": {
    "display_name": "Codifica VAE",
    "inputs": {
      "pixels": {
        "name": "pixel"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEEncodeAudio": {
    "display_name": "Codifica VAE Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEEncodeForInpaint": {
    "display_name": "Codifica VAE (per Inpainting)",
    "inputs": {
      "grow_mask_by": {
        "name": "espandi_mask_di"
      },
      "mask": {
        "name": "mask"
      },
      "pixels": {
        "name": "pixel"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEEncodeTiled": {
    "display_name": "Codifica VAE (a blocchi)",
    "inputs": {
      "overlap": {
        "name": "sovrapposizione"
      },
      "pixels": {
        "name": "pixel"
      },
      "temporal_overlap": {
        "name": "sovrapposizione_temporale",
        "tooltip": "Usato solo per VAE video: Numero di fotogrammi da sovrapporre."
      },
      "temporal_size": {
        "name": "dimensione_temporale",
        "tooltip": "Usato solo per VAE video: Numero di fotogrammi da codificare alla volta."
      },
      "tile_size": {
        "name": "dimensione_blocco"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAELoader": {
    "display_name": "Carica VAE",
    "inputs": {
      "vae_name": {
        "name": "nome_vae"
      }
    }
  },
  "VAESave": {
    "display_name": "Salva VAE",
    "inputs": {
      "filename_prefix": {
        "name": "prefisso_nome_file"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VOIDInpaintConditioning": {
    "display_name": "VOIDInpaintConditioning",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza",
        "tooltip": "Numero di frame pixel da processare. Per CogVideoX-Fun-V1.5 (patch_size_t=2), latent_t deve essere pari — le lunghezze che producono latent_t dispari vengono arrotondate per difetto (es. 49 → 45)."
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "quadmask": {
        "name": "quadmask",
        "tooltip": "Quadmask pre-processata da VOIDQuadmaskPreprocess [T, H, W]"
      },
      "vae": {
        "name": "vae"
      },
      "video": {
        "name": "video",
        "tooltip": "Frame video sorgente [T, H, W, 3]"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "VOIDQuadmaskPreprocess": {
    "display_name": "Preprocessore Quadmask VOID",
    "inputs": {
      "dilate_width": {
        "name": "dilate_width",
        "tooltip": "Raggio di dilatazione per la regione principale della mask (0 = nessuna dilatazione)"
      },
      "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": "altezza"
      },
      "length": {
        "name": "lunghezza",
        "tooltip": "Numero di frame pixel. Arrotondato per difetto per rendere latent_t pari (requisito patch_size_t=2), es. 49 → 45."
      },
      "optical_flow": {
        "name": "optical_flow",
        "tooltip": "Modello optical flow da OpticalFlowLoader (RAFT-large)."
      },
      "video": {
        "name": "video",
        "tooltip": "Output dei frame video Pass 1 [T, H, W, 3]"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "warped_noise",
        "tooltip": null
      }
    }
  },
  "VOIDWarpedNoiseSource": {
    "display_name": "VOIDWarpedNoiseSource",
    "inputs": {
      "warped_noise": {
        "name": "warped_noise",
        "tooltip": "Latente rumore distorto da 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": "passi"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Veo3FirstLastFrameNode": {
    "description": "Genera un video utilizzando un prompt e i frame iniziale e finale.",
    "display_name": "Google Veo 3 Da Primo-Ultimo Frame a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Rapporto d'aspetto del video generato"
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "duration": {
        "name": "durata",
        "tooltip": "Durata del video generato in secondi"
      },
      "first_frame": {
        "name": "primo_frame",
        "tooltip": "Frame iniziale"
      },
      "generate_audio": {
        "name": "genera_audio",
        "tooltip": "Genera audio per il video."
      },
      "last_frame": {
        "name": "ultimo_frame",
        "tooltip": "Frame finale"
      },
      "model": {
        "name": "modello"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt negativo per guidare cosa evitare nel video"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale del video"
      },
      "resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la generazione del video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Veo3VideoGenerationNode": {
    "description": "Genera video da prompt testuali utilizzando l'API Google Veo 3",
    "display_name": "Google Veo 3 Generazione Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Rapporto d'aspetto del video generato"
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "duration_seconds": {
        "name": "durata_secondi",
        "tooltip": "Durata del video generato in secondi"
      },
      "enhance_prompt": {
        "name": "enhance_prompt",
        "tooltip": "Questo parametro è deprecato e ignorato."
      },
      "generate_audio": {
        "name": "genera_audio",
        "tooltip": "Genera audio per il video. Supportato da tutti i modelli Veo 3."
      },
      "image": {
        "name": "immagine",
        "tooltip": "Immagine di riferimento opzionale per guidare la generazione del video"
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello Veo 3 da utilizzare per la generazione del video"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt negativo per guidare cosa evitare nel video"
      },
      "person_generation": {
        "name": "generazione_persone",
        "tooltip": "Se consentire la generazione di persone nel video"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale del video"
      },
      "resolution": {
        "name": "risoluzione",
        "tooltip": "Risoluzione del video generato. Il 4K non è disponibile per i modelli veo-3.1-lite e veo-3.0."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la generazione del video (0 per casuale)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VeoVideoGenerationNode": {
    "description": "Genera video da prompt testuali utilizzando l'API Google Veo 2",
    "display_name": "Generazione Video Google Veo 2",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Rapporto d'aspetto del video in output"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration_seconds": {
        "name": "duration_seconds",
        "tooltip": "Durata del video in output in secondi"
      },
      "enhance_prompt": {
        "name": "enhance_prompt",
        "tooltip": "Se migliorare il prompt con assistenza AI"
      },
      "image": {
        "name": "image",
        "tooltip": "Immagine di riferimento opzionale per guidare la generazione del video"
      },
      "model": {
        "name": "model",
        "tooltip": "Modello Veo 2 da utilizzare per la generazione del video"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt negativo per guidare cosa evitare nel video"
      },
      "person_generation": {
        "name": "person_generation",
        "tooltip": "Se consentire la generazione di persone nel video"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale del video"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la generazione del video (0 per casuale)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Video Slice": {
    "display_name": "Taglia Video",
    "inputs": {
      "duration": {
        "name": "duration",
        "tooltip": "Durata in secondi, oppure 0 per durata illimitata"
      },
      "start_time": {
        "name": "start_time",
        "tooltip": "Tempo di inizio in secondi"
      },
      "strict_duration": {
        "name": "strict_duration",
        "tooltip": "Se True, quando la durata specificata non è possibile, verrà generato un errore."
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VideoFrameSample": {
    "description": "Campiona un numero fisso di frame da un video utilizzando varie strategie.",
    "display_name": "Campiona Frame Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "num_frames": {
        "name": "num_frames",
        "tooltip": "Numero di frame da campionare."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed casuale (usato solo con la strategia 'random')."
      },
      "strategy": {
        "name": "strategy",
        "tooltip": "uniform: distribuiti uniformemente, head: primi N, tail: ultimi N, random: casuali ordinati."
      },
      "video": {
        "name": "video",
        "tooltip": "Video di input."
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": "Video campionato."
      }
    }
  },
  "VideoLinearCFGGuidance": {
    "display_name": "Video Linear CFG Guidance",
    "inputs": {
      "min_cfg": {
        "name": "min_cfg"
      },
      "model": {
        "name": "model"
      }
    }
  },
  "VideoRandomTemporalCrop": {
    "description": "Ritaglia casualmente una sequenza continua di frame da un video.",
    "display_name": "Ritaglia Video (Casuale Temporale)",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "length": {
        "name": "length",
        "tooltip": "Numero di frame da mantenere."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed casuale."
      },
      "video": {
        "name": "video",
        "tooltip": "Video di input."
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": "Video ritagliato (lazy)."
      }
    }
  },
  "VideoTemporalCrop": {
    "description": "Ritaglia una gamma continua di fotogrammi da un video.",
    "display_name": "Ritaglia Video (Temporale)",
    "inputs": {
      "length": {
        "name": "length",
        "tooltip": "Numero di fotogrammi da mantenere."
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Indice del fotogramma iniziale."
      },
      "video": {
        "name": "video",
        "tooltip": "Video di input."
      }
    },
    "outputs": {
      "0": {
        "name": "video",
        "tooltip": "Video ritagliato (lazy)."
      }
    }
  },
  "VideoTriangleCFGGuidance": {
    "display_name": "Video Triangle CFG Guidance",
    "inputs": {
      "min_cfg": {
        "name": "min_cfg"
      },
      "model": {
        "name": "model"
      }
    }
  },
  "Vidu2ImageToVideoNode": {
    "description": "Genera un video da un'immagine e un prompt opzionale.",
    "display_name": "Vidu2 Generazione Immagine-a-Video",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "image": {
        "name": "image",
        "tooltip": "Un'immagine da utilizzare come fotogramma iniziale del video generato."
      },
      "model": {
        "name": "model"
      },
      "movement_amplitude": {
        "name": "movement_amplitude",
        "tooltip": "L'ampiezza del movimento degli oggetti nel fotogramma."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt testuale opzionale per la generazione del video (max 2000 caratteri)."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2ReferenceVideoNode": {
    "description": "Genera un video da più immagini di riferimento e un prompt.",
    "display_name": "Vidu2 Generazione da Riferimento a Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "audio": {
        "name": "audio",
        "tooltip": "Se abilitato, il video conterrà parlato generato e musica di sottofondo basati sul prompt."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "model": {
        "name": "model"
      },
      "movement_amplitude": {
        "name": "movement_amplitude",
        "tooltip": "L'ampiezza del movimento degli oggetti nel fotogramma."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Se abilitato, il video includerà parlato generato e musica di sottofondo basati sul prompt."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed"
      },
      "subjects": {
        "name": "subjects",
        "tooltip": "Per ogni soggetto, fornisci fino a 3 immagini di riferimento (7 immagini totali tra tutti i soggetti). Fai riferimento nei prompt tramite @subject{subject_id}."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2StartEndToVideoNode": {
    "description": "Genera un video da un frame iniziale, un frame finale e un prompt.",
    "display_name": "Vidu2 Generazione Video da Frame Iniziale/Finale",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "duration": {
        "name": "durata"
      },
      "end_frame": {
        "name": "frame_finale"
      },
      "first_frame": {
        "name": "frame_iniziale"
      },
      "model": {
        "name": "modello"
      },
      "movement_amplitude": {
        "name": "ampiezza_movimento",
        "tooltip": "L'ampiezza del movimento degli oggetti nel frame."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione del prompt (max 2000 caratteri)."
      },
      "resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2TextToVideoNode": {
    "description": "Genera un video da un prompt testuale",
    "display_name": "Vidu2 Generazione Video da Testo",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto_aspetto"
      },
      "background_music": {
        "name": "musica_di_sottofondo",
        "tooltip": "Se aggiungere musica di sottofondo al video generato."
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "duration": {
        "name": "durata"
      },
      "model": {
        "name": "modello"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale per la generazione del video, massimo 2000 caratteri."
      },
      "resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3ImageToVideoNode": {
    "description": "Genera un video da un'immagine e un prompt opzionale.",
    "display_name": "Vidu Q3 Generazione Video da Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "image": {
        "name": "immagine",
        "tooltip": "Un'immagine da usare come frame iniziale del video generato."
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la generazione del video."
      },
      "model_audio": {
        "name": "audio"
      },
      "model_duration": {
        "name": "durata"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt testuale opzionale per la generazione del video (max 2000 caratteri)."
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3StartEndToVideoNode": {
    "description": "Genera un video da un frame iniziale, un frame finale e un prompt.",
    "display_name": "Vidu Q3 Generazione Video da Frame Iniziale/Finale",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "end_frame": {
        "name": "frame_finale"
      },
      "first_frame": {
        "name": "frame_iniziale"
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la generazione del video."
      },
      "model_audio": {
        "name": "audio"
      },
      "model_duration": {
        "name": "durata"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione del prompt (max 2000 caratteri)."
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3TextToVideoNode": {
    "description": "Genera un video da un prompt testuale.",
    "display_name": "Vidu Q3 Generazione Testo-a-Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per la generazione del video."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_audio": {
        "name": "audio"
      },
      "model_duration": {
        "name": "durata"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Una descrizione testuale per la generazione del video, con una lunghezza massima di 2000 caratteri."
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduExtendVideoNode": {
    "description": "Estendi un video esistente generando fotogrammi aggiuntivi.",
    "display_name": "Vidu Estensione Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "end_frame": {
        "name": "fotogramma_finale"
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare per l'estensione del video."
      },
      "model_duration": {
        "name": "durata"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Un prompt testuale opzionale per il video esteso (max 2000 caratteri)."
      },
      "seed": {
        "name": "seed"
      },
      "video": {
        "name": "video",
        "tooltip": "Il video sorgente da estendere."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduImageToVideoNode": {
    "description": "Genera un video da un'immagine e un prompt opzionale",
    "display_name": "Vidu Generazione Immagine-a-Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration": {
        "name": "durata",
        "tooltip": "Durata del video di output in secondi"
      },
      "image": {
        "name": "immagine",
        "tooltip": "Un'immagine da utilizzare come fotogramma iniziale del video generato"
      },
      "model": {
        "name": "modello",
        "tooltip": "Nome del modello"
      },
      "movement_amplitude": {
        "name": "ampiezza_movimento",
        "tooltip": "L'ampiezza del movimento degli oggetti nel fotogramma"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Una descrizione testuale per la generazione del video"
      },
      "resolution": {
        "name": "risoluzione",
        "tooltip": "I valori supportati possono variare in base al modello e alla durata"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la generazione del video (0 per casuale)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduMultiFrameVideoNode": {
    "description": "Genera un video con transizioni tra più fotogrammi chiave.",
    "display_name": "Generazione Video Multi-Frame Vidu",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "frames": {
        "name": "frames",
        "tooltip": "Numero di transizioni tra fotogrammi chiave (2-9)."
      },
      "frames_duration1": {
        "name": "duration1"
      },
      "frames_duration2": {
        "name": "duration2"
      },
      "frames_prompt1": {
        "name": "prompt1"
      },
      "frames_prompt2": {
        "name": "prompt2"
      },
      "model": {
        "name": "model"
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed"
      },
      "start_image": {
        "name": "start_image",
        "tooltip": "L'immagine del fotogramma iniziale. Il rapporto d'aspetto deve essere compreso tra 1:4 e 4:1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduReferenceVideoNode": {
    "description": "Genera un video da più immagini e un prompt",
    "display_name": "Generazione Video da Riferimenti Vidu",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Il rapporto d'aspetto del video generato"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Durata del video generato in secondi"
      },
      "images": {
        "name": "images",
        "tooltip": "Immagini da usare come riferimento per generare un video con soggetti coerenti (max 7 immagini)."
      },
      "model": {
        "name": "model",
        "tooltip": "Nome del modello"
      },
      "movement_amplitude": {
        "name": "movement_amplitude",
        "tooltip": "L'ampiezza del movimento degli oggetti nel fotogramma"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale per la generazione del video"
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "I valori supportati possono variare in base al modello e alla durata"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la generazione del video (0 per casuale)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduStartEndToVideoNode": {
    "description": "Genera un video da fotogrammi iniziale e finale e un prompt",
    "display_name": "Generazione Video da Inizio e Fine Vidu",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Durata del video generato in secondi"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Fotogramma finale"
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Fotogramma iniziale"
      },
      "model": {
        "name": "model",
        "tooltip": "Nome del modello"
      },
      "movement_amplitude": {
        "name": "movement_amplitude",
        "tooltip": "L'ampiezza del movimento degli oggetti nel fotogramma"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale per la generazione del video"
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "I valori supportati possono variare in base al modello e alla durata"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la generazione del video (0 per casuale)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduTextToVideoNode": {
    "description": "Genera un video da un prompt testuale",
    "display_name": "Vidu Generazione Video da Testo",
    "inputs": {
      "aspect_ratio": {
        "name": "rapporto d'aspetto",
        "tooltip": "Il rapporto d'aspetto del video generato"
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "duration": {
        "name": "durata",
        "tooltip": "Durata del video generato in secondi"
      },
      "model": {
        "name": "modello",
        "tooltip": "Nome del modello"
      },
      "movement_amplitude": {
        "name": "ampiezza movimento",
        "tooltip": "L'ampiezza del movimento degli oggetti nell'inquadratura"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrizione testuale per la generazione del video"
      },
      "resolution": {
        "name": "risoluzione",
        "tooltip": "I valori supportati possono variare in base al modello e alla durata"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed per la generazione del video (0 per casuale)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VoxelToMesh": {
    "description": "Converte una griglia di voxel in una mesh.",
    "display_name": "Voxel to Mesh",
    "inputs": {
      "algorithm": {
        "name": "algoritmo"
      },
      "threshold": {
        "name": "soglia"
      },
      "voxel": {
        "name": "voxel"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VoxelToMeshBasic": {
    "description": "Converte una griglia di voxel in una mesh.",
    "display_name": "Voxel to Mesh (Basic) (DEPRECATO)",
    "inputs": {
      "threshold": {
        "name": "soglia"
      },
      "voxel": {
        "name": "voxel"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan22FunControlToVideo": {
    "display_name": "Wan22FunControlToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione batch"
      },
      "control_video": {
        "name": "video di controllo"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_image": {
        "name": "immagine di riferimento"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "Wan22ImageToVideoLatent": {
    "display_name": "Wan22ImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "dimensione batch"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "start_image": {
        "name": "immagine iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2ImageToVideoApi": {
    "description": "Genera un video da un'immagine del primo fotogramma, con opzione per immagine dell'ultimo fotogramma e audio.",
    "display_name": "Wan 2.7 Da Immagine a Video",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio per guidare la generazione del video (es. sincronizzazione labiale, movimento a ritmo). Durata: 2s-30s. Se non fornito, il modello genera automaticamente musica di sottofondo o effetti sonori abbinati."
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "first_frame": {
        "name": "primo_fotogramma",
        "tooltip": "Immagine del primo fotogramma. Il rapporto d'aspetto dell'output è derivato da questa immagine."
      },
      "last_frame": {
        "name": "ultimo_fotogramma",
        "tooltip": "Immagine dell'ultimo fotogramma. Il modello genera un video che passa dal primo all'ultimo fotogramma."
      },
      "model": {
        "name": "modello"
      },
      "model_duration": {
        "name": "durata"
      },
      "model_negative_prompt": {
        "name": "negative_prompt"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "prompt_extend": {
        "name": "prompt_extend",
        "tooltip": "Se migliorare il prompt con assistenza AI."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere una filigrana generata dall'AI al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2ReferenceVideoApi": {
    "description": "Genera un video con una persona o un oggetto dai materiali di riferimento. Supporta performance a personaggio singolo e interazioni tra più personaggi.",
    "display_name": "Wan 2.7 Da Riferimento a Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "model": {
        "name": "modello"
      },
      "model_duration": {
        "name": "durata"
      },
      "model_negative_prompt": {
        "name": "negative_prompt"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "rapporto"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere una filigrana generata dall'AI al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2TextToVideoApi": {
    "description": "Genera un video basato su un prompt testuale utilizzando il modello Wan 2.7.",
    "display_name": "Wan 2.7 Da Testo a Video",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio per guidare la generazione del video (es. sincronizzazione labiale, movimento a ritmo). Durata: 3s-30s. Se non fornito, il modello genera automaticamente musica di sottofondo o effetti sonori abbinati."
      },
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "model": {
        "name": "modello"
      },
      "model_duration": {
        "name": "durata"
      },
      "model_negative_prompt": {
        "name": "negative_prompt"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "rapporto"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "prompt_extend": {
        "name": "prompt_extend",
        "tooltip": "Se migliorare il prompt con assistenza AI."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere una filigrana generata dall'AI al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2VideoContinuationApi": {
    "description": "Continua un video da dove era stato interrotto, con controllo opzionale sull'ultimo fotogramma.",
    "display_name": "Wan 2.7 Continuazione Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "first_clip": {
        "name": "first_clip",
        "tooltip": "Video di input da cui continuare. Durata: 2s-10s. Il rapporto d'aspetto dell'output deriva da questo video."
      },
      "last_frame": {
        "name": "last_frame",
        "tooltip": "Immagine dell'ultimo fotogramma. La continuazione transiterà verso questo fotogramma."
      },
      "model": {
        "name": "modello"
      },
      "model_duration": {
        "name": "durata"
      },
      "model_negative_prompt": {
        "name": "negative_prompt"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "prompt_extend": {
        "name": "prompt_extend",
        "tooltip": "Se migliorare il prompt con l'assistenza dell'IA."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere una filigrana generata dall'IA al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2VideoEditApi": {
    "description": "Modifica un video usando istruzioni testuali, immagini di riferimento o trasferimento di stile.",
    "display_name": "Wan 2.7 Modifica Video",
    "inputs": {
      "audio_setting": {
        "name": "audio_setting",
        "tooltip": "'auto': il modello decide se rigenerare l'audio in base al prompt. 'origin': preserva l'audio originale del video di input."
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "model": {
        "name": "modello"
      },
      "model_duration": {
        "name": "durata"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "rapporto"
      },
      "model_resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "video": {
        "name": "video",
        "tooltip": "Il video da modificare."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere una filigrana generata dall'IA al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanAnimate2Cache": {
    "description": "Memorizza nella cache le attivazioni per blocco del video di posa, così viene eseguito una sola volta invece che ad ogni step di campionamento. Riduce circa della metà il tempo di generazione. Il compromesso è ~12,5 GB di RAM di sistema a 480x832/81 frame in bf16 (scala con risoluzione e lunghezza). Con finestre di contesto, ogni finestra viene memorizzata separatamente, quindi la RAM scala con il numero di finestre; usa la pianificazione static_standard, poiché le pianificazioni uniformi spostano le finestre ad ogni step e nulla ricorre mai per sfruttare la cache.",
    "display_name": "WanAnimate2Cache",
    "inputs": {
      "device": {
        "name": "dispositivo",
        "tooltip": "Dove mantenere la cache. cpu (RAM) è la scelta sicura, la cache non entrerà nella VRAM insieme al modello nelle dimensioni tipiche. gpu (VRAM) può essere più veloce se ci sta."
      },
      "dtype": {
        "name": "dtype",
        "tooltip": "Precisione di archiviazione. default memorizza le attivazioni nel dtype di calcolo del modello. int8 dimezza la cache, int4 la riduce a un quarto, convrot viene usato per mantenere l'accuratezza."
      },
      "model": {
        "name": "modello"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanAnimate2ToVideo": {
    "description": "Anima un personaggio in un'immagine di riferimento utilizzando un video, replicando efficacemente l'animazione facciale, il movimento del corpo e i gesti delle mani dal video.",
    "display_name": "WanAnimate2ToVideo",
    "inputs": {
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Numero di video da generare simultaneamente."
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "CLIP vision dell'immagine di riferimento."
      },
      "clip_vision_output_pose": {
        "name": "clip_vision_output_pose",
        "tooltip": "CLIP vision del primo fotogramma del video di posa. Predefinito su clip_vision_output."
      },
      "continue_motion": {
        "name": "continue_motion",
        "tooltip": "Sequenza di movimento precedente da cui continuare per la coerenza temporale."
      },
      "height": {
        "name": "height",
        "tooltip": "Altezza del video in output in pixel."
      },
      "length": {
        "name": "length",
        "tooltip": "Numero di fotogrammi da generare."
      },
      "negative": {
        "name": "negative"
      },
      "pose_end_percent": {
        "name": "pose_end_percent",
        "tooltip": "Percentuale di campionamento alla quale termina l'influenza della posa. Il movimento viene stabilito principalmente all'inizio, quindi ad esempio 0.7 può allentare i dettagli fini mantenendo la coreografia."
      },
      "pose_start_percent": {
        "name": "pose_start_percent",
        "tooltip": "Percentuale di campionamento alla quale inizia l'influenza della posa. Al di fuori di questa finestra il ramo della posa viene completamente saltato, velocizzando anche quei passaggi."
      },
      "pose_strength": {
        "name": "pose_strength",
        "tooltip": "Scala l'influenza del video di posa sul movimento. 1.0 è il comportamento addestrato; valori inferiori indeboliscono l'aderenza, valori superiori la amplificano. 0.0 la silenzia ma non la rimuove completamente."
      },
      "pose_video": {
        "name": "pose_video",
        "tooltip": "Il video il cui movimento viene trasferito al personaggio di riferimento."
      },
      "positive": {
        "name": "positive"
      },
      "positive_pose": {
        "name": "positive_pose",
        "tooltip": "Prompt per il ramo del video di posa, descrivendo il movimento invece del personaggio. Predefinito su positive. Usato sia per i passaggi cond che uncond."
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "Il personaggio da animare."
      },
      "reference_image_strength": {
        "name": "reference_image_strength",
        "tooltip": "Scala quanto fortemente i fotogrammi generati si attengono al frame latente dell'immagine di riferimento. Sotto 1.0 allenta l'aderenza all'identità/aspetto (ad esempio per permettere al prompt di cambiare stile), sopra la rafforza contro la deriva."
      },
      "vae": {
        "name": "vae"
      },
      "video_frame_offset": {
        "name": "video_frame_offset",
        "tooltip": "Numero di fotogrammi da saltare all'inizio del video di posa. Collegare all'output video_frame_offset del nodo precedente quando si estende."
      },
      "width": {
        "name": "width",
        "tooltip": "Larghezza del video in output in pixel."
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      },
      "3": {
        "name": "trim_latent",
        "tooltip": "Numero di fotogrammi latenti da tagliare prima della decodifica."
      },
      "4": {
        "name": "trim_image",
        "tooltip": "Numero di fotogrammi immagine sovrapposti quando si estende un video."
      },
      "5": {
        "name": "video_frame_offset",
        "tooltip": "Numero di fotogrammi da saltare all'inizio del video di posa."
      }
    }
  },
  "WanAnimateToVideo": {
    "display_name": "WanAnimateToVideo",
    "inputs": {
      "background_video": {
        "name": "video_sfondo"
      },
      "batch_size": {
        "name": "dimensione_batch"
      },
      "character_mask": {
        "name": "maschera_personaggio"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "continue_motion": {
        "name": "continue_motion"
      },
      "continue_motion_max_frames": {
        "name": "continue_motion_max_frames"
      },
      "face_video": {
        "name": "video_volto"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "pose_video": {
        "name": "video_posa"
      },
      "positive": {
        "name": "positivo"
      },
      "reference_image": {
        "name": "immagine_di_riferimento"
      },
      "vae": {
        "name": "vae"
      },
      "video_frame_offset": {
        "name": "offset_frame_video",
        "tooltip": "Il numero di fotogrammi da saltare in tutti i video di input. Usato per generare video più lunghi a blocchi. Collega all'output video_frame_offset del nodo precedente per estendere un video."
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      },
      "3": {
        "name": "latente_rifilato",
        "tooltip": null
      },
      "4": {
        "name": "immagine_rifilata",
        "tooltip": null
      },
      "5": {
        "name": "offset_frame_video",
        "tooltip": null
      }
    }
  },
  "WanCameraEmbedding": {
    "display_name": "WanCameraEmbedding",
    "inputs": {
      "camera_pose": {
        "name": "posizione_camera"
      },
      "cx": {
        "name": "cx"
      },
      "cy": {
        "name": "cy"
      },
      "fx": {
        "name": "fx"
      },
      "fy": {
        "name": "fy"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "speed": {
        "name": "velocità"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "camera_embedding",
        "tooltip": null
      },
      "1": {
        "name": "larghezza",
        "tooltip": null
      },
      "2": {
        "name": "altezza",
        "tooltip": null
      },
      "3": {
        "name": "lunghezza",
        "tooltip": null
      }
    }
  },
  "WanCameraImageToVideo": {
    "display_name": "WanCameraImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "camera_conditions": {
        "name": "condizioni_camera"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "immagine_iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanContextWindowsManual": {
    "description": "Imposta le finestre di contesto per modelli simili a Wan.",
    "display_name": "Wan Context Windows",
    "inputs": {
      "closed_loop": {
        "name": "ciclo_chiuso",
        "tooltip": "Se chiudere il ciclo della finestra di contesto; applicabile solo a pianificazioni cicliche."
      },
      "context_length": {
        "name": "lunghezza_contesto",
        "tooltip": "La lunghezza della finestra di contesto in fotogrammi reali. Deve essere 4*n + 1."
      },
      "context_overlap": {
        "name": "sovrapposizione_contesto",
        "tooltip": "La sovrapposizione della finestra di contesto in fotogrammi reali."
      },
      "context_schedule": {
        "name": "pianificazione_contesto",
        "tooltip": "Algoritmo di pianificazione dipendente dal passo per le finestre di contesto."
      },
      "context_stride": {
        "name": "passo_contesto",
        "tooltip": "Il passo della finestra di contesto; applicabile solo a pianificazioni uniformi."
      },
      "freenoise": {
        "name": "freenoise",
        "tooltip": "Se applicare FreeNoise per mescolare il rumore, migliora la fusione delle finestre."
      },
      "fuse_method": {
        "name": "metodo_fusione",
        "tooltip": "Il metodo da utilizzare per fondere le finestre di contesto."
      },
      "model": {
        "name": "modello",
        "tooltip": "Il modello a cui applicare le finestre di contesto durante il campionamento."
      },
      "retain_first_frame": {
        "name": "mantieni_primo_frame",
        "tooltip": "Mantieni il primo frame I2V in ogni finestra di contesto (può aiutare a mantenere il riferimento iniziale)."
      },
      "split_conds_to_windows": {
        "name": "suddividi_condizioni_in_finestre",
        "tooltip": "Se suddividere più condizioni (create da ConditionCombine) in ogni finestra in base all'indice della regione."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Il modello con finestre di contesto applicate durante il campionamento."
      }
    }
  },
  "WanDancerEncodeAudio": {
    "display_name": "WanDancerEncodeAudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audio_inject_scale": {
        "name": "scala_iniezione_audio",
        "tooltip": "La scala per le caratteristiche audio quando vengono iniettate nel modello video."
      },
      "video_frames": {
        "name": "fotogrammi_video"
      }
    },
    "outputs": {
      "0": {
        "name": "output_encoder_audio",
        "tooltip": null
      },
      "1": {
        "name": "stringa_fps",
        "tooltip": "Il fps calcolato in base alla lunghezza dell'audio e al numero di fotogrammi video. Usato nel prompt."
      }
    }
  },
  "WanDancerPadKeyframes": {
    "display_name": "WanDancerPadKeyframes",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio da cui calcolare il numero totale di fotogrammi in output ed estrarre l'audio del segmento."
      },
      "images": {
        "name": "immagini"
      },
      "segment_index": {
        "name": "indice_segmento",
        "tooltip": "Quale segmento è questo (0 per il primo, 1 per il secondo, ecc.)"
      },
      "segment_length": {
        "name": "lunghezza_segmento",
        "tooltip": "Lunghezza di questo segmento (di solito 149 fotogrammi)"
      }
    },
    "outputs": {
      "0": {
        "name": "sequenza_keyframes",
        "tooltip": "Sequenza di keyframe con padding"
      },
      "1": {
        "name": "maschera_keyframes",
        "tooltip": "Maschera che indica i fotogrammi validi"
      },
      "2": {
        "name": "segmento_audio",
        "tooltip": "Segmento audio per questo segmento video"
      }
    }
  },
  "WanDancerPadKeyframesList": {
    "display_name": "WanDancerPadKeyframesList",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio da suddividere per ogni segmento emesso."
      },
      "images": {
        "name": "immagini"
      },
      "num_segments": {
        "name": "numero_segmenti",
        "tooltip": "Quanti segmenti con padding emettere come liste."
      },
      "segment_length": {
        "name": "lunghezza_segmento",
        "tooltip": "Lunghezza di ogni segmento (di solito 149 fotogrammi)"
      }
    },
    "outputs": {
      "0": {
        "name": "sequenze_keyframes",
        "tooltip": "Sequenze di keyframe con padding"
      },
      "1": {
        "name": "maschere_keyframes",
        "tooltip": "Maschere che indicano i fotogrammi validi"
      },
      "2": {
        "name": "segmento_audio",
        "tooltip": "Segmento audio per ogni segmento video"
      }
    }
  },
  "WanDancerVideo": {
    "display_name": "WanDancerVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "audio_encoder_output"
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "Gli embed CLIP vision per il primo fotogramma."
      },
      "clip_vision_output_ref": {
        "name": "clip_vision_output_ref",
        "tooltip": "Gli embed CLIP vision per l'immagine di riferimento."
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza",
        "tooltip": "Il numero di fotogrammi nel video generato. Dovrebbe rimanere 149 per WanDancer."
      },
      "mask": {
        "name": "maschera",
        "tooltip": "Maschera di condizionamento immagine per l'immagine iniziale. Il bianco viene mantenuto, il nero viene generato. Usata per le generazioni locali."
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "immagine_iniziale",
        "tooltip": "L'immagine iniziale (o le immagini) da codificare, può essere qualsiasi numero di fotogrammi."
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": "Latent vuoto."
      }
    }
  },
  "WanFirstLastFrameToVideo": {
    "display_name": "WanFirstLastFrameToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "clip_vision_end_image": {
        "name": "clip_vision_end_image"
      },
      "clip_vision_start_image": {
        "name": "clip_vision_start_image"
      },
      "end_image": {
        "name": "immagine_finale"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "immagine_iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanFunControlToVideo": {
    "display_name": "WanFunControlToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "control_video": {
        "name": "controllo_video"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "immagine_iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanFunInpaintToVideo": {
    "display_name": "WanFunInpaintToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "end_image": {
        "name": "immagine_finale"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "immagine_iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "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": "output_encoder_audio"
      },
      "batch_size": {
        "name": "dimensione_batch"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_image": {
        "name": "immagine_riferimento"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanImageToImageApi": {
    "description": "Genera un'immagine da una o due immagini di input e un prompt testuale. L'immagine di output è attualmente fissata a 1,6 MP e il suo rapporto d'aspetto corrisponde a quello delle immagini di input.",
    "display_name": "Wan Da Immagine a Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "image": {
        "name": "immagine",
        "tooltip": "Modifica di una singola immagine o fusione di più immagini. Massimo 2 immagini."
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare."
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Prompt negativo che descrive cosa evitare."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt che descrive gli elementi e le caratteristiche visive. Supporta inglese e cinese."
      },
      "seed": {
        "name": "seme",
        "tooltip": "Seme da utilizzare per la generazione."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana generata dall'IA al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanImageToVideo": {
    "display_name": "WanImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "immagine_iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanImageToVideoApi": {
    "description": "Genera un video dal primo fotogramma e da un prompt testuale.",
    "display_name": "Wan Image to Video",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "L'audio deve contenere una voce chiara e forte, senza rumori estranei o musica di sottofondo."
      },
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration": {
        "name": "durata",
        "tooltip": "Durata 15 disponibile solo per il modello WAN2.6."
      },
      "generate_audio": {
        "name": "genera audio",
        "tooltip": "Se non viene fornito un input audio, genera automaticamente l'audio."
      },
      "image": {
        "name": "immagine"
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare."
      },
      "negative_prompt": {
        "name": "prompt negativo",
        "tooltip": "Prompt negativo che descrive cosa evitare."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt che descrive gli elementi e le caratteristiche visive. Supporta inglese e cinese."
      },
      "prompt_extend": {
        "name": "estendi prompt",
        "tooltip": "Se migliorare il prompt con l'assistenza dell'IA."
      },
      "resolution": {
        "name": "risoluzione"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "shot_type": {
        "name": "tipo di ripresa",
        "tooltip": "Specifica il tipo di ripresa per il video generato, ovvero se il video è una singola ripresa continua o più riprese con tagli. Questo parametro ha effetto solo quando prompt_extend è True."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere una filigrana generata dall'IA al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanInfiniteTalkToVideo": {
    "display_name": "WanInfiniteTalkToVideo",
    "inputs": {
      "audio_encoder_output_1": {
        "name": "output encoder audio 1"
      },
      "audio_scale": {
        "name": "scala audio"
      },
      "clip_vision_output": {
        "name": "output visione clip"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "mode": {
        "name": "modalità"
      },
      "model": {
        "name": "modello"
      },
      "model_patch": {
        "name": "patch modello"
      },
      "motion_frame_count": {
        "name": "conteggio fotogrammi movimento",
        "tooltip": "Numero di fotogrammi precedenti da usare come contesto di movimento."
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "previous_frames": {
        "name": "fotogrammi precedenti"
      },
      "start_image": {
        "name": "immagine iniziale"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "modello",
        "tooltip": null
      },
      "1": {
        "name": "positivo",
        "tooltip": null
      },
      "2": {
        "name": "negativo",
        "tooltip": null
      },
      "3": {
        "name": "latente",
        "tooltip": null
      },
      "4": {
        "name": "immagine ritagliata",
        "tooltip": null
      }
    }
  },
  "WanMoveConcatTrack": {
    "display_name": "WanMoveConcatTrack",
    "inputs": {
      "tracks_1": {
        "name": "tracce_1"
      },
      "tracks_2": {
        "name": "tracce_2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanMoveTrackToVideo": {
    "display_name": "WanMoveTrackToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "immagine_iniziale"
      },
      "strength": {
        "name": "intensità",
        "tooltip": "Intensità della condizionamento della traccia."
      },
      "tracks": {
        "name": "tracce"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanMoveTracksFromCoords": {
    "display_name": "WanMoveTracksFromCoords",
    "inputs": {
      "track_coords": {
        "name": "coordinate_traccia"
      },
      "track_mask": {
        "name": "maschera_traccia"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "lunghezza_traccia",
        "tooltip": null
      }
    }
  },
  "WanMoveVisualizeTracks": {
    "display_name": "WanMoveVisualizeTracks",
    "inputs": {
      "circle_size": {
        "name": "dimensione_cerchio"
      },
      "images": {
        "name": "immagini"
      },
      "line_resolution": {
        "name": "risoluzione_linea"
      },
      "line_width": {
        "name": "spessore_linea"
      },
      "opacity": {
        "name": "opacità"
      },
      "tracks": {
        "name": "tracce"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanPhantomSubjectToVideo": {
    "display_name": "WanPhantomSubjectToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "height": {
        "name": "altezza"
      },
      "images": {
        "name": "immagini"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "testo_negativo",
        "tooltip": null
      },
      "2": {
        "name": "testo_img_negativo",
        "tooltip": null
      },
      "3": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanReferenceVideoApi": {
    "description": "Utilizza il personaggio e la voce dai video di input, combinati con un prompt, per generare un nuovo video che mantiene la coerenza del personaggio.",
    "display_name": "Wan Reference to Video",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo la generazione"
      },
      "duration": {
        "name": "durata"
      },
      "model": {
        "name": "modello"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt negativo che descrive cosa evitare."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt che descrive gli elementi e le caratteristiche visive. Supporta inglese e cinese. Usa identificatori come `character1` e `character2` per riferirti ai personaggi di riferimento."
      },
      "reference_videos": {
        "name": "video di riferimento"
      },
      "seed": {
        "name": "seed"
      },
      "shot_type": {
        "name": "tipo di inquadratura",
        "tooltip": "Specifica il tipo di inquadratura per il video generato, ovvero se il video è un'unica ripresa continua o più riprese con tagli."
      },
      "size": {
        "name": "dimensione"
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana generata dall'AI al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanSCAILToVideo": {
    "display_name": "WanSCAILToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "Caratteristiche visive CLIP per il conditioning. Il modello è addestrato con ridimensionamento stretch al rapporto d'aspetto."
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "pose_end": {
        "name": "fine_pose",
        "tooltip": "Step finale del conditioning della posa."
      },
      "pose_start": {
        "name": "inizio_pose",
        "tooltip": "Step iniziale del conditioning della posa."
      },
      "pose_strength": {
        "name": "intensità_pose",
        "tooltip": "Intensità del latent della posa."
      },
      "pose_video": {
        "name": "video_pose",
        "tooltip": "Video utilizzato per il conditioning della posa. Verrà ridimensionato a metà della risoluzione del video principale."
      },
      "pose_video_mask": {
        "name": "maschera_video_pose",
        "tooltip": "Solo SCAIL-2. Video maschera SAM3 colorato per identità alla stessa risoluzione di pose_video."
      },
      "positive": {
        "name": "positivo"
      },
      "previous_frame_count": {
        "name": "conteggio_frame_precedenti",
        "tooltip": "Frame finali di previous_frames da ancorare. SCAIL-2 è stato addestrato a 5 (segmenti da 81 frame, step da 76 frame)."
      },
      "previous_frames": {
        "name": "frame_precedenti",
        "tooltip": "Solo SCAIL-2. Output decodificato completo del segmento precedente. Solo gli ultimi previous_frame_count vengono usati come ancoraggio di estensione."
      },
      "reference_image": {
        "name": "immagine_referenza",
        "tooltip": "Immagine di riferimento. La prima immagine è la referenza primaria (tutte le identità vengono composte su di essa). SCAIL-2: immagini batch extra sono usate come viste aggiuntive (vista posteriore, primo piano, sfondo occultato), ognuna necessita di una reference_image_mask corrispondente nel colore di quella identità."
      },
      "reference_image_mask": {
        "name": "maschera_immagine_referenza",
        "tooltip": "Solo SCAIL-2. Maschera di riferimento colorata, batch corrispondente a reference_image (prima = maschera di riferimento primaria, resto = maschere di identità per le reference_image aggiuntive)."
      },
      "replacement_mode": {
        "name": "modalità_sostituzione",
        "tooltip": "Solo SCAIL-2. Falso = Modalità Animazione (pose_video_mask deve avere sfondo nero). Vero = Modalità Sostituzione (pose_video_mask deve avere sfondo bianco)."
      },
      "vae": {
        "name": "vae"
      },
      "video_frame_offset": {
        "name": "offset_frame_video",
        "tooltip": "Frame di output cumulativo da cui inizia questo segmento. Collegare dall'output video_frame_offset del segmento precedente."
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": "Latent vuoto della dimensione di generazione."
      },
      "3": {
        "name": "offset_frame_video",
        "tooltip": "Offset regolato + lunghezza. Collegare al segmento successivo."
      }
    }
  },
  "WanSoundImageToVideo": {
    "display_name": "WanSoundImageToVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "output_encoder_audio"
      },
      "batch_size": {
        "name": "dimensione_batch"
      },
      "control_video": {
        "name": "controllo_video"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_image": {
        "name": "immagine_riferimento"
      },
      "ref_motion": {
        "name": "movimento_riferimento"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "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": "output_encoder_audio"
      },
      "control_video": {
        "name": "controllo_video"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_image": {
        "name": "immagine_riferimento"
      },
      "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 un'immagine basata su un prompt testuale.",
    "display_name": "Wan da Testo a Immagine",
    "inputs": {
      "control_after_generate": {
        "name": "controllo dopo generazione"
      },
      "height": {
        "name": "altezza"
      },
      "model": {
        "name": "modello",
        "tooltip": "Modello da utilizzare."
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Prompt negativo che descrive cosa evitare."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt che descrive gli elementi e le caratteristiche visive. Supporta inglese e cinese."
      },
      "prompt_extend": {
        "name": "estensione_prompt",
        "tooltip": "Se migliorare il prompt con l'assistenza dell'IA."
      },
      "seed": {
        "name": "seme",
        "tooltip": "Seme da utilizzare per la generazione."
      },
      "watermark": {
        "name": "filigrana",
        "tooltip": "Se aggiungere una filigrana generata dall'IA al risultato."
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanTextToVideoApi": {
    "description": "Genera un video basato su un prompt testuale.",
    "display_name": "Wan Text to Video",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "L'audio deve contenere una voce chiara e forte, senza rumori estranei o musica di sottofondo."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Una durata di 15 secondi è disponibile solo per il modello Wan 2.6."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Se non viene fornito un input audio, genera automaticamente l'audio."
      },
      "model": {
        "name": "model",
        "tooltip": "Modello da utilizzare."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt negativo che descrive cosa evitare."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt che descrive gli elementi e le caratteristiche visive. Supporta inglese e cinese."
      },
      "prompt_extend": {
        "name": "prompt_extend",
        "tooltip": "Se migliorare il prompt con l'assistenza dell'IA."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed da utilizzare per la generazione."
      },
      "shot_type": {
        "name": "shot_type",
        "tooltip": "Specifica il tipo di ripresa per il video generato, ovvero se il video è una singola ripresa continua o più riprese con tagli. Questo parametro ha effetto solo quando prompt_extend è True."
      },
      "size": {
        "name": "size"
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se aggiungere una filigrana generata dall'IA al risultato."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanTrackToVideo": {
    "display_name": "WanTrackToVideo",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "start_image": {
        "name": "start_image"
      },
      "temperature": {
        "name": "temperature"
      },
      "topk": {
        "name": "topk"
      },
      "tracks": {
        "name": "tracks"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanUni3CControlnetApply": {
    "display_name": "Applica Wan Uni3C ControlNet",
    "inputs": {
      "end_percent": {
        "name": "end_percent"
      },
      "model": {
        "name": "model"
      },
      "model_patch": {
        "name": "model_patch"
      },
      "render_video": {
        "name": "render_video",
        "tooltip": "Il video di guida renderizzato dalla traiettoria della telecamera, più comunemente rendering di nuvole di punti deformate dell'immagine di input."
      },
      "start_percent": {
        "name": "start_percent"
      },
      "strength": {
        "name": "strength"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "WanVaceToVideo": {
    "display_name": "WanVaceToVideo",
    "inputs": {
      "batch_size": {
        "name": "dimensione_batch"
      },
      "control_masks": {
        "name": "controlla_maschere"
      },
      "control_video": {
        "name": "controlla_video"
      },
      "height": {
        "name": "altezza"
      },
      "length": {
        "name": "lunghezza"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "reference_image": {
        "name": "immagine_di_riferimento"
      },
      "strength": {
        "name": "intensità"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "larghezza"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      },
      "3": {
        "name": "latente_rifilato",
        "tooltip": null
      }
    }
  },
  "WavespeedFlashVSRNode": {
    "description": "Upscaler video veloce e di alta qualità che aumenta la risoluzione e ripristina la nitidezza per filmati a bassa risoluzione o sfocati.",
    "display_name": "FlashVSR Video Upscale",
    "inputs": {
      "target_resolution": {
        "name": "risoluzione_target"
      },
      "video": {
        "name": "video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WavespeedImageUpscaleNode": {
    "description": "Aumenta la risoluzione e la qualità delle immagini, portando le foto fino a 4K o 8K per risultati nitidi e dettagliati.",
    "display_name": "WaveSpeed Image Upscale",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "model": {
        "name": "modello"
      },
      "target_resolution": {
        "name": "risoluzione_target"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WebcamCapture": {
    "display_name": "Cattura Webcam",
    "inputs": {
      "capture_on_queue": {
        "name": "cattura_in_coda"
      },
      "height": {
        "name": "altezza"
      },
      "image": {
        "name": "immagine"
      },
      "waiting for camera___": {},
      "width": {
        "name": "larghezza"
      }
    }
  },
  "ZImageFunControlnet": {
    "display_name": "Applica Z-Image Fun ControlNet",
    "inputs": {
      "image": {
        "name": "immagine"
      },
      "inpaint_image": {
        "name": "immagine_inpaint"
      },
      "mask": {
        "name": "maschera"
      },
      "model": {
        "name": "modello"
      },
      "model_patch": {
        "name": "patch_modello"
      },
      "strength": {
        "name": "intensità"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "unCLIPCheckpointLoader": {
    "display_name": "Carica checkpoint unCLIP",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name"
      }
    }
  },
  "unCLIPConditioning": {
    "display_name": "unCLIPConditioning",
    "inputs": {
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "conditioning": {
        "name": "conditioning"
      },
      "noise_augmentation": {
        "name": "aumento_rumore"
      },
      "strength": {
        "name": "forza"
      }
    }
  },
  "wanBlockSwap": {
    "description": "Intercetta il nodo personalizzato wanBlockSwap che causa grande instabilità e lo rende inattivo.",
    "display_name": "wanBlockSwap",
    "inputs": {
      "model": {
        "name": "modello"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  }
}
