{
  "APG": {
    "display_name": "Guidance Adaptatif Projeté",
    "inputs": {
      "eta": {
        "name": "eta",
        "tooltip": "Contrôle l'échelle du vecteur de guidance parallèle. Comportement CFG par défaut avec un réglage de 1."
      },
      "model": {
        "name": "modèle"
      },
      "momentum": {
        "name": "momentum",
        "tooltip": "Contrôle une moyenne mobile de la guidance pendant la diffusion, désactivé avec un réglage de 0."
      },
      "norm_threshold": {
        "name": "seuil_norme",
        "tooltip": "Normalise le vecteur de guidance à cette valeur, la normalisation est désactivée avec un réglage de 0."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ARVideoI2V": {
    "display_name": "ARVideoI2V",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "model": {
        "name": "modèle"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "AddNoise": {
    "display_name": "AjouterBruit",
    "inputs": {
      "latent_image": {
        "name": "image_latente"
      },
      "model": {
        "name": "modèle"
      },
      "noise": {
        "name": "bruit"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AddTextPrefix": {
    "display_name": "Ajouter un préfixe au texte",
    "inputs": {
      "prefix": {
        "name": "préfixe",
        "tooltip": "Préfixe à ajouter."
      },
      "texts": {
        "name": "textes",
        "tooltip": "Texte à traiter."
      }
    },
    "outputs": {
      "0": {
        "name": "textes",
        "tooltip": "Textes traités"
      }
    }
  },
  "AddTextSuffix": {
    "display_name": "Ajouter un suffixe au texte",
    "inputs": {
      "suffix": {
        "name": "suffixe",
        "tooltip": "Suffixe à ajouter."
      },
      "texts": {
        "name": "textes",
        "tooltip": "Texte à traiter."
      }
    },
    "outputs": {
      "0": {
        "name": "textes",
        "tooltip": "Textes traités"
      }
    }
  },
  "AdjustBrightness": {
    "display_name": "Ajuster la luminosité",
    "inputs": {
      "factor": {
        "name": "facteur",
        "tooltip": "Facteur de luminosité. 1.0 = aucun changement, <1.0 = plus sombre, >1.0 = plus clair."
      },
      "images": {
        "name": "images",
        "tooltip": "Image à traiter."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Images traitées"
      }
    }
  },
  "AdjustContrast": {
    "display_name": "Ajuster le contraste",
    "inputs": {
      "factor": {
        "name": "facteur",
        "tooltip": "Facteur de contraste. 1.0 = aucun changement, <1.0 = moins de contraste, >1.0 = plus de contraste."
      },
      "images": {
        "name": "images",
        "tooltip": "Image à traiter."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Images traitées"
      }
    }
  },
  "AlignYourStepsScheduler": {
    "display_name": "PlanificateurAlignezVosÉtapes",
    "inputs": {
      "denoise": {
        "name": "débruitage"
      },
      "model_type": {
        "name": "type_de_modèle"
      },
      "steps": {
        "name": "étapes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioAdjustVolume": {
    "display_name": "Ajuster le Volume Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "volume": {
        "name": "volume",
        "tooltip": "Ajustement du volume en décibels (dB). 0 = pas de changement, +6 = double, -6 = moitié, etc."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioConcat": {
    "description": "Concatène l'audio1 à l'audio2 dans la direction spécifiée.",
    "display_name": "Concaténer Audio",
    "inputs": {
      "audio1": {
        "name": "audio1"
      },
      "audio2": {
        "name": "audio2"
      },
      "direction": {
        "name": "direction",
        "tooltip": "Indique s'il faut ajouter audio2 après ou avant audio1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEncoderEncode": {
    "display_name": "EncodeurAudioEncoder",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audio_encoder": {
        "name": "encodeur_audio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEncoderLoader": {
    "display_name": "ChargeurEncodeurAudio",
    "inputs": {
      "audio_encoder_name": {
        "name": "nom_encodeur_audio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEqualizer3Band": {
    "display_name": "Égaliseur audio (3 bandes)",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "high_freq": {
        "name": "high_freq",
        "tooltip": "Fréquence de coupure pour l'étagère haute"
      },
      "high_gain_dB": {
        "name": "high_gain_dB",
        "tooltip": "Gain pour les hautes fréquences (aigus)"
      },
      "low_freq": {
        "name": "low_freq",
        "tooltip": "Fréquence de coupure pour l'étagère basse"
      },
      "low_gain_dB": {
        "name": "low_gain_dB",
        "tooltip": "Gain pour les basses fréquences (basses)"
      },
      "mid_freq": {
        "name": "mid_freq",
        "tooltip": "Fréquence centrale pour les médiums"
      },
      "mid_gain_dB": {
        "name": "mid_gain_dB",
        "tooltip": "Gain pour les fréquences moyennes"
      },
      "mid_q": {
        "name": "mid_q",
        "tooltip": "Facteur Q (bande passante) pour les médiums"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioMerge": {
    "description": "Combine deux pistes audio en superposant leurs formes d'onde.",
    "display_name": "Fusion Audio",
    "inputs": {
      "audio1": {
        "name": "audio1"
      },
      "audio2": {
        "name": "audio2"
      },
      "merge_method": {
        "name": "méthode_fusion",
        "tooltip": "La méthode utilisée pour combiner les formes d'onde audio."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BasicGuider": {
    "display_name": "GuideBasique",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      },
      "model": {
        "name": "modèle"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BasicScheduler": {
    "display_name": "PlanificateurBasique",
    "inputs": {
      "denoise": {
        "name": "débruitage"
      },
      "model": {
        "name": "modèle"
      },
      "scheduler": {
        "name": "planificateur"
      },
      "steps": {
        "name": "étapes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchImagesNode": {
    "display_name": "Images par lot",
    "inputs": {
      "images": {
        "name": "images"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchLatentsNode": {
    "display_name": "Latents par lot",
    "inputs": {
      "latents": {
        "name": "latents"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchMasksNode": {
    "display_name": "Masques par lot",
    "inputs": {
      "masks": {
        "name": "masques"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BetaSamplingScheduler": {
    "display_name": "PlanificateurÉchantillonnageBeta",
    "inputs": {
      "alpha": {
        "name": "alpha"
      },
      "beta": {
        "name": "beta"
      },
      "model": {
        "name": "modèle"
      },
      "steps": {
        "name": "étapes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaImageEditNode": {
    "description": "Modifiez des images en utilisant le dernier modèle Bria",
    "display_name": "Bria Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "guidance_scale": {
        "name": "échelle de guidage",
        "tooltip": "Une valeur plus élevée fait suivre l'image à l'invite de façon plus précise."
      },
      "image": {
        "name": "image"
      },
      "mask": {
        "name": "masque",
        "tooltip": "Si omis, la modification s'applique à l'image entière."
      },
      "model": {
        "name": "modèle"
      },
      "moderation": {
        "name": "modération",
        "tooltip": "Paramètres de modération"
      },
      "negative_prompt": {
        "name": "invite négative"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Instruction pour modifier l'image"
      },
      "seed": {
        "name": "graine"
      },
      "steps": {
        "name": "étapes"
      },
      "structured_prompt": {
        "name": "invite structurée",
        "tooltip": "Une chaîne contenant l'invite d'édition structurée au format JSON. Utilisez ceci à la place de l'invite habituelle pour un contrôle précis et programmatique."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "invite structurée",
        "tooltip": null
      }
    }
  },
  "BriaRemoveImageBackground": {
    "description": "Supprimez l’arrière-plan d’une image avec Bria RMBG 2.0.",
    "display_name": "Bria Remove Image Background",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image": {
        "name": "image"
      },
      "moderation": {
        "name": "modération",
        "tooltip": "Paramètres de modération"
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaRemoveVideoBackground": {
    "description": "Supprimez l’arrière-plan d’une vidéo avec Bria.",
    "display_name": "Bria Remove Video Background",
    "inputs": {
      "background_color": {
        "name": "couleur d’arrière-plan",
        "tooltip": "Couleur d’arrière-plan pour la vidéo de sortie."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit la graine."
      },
      "video": {
        "name": "vidéo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDance2FirstLastFrameNode": {
    "description": "Générez une vidéo avec Seedance 2.0 à partir d'une image de première image et, optionnellement, d'une image de dernière image.",
    "display_name": "ByteDance Seedance 2.0 Première-Dernière-Image vers Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "first_frame": {
        "name": "première image",
        "tooltip": "Image de la première image pour la vidéo."
      },
      "first_frame_asset_id": {
        "name": "first_frame_asset_id",
        "tooltip": "ID d’actif Seedance à utiliser comme première image. Mutuellement exclusif avec l’entrée image first_frame."
      },
      "last_frame": {
        "name": "dernière image",
        "tooltip": "Image de la dernière image pour la vidéo."
      },
      "last_frame_asset_id": {
        "name": "last_frame_asset_id",
        "tooltip": "ID d’actif Seedance à utiliser comme dernière image. Mutuellement exclusif avec l’entrée image last_frame."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Seedance 2.0 pour une qualité maximale ; Seedance 2.0 Fast pour une optimisation de la vitesse."
      },
      "model_duration": {
        "name": "durée"
      },
      "model_generate_audio": {
        "name": "générer_audio"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit le seed."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter ou non un filigrane à la vidéo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDance2ReferenceNode": {
    "description": "Générez, éditez ou étendez une vidéo avec Seedance 2.0 à l'aide d'images, de vidéos et d'audios de référence. Prend en charge la référence multimodale, l'édition vidéo et l'extension vidéo.",
    "display_name": "ByteDance Seedance 2.0 Référence vers Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Seedance 2.0 pour une qualité maximale ; Seedance 2.0 Fast pour une optimisation de la vitesse."
      },
      "model_auto_downscale": {
        "name": "auto_downscale"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_generate_audio": {
        "name": "générer_audio"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit le seed."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter ou non un filigrane à la vidéo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDance2TextToVideoNode": {
    "description": "Générez une vidéo avec les modèles Seedance 2.0 à partir d'un prompt textuel.",
    "display_name": "ByteDance Seedance 2.0 Texte vers Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Seedance 2.0 pour une qualité maximale ; Seedance 2.0 Fast pour une optimisation de la vitesse."
      },
      "model_duration": {
        "name": "durée"
      },
      "model_generate_audio": {
        "name": "générer_audio"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit le seed."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter ou non un filigrane à la vidéo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceCreateImageAsset": {
    "description": "Créez un actif image personnel Seedance 2.0. Télécharge l’image d’entrée et l’enregistre dans le groupe d’actifs indiqué. Si group_id est vide, lance une authentification H5 de personne réelle pour créer un nouveau groupe avant d’ajouter l’actif.",
    "display_name": "ByteDance Créer un Actif Image",
    "inputs": {
      "group_id": {
        "name": "group_id",
        "tooltip": "Réutilisez un ID de groupe d’actifs Seedance existant pour éviter la vérification humaine répétée pour la même personne. Laissez vide pour lancer l’authentification de personne réelle dans le navigateur et créer un nouveau groupe."
      },
      "image": {
        "name": "image",
        "tooltip": "Image à enregistrer comme actif personnel."
      }
    },
    "outputs": {
      "0": {
        "name": "asset_id",
        "tooltip": null
      },
      "1": {
        "name": "group_id",
        "tooltip": null
      }
    }
  },
  "ByteDanceCreateVideoAsset": {
    "description": "Créez un actif vidéo personnel Seedance 2.0. Télécharge la vidéo d’entrée et l’enregistre dans le groupe d’actifs indiqué. Si group_id est vide, lance une authentification H5 de personne réelle pour créer un nouveau groupe avant d’ajouter l’actif.",
    "display_name": "ByteDance Créer un Actif Vidéo",
    "inputs": {
      "group_id": {
        "name": "group_id",
        "tooltip": "Réutilisez un ID de groupe d’actifs Seedance existant pour éviter la vérification humaine répétée pour la même personne. Laissez vide pour lancer l’authentification de personne réelle dans le navigateur et créer un nouveau groupe."
      },
      "video": {
        "name": "video",
        "tooltip": "Vidéo à enregistrer comme actif personnel."
      }
    },
    "outputs": {
      "0": {
        "name": "asset_id",
        "tooltip": null
      },
      "1": {
        "name": "group_id",
        "tooltip": null
      }
    }
  },
  "ByteDanceFirstLastFrameNode": {
    "description": "Générer une vidéo en utilisant l'invite et les première et dernière images.",
    "display_name": "ByteDance Première-Dernière Image vers Vidéo",
    "inputs": {
      "aspect_ratio": {
        "name": "ratio_d'aspect",
        "tooltip": "Le ratio d'aspect de la vidéo de sortie."
      },
      "camera_fixed": {
        "name": "camera_fixed",
        "tooltip": "Spécifie si la caméra doit être fixe. L'application ajoute une instruction pour fixer la caméra à votre prompt, mais ne garantit pas l'effet réel."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "durée",
        "tooltip": "La durée de la vidéo de sortie en secondes."
      },
      "first_frame": {
        "name": "première_image",
        "tooltip": "Première image à utiliser pour la vidéo."
      },
      "generate_audio": {
        "name": "générer_audio",
        "tooltip": "Ce paramètre est ignoré pour tout modèle sauf seedance-1-5-pro."
      },
      "last_frame": {
        "name": "dernière_image",
        "tooltip": "Dernière image à utiliser pour la vidéo."
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "L'invite textuelle utilisée pour générer la vidéo."
      },
      "resolution": {
        "name": "résolution",
        "tooltip": "La résolution de la vidéo de sortie."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Indique s'il faut ajouter un filigrane \"Généré par IA\" à la vidéo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageNode": {
    "description": "Générer des images en utilisant les modèles ByteDance via l'API basée sur le prompt",
    "display_name": "Image ByteDance",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "guidance_scale": {
        "name": "guidance_scale",
        "tooltip": "Une valeur plus élevée fait que l'image suit plus fidèlement le prompt"
      },
      "height": {
        "name": "height",
        "tooltip": "Hauteur personnalisée pour l'image. La valeur fonctionne uniquement si `size_preset` est défini sur `Personnalisé`"
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Le prompt texte utilisé pour générer l'image"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "size_preset": {
        "name": "size_preset",
        "tooltip": "Choisir une taille recommandée. Sélectionnez Personnalisé pour utiliser la largeur et la hauteur ci-dessous"
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Indique s'il faut ajouter un filigrane \"Généré par IA\" à l'image"
      },
      "width": {
        "name": "width",
        "tooltip": "Largeur personnalisée pour l'image. La valeur fonctionne uniquement si `size_preset` est défini sur `Personnalisé`"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageReferenceNode": {
    "description": "Générer une vidéo en utilisant un prompt et des images de référence.",
    "display_name": "ByteDance Images de référence en vidéo",
    "inputs": {
      "aspect_ratio": {
        "name": "ratio_d'aspect",
        "tooltip": "Le ratio d'aspect de la vidéo en sortie."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "La durée de la vidéo en sortie en secondes."
      },
      "images": {
        "name": "images",
        "tooltip": "Une à quatre images."
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Le prompt textuel utilisé pour générer la vidéo."
      },
      "resolution": {
        "name": "résolution",
        "tooltip": "La résolution de la vidéo en sortie."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Indique s'il faut ajouter un filigrane \"Généré par IA\" à la vidéo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageToVideoNode": {
    "description": "Générer une vidéo en utilisant les modèles ByteDance via l'API basée sur l'image et le prompt",
    "display_name": "ByteDance Image en vidéo",
    "inputs": {
      "aspect_ratio": {
        "name": "ratio_d'aspect",
        "tooltip": "Le ratio d'aspect de la vidéo en sortie."
      },
      "camera_fixed": {
        "name": "caméra_fixe",
        "tooltip": "Spécifie s'il faut fixer la caméra. La plateforme ajoute une instruction pour fixer la caméra à votre prompt, mais ne garantit pas l'effet réel."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "La durée de la vidéo en sortie en secondes."
      },
      "generate_audio": {
        "name": "générer_audio",
        "tooltip": "Ce paramètre est ignoré pour tout modèle sauf seedance-1-5-pro."
      },
      "image": {
        "name": "image",
        "tooltip": "Première image à utiliser pour la vidéo."
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Le prompt textuel utilisé pour générer la vidéo."
      },
      "resolution": {
        "name": "résolution",
        "tooltip": "La résolution de la vidéo en sortie."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Indique s'il faut ajouter un filigrane \"Généré par IA\" à la vidéo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedreamNode": {
    "description": "Génération unifiée de texte à image et édition précise phrase par phrase jusqu'à une résolution 4K.",
    "display_name": "ByteDance Seedream 4",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "fail_on_partial": {
        "name": "fail_on_partial",
        "tooltip": "Si activé, interrompt l'exécution si des images demandées sont manquantes ou renvoient une erreur."
      },
      "height": {
        "name": "height",
        "tooltip": "Hauteur personnalisée pour l'image. La valeur fonctionne uniquement si `size_preset` est défini sur `Personnalisé`"
      },
      "image": {
        "name": "image",
        "tooltip": "Image(s) d'entrée pour la génération d'image à image. Liste de 1 à 10 images pour une génération à référence unique ou multiple."
      },
      "max_images": {
        "name": "max_images",
        "tooltip": "Nombre maximum d'images à générer lorsque sequential_image_generation='auto'. Le nombre total d'images (entrée + générées) ne peut pas dépasser 15."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite de texte pour créer ou modifier une image."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "sequential_image_generation": {
        "name": "sequential_image_generation",
        "tooltip": "Mode de génération d'images groupées. 'désactivé' génère une seule image. 'auto' laisse le modèle décider s'il faut générer plusieurs images liées (par exemple, scènes d'histoire, variations de personnages)."
      },
      "size_preset": {
        "name": "size_preset",
        "tooltip": "Choisissez une taille recommandée. Sélectionnez Personnalisé pour utiliser la largeur et la hauteur ci-dessous."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Indique s'il faut ajouter un filigrane \"Généré par IA\" à l'image."
      },
      "width": {
        "name": "width",
        "tooltip": "Largeur personnalisée pour l'image. La valeur fonctionne uniquement si `size_preset` est défini sur `Personnalisé`"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedreamNodeV2": {
    "description": "Génération d'image à partir de texte unifiée et édition précise d'une seule phrase jusqu'à une résolution 4K.",
    "display_name": "ByteDance Seedream 4.5 & 5.0",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "model_fail_on_partial": {
        "name": "échec_sur_partiel"
      },
      "model_height": {
        "name": "hauteur"
      },
      "model_max_images": {
        "name": "images_max"
      },
      "model_size_preset": {
        "name": "préréglage_taille"
      },
      "model_width": {
        "name": "largeur"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle pour créer ou éditer une image."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter ou non un filigrane « Généré par IA » à l’image."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceTextToVideoNode": {
    "description": "Générer une vidéo en utilisant les modèles ByteDance via l'API basée sur l'invite",
    "display_name": "ByteDance Texte vers Vidéo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Le rapport d'aspect de la vidéo de sortie."
      },
      "camera_fixed": {
        "name": "camera_fixed",
        "tooltip": "Spécifie si la caméra doit être fixée. L'application ajoute une instruction pour fixer la caméra à votre prompt, mais ne garantit pas l'effet réel."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "duration",
        "tooltip": "La durée de la vidéo de sortie en secondes."
      },
      "generate_audio": {
        "name": "générer_audio",
        "tooltip": "Ce paramètre est ignoré pour tout modèle sauf seedance-1-5-pro."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "L'invite de texte utilisée pour générer la vidéo."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "La résolution de la vidéo de sortie."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Indique s'il faut ajouter un filigrane \"Généré par IA\" à la vidéo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGGuider": {
    "display_name": "GuideCFG",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "model": {
        "name": "modèle"
      },
      "negative": {
        "name": "négative"
      },
      "positive": {
        "name": "positive"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGNorm": {
    "display_name": "CFGNorm",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "strength": {
        "name": "intensité"
      }
    },
    "outputs": {
      "0": {
        "name": "modèle_patché",
        "tooltip": null
      }
    }
  },
  "CFGZeroStar": {
    "display_name": "CFGZeroStar",
    "inputs": {
      "model": {
        "name": "modèle"
      }
    },
    "outputs": {
      "0": {
        "name": "modèle corrigé",
        "tooltip": null
      }
    }
  },
  "CLIPAttentionMultiply": {
    "display_name": "MultiplierAttentionCLIP",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "k": {
        "name": "k"
      },
      "out": {
        "name": "sortie"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPLoader": {
    "description": "[Recettes]\n\nstable_diffusion: clip-l\nstable_cascade: clip-g\nsd3: t5 / clip-g / clip-l\nstable_audio: t5\nmochi: t5\ncosmos: old t5 xxl",
    "display_name": "Charger CLIP",
    "inputs": {
      "clip_name": {
        "name": "clip_name"
      },
      "device": {
        "name": "appareil"
      },
      "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 Définir Dernière Couche",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "stop_at_clip_layer": {
        "name": "stop_at_clip_layer"
      }
    }
  },
  "CLIPTextEncode": {
    "description": "Encode une invite de texte à l'aide d'un modèle CLIP en une intégration qui peut être utilisée pour guider le modèle de diffusion vers la génération d'images spécifiques.",
    "display_name": "CLIP Text Encode (Prompt)",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Le modèle CLIP utilisé pour encoder le texte."
      },
      "text": {
        "name": "text",
        "tooltip": "Le texte à encoder."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Une condition contenant le texte intégré utilisé pour guider le modèle de diffusion."
      }
    }
  },
  "CLIPTextEncodeControlnet": {
    "display_name": "CLIPTextEncodeControlnet",
    "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": "CLIPTextEncodeHiDream",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_g": {
        "name": "clip_g"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "llama": {
        "name": "llama"
      },
      "t5xxl": {
        "name": "t5xxl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeHunyuanDiT": {
    "display_name": "CLIPTextEncodeHunyuanDiT",
    "inputs": {
      "bert": {
        "name": "bert"
      },
      "clip": {
        "name": "clip"
      },
      "mt5xl": {
        "name": "mt5xl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeKandinsky5": {
    "display_name": "CLIPTextEncodeKandinsky5",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "qwen25_7b": {
        "name": "qwen25_7b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeLumina2": {
    "description": "Encode une invite système et une invite utilisateur à l'aide d'un modèle CLIP en une intégration qui peut être utilisée pour guider le modèle de diffusion vers la génération d'images spécifiques.",
    "display_name": "CLIP Text Encode pour Lumina2",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Le modèle CLIP utilisé pour encoder le texte."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Lumina2 propose deux types d'invites système : Supérieur : Vous êtes un assistant conçu pour générer des images supérieures avec le degré supérieur d'alignement image-texte basé sur des invites textuelles ou des invites utilisateur. Alignement : Vous êtes un assistant conçu pour générer des images de haute qualité avec le plus haut degré d'alignement image-texte basé sur des invites textuelles."
      },
      "user_prompt": {
        "name": "user_prompt",
        "tooltip": "Le texte à encoder."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Une condition contenant le texte intégré utilisé pour guider le modèle de diffusion."
      }
    }
  },
  "CLIPTextEncodePixArtAlpha": {
    "description": "Encode le texte et définit la condition de résolution pour PixArt Alpha. Ne s'applique pas à PixArt Sigma.",
    "display_name": "CLIPTextEncodePixArtAlpha",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "height"
      },
      "text": {
        "name": "text"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSD3": {
    "display_name": "CLIPTextEncodeSD3",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_g": {
        "name": "clip_g"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "empty_padding": {
        "name": "remplissage_vide"
      },
      "t5xxl": {
        "name": "t5xxl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSDXL": {
    "display_name": "CLIPTextEncodeSDXL",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "crop_h": {
        "name": "crop_h"
      },
      "crop_w": {
        "name": "crop_w"
      },
      "height": {
        "name": "hauteur"
      },
      "target_height": {
        "name": "hauteur_cible"
      },
      "target_width": {
        "name": "largeur_cible"
      },
      "text_g": {
        "name": "text_g"
      },
      "text_l": {
        "name": "text_l"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSDXLRefiner": {
    "display_name": "CLIPTextEncodeSDXLRefiner",
    "inputs": {
      "ascore": {
        "name": "ascore"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "hauteur"
      },
      "text": {
        "name": "texte"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPVisionEncode": {
    "display_name": "CLIP Vision Encode",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "crop": {
        "name": "crop"
      },
      "image": {
        "name": "image"
      }
    }
  },
  "CLIPVisionLoader": {
    "display_name": "Charger CLIP Vision",
    "inputs": {
      "clip_name": {
        "name": "nom_clip"
      }
    }
  },
  "Canny": {
    "display_name": "Canny",
    "inputs": {
      "high_threshold": {
        "name": "seuil_haut"
      },
      "image": {
        "name": "image"
      },
      "low_threshold": {
        "name": "seuil_bas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CaseConverter": {
    "display_name": "Convertisseur de casse",
    "inputs": {
      "mode": {
        "name": "mode"
      },
      "string": {
        "name": "chaîne"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CenterCropImages": {
    "display_name": "Rogner les images au centre",
    "inputs": {
      "height": {
        "name": "hauteur",
        "tooltip": "Hauteur du rognage."
      },
      "images": {
        "name": "images",
        "tooltip": "Image à traiter."
      },
      "width": {
        "name": "largeur",
        "tooltip": "Largeur du rognage."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Images traitées"
      }
    }
  },
  "CheckpointLoader": {
    "display_name": "Charger Point de Contrôle Avec Config (OBSOLÈTE)",
    "inputs": {
      "ckpt_name": {
        "name": "nom_ckpt"
      },
      "config_name": {
        "name": "nom_config"
      }
    }
  },
  "CheckpointLoaderSimple": {
    "description": "Charge un point de contrôle de modèle de diffusion, les modèles de diffusion sont utilisés pour débruiter les latents.",
    "display_name": "Charger Point de Contrôle",
    "inputs": {
      "ckpt_name": {
        "name": "nom_ckpt",
        "tooltip": "Le nom du point de contrôle (modèle) à charger."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le modèle utilisé pour débruiter les latents."
      },
      "1": {
        "tooltip": "Le modèle CLIP utilisé pour encoder les invites de texte."
      },
      "2": {
        "tooltip": "Le modèle VAE utilisé pour encoder et décoder les images en espace latent et vice versa."
      }
    }
  },
  "CheckpointSave": {
    "display_name": "Sauvegarder Point de Contrôle",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "filename_prefix": {
        "name": "préfixe_nom_fichier"
      },
      "model": {
        "name": "modèle"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "ChromaRadianceOptions": {
    "description": "Permet de définir des options avancées pour le modèle Chroma Radiance.",
    "display_name": "OptionsChromaRadiance",
    "inputs": {
      "end_sigma": {
        "name": "sigma_fin",
        "tooltip": "Dernier sigma pour lequel ces options seront actives."
      },
      "model": {
        "name": "modèle"
      },
      "nerf_tile_size": {
        "name": "taille_tuile_nerf",
        "tooltip": "Permet de remplacer la taille de tuile NeRF par défaut. -1 signifie utiliser la valeur par défaut (32). 0 signifie utiliser le mode sans tuilage (peut nécessiter beaucoup de VRAM)."
      },
      "preserve_wrapper": {
        "name": "préserver_wrapper",
        "tooltip": "Lorsqu'activé, délègue à un wrapper de fonction de modèle existant s'il existe. Doit généralement rester activé."
      },
      "start_sigma": {
        "name": "sigma_début",
        "tooltip": "Premier sigma pour lequel ces options seront actives."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ClaudeNode": {
    "description": "Générez des réponses textuelles avec les modèles Claude d'Anthropic. Fournissez une invite textuelle et éventuellement une ou plusieurs images pour un contexte multimodal.",
    "display_name": "Anthropic Claude",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "images": {
        "name": "images",
        "tooltip": "Image(s) optionnelle(s) à utiliser comme contexte pour le modèle. Jusqu'à 20 images."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle Claude utilisé pour générer la réponse."
      },
      "model_max_tokens": {
        "name": "max_tokens"
      },
      "model_temperature": {
        "name": "température"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Entrée textuelle pour le modèle."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats restent non déterministes quel que soit la graine."
      },
      "system_prompt": {
        "name": "invite système",
        "tooltip": "Instructions fondamentales qui dictent le comportement du modèle."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ColorToRGBInt": {
    "description": "Convertir une couleur en une valeur entière RGB.",
    "display_name": "Couleur vers RGB Int",
    "inputs": {
      "color": {
        "name": "couleur"
      }
    },
    "outputs": {
      "0": {
        "name": "rgb_int",
        "tooltip": null
      }
    }
  },
  "ColorTransfer": {
    "description": "Faire correspondre les couleurs d'une image à une autre en utilisant divers algorithmes.",
    "display_name": "ColorTransfer",
    "inputs": {
      "image_ref": {
        "name": "image_ref",
        "tooltip": "Image(s) de référence à laquelle faire correspondre les couleurs. Si non fourni, le traitement est ignoré."
      },
      "image_target": {
        "name": "image_target",
        "tooltip": "Image(s) auxquelles appliquer la transformation de couleur."
      },
      "method": {
        "name": "method"
      },
      "source_stats": {
        "name": "source_stats",
        "tooltip": "per_frame : chaque image est ajustée individuellement à image_ref. uniform : les statistiques de toutes les images sources sont regroupées comme référence, puis ajustées à image_ref. target_frame : une image choisie sert de référence pour la transformation vers image_ref, appliquée uniformément à toutes les images (préserve les différences relatives)."
      },
      "strength": {
        "name": "strength"
      }
    },
    "outputs": {
      "0": {
        "name": "image",
        "tooltip": null
      }
    }
  },
  "CombineHooks2": {
    "display_name": "Combiner Hooks [2]",
    "inputs": {
      "hooks_A": {
        "name": "hooks_A"
      },
      "hooks_B": {
        "name": "hooks_B"
      }
    }
  },
  "CombineHooks4": {
    "display_name": "Combiner Hooks [4]",
    "inputs": {
      "hooks_A": {
        "name": "hooks_A"
      },
      "hooks_B": {
        "name": "hooks_B"
      },
      "hooks_C": {
        "name": "hooks_C"
      },
      "hooks_D": {
        "name": "hooks_D"
      }
    }
  },
  "CombineHooks8": {
    "display_name": "Combiner Hooks [8]",
    "inputs": {
      "hooks_A": {
        "name": "hooks_A"
      },
      "hooks_B": {
        "name": "hooks_B"
      },
      "hooks_C": {
        "name": "hooks_C"
      },
      "hooks_D": {
        "name": "hooks_D"
      },
      "hooks_E": {
        "name": "hooks_E"
      },
      "hooks_F": {
        "name": "hooks_F"
      },
      "hooks_G": {
        "name": "hooks_G"
      },
      "hooks_H": {
        "name": "hooks_H"
      }
    }
  },
  "ComfyMathExpression": {
    "display_name": "Expression mathématique",
    "inputs": {
      "expression": {
        "name": "expression"
      },
      "values": {
        "name": "valeurs"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "BOOL",
        "tooltip": null
      }
    }
  },
  "ComfyNumberConvert": {
    "display_name": "Conversion de nombre",
    "inputs": {
      "value": {
        "name": "valeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "ComfySwitchNode": {
    "display_name": "Commutateur",
    "inputs": {
      "on_false": {
        "name": "faux"
      },
      "on_true": {
        "name": "vrai"
      },
      "switch": {
        "name": "interrupteur"
      }
    },
    "outputs": {
      "0": {
        "name": "sortie",
        "tooltip": null
      }
    }
  },
  "ConditioningAverage": {
    "display_name": "Moyenne de Conditionnement",
    "inputs": {
      "conditioning_from": {
        "name": "conditionnement_de"
      },
      "conditioning_to": {
        "name": "conditionnement_à"
      },
      "conditioning_to_strength": {
        "name": "force_conditionnement_à"
      }
    }
  },
  "ConditioningCombine": {
    "display_name": "Conditionnement (Combiner)",
    "inputs": {
      "conditioning_1": {
        "name": "conditionnement_1"
      },
      "conditioning_2": {
        "name": "conditionnement_2"
      }
    }
  },
  "ConditioningConcat": {
    "display_name": "Conditionnement (Concat)",
    "inputs": {
      "conditioning_from": {
        "name": "conditionnement_de"
      },
      "conditioning_to": {
        "name": "conditionnement_vers"
      }
    }
  },
  "ConditioningSetArea": {
    "display_name": "Conditionnement (Définir Zone)",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      },
      "height": {
        "name": "hauteur"
      },
      "strength": {
        "name": "force"
      },
      "width": {
        "name": "largeur"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "ConditioningSetAreaPercentage": {
    "display_name": "Conditionnement (Définir Zone avec Pourcentage)",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      },
      "height": {
        "name": "hauteur"
      },
      "strength": {
        "name": "force"
      },
      "width": {
        "name": "largeur"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "ConditioningSetAreaPercentageVideo": {
    "display_name": "Pourcentage de la zone de conditionnement vidéo",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      },
      "height": {
        "name": "hauteur"
      },
      "strength": {
        "name": "force"
      },
      "temporal": {
        "name": "temporel"
      },
      "width": {
        "name": "largeur"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      },
      "z": {
        "name": "z"
      }
    }
  },
  "ConditioningSetAreaStrength": {
    "display_name": "ConditionnementDéfinirForceZone",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      },
      "strength": {
        "name": "force"
      }
    }
  },
  "ConditioningSetDefaultCombine": {
    "display_name": "Cond Définir Combinaison par Défaut",
    "inputs": {
      "cond": {
        "name": "cond"
      },
      "cond_DEFAULT": {
        "name": "cond_DEFAULT"
      },
      "hooks": {
        "name": "hooks"
      }
    }
  },
  "ConditioningSetMask": {
    "display_name": "Conditionnement (Définir Masque)",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      },
      "mask": {
        "name": "masque"
      },
      "set_cond_area": {
        "name": "définir_zone_cond"
      },
      "strength": {
        "name": "force"
      }
    }
  },
  "ConditioningSetProperties": {
    "display_name": "Cond Définir Propriétés",
    "inputs": {
      "cond_NEW": {
        "name": "cond_NOUVEAU"
      },
      "hooks": {
        "name": "hooks"
      },
      "mask": {
        "name": "masque"
      },
      "set_cond_area": {
        "name": "définir_zone_cond"
      },
      "strength": {
        "name": "force"
      },
      "timesteps": {
        "name": "pas_de_temps"
      }
    }
  },
  "ConditioningSetPropertiesAndCombine": {
    "display_name": "Cond Définir Propriétés Combinaison",
    "inputs": {
      "cond": {
        "name": "cond"
      },
      "cond_NEW": {
        "name": "cond_NOUVEAU"
      },
      "hooks": {
        "name": "hooks"
      },
      "mask": {
        "name": "masque"
      },
      "set_cond_area": {
        "name": "définir_zone_cond"
      },
      "strength": {
        "name": "force"
      },
      "timesteps": {
        "name": "pas_de_temps"
      }
    }
  },
  "ConditioningSetTimestepRange": {
    "display_name": "ConditionnementDéfinirPlagePasDeTemps",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      },
      "end": {
        "name": "fin"
      },
      "start": {
        "name": "début"
      }
    }
  },
  "ConditioningStableAudio": {
    "display_name": "ConditionnementStableAudio",
    "inputs": {
      "negative": {
        "name": "négative"
      },
      "positive": {
        "name": "positive"
      },
      "seconds_start": {
        "name": "secondes_début"
      },
      "seconds_total": {
        "name": "secondes_total"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      }
    }
  },
  "ConditioningTimestepsRange": {
    "display_name": "Plage de pas de temps",
    "inputs": {
      "end_percent": {
        "name": "end_percent"
      },
      "start_percent": {
        "name": "start_percent"
      }
    },
    "outputs": {
      "1": {
        "name": "AVANT_PLAGE"
      },
      "2": {
        "name": "APRÈS_PLAGE"
      }
    }
  },
  "ConditioningZeroOut": {
    "display_name": "ConditioningZeroOut",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      }
    }
  },
  "ContextWindowsManual": {
    "description": "Définir manuellement les fenêtres de contexte.",
    "display_name": "Fenêtres de contexte (Manuel)",
    "inputs": {
      "causal_window_fix": {
        "name": "causal_window_fix",
        "tooltip": "Ajouter ou non une image de correction causale aux fenêtres de contexte non indexées à 0."
      },
      "closed_loop": {
        "name": "boucle_fermée",
        "tooltip": "Indique s'il faut fermer la boucle de la fenêtre de contexte ; applicable uniquement aux planifications en boucle."
      },
      "cond_retain_index_list": {
        "name": "cond_retain_index_list",
        "tooltip": "Liste des indices latents à conserver dans les tenseurs de conditionnement pour chaque fenêtre ; par exemple, définir cette valeur à '0' utilisera l'image de départ initiale pour chaque fenêtre."
      },
      "context_length": {
        "name": "longueur_contexte",
        "tooltip": "La longueur de la fenêtre de contexte."
      },
      "context_overlap": {
        "name": "chevauchement_contexte",
        "tooltip": "Le chevauchement de la fenêtre de contexte."
      },
      "context_schedule": {
        "name": "planification_contexte",
        "tooltip": "La progression de la fenêtre de contexte."
      },
      "context_stride": {
        "name": "pas_contexte",
        "tooltip": "Le pas de la fenêtre de contexte ; applicable uniquement aux planifications uniformes."
      },
      "dim": {
        "name": "dimension",
        "tooltip": "La dimension à laquelle appliquer les fenêtres de contexte."
      },
      "freenoise": {
        "name": "bruit_libre",
        "tooltip": "Indique s'il faut appliquer le mélange de bruit FreeNoise, améliore la fusion des fenêtres."
      },
      "fuse_method": {
        "name": "méthode_fusion",
        "tooltip": "La méthode à utiliser pour fusionner les fenêtres de contexte."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle auquel appliquer les fenêtres de contexte pendant l'échantillonnage."
      },
      "split_conds_to_windows": {
        "name": "split_conds_to_windows",
        "tooltip": "Indique s'il faut répartir plusieurs conditionnements (créés par ConditionCombine) dans chaque fenêtre selon l'index de région."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le modèle avec des fenêtres contextuelles appliquées pendant l'échantillonnage."
      }
    }
  },
  "ControlNetApply": {
    "display_name": "Appliquer ControlNet (ANCIEN)",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "control_net": {
        "name": "control_net"
      },
      "image": {
        "name": "image"
      },
      "strength": {
        "name": "strength"
      }
    }
  },
  "ControlNetApplyAdvanced": {
    "display_name": "Appliquer ControlNet",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "end_percent"
      },
      "image": {
        "name": "image"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "start_percent": {
        "name": "start_percent"
      },
      "strength": {
        "name": "strength"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positive"
      },
      "1": {
        "name": "negative"
      }
    }
  },
  "ControlNetApplySD3": {
    "display_name": "Appliquer Controlnet avec VAE",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "end_percent"
      },
      "image": {
        "name": "image"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "start_percent": {
        "name": "start_percent"
      },
      "strength": {
        "name": "strength"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      }
    }
  },
  "ControlNetInpaintingAliMamaApply": {
    "display_name": "ControlNetInpaintingAliMamaApply",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "end_percent"
      },
      "image": {
        "name": "image"
      },
      "mask": {
        "name": "mask"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "start_percent": {
        "name": "start_percent"
      },
      "strength": {
        "name": "strength"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      }
    }
  },
  "ControlNetLoader": {
    "display_name": "Charger le modèle ControlNet",
    "inputs": {
      "control_net_name": {
        "name": "control_net_name"
      }
    }
  },
  "CosmosImageToVideoLatent": {
    "display_name": "CosmosImageVersVidéoLatent",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "end_image": {
        "name": "image_de_fin"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CosmosPredict2ImageToVideoLatent": {
    "display_name": "CosmosPredict2ImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "end_image": {
        "name": "image_de_fin"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CreateHookKeyframe": {
    "display_name": "Créer une image clé de crochet",
    "inputs": {
      "prev_hook_kf": {
        "name": "prev_hook_kf"
      },
      "start_percent": {
        "name": "start_percent"
      },
      "strength_mult": {
        "name": "strength_mult"
      }
    },
    "outputs": {
      "0": {
        "name": "HOOK_KF"
      }
    }
  },
  "CreateHookKeyframesFromFloats": {
    "display_name": "Créer des images clés de crochet à partir de flottants",
    "inputs": {
      "end_percent": {
        "name": "pourcentage_fin"
      },
      "floats_strength": {
        "name": "force_flottants"
      },
      "prev_hook_kf": {
        "name": "precedent_crochet_kf"
      },
      "print_keyframes": {
        "name": "imprimer_images_cles"
      },
      "start_percent": {
        "name": "pourcentage_debut"
      }
    },
    "outputs": {
      "0": {
        "name": "CROCHET_KF"
      }
    }
  },
  "CreateHookKeyframesInterpolated": {
    "display_name": "Créer des images clés de crochet interpolées.",
    "inputs": {
      "end_percent": {
        "name": "pourcentage_fin"
      },
      "interpolation": {
        "name": "interpolation"
      },
      "keyframes_count": {
        "name": "compte_images_cles"
      },
      "prev_hook_kf": {
        "name": "precedent_crochet_kf"
      },
      "print_keyframes": {
        "name": "imprimer_images_cles"
      },
      "start_percent": {
        "name": "pourcentage_debut"
      },
      "strength_end": {
        "name": "force_fin"
      },
      "strength_start": {
        "name": "force_debut"
      }
    },
    "outputs": {
      "0": {
        "name": "CROCHET_KF"
      }
    }
  },
  "CreateHookLora": {
    "display_name": "Créer un crochet LoRA",
    "inputs": {
      "lora_name": {
        "name": "nom_lora"
      },
      "prev_hooks": {
        "name": "crochets_precedents"
      },
      "strength_clip": {
        "name": "force_clip"
      },
      "strength_model": {
        "name": "force_modele"
      }
    }
  },
  "CreateHookLoraModelOnly": {
    "display_name": "Créer un crochet LoRA (MO)",
    "inputs": {
      "lora_name": {
        "name": "nom_lora"
      },
      "prev_hooks": {
        "name": "crochets_precedents"
      },
      "strength_model": {
        "name": "force_modele"
      }
    }
  },
  "CreateHookModelAsLora": {
    "display_name": "Créer un modèle de crochet comme LoRA",
    "inputs": {
      "ckpt_name": {
        "name": "nom_ckpt"
      },
      "prev_hooks": {
        "name": "crochets_precedents"
      },
      "strength_clip": {
        "name": "force_clip"
      },
      "strength_model": {
        "name": "force_modele"
      }
    }
  },
  "CreateHookModelAsLoraModelOnly": {
    "display_name": "Créer un modèle de crochet comme LoRA (MO)",
    "inputs": {
      "ckpt_name": {
        "name": "nom_ckpt"
      },
      "prev_hooks": {
        "name": "crochets_precedents"
      },
      "strength_model": {
        "name": "force_modele"
      }
    }
  },
  "CreateList": {
    "display_name": "Créer une liste",
    "inputs": {
      "inputs": {
        "name": "entrées"
      }
    },
    "outputs": {
      "0": {
        "name": "liste",
        "tooltip": null
      }
    }
  },
  "CreateVideo": {
    "description": "Créer une vidéo à partir d’images.",
    "display_name": "Créer une vidéo",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "L’audio à ajouter à la vidéo."
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "images",
        "tooltip": "Les images à utiliser pour créer une vidéo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CropByBBoxes": {
    "description": "Rogner et redimensionner des régions du lot d’images d’entrée selon les boîtes englobantes fournies.",
    "display_name": "CropByBBoxes",
    "inputs": {
      "bboxes": {
        "name": "bboxes"
      },
      "image": {
        "name": "image"
      },
      "keep_aspect": {
        "name": "keep_aspect",
        "tooltip": "Déterminer s'il faut étirer le recadrage pour correspondre à la taille de sortie, ou ajouter des pixels noirs pour préserver le ratio d'aspect."
      },
      "output_height": {
        "name": "output_height",
        "tooltip": "Hauteur à laquelle chaque découpe est redimensionnée."
      },
      "output_width": {
        "name": "output_width",
        "tooltip": "Largeur à laquelle chaque découpe est redimensionnée."
      },
      "padding": {
        "name": "padding",
        "tooltip": "Marge supplémentaire en pixels ajoutée de chaque côté de la boîte avant le rognage."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Toutes les découpes empilées dans un seul lot d’images."
      }
    }
  },
  "CropMask": {
    "display_name": "CropMask",
    "inputs": {
      "height": {
        "name": "hauteur"
      },
      "mask": {
        "name": "masque"
      },
      "width": {
        "name": "largeur"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CurveEditor": {
    "display_name": "Éditeur de courbe",
    "inputs": {
      "curve": {
        "name": "courbe"
      },
      "histogram": {
        "name": "histogramme"
      }
    },
    "outputs": {
      "0": {
        "name": "courbe",
        "tooltip": null
      }
    }
  },
  "CustomCombo": {
    "display_name": "Combo personnalisé",
    "inputs": {
      "choice": {
        "name": "choix"
      },
      "index": {},
      "option1": {}
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "INDEX",
        "tooltip": null
      }
    }
  },
  "DiffControlNetLoader": {
    "display_name": "Charger le modèle ControlNet (diff)",
    "inputs": {
      "control_net_name": {
        "name": "nom_control_net"
      },
      "model": {
        "name": "modèle"
      }
    }
  },
  "DifferentialDiffusion": {
    "display_name": "Diffusion différentielle",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "strength": {
        "name": "intensité"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DiffusersLoader": {
    "display_name": "Chargeur de diffuseurs",
    "inputs": {
      "model_path": {
        "name": "chemin_modèle"
      }
    }
  },
  "DisableNoise": {
    "display_name": "DésactiverBruit",
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DrawBBoxes": {
    "display_name": "Dessiner les BBoxes",
    "inputs": {
      "bboxes": {
        "name": "bboxes"
      },
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "name": "out_image",
        "tooltip": null
      }
    }
  },
  "DualCFGGuider": {
    "display_name": "GuideurDualCFG",
    "inputs": {
      "cfg_cond2_negative": {
        "name": "cfg_cond2_négatif"
      },
      "cfg_conds": {
        "name": "cfg_conds"
      },
      "cond1": {
        "name": "cond1"
      },
      "cond2": {
        "name": "cond2"
      },
      "model": {
        "name": "modèle"
      },
      "negative": {
        "name": "négatif"
      },
      "style": {
        "name": "style"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DualCLIPLoader": {
    "description": "[Recettes]\n\nsdxl: clip-l, clip-g\nsd3: clip-l, clip-g / clip-l, t5 / clip-g, t5\nflux: clip-l, t5",
    "display_name": "ChargeurDualCLIP",
    "inputs": {
      "clip_name1": {
        "name": "nom_clip1"
      },
      "clip_name2": {
        "name": "nom_clip2"
      },
      "device": {
        "name": "appareil"
      },
      "type": {
        "name": "type"
      }
    }
  },
  "EasyCache": {
    "description": "Implémentation native d'EasyCache.",
    "display_name": "EasyCache",
    "inputs": {
      "end_percent": {
        "name": "pourcentage_de_fin",
        "tooltip": "L'étape d'échantillonnage relative pour terminer l'utilisation d'EasyCache."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle auquel ajouter EasyCache."
      },
      "reuse_threshold": {
        "name": "seuil_de_réutilisation",
        "tooltip": "Le seuil pour réutiliser les étapes mises en cache."
      },
      "start_percent": {
        "name": "pourcentage_de_départ",
        "tooltip": "L'étape d'échantillonnage relative pour commencer l'utilisation d'EasyCache."
      },
      "verbose": {
        "name": "verbeux",
        "tooltip": "Indique s'il faut enregistrer des informations détaillées."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le modèle avec EasyCache."
      }
    }
  },
  "ElevenLabsAudioIsolation": {
    "description": "Supprimez le bruit de fond de l'audio, en isolant les voix ou la parole.",
    "display_name": "ElevenLabs Isolation de Voix",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio à traiter pour la suppression du bruit de fond."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsInstantVoiceClone": {
    "description": "Créez une voix clonée à partir d'échantillons audio. Fournissez 1 à 8 enregistrements audio de la voix à cloner.",
    "display_name": "ElevenLabs Clonage Instantané de Voix",
    "inputs": {
      "files": {
        "name": "fichiers",
        "tooltip": "Enregistrements audio pour le clonage de voix."
      },
      "remove_background_noise": {
        "name": "supprimer_bruit_de_fond",
        "tooltip": "Supprimez le bruit de fond des échantillons de voix à l'aide de l'isolation audio."
      }
    },
    "outputs": {
      "0": {
        "name": "voix",
        "tooltip": null
      }
    }
  },
  "ElevenLabsSpeechToSpeech": {
    "description": "Transformez la parole d'une voix à une autre tout en préservant le contenu et l'émotion d'origine.",
    "display_name": "ElevenLabs Conversion de Voix à Voix",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio source à transformer."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser pour la transformation voix-à-voix."
      },
      "model_similarity_boost": {
        "name": "augmentation_similarité"
      },
      "model_speed": {
        "name": "vitesse"
      },
      "model_style": {
        "name": "style"
      },
      "model_use_speaker_boost": {
        "name": "utiliser_augmentation_parleur"
      },
      "output_format": {
        "name": "format_de_sortie",
        "tooltip": "Format de sortie audio."
      },
      "remove_background_noise": {
        "name": "supprimer_bruit_de_fond",
        "tooltip": "Supprimez le bruit de fond de l'audio d'entrée à l'aide de l'isolation audio."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour la reproductibilité."
      },
      "stability": {
        "name": "stabilité",
        "tooltip": "Stabilité de la voix. Des valeurs plus faibles donnent une gamme émotionnelle plus large, des valeurs plus élevées produisent une parole plus cohérente mais potentiellement monotone."
      },
      "voice": {
        "name": "voix",
        "tooltip": "Voix cible pour la transformation. Connectez depuis le Sélecteur de Voix ou le Clonage Instantané de Voix."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsSpeechToText": {
    "description": "Transcrivez l’audio en texte. Prend en charge la détection automatique de la langue, la diarisation des locuteurs et l’étiquetage des événements audio.",
    "display_name": "ElevenLabs Speech to Text",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio à transcrire."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "language_code": {
        "name": "language_code",
        "tooltip": "Code de langue ISO-639-1 ou ISO-639-3 (ex. : 'en', 'es', 'fra'). Laisser vide pour une détection automatique."
      },
      "model": {
        "name": "model",
        "tooltip": "Modèle à utiliser pour la transcription."
      },
      "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": "Nombre maximal de locuteurs à prédire. Mettre à 0 pour une détection automatique."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine pour la reproductibilité (déterminisme non garanti)."
      }
    },
    "outputs": {
      "0": {
        "name": "text",
        "tooltip": null
      },
      "1": {
        "name": "language_code",
        "tooltip": null
      },
      "2": {
        "name": "words_json",
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToDialogue": {
    "description": "Générez un dialogue multi-locuteurs à partir d’un texte. Chaque entrée de dialogue possède son propre texte et sa propre voix.",
    "display_name": "ElevenLabs Text to Dialogue",
    "inputs": {
      "apply_text_normalization": {
        "name": "apply_text_normalization",
        "tooltip": "Mode de normalisation du texte. 'auto' laisse le système décider, 'on' applique toujours la normalisation, 'off' la désactive."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "inputs": {
        "name": "inputs",
        "tooltip": "Nombre d’entrées de dialogue."
      },
      "inputs_text1": {
        "name": "text1"
      },
      "language_code": {
        "name": "language_code",
        "tooltip": "Code de langue ISO-639-1 ou ISO-639-3 (ex. : 'en', 'es', 'fra'). Laisser vide pour une détection automatique."
      },
      "model": {
        "name": "model",
        "tooltip": "Modèle à utiliser pour la génération du dialogue."
      },
      "output_format": {
        "name": "output_format",
        "tooltip": "Format de sortie audio."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine pour la reproductibilité."
      },
      "stability": {
        "name": "stability",
        "tooltip": "Stabilité de la voix. Des valeurs plus faibles donnent une gamme émotionnelle plus large, des valeurs plus élevées produisent une voix plus cohérente mais potentiellement monotone."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToSoundEffects": {
    "description": "Générez des effets sonores à partir de descriptions textuelles.",
    "display_name": "ElevenLabs Text to Sound Effects",
    "inputs": {
      "model": {
        "name": "model",
        "tooltip": "Modèle à utiliser pour la génération de l’effet sonore."
      },
      "model_duration": {
        "name": "duration"
      },
      "model_loop": {
        "name": "loop"
      },
      "model_prompt_influence": {
        "name": "prompt_influence"
      },
      "output_format": {
        "name": "output_format",
        "tooltip": "Format de sortie audio."
      },
      "text": {
        "name": "text",
        "tooltip": "Description textuelle de l’effet sonore à générer."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToSpeech": {
    "description": "Convertir du texte en parole.",
    "display_name": "ElevenLabs Text to Speech",
    "inputs": {
      "apply_text_normalization": {
        "name": "appliquer la normalisation du texte",
        "tooltip": "Mode de normalisation du texte. 'auto' laisse le système décider, 'on' applique toujours la normalisation, 'off' la désactive."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "language_code": {
        "name": "code langue",
        "tooltip": "Code langue ISO-639-1 ou ISO-639-3 (ex : 'en', 'es', 'fra'). Laisser vide pour une détection automatique."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser pour la synthèse texte-parole."
      },
      "model_similarity_boost": {
        "name": "augmentation de similarité"
      },
      "model_speed": {
        "name": "vitesse"
      },
      "model_style": {
        "name": "style"
      },
      "model_use_speaker_boost": {
        "name": "utiliser le speaker boost"
      },
      "output_format": {
        "name": "format de sortie",
        "tooltip": "Format de sortie audio."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour la reproductibilité (déterminisme non garanti)."
      },
      "stability": {
        "name": "stabilité",
        "tooltip": "Stabilité de la voix. Des valeurs plus faibles offrent une gamme émotionnelle plus large, des valeurs plus élevées produisent une voix plus cohérente mais potentiellement monotone."
      },
      "text": {
        "name": "texte",
        "tooltip": "Le texte à convertir en parole."
      },
      "voice": {
        "name": "voix",
        "tooltip": "Voix à utiliser pour la synthèse vocale. Connectez depuis Voice Selector ou Instant Voice Clone."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsVoiceSelector": {
    "description": "Sélectionnez une voix prédéfinie ElevenLabs pour la génération texte-parole.",
    "display_name": "Sélecteur de voix ElevenLabs",
    "inputs": {
      "voice": {
        "name": "voix",
        "tooltip": "Choisissez une voix parmi les voix prédéfinies ElevenLabs."
      }
    },
    "outputs": {
      "0": {
        "name": "voix",
        "tooltip": null
      }
    }
  },
  "EmptyARVideoLatent": {
    "display_name": "EmptyARVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAceStep1_5LatentAudio": {
    "display_name": "Empty Ace Step 1.5 Latent Audio",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot",
        "tooltip": "Le nombre d’images latentes dans le lot."
      },
      "seconds": {
        "name": "secondes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAceStepLatentAudio": {
    "display_name": "EmptyAceStepLatentAudio",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot",
        "tooltip": "Le nombre d'images latentes dans le lot."
      },
      "seconds": {
        "name": "secondes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAudio": {
    "display_name": "Audio vide",
    "inputs": {
      "channels": {
        "name": "canaux",
        "tooltip": "Nombre de canaux audio (1 pour mono, 2 pour stéréo)."
      },
      "duration": {
        "name": "durée",
        "tooltip": "Durée du clip audio vide en secondes"
      },
      "sample_rate": {
        "name": "fréquence_d'échantillonnage",
        "tooltip": "Fréquence d'échantillonnage du clip audio vide."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyChromaRadianceLatentImage": {
    "display_name": "EmptyChromaRadianceLatentImage",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyCosmosLatentVideo": {
    "display_name": "VidéoLatenteCosmosVide",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyFlux2LatentImage": {
    "display_name": "Flux vide vers latent",
    "inputs": {
      "batch_size": {
        "name": "taille_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHiDreamO1LatentImage": {
    "description": "Latent d’espace pixel vide pour HiDream-O1-Image. Le modèle a été entraîné à environ 4 mégapixels ; des résolutions plus basses sortent de la distribution et la qualité régresse nettement. Résolutions d’entraînement : 2048x2048, 2304x1728, 1728x2304, 2560x1440, 1440x2560, 2496x1664, 1664x2496, 3104x1312, 1312x3104, 2304x1792, 1792x2304.",
    "display_name": "Image latente HiDream-O1 vide",
    "inputs": {
      "batch_size": {
        "name": "taille_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanImageLatent": {
    "display_name": "EmptyHunyuanImageLatent",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanLatentVideo": {
    "display_name": "EmptyHunyuanLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanVideo15Latent": {
    "display_name": "HunyuanVideo 1.5 latent vide",
    "inputs": {
      "batch_size": {
        "name": "taille_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyImage": {
    "display_name": "ImageVide",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "color": {
        "name": "couleur"
      },
      "height": {
        "name": "hauteur"
      },
      "width": {
        "name": "largeur"
      }
    }
  },
  "EmptyLTXVLatentVideo": {
    "display_name": "EmptyLTXVLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentAudio": {
    "display_name": "AudioLatentVide",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot",
        "tooltip": "Le nombre d'images latentes dans le lot."
      },
      "seconds": {
        "name": "secondes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentHunyuan3Dv2": {
    "display_name": "EmptyLatentHunyuan3Dv2",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot",
        "tooltip": "Le nombre d'images latentes dans le lot."
      },
      "resolution": {
        "name": "résolution"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentImage": {
    "description": "Créez un nouveau lot d'images latentes vides à débruiter via l'échantillonnage.",
    "display_name": "Image Latente Vide",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot",
        "tooltip": "Le nombre d'images latentes dans le lot."
      },
      "height": {
        "name": "hauteur",
        "tooltip": "La hauteur des images latentes en pixels."
      },
      "width": {
        "name": "largeur",
        "tooltip": "La largeur des images latentes en pixels."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le lot d'images latentes vides."
      }
    }
  },
  "EmptyMochiLatentVideo": {
    "display_name": "EmptyMochiLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyQwenImageLayeredLatentImage": {
    "display_name": "Qwen Image Layered latent vide",
    "inputs": {
      "batch_size": {
        "name": "taille_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "layers": {
        "name": "couches"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptySD3LatentImage": {
    "display_name": "EmptySD3LatentImage",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Epsilon Scaling": {
    "display_name": "Mise à l'échelle Epsilon",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "scaling_factor": {
        "name": "facteur_d'échelle"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ExponentialScheduler": {
    "display_name": "PlanificateurExponentiel",
    "inputs": {
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "étapes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ExtendIntermediateSigmas": {
    "display_name": "ExtendIntermediateSigmas",
    "inputs": {
      "end_at_sigma": {
        "name": "finir_à_sigma"
      },
      "sigmas": {
        "name": "sigmas"
      },
      "spacing": {
        "name": "espacement"
      },
      "start_at_sigma": {
        "name": "commencer_à_sigma"
      },
      "steps": {
        "name": "étapes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FeatherMask": {
    "display_name": "MasquePlume",
    "inputs": {
      "bottom": {
        "name": "bas"
      },
      "left": {
        "name": "gauche"
      },
      "mask": {
        "name": "masque"
      },
      "right": {
        "name": "droite"
      },
      "top": {
        "name": "haut"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FlipSigmas": {
    "display_name": "InverserSigmas",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2ImageNode": {
    "description": "Générez des images via Flux.2 [pro] ou Flux.2 [max] à partir d’un prompt et d’images de référence optionnelles.",
    "display_name": "Flux.2 Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "model_height": {
        "name": "hauteur"
      },
      "model_width": {
        "name": "largeur"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération ou l’édition d’image"
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2MaxImageNode": {
    "description": "Génère des images de manière synchrone à partir d'une invite et d'une résolution.",
    "display_name": "Flux.2 [max] Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "height": {
        "name": "hauteur"
      },
      "images": {
        "name": "images",
        "tooltip": "Jusqu’à 9 images à utiliser comme références."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite pour la génération ou l’édition d’image"
      },
      "prompt_upsampling": {
        "name": "suréchantillonnage de l'invite",
        "tooltip": "Indique s’il faut effectuer un suréchantillonnage sur l’invite. Si activé, modifie automatiquement l’invite pour une génération plus créative."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2ProImageNode": {
    "description": "Génère des images de manière synchrone à partir d'une invite et d'une résolution.",
    "display_name": "Flux.2 [pro] Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "height": {
        "name": "hauteur"
      },
      "images": {
        "name": "images",
        "tooltip": "Jusqu’à 9 images à utiliser comme références."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite pour la génération ou l’édition d’image"
      },
      "prompt_upsampling": {
        "name": "suréchantillonnage de l'invite",
        "tooltip": "Indique s’il faut effectuer un suréchantillonnage sur l’invite. Si activé, modifie automatiquement l’invite pour une génération plus créative."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2Scheduler": {
    "display_name": "Flux2Scheduler",
    "inputs": {
      "height": {
        "name": "hauteur"
      },
      "steps": {
        "name": "étapes"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxDisableGuidance": {
    "description": "Ce nœud désactive complètement l'intégration de guidage sur les modèles Flux et similaires à Flux",
    "display_name": "FluxDisableGuidance",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxGuidance": {
    "display_name": "GuidageFlux",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      },
      "guidance": {
        "name": "guidage"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKVCache": {
    "description": "Active l’optimisation KV Cache pour les images de référence sur les modèles de la famille Flux.",
    "display_name": "Flux KV Cache",
    "inputs": {
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle sur lequel activer le KV Cache."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le modèle modifié avec le KV Cache activé."
      }
    }
  },
  "FluxKontextImageScale": {
    "description": "Ce nœud redimensionne l'image pour une optimisation avec flux kontext.",
    "display_name": "Échelle d'image FluxKontext",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextMaxImageNode": {
    "description": "Modifie les images en utilisant Flux.1 Kontext [max] via l'API en fonction de l'invite et du rapport d'aspect.",
    "display_name": "Image Flux.1 Kontext [max]",
    "inputs": {
      "aspect_ratio": {
        "name": "rapport_d'aspect",
        "tooltip": "Rapport d'aspect de l'image ; doit être compris entre 1:4 et 4:1."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "guidance": {
        "name": "guidage",
        "tooltip": "Intensité du guidage pour le processus de génération d'image"
      },
      "input_image": {
        "name": "image_d'entrée"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite pour la génération d'image - spécifiez quoi et comment modifier."
      },
      "prompt_upsampling": {
        "name": "suréchantillonnage_d'invite",
        "tooltip": "Indique s'il faut effectuer un suréchantillonnage sur l'invite. Si actif, modifie automatiquement l'invite pour une génération plus créative, mais les résultats sont non déterministes (la même graine ne produira pas exactement le même résultat)."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      },
      "steps": {
        "name": "étapes",
        "tooltip": "Nombre d'étapes pour le processus de génération d'image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextMultiReferenceLatentMethod": {
    "display_name": "Méthode latente multi-référence FluxKontext",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      },
      "reference_latents_method": {
        "name": "méthode_des_latents_de_référence"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextProImageNode": {
    "description": "Modifie les images en utilisant Flux.1 Kontext [pro] via l'API en fonction de l'invite et du rapport d'aspect.",
    "display_name": "Image Flux.1 Kontext [pro]",
    "inputs": {
      "aspect_ratio": {
        "name": "rapport_d'aspect",
        "tooltip": "Rapport d'aspect de l'image ; doit être compris entre 1:4 et 4:1."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "guidance": {
        "name": "guidage",
        "tooltip": "Intensité du guidage pour le processus de génération d'image"
      },
      "input_image": {
        "name": "image_entrée"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite pour la génération d'image - spécifiez quoi et comment modifier."
      },
      "prompt_upsampling": {
        "name": "suréchantillonnage_prompt",
        "tooltip": "Indique s'il faut effectuer un suréchantillonnage sur le prompt. Si actif, modifie automatiquement le prompt pour une génération plus créative, mais les résultats sont non déterministes (la même graine ne produira pas exactement le même résultat)."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      },
      "steps": {
        "name": "étapes",
        "tooltip": "Nombre d'étapes pour le processus de génération d'image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProExpandNode": {
    "description": "Étend l’image selon le prompt.",
    "display_name": "Flux.1 Élargir l’image",
    "inputs": {
      "bottom": {
        "name": "bas",
        "tooltip": "Nombre de pixels à ajouter en bas de l’image"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "guidance": {
        "name": "guidage",
        "tooltip": "Intensité du guidage pour le processus de génération d’image"
      },
      "image": {
        "name": "image"
      },
      "left": {
        "name": "gauche",
        "tooltip": "Nombre de pixels à ajouter à gauche de l’image"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération d’image"
      },
      "prompt_upsampling": {
        "name": "suréchantillonnage du prompt",
        "tooltip": "Indique s’il faut effectuer un suréchantillonnage sur le prompt. Si activé, modifie automatiquement le prompt pour une génération plus créative, mais les résultats sont non déterministes (la même graine ne produira pas exactement le même résultat)."
      },
      "right": {
        "name": "droite",
        "tooltip": "Nombre de pixels à ajouter à droite de l’image"
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      },
      "steps": {
        "name": "étapes",
        "tooltip": "Nombre d’étapes pour le processus de génération d’image"
      },
      "top": {
        "name": "haut",
        "tooltip": "Nombre de pixels à ajouter en haut de l’image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProFillNode": {
    "description": "Reconstitue l'image en fonction du mask et du prompt.",
    "display_name": "Flux.1 Remplir l'image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "guidance": {
        "name": "guidage",
        "tooltip": "Intensité du guidage pour le processus de génération d'image"
      },
      "image": {
        "name": "image"
      },
      "mask": {
        "name": "mask"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération d'image"
      },
      "prompt_upsampling": {
        "name": "suréchantillonnage du prompt",
        "tooltip": "Indique s'il faut effectuer un suréchantillonnage du prompt. Si activé, modifie automatiquement le prompt pour une génération plus créative, mais les résultats sont non déterministes (la même seed ne produira pas exactement le même résultat)."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La seed aléatoire utilisée pour créer le bruit."
      },
      "steps": {
        "name": "étapes",
        "tooltip": "Nombre d'étapes pour le processus de génération d'image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProUltraImageNode": {
    "description": "Génère des images avec Flux Pro 1.1 Ultra via l'API à partir d'un prompt et d'une résolution.",
    "display_name": "Flux 1.1 [pro] Ultra Image",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Rapport d'aspect de l'image ; doit être compris entre 1:4 et 4:1."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image_prompt": {
        "name": "image_prompt"
      },
      "image_prompt_strength": {
        "name": "image_prompt_strength",
        "tooltip": "Mélange entre le prompt et le prompt image."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération d'image"
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Indique s'il faut effectuer un upsampling sur le prompt. Si activé, modifie automatiquement le prompt pour une génération plus créative, mais les résultats sont non déterministes (la même graine ne produira pas exactement le même résultat)."
      },
      "raw": {
        "name": "raw",
        "tooltip": "Si vrai, génère des images moins traitées et d'apparence plus naturelle."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FrameInterpolate": {
    "display_name": "Interpolation d’images",
    "inputs": {
      "images": {
        "name": "images"
      },
      "interp_model": {
        "name": "interp_model"
      },
      "multiplier": {
        "name": "multiplicateur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FrameInterpolationModelLoader": {
    "display_name": "Charger un modèle d’interpolation d’images",
    "inputs": {
      "model_name": {
        "name": "nom_du_modèle",
        "tooltip": "Sélectionnez un modèle d’interpolation d’images à charger. Les modèles doivent être placés dans le dossier 'frame_interpolation'."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FreSca": {
    "description": "Applique une mise à l'échelle dépendante de la fréquence au guidage",
    "display_name": "FreSca",
    "inputs": {
      "freq_cutoff": {
        "name": "seuil_fréquence",
        "tooltip": "Nombre d'indices de fréquence autour du centre à considérer comme basses fréquences"
      },
      "model": {
        "name": "modèle"
      },
      "scale_high": {
        "name": "échelle_haute",
        "tooltip": "Facteur d'échelle pour les composantes hautes fréquences"
      },
      "scale_low": {
        "name": "échelle_basse",
        "tooltip": "Facteur d'échelle pour les composantes basses fréquences"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FreeU": {
    "display_name": "FreeU",
    "inputs": {
      "b1": {
        "name": "b1"
      },
      "b2": {
        "name": "b2"
      },
      "model": {
        "name": "modèle"
      },
      "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": "modèle"
      },
      "s1": {
        "name": "s1"
      },
      "s2": {
        "name": "s2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GITSScheduler": {
    "display_name": "GITSScheduler",
    "inputs": {
      "coeff": {
        "name": "coeff"
      },
      "denoise": {
        "name": "débruitage"
      },
      "steps": {
        "name": "étapes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GLIGENLoader": {
    "display_name": "GLIGENLoader",
    "inputs": {
      "gligen_name": {
        "name": "nom_gligen"
      }
    }
  },
  "GLIGENTextBoxApply": {
    "display_name": "GLIGENTextBoxApply",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "conditioning_to": {
        "name": "conditionnement_à"
      },
      "gligen_textbox_model": {
        "name": "modèle_boîte_texte_gligen"
      },
      "height": {
        "name": "hauteur"
      },
      "text": {
        "name": "texte"
      },
      "width": {
        "name": "largeur"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "GLSLShader": {
    "description": "Appliquez des shaders de fragments GLSL ES aux images. u_resolution (vec2) est toujours disponible.",
    "display_name": "Shader GLSL",
    "inputs": {
      "bools": {
        "name": "booléens",
        "tooltip": "Les booléens sont disponibles sous u_bool0-9 (bool) dans le code du shader"
      },
      "curves": {
        "name": "courbes",
        "tooltip": "Les courbes sont disponibles sous u_curve0-3 (sampler2D, LUT 1D) dans le code du shader. Échantillonnez avec texture(u_curve0, vec2(x, 0.5)).r"
      },
      "floats": {
        "name": "floats",
        "tooltip": "Les flottants sont disponibles sous u_float0-4 dans le code du shader"
      },
      "fragment_shader": {
        "name": "fragment_shader",
        "tooltip": "Code source du shader de fragment GLSL (compatible GLSL ES 3.00 / WebGL 2.0)"
      },
      "images": {
        "name": "images",
        "tooltip": "Les images sont disponibles sous u_image0-4 (sampler2D) dans le code du shader"
      },
      "ints": {
        "name": "ints",
        "tooltip": "Les entiers sont disponibles sous u_int0-4 dans le code du shader"
      },
      "size_mode": {
        "name": "size_mode",
        "tooltip": "Taille de sortie : 'from_input' utilise les dimensions de la première image d'entrée, 'custom' permet de définir la taille manuellement"
      }
    },
    "outputs": {
      "0": {
        "name": "IMAGE0",
        "tooltip": "Disponible via layout(location = 0) out vec4 fragColor0 dans le code du shader"
      },
      "1": {
        "name": "IMAGE1",
        "tooltip": "Disponible via layout(location = 1) out vec4 fragColor1 dans le code du shader"
      },
      "2": {
        "name": "IMAGE2",
        "tooltip": "Disponible via layout(location = 2) out vec4 fragColor2 dans le code du shader"
      },
      "3": {
        "name": "IMAGE3",
        "tooltip": "Disponible via layout(location = 3) out vec4 fragColor3 dans le code du shader"
      }
    }
  },
  "GeminiImage2Node": {
    "description": "Générez ou modifiez des images de manière synchrone via l'API Google Vertex.",
    "display_name": "Nano Banana Pro (Google Gemini Image)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Si défini sur 'auto', correspond au format d'image de votre entrée ; si aucune image n'est fournie, un carré 16:9 est généralement généré."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "Fichier(s) optionnel(s) à utiliser comme contexte pour le modèle. Accepte les entrées du nœud Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Image(s) de référence optionnelle(s). Pour inclure plusieurs images, utilisez le nœud Batch Images (jusqu'à 14)."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle décrivant l'image à générer ou les modifications à appliquer. Incluez toutes contraintes, styles ou détails que le modèle doit suivre."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Résolution de sortie cible. Pour 2K/4K, l'upscaler natif Gemini est utilisé."
      },
      "response_modalities": {
        "name": "response_modalities",
        "tooltip": "Choisissez 'IMAGE' pour une sortie image uniquement, ou 'IMAGE+TEXT' pour retourner à la fois l'image générée et une réponse textuelle."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Lorsque la graine est fixée à une valeur spécifique, le modèle s'efforce de fournir la même réponse pour des requêtes répétées. Un résultat déterministe n'est pas garanti. De plus, changer le modèle ou les paramètres, comme la température, peut entraîner des variations de la réponse même avec la même valeur de graine. Par défaut, une graine aléatoire est utilisée."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instructions fondamentales qui dictent le comportement de l'IA."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GeminiImageNode": {
    "description": "Modifier les images de manière synchrone via l'API Google.",
    "display_name": "Image Google Gemini",
    "inputs": {
      "aspect_ratio": {
        "name": "ratio_d'aspect",
        "tooltip": "Par défaut, correspond à la taille de l'image de sortie à celle de votre image d'entrée, ou génère sinon des carrés 1:1."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "files": {
        "name": "fichiers",
        "tooltip": "Fichier(s) optionnel(s) à utiliser comme contexte pour le modèle. Accepte les entrées du nœud Fichiers d'entrée de contenu généré Gemini."
      },
      "images": {
        "name": "images",
        "tooltip": "Image(s) optionnelle(s) à utiliser comme contexte pour le modèle. Pour inclure plusieurs images, vous pouvez utiliser le nœud Images par lot."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle Gemini à utiliser pour générer les réponses."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt texte pour la génération"
      },
      "response_modalities": {
        "name": "response_modalities",
        "tooltip": "Choisissez 'IMAGE' pour une sortie image uniquement, ou 'IMAGE+TEXT' pour retourner à la fois l'image générée et une réponse textuelle."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Lorsque la graine est fixée à une valeur spécifique, le modèle fait de son mieux pour fournir la même réponse pour des requêtes répétées. La sortie déterministe n'est pas garantie. De plus, changer le modèle ou les paramètres, comme la température, peut entraîner des variations dans la réponse même en utilisant la même valeur de graine. Par défaut, une valeur de graine aléatoire est utilisée."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instructions fondamentales qui dictent le comportement de l'IA."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GeminiInputFiles": {
    "description": "Charge et prépare les fichiers d'entrée à inclure comme entrées pour les nœuds LLM Gemini. Les fichiers seront lus par le modèle Gemini lors de la génération d'une réponse. Le contenu du fichier texte compte dans la limite de tokens. 🛈 ASTUCE : Peut être chaîné avec d'autres nœuds de fichiers d'entrée Gemini.",
    "display_name": "Fichiers d'entrée Gemini",
    "inputs": {
      "GEMINI_INPUT_FILES": {
        "name": "FICHIERS_ENTRÉE_GEMINI",
        "tooltip": "Un ou plusieurs fichiers supplémentaires optionnels à regrouper avec le fichier chargé depuis ce nœud. Permet d'enchaîner les fichiers d'entrée afin qu'un seul message puisse inclure plusieurs fichiers d'entrée."
      },
      "file": {
        "name": "fichier",
        "tooltip": "Fichiers d'entrée à inclure comme contexte pour le modèle. N'accepte pour le moment que les fichiers texte (.txt) et PDF (.pdf)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiNanoBanana2": {
    "description": "Générez ou modifiez des images de manière synchrone via l’API Google Vertex.",
    "display_name": "Nano Banana 2",
    "inputs": {
      "aspect_ratio": {
        "name": "rapport d’aspect",
        "tooltip": "Si défini sur « auto », correspond au rapport d’aspect de votre image d’entrée ; si aucune image n’est fournie, un carré 16:9 est généralement généré."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "files": {
        "name": "fichiers",
        "tooltip": "Fichier(s) optionnel(s) à utiliser comme contexte pour le modèle. Accepte les entrées du nœud Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Image(s) de référence optionnelle(s). Pour inclure plusieurs images, utilisez le nœud Batch Images (jusqu’à 14)."
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle décrivant l’image à générer ou les modifications à appliquer. Incluez toutes contraintes, styles ou détails que le modèle doit respecter."
      },
      "resolution": {
        "name": "résolution",
        "tooltip": "Résolution de sortie cible. Pour le 2K/4K, l’upscaler natif Gemini est utilisé."
      },
      "response_modalities": {
        "name": "modalités de réponse"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Lorsque la graine est fixée à une valeur spécifique, le modèle s’efforce de fournir la même réponse pour des requêtes répétées. Un résultat déterministe n’est pas garanti. De plus, changer le modèle ou les paramètres, comme la température, peut entraîner des variations de la réponse même avec la même valeur de graine. Par défaut, une graine aléatoire est utilisée."
      },
      "system_prompt": {
        "name": "invite système",
        "tooltip": "Instructions fondamentales qui dictent le comportement de l’IA."
      },
      "thinking_level": {
        "name": "niveau de réflexion"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "thought_image",
        "tooltip": "Première image issue du processus de réflexion du modèle. Disponible uniquement avec le niveau de réflexion ÉLEVÉ et la modalité IMAGE+TEXTE."
      }
    }
  },
  "GeminiNanoBanana2V2": {
    "description": "Générez ou modifiez des images de manière synchrone via l'API Google Vertex.",
    "display_name": "Nano Banana 2",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "model_aspect_ratio": {
        "name": "rapport d'aspect"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "model_thinking_level": {
        "name": "niveau de réflexion"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle décrivant l'image à générer ou les modifications à appliquer. Incluez toutes contraintes, styles ou détails que le modèle doit respecter."
      },
      "response_modalities": {
        "name": "modalités de réponse"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Lorsque la graine est fixée à une valeur spécifique, le modèle s'efforce de fournir la même réponse pour des requêtes répétées. Un résultat déterministe n'est pas garanti. De plus, changer le modèle ou les paramètres, comme la température, peut entraîner des variations de la réponse même avec la même valeur de graine. Par défaut, une valeur de graine aléatoire est utilisée."
      },
      "system_prompt": {
        "name": "invite système",
        "tooltip": "Instructions fondamentales qui dictent le comportement de l'IA."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "image de réflexion",
        "tooltip": "Première image issue du processus de réflexion du modèle. Disponible uniquement avec le niveau de réflexion ÉLEVÉ et la modalité IMAGE+TEXTE."
      }
    }
  },
  "GeminiNode": {
    "description": "Génère des réponses textuelles avec le modèle d'IA Gemini de Google. Vous pouvez fournir plusieurs types d'entrées (texte, images, audio, vidéo) comme contexte pour générer des réponses plus pertinentes et significatives.",
    "display_name": "Google Gemini",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio optionnel à utiliser comme contexte pour le modèle."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "files": {
        "name": "fichiers",
        "tooltip": "Fichier(s) optionnel(s) à utiliser comme contexte pour le modèle. Accepte les entrées du nœud Fichiers d'entrée de génération de contenu Gemini."
      },
      "images": {
        "name": "images",
        "tooltip": "Image(s) optionnelle(s) à utiliser comme contexte pour le modèle. Pour inclure plusieurs images, vous pouvez utiliser le nœud Images par lot."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle Gemini à utiliser pour générer les réponses."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entrées textuelles pour le modèle, utilisées pour générer une réponse. Vous pouvez inclure des instructions détaillées, des questions ou du contexte pour le modèle."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Lorsque la graine est fixée à une valeur spécifique, le modèle fait de son mieux pour fournir la même réponse pour des requêtes répétées. La sortie déterministe n'est pas garantie. De plus, changer le modèle ou les paramètres, comme la température, peut entraîner des variations dans la réponse même en utilisant la même valeur de graine. Par défaut, une valeur de graine aléatoire est utilisée."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instructions fondamentales qui dictent le comportement de l'IA."
      },
      "video": {
        "name": "vidéo",
        "tooltip": "Vidéo optionnelle à utiliser comme contexte pour le modèle."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GenerateTracks": {
    "display_name": "GenerateTracks",
    "inputs": {
      "bezier": {
        "name": "bezier",
        "tooltip": "Activer le chemin en courbe de Bézier en utilisant le point central comme point de contrôle."
      },
      "end_x": {
        "name": "fin_x",
        "tooltip": "Coordonnée X normalisée (0-1) pour la position d'arrivée."
      },
      "end_y": {
        "name": "fin_y",
        "tooltip": "Coordonnée Y normalisée (0-1) pour la position d'arrivée."
      },
      "height": {
        "name": "hauteur"
      },
      "interpolation": {
        "name": "interpolation",
        "tooltip": "Contrôle le timing/la vitesse du mouvement le long du chemin."
      },
      "mid_x": {
        "name": "milieu_x",
        "tooltip": "Point de contrôle X normalisé pour la courbe de Bézier. Utilisé uniquement lorsque 'bezier' est activé."
      },
      "mid_y": {
        "name": "milieu_y",
        "tooltip": "Point de contrôle Y normalisé pour la courbe de Bézier. Utilisé uniquement lorsque 'bezier' est activé."
      },
      "num_frames": {
        "name": "nombre_d_images"
      },
      "num_tracks": {
        "name": "nombre_de_pistes"
      },
      "start_x": {
        "name": "départ_x",
        "tooltip": "Coordonnée X normalisée (0-1) pour la position de départ."
      },
      "start_y": {
        "name": "départ_y",
        "tooltip": "Coordonnée Y normalisée (0-1) pour la position de départ."
      },
      "track_mask": {
        "name": "masque_de_piste",
        "tooltip": "Masque optionnel pour indiquer les images visibles."
      },
      "track_spread": {
        "name": "écartement_des_pistes",
        "tooltip": "Distance normalisée entre les pistes. Les pistes sont réparties perpendiculairement à la direction du mouvement."
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "longueur_de_piste",
        "tooltip": null
      }
    }
  },
  "GetImageSize": {
    "description": "Retourne la largeur et la hauteur de l'image, et la transmet inchangée.",
    "display_name": "Obtenir la taille de l'image",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "name": "largeur",
        "tooltip": null
      },
      "1": {
        "name": "hauteur",
        "tooltip": null
      },
      "2": {
        "name": "taille du lot",
        "tooltip": null
      }
    }
  },
  "GetVideoComponents": {
    "description": "Extrait tous les composants d'une vidéo : images, audio et fréquence d’images.",
    "display_name": "Obtenir les composants vidéo",
    "inputs": {
      "video": {
        "name": "vidéo",
        "tooltip": "La vidéo dont extraire les composants."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": null
      },
      "1": {
        "name": "audio",
        "tooltip": null
      },
      "2": {
        "name": "ips",
        "tooltip": null
      }
    }
  },
  "GrokImageEditNode": {
    "description": "Modifiez une image existante à partir d'une invite textuelle",
    "display_name": "Grok Image Edit",
    "inputs": {
      "aspect_ratio": {
        "name": "rapport d'aspect",
        "tooltip": "Autorisé uniquement lorsque plusieurs images sont connectées à l'entrée image."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "modèle"
      },
      "number_of_images": {
        "name": "nombre d'images",
        "tooltip": "Nombre d'images modifiées à générer"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "L'invite textuelle utilisée pour générer l'image"
      },
      "resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels sont non déterministes, quelle que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokImageEditNodeV2": {
    "description": "Modifiez une image existante à partir d’un prompt textuel",
    "display_name": "Grok Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "model_aspect_ratio": {
        "name": "ratio_d’aspect"
      },
      "model_number_of_images": {
        "name": "nombre_d’images"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Le prompt textuel utilisé pour générer l’image"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels sont non déterministes quel que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokImageNode": {
    "description": "Générez des images avec Grok à partir d'une invite textuelle",
    "display_name": "Grok Image",
    "inputs": {
      "aspect_ratio": {
        "name": "rapport d'aspect"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "number_of_images": {
        "name": "nombre d'images",
        "tooltip": "Nombre d'images à générer"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "L'invite textuelle utilisée pour générer l'image"
      },
      "resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels sont non déterministes, quelle que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoEditNode": {
    "description": "Modifiez une vidéo existante à partir d'une invite textuelle.",
    "display_name": "Grok Video Edit",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Description textuelle de la vidéo souhaitée."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels sont non déterministes, quelle que soit la graine."
      },
      "video": {
        "name": "vidéo",
        "tooltip": "La durée maximale prise en charge est de 8,7 secondes et la taille du fichier de 50 Mo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoExtendNode": {
    "description": "Prolongez une vidéo existante avec une continuation fluide basée sur une invite textuelle.",
    "display_name": "Extension vidéo Grok",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle à utiliser pour l’extension vidéo."
      },
      "model_duration": {
        "name": "durée"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Description textuelle de ce qui doit se passer ensuite dans la vidéo."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels sont non déterministes quel que soit la graine."
      },
      "video": {
        "name": "vidéo",
        "tooltip": "Vidéo source à prolonger. Format MP4, 2-15 secondes."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoNode": {
    "description": "Générez une vidéo à partir d'une invite ou d'une image",
    "display_name": "Grok Video",
    "inputs": {
      "aspect_ratio": {
        "name": "rapport d'aspect",
        "tooltip": "Le rapport d'aspect de la vidéo générée."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "La durée de la vidéo générée en secondes."
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Description textuelle de la vidéo souhaitée."
      },
      "resolution": {
        "name": "résolution",
        "tooltip": "La résolution de la vidéo générée."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels sont non déterministes, quelle que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoReferenceNode": {
    "description": "Générez une vidéo guidée par des images de référence comme références de style et de contenu.",
    "display_name": "Grok Référence-vers-Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle à utiliser pour la génération vidéo."
      },
      "model_aspect_ratio": {
        "name": "ratio d’aspect"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Description textuelle de la vidéo souhaitée."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels sont non déterministes quel que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrowMask": {
    "display_name": "GrowMask",
    "inputs": {
      "expand": {
        "name": "agrandir"
      },
      "mask": {
        "name": "masque"
      },
      "tapered_corners": {
        "name": "coins_évasés"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseImageToVideoApi": {
    "description": "Générez une vidéo à partir d'une image de première image en utilisant le modèle HappyHorse.",
    "display_name": "HappyHorse Image vers Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "first_frame": {
        "name": "première image",
        "tooltip": "Image de la première image. Le format de sortie est dérivé de cette image."
      },
      "model": {
        "name": "modèle"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_prompt": {
        "name": "invite"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter ou non un filigrane généré par IA au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseReferenceVideoApi": {
    "description": "Générez une vidéo mettant en scène une personne ou un objet à partir de matériaux de référence avec le modèle HappyHorse. Prend en charge les performances à un seul personnage et les interactions multi-personnages.",
    "display_name": "HappyHorse Référence vers Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_prompt": {
        "name": "invite"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter ou non un filigrane généré par IA au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseTextToVideoApi": {
    "description": "Génère une vidéo à partir d'une invite textuelle en utilisant le modèle HappyHorse.",
    "display_name": "HappyHorse Texte vers Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_prompt": {
        "name": "invite"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter ou non un filigrane généré par IA au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseVideoEditApi": {
    "description": "Modifiez une vidéo à l'aide d'instructions textuelles ou d'images de référence avec le modèle HappyHorse. La durée de sortie est de 3 à 15s et correspond à la vidéo d'entrée ; les entrées de plus de 15s sont tronquées.",
    "display_name": "HappyHorse Édition Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "model_prompt": {
        "name": "invite"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "video": {
        "name": "vidéo",
        "tooltip": "La vidéo à éditer."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter ou non un filigrane généré par IA au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HiDreamO1PatchSeamSmoothing": {
    "description": "Moyenne la sortie du modèle sur plusieurs positions de grille de patch décalées pendant la phase finale de l’échantillonnage. Annule les coutures.",
    "display_name": "Lissage des coutures de patch HiDream-O1",
    "inputs": {
      "blend": {
        "name": "mélange",
        "tooltip": "average : moyenne à poids égal. window : pondération fenêtrée de Hann favorisant chaque passage loin de ses bords de patch. median : médiane par pixel, rejette les passages aberrants."
      },
      "end_percent": {
        "name": "pourcentage_fin",
        "tooltip": "Progression de l’échantillonnage à laquelle le mélange se désactive."
      },
      "model": {
        "name": "modèle"
      },
      "passes": {
        "name": "passes",
        "tooltip": "Nombre de passages par étape contrôlée. 2/4 = fixe. ramp_* : le nombre de passages augmente à mesure que l’échantillonnage approche de la fin (plus de lissage là où les coutures sont les plus visibles)."
      },
      "pattern": {
        "name": "motif",
        "tooltip": "Disposition du décalage. single_shift : un passage sur la grille de patch naturelle + autres décalés. symmetric : tous les passages hors grille, décalages répartis autour de l’origine."
      },
      "start_percent": {
        "name": "pourcentage_début",
        "tooltip": "Progression de l’échantillonnage (0=début, 1=fin) à laquelle le mélange s’active."
      },
      "strength": {
        "name": "force",
        "tooltip": "Interpolation entre la prédiction sur la grille naturelle (0) et le résultat moyenné (1)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HiDreamO1ReferenceImages": {
    "description": "Ajoutez 1 à 10 images de référence au conditionnement, une pour une instruction d’édition ou plusieurs pour une personnalisation orientée sujet.",
    "display_name": "Images de référence HiDream-O1",
    "inputs": {
      "images": {
        "name": "images",
        "tooltip": "Images de référence. 1 image = édition par instruction ; 2-10 images = multi-référence."
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      }
    }
  },
  "HitPawGeneralImageEnhance": {
    "description": "Agrandissez les images basse résolution en super-résolution, éliminez les artefacts et le bruit. Sortie maximale : 32 mégapixels.",
    "display_name": "HitPaw Amélioration Générale d’Image",
    "inputs": {
      "auto_downscale": {
        "name": "réduction_automatique",
        "tooltip": "Réduit automatiquement l’image d’entrée si la sortie dépasse la limite."
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "modèle"
      },
      "upscale_factor": {
        "name": "facteur_d’agrandissement"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HitPawVideoEnhance": {
    "description": "Agrandissez les vidéos basse résolution en haute résolution, éliminez les artefacts et le bruit. Les prix affichés sont par seconde de vidéo.",
    "display_name": "HitPaw Amélioration Vidéo",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "video": {
        "name": "vidéo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Hunyuan3Dv2Conditioning": {
    "display_name": "Hunyuan3Dv2Conditioning",
    "inputs": {
      "clip_vision_output": {
        "name": "sortie_vision_clip"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      }
    }
  },
  "Hunyuan3Dv2ConditioningMultiView": {
    "display_name": "Hunyuan3Dv2ConditioningMultiView",
    "inputs": {
      "back": {
        "name": "arrière"
      },
      "front": {
        "name": "avant"
      },
      "left": {
        "name": "gauche"
      },
      "right": {
        "name": "droite"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      }
    }
  },
  "HunyuanImageToVideo": {
    "display_name": "HunyuanImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "guidance_type": {
        "name": "type_de_guidage"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "positive": {
        "name": "positive"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "HunyuanRefinerLatent": {
    "display_name": "Latent HunyuanRefiner",
    "inputs": {
      "latent": {
        "name": "latent"
      },
      "negative": {
        "name": "négatif"
      },
      "noise_augmentation": {
        "name": "augmentation_du_bruit"
      },
      "positive": {
        "name": "positif"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15ImageToVideo": {
    "display_name": "HunyuanVideo15ImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15LatentUpscaleWithModel": {
    "display_name": "Hunyuan Video 15 Latent Upscale With Model",
    "inputs": {
      "crop": {
        "name": "rogner"
      },
      "height": {
        "name": "hauteur"
      },
      "model": {
        "name": "modèle"
      },
      "samples": {
        "name": "échantillons"
      },
      "upscale_method": {
        "name": "méthode_d_agrandissement"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15SuperResolution": {
    "display_name": "HunyuanVideo15SuperResolution",
    "inputs": {
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "latent": {
        "name": "latent"
      },
      "negative": {
        "name": "négatif"
      },
      "noise_augmentation": {
        "name": "augmentation_du_bruit"
      },
      "positive": {
        "name": "positif"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "HyperTile": {
    "display_name": "HyperTile",
    "inputs": {
      "max_depth": {
        "name": "profondeur_max"
      },
      "model": {
        "name": "modèle"
      },
      "scale_depth": {
        "name": "échelle_profondeur"
      },
      "swap_size": {
        "name": "taille_échange"
      },
      "tile_size": {
        "name": "taille_tuile"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HypernetworkLoader": {
    "display_name": "HypernetworkLoader",
    "inputs": {
      "hypernetwork_name": {
        "name": "nom_hypernetwork"
      },
      "model": {
        "name": "modèle"
      },
      "strength": {
        "name": "force"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "IdeogramV1": {
    "description": "Génère des images de manière synchrone en utilisant le modèle Ideogram V1.\n\nLes liens des images sont disponibles pour une durée limitée ; si vous souhaitez conserver l'image, vous devez la télécharger.",
    "display_name": "Ideogram V1",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Le format d'image pour la génération."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "magic_prompt_option": {
        "name": "magic_prompt_option",
        "tooltip": "Déterminer si MagicPrompt doit être utilisé lors de la génération"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Description de ce qu'il faut exclure de l'image"
      },
      "num_images": {
        "name": "num_images"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite pour la génération d'image"
      },
      "seed": {
        "name": "seed"
      },
      "turbo": {
        "name": "turbo",
        "tooltip": "Activer le mode turbo (génération plus rapide, qualité potentiellement inférieure)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "IdeogramV2": {
    "description": "Génère des images de manière synchrone en utilisant le modèle Ideogram V2.\n\nLes liens vers les images sont disponibles pour une durée limitée ; si vous souhaitez conserver l'image, vous devez la télécharger.",
    "display_name": "Ideogram V2",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Le format d'image pour la génération. Ignoré si la résolution n'est pas définie sur AUTO."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "magic_prompt_option": {
        "name": "magic_prompt_option",
        "tooltip": "Déterminer si MagicPrompt doit être utilisé lors de la génération"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Description de ce qu'il faut exclure de l'image"
      },
      "num_images": {
        "name": "num_images"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite pour la génération d'image"
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "La résolution pour la génération d'image. Si elle n'est pas définie sur AUTO, cela remplace le paramètre aspect_ratio."
      },
      "seed": {
        "name": "seed"
      },
      "style_type": {
        "name": "style_type",
        "tooltip": "Type de style pour la génération (V2 uniquement)"
      },
      "turbo": {
        "name": "turbo",
        "tooltip": "Activer le mode turbo (génération plus rapide, qualité potentiellement inférieure)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "IdeogramV3": {
    "description": "Génère des images de façon synchrone avec le modèle Ideogram V3.\n\nPrend en charge la génération d’images à partir de prompts textuels ainsi que l’édition d’images avec mask.\nLes liens des images sont disponibles pour une durée limitée ; si vous souhaitez conserver l’image, vous devez la télécharger.",
    "display_name": "Ideogram V3",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Le ratio d’aspect pour la génération d’image. Ignoré si la résolution n’est pas réglée sur Auto."
      },
      "character_image": {
        "name": "image_du_personnage",
        "tooltip": "Image à utiliser comme référence de personnage."
      },
      "character_mask": {
        "name": "masque_du_personnage",
        "tooltip": "Masque optionnel pour l'image de référence du personnage."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image",
        "tooltip": "Image de référence optionnelle pour l’édition d’image."
      },
      "magic_prompt_option": {
        "name": "magic_prompt_option",
        "tooltip": "Détermine si MagicPrompt doit être utilisé lors de la génération"
      },
      "mask": {
        "name": "mask",
        "tooltip": "Mask optionnel pour l’inpainting (les zones blanches seront remplacées)"
      },
      "num_images": {
        "name": "num_images"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération ou l’édition d’image"
      },
      "rendering_speed": {
        "name": "rendering_speed",
        "tooltip": "Contrôle le compromis entre la vitesse de génération et la qualité"
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "La résolution pour la génération d’image. Si elle n’est pas réglée sur Auto, cela remplace le paramètre aspect_ratio."
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageAddNoise": {
    "display_name": "Ajout de bruit à l'image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image": {
        "name": "image"
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      },
      "strength": {
        "name": "intensité"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageBatch": {
    "display_name": "Images en lot",
    "inputs": {
      "image1": {
        "name": "image1"
      },
      "image2": {
        "name": "image2"
      }
    }
  },
  "ImageBlend": {
    "display_name": "Mélange d'images",
    "inputs": {
      "blend_factor": {
        "name": "facteur_mélange"
      },
      "blend_mode": {
        "name": "mode_mélange"
      },
      "image1": {
        "name": "image1"
      },
      "image2": {
        "name": "image2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageBlur": {
    "display_name": "Flou d'image",
    "inputs": {
      "blur_radius": {
        "name": "rayon_flou"
      },
      "image": {
        "name": "image"
      },
      "sigma": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageColorToMask": {
    "display_name": "ImageCouleurEnMasque",
    "inputs": {
      "color": {
        "name": "couleur"
      },
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCompare": {
    "description": "Compare deux images côte à côte avec un curseur.",
    "display_name": "Comparaison d’images",
    "inputs": {
      "compare_view": {
        "name": "vue de comparaison"
      },
      "image_a": {
        "name": "image A"
      },
      "image_b": {
        "name": "image B"
      }
    }
  },
  "ImageCompositeMasked": {
    "display_name": "ImageCompositeMasked",
    "inputs": {
      "destination": {
        "name": "destination"
      },
      "mask": {
        "name": "masque"
      },
      "resize_source": {
        "name": "redimensionner_source"
      },
      "source": {
        "name": "source"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCrop": {
    "display_name": "Rogner l'image",
    "inputs": {
      "height": {
        "name": "hauteur"
      },
      "image": {
        "name": "image"
      },
      "width": {
        "name": "largeur"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCropV2": {
    "display_name": "Rogner l'image",
    "inputs": {
      "crop_region": {
        "name": "crop_region"
      },
      "height": {},
      "image": {
        "name": "image"
      },
      "width": {},
      "x": {},
      "y": {}
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageDeduplication": {
    "display_name": "Déduplication d'image",
    "inputs": {
      "images": {
        "name": "images",
        "tooltip": "Liste des images à traiter."
      },
      "similarity_threshold": {
        "name": "seuil_de_similarité",
        "tooltip": "Seuil de similarité (0-1). Plus la valeur est élevée, plus les images sont similaires. Les images au-dessus de ce seuil sont considérées comme des doublons."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Images traitées"
      }
    }
  },
  "ImageFlip": {
    "display_name": "Retournement d'image",
    "inputs": {
      "flip_method": {
        "name": "méthode_de_retournement"
      },
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageFromBatch": {
    "display_name": "ImageDeBatch",
    "inputs": {
      "batch_index": {
        "name": "index_de_lot"
      },
      "image": {
        "name": "image"
      },
      "length": {
        "name": "longueur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageGrid": {
    "display_name": "Grille d'images",
    "inputs": {
      "cell_height": {
        "name": "hauteur_de_cellule",
        "tooltip": "Hauteur de chaque cellule dans la grille."
      },
      "cell_width": {
        "name": "largeur_de_cellule",
        "tooltip": "Largeur de chaque cellule dans la grille."
      },
      "columns": {
        "name": "colonnes",
        "tooltip": "Nombre de colonnes dans la grille."
      },
      "images": {
        "name": "images",
        "tooltip": "Liste des images à traiter."
      },
      "padding": {
        "name": "marge",
        "tooltip": "Marge entre les images."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Images traitées"
      }
    }
  },
  "ImageHistogram": {
    "display_name": "Histogramme d'image",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "name": "rvb",
        "tooltip": null
      },
      "1": {
        "name": "luminance",
        "tooltip": null
      },
      "2": {
        "name": "rouge",
        "tooltip": null
      },
      "3": {
        "name": "vert",
        "tooltip": null
      },
      "4": {
        "name": "bleu",
        "tooltip": null
      }
    }
  },
  "ImageInvert": {
    "display_name": "Inverser l'image",
    "inputs": {
      "image": {
        "name": "image"
      }
    }
  },
  "ImageMergeTileList": {
    "display_name": "Fusionner une liste de tuiles en image",
    "inputs": {
      "final_height": {
        "name": "hauteur_finale"
      },
      "final_width": {
        "name": "largeur_finale"
      },
      "image_list": {
        "name": "liste_d'images"
      },
      "overlap": {
        "name": "chevauchement"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageOnlyCheckpointLoader": {
    "display_name": "Chargeur de points de contrôle uniquement pour image (modèle img2vid)",
    "inputs": {
      "ckpt_name": {
        "name": "nom_ckpt"
      }
    }
  },
  "ImageOnlyCheckpointSave": {
    "display_name": "ImageOnlyCheckpointSave",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "filename_prefix": {
        "name": "préfixe_de_nom_de_fichier"
      },
      "model": {
        "name": "modèle"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "ImagePadForOutpaint": {
    "display_name": "Rembourrage d'image pour la peinture extérieure",
    "inputs": {
      "bottom": {
        "name": "bas"
      },
      "feathering": {
        "name": "adoucissement"
      },
      "image": {
        "name": "image"
      },
      "left": {
        "name": "gauche"
      },
      "right": {
        "name": "droite"
      },
      "top": {
        "name": "haut"
      }
    }
  },
  "ImageQuantize": {
    "display_name": "Quantification d'image",
    "inputs": {
      "colors": {
        "name": "couleurs"
      },
      "dither": {
        "name": "dither"
      },
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageRGBToYUV": {
    "display_name": "ImageRGBToYUV",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "name": "Y",
        "tooltip": null
      },
      "1": {
        "name": "U",
        "tooltip": null
      },
      "2": {
        "name": "V",
        "tooltip": null
      }
    }
  },
  "ImageRotate": {
    "display_name": "Rotation d'image",
    "inputs": {
      "image": {
        "name": "image"
      },
      "rotation": {
        "name": "rotation"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageScale": {
    "display_name": "Agrandir l'image",
    "inputs": {
      "crop": {
        "name": "crop"
      },
      "height": {
        "name": "hauteur"
      },
      "image": {
        "name": "image"
      },
      "upscale_method": {
        "name": "méthode_d'agrandissement"
      },
      "width": {
        "name": "largeur"
      }
    }
  },
  "ImageScaleBy": {
    "display_name": "Agrandir l'image par",
    "inputs": {
      "image": {
        "name": "image"
      },
      "scale_by": {
        "name": "agrandir_par"
      },
      "upscale_method": {
        "name": "méthode_d'agrandissement"
      }
    }
  },
  "ImageScaleToMaxDimension": {
    "display_name": "Redimensionner à la dimension maximale",
    "inputs": {
      "image": {
        "name": "image"
      },
      "largest_size": {
        "name": "taille_maximale"
      },
      "upscale_method": {
        "name": "méthode_d'agrandissement"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageScaleToTotalPixels": {
    "display_name": "Redimensionner l'image en fonction du nombre total de pixels",
    "inputs": {
      "image": {
        "name": "image"
      },
      "megapixels": {
        "name": "mégapixels"
      },
      "resolution_steps": {
        "name": "étapes_de_résolution"
      },
      "upscale_method": {
        "name": "méthode_d'agrandissement"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageSharpen": {
    "display_name": "Affiner l'image",
    "inputs": {
      "alpha": {
        "name": "alpha"
      },
      "image": {
        "name": "image"
      },
      "sharpen_radius": {
        "name": "rayon_d'affûtage"
      },
      "sigma": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageStitch": {
    "description": "\nAssemble image2 à image1 dans la direction spécifiée.\nSi image2 n'est pas fournie, retourne image1 inchangée.\nUn espacement optionnel peut être ajouté entre les images.\n",
    "display_name": "Assemblage d'images",
    "inputs": {
      "direction": {
        "name": "direction"
      },
      "image1": {
        "name": "image1"
      },
      "image2": {
        "name": "image2"
      },
      "match_image_size": {
        "name": "correspondre_taille_image"
      },
      "spacing_color": {
        "name": "espacement_couleur"
      },
      "spacing_width": {
        "name": "espacement_largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageToMask": {
    "display_name": "Convertir Image en Masque",
    "inputs": {
      "channel": {
        "name": "canal"
      },
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageUpscaleWithModel": {
    "display_name": "Agrandir l'Image (à l'aide du Modèle)",
    "inputs": {
      "image": {
        "name": "image"
      },
      "upscale_model": {
        "name": "modèle_d'agrandissement"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageYUVToRGB": {
    "display_name": "ImageYUVToRGB",
    "inputs": {
      "U": {
        "name": "U"
      },
      "V": {
        "name": "V"
      },
      "Y": {
        "name": "Y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "InpaintModelConditioning": {
    "display_name": "InpaintModelConditioning",
    "inputs": {
      "mask": {
        "name": "masque"
      },
      "negative": {
        "name": "négatif"
      },
      "noise_mask": {
        "name": "masque_de_bruit",
        "tooltip": "Ajoutez un masque de bruit au latent pour que l'échantillonnage ne se produise que dans le masque. Peut améliorer les résultats ou complètement les détruire en fonction du modèle."
      },
      "pixels": {
        "name": "pixels"
      },
      "positive": {
        "name": "positive"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positive"
      },
      "1": {
        "name": "négatif"
      },
      "2": {
        "name": "latent"
      }
    }
  },
  "InstructPixToPixConditioning": {
    "display_name": "InstructPixToPixConditioning",
    "inputs": {
      "negative": {
        "name": "négatif"
      },
      "pixels": {
        "name": "pixels"
      },
      "positive": {
        "name": "positive"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "InvertMask": {
    "display_name": "InverserMasque",
    "inputs": {
      "mask": {
        "name": "masque"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "JoinAudioChannels": {
    "description": "Fusionne les canaux audio mono gauche et droit en un audio stéréo.",
    "display_name": "Fusionner les canaux audio",
    "inputs": {
      "audio_left": {
        "name": "audio gauche"
      },
      "audio_right": {
        "name": "audio droit"
      }
    },
    "outputs": {
      "0": {
        "name": "audio",
        "tooltip": null
      }
    }
  },
  "JoinImageWithAlpha": {
    "display_name": "Joindre Image avec Alpha",
    "inputs": {
      "alpha": {
        "name": "alpha"
      },
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "JsonExtractString": {
    "display_name": "Extraire une chaîne du JSON",
    "inputs": {
      "json_string": {
        "name": "json_string"
      },
      "key": {
        "name": "key"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KSampler": {
    "description": "Utilise le modèle fourni, le conditionnement positif et négatif pour débruiter l'image latente.",
    "display_name": "KSampler",
    "inputs": {
      "cfg": {
        "name": "cfg",
        "tooltip": "L'échelle de guidage sans classificateur équilibre la créativité et l'adhérence à l'invite. Des valeurs plus élevées donnent des images correspondant plus étroitement à l'invite, cependant des valeurs trop élevées auront un impact négatif sur la qualité."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "denoise": {
        "name": "denoise",
        "tooltip": "La quantité de débruitage appliquée, des valeurs plus faibles maintiendront la structure de l'image initiale permettant un échantillonnage d'image à image."
      },
      "latent_image": {
        "name": "latent_image",
        "tooltip": "L'image latente à débruiter."
      },
      "model": {
        "name": "model",
        "tooltip": "Le modèle utilisé pour débruiter l'entrée latente."
      },
      "negative": {
        "name": "negative",
        "tooltip": "Le conditionnement décrivant les attributs que vous voulez exclure de l'image."
      },
      "positive": {
        "name": "positive",
        "tooltip": "Le conditionnement décrivant les attributs que vous voulez inclure dans l'image."
      },
      "sampler_name": {
        "name": "sampler_name",
        "tooltip": "L'algorithme utilisé lors de l'échantillonnage, cela peut affecter la qualité, la vitesse et le style de la sortie générée."
      },
      "scheduler": {
        "name": "scheduler",
        "tooltip": "Le planificateur contrôle comment le bruit est progressivement éliminé pour former l'image."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      },
      "steps": {
        "name": "steps",
        "tooltip": "Le nombre d'étapes utilisées dans le processus de débruitage."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le latent débruité."
      }
    }
  },
  "KSamplerAdvanced": {
    "display_name": "KSampler (Avancé)",
    "inputs": {
      "add_noise": {
        "name": "add_noise"
      },
      "cfg": {
        "name": "cfg"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "end_at_step": {
        "name": "end_at_step"
      },
      "latent_image": {
        "name": "latent_image"
      },
      "model": {
        "name": "model"
      },
      "negative": {
        "name": "negative"
      },
      "noise_seed": {
        "name": "noise_seed"
      },
      "positive": {
        "name": "positive"
      },
      "return_with_leftover_noise": {
        "name": "return_with_leftover_noise"
      },
      "sampler_name": {
        "name": "sampler_name"
      },
      "scheduler": {
        "name": "scheduler"
      },
      "start_at_step": {
        "name": "start_at_step"
      },
      "steps": {
        "name": "steps"
      }
    }
  },
  "KSamplerSelect": {
    "display_name": "KSamplerSelect",
    "inputs": {
      "sampler_name": {
        "name": "sampler_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Kandinsky5ImageToVideo": {
    "display_name": "Kandinsky5ImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": "Latent vidéo vide"
      },
      "3": {
        "name": "cond_latent",
        "tooltip": "Images de départ encodées propres, utilisées pour remplacer le début bruité des latents de sortie du modèle"
      }
    }
  },
  "KarrasScheduler": {
    "display_name": "PlanificateurKarras",
    "inputs": {
      "rho": {
        "name": "rho"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "étapes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingAvatarNode": {
    "description": "Générez des vidéos de type diffusion de personnages numériques à partir d'une seule photo et d'un fichier audio.",
    "display_name": "Kling Avatar 2.0",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image": {
        "name": "image",
        "tooltip": "Image de référence de l'avatar. La largeur et la hauteur doivent être d'au moins 300 px. Le rapport d'aspect doit être compris entre 1:2,5 et 2,5:1."
      },
      "mode": {
        "name": "mode"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite optionnelle pour définir les actions, émotions et mouvements de caméra de l'avatar."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats restent non déterministes quel que soit le seed."
      },
      "sound_file": {
        "name": "sound_file",
        "tooltip": "Entrée audio. Doit durer entre 2 et 300 secondes."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingCameraControlI2VNode": {
    "description": "Transformez des images fixes en vidéos cinématographiques avec des mouvements de caméra professionnels qui simulent la cinématographie réelle. Contrôlez les actions de la caméra virtuelle, y compris le zoom, la rotation, le panoramique, l'inclinaison et la vue à la première personne, tout en maintenant la mise au point sur votre image d'origine.",
    "display_name": "Kling Image to Video (Contrôle de la caméra)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "camera_control": {
        "name": "camera_control",
        "tooltip": "Peut être créé à l'aide du nœud Kling Camera Controls. Contrôle le mouvement et l'animation de la caméra pendant la génération de la vidéo."
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Invite textuelle négative"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle positive"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Image de référence - URL ou chaîne encodée en Base64, ne peut pas dépasser 10 Mo, résolution d'au moins 300*300px, ratio d'aspect entre 1:2,5 et 2,5:1. Le Base64 ne doit pas inclure le préfixe data:image."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingCameraControlT2VNode": {
    "description": "Transformez du texte en vidéos cinématographiques avec des mouvements de caméra professionnels qui simulent la cinématographie réelle. Contrôlez les actions de la caméra virtuelle, y compris le zoom, la rotation, le panoramique, l’inclinaison et la vue à la première personne, tout en gardant le focus sur votre texte d’origine.",
    "display_name": "Kling Texte vers Vidéo (Contrôle de Caméra)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "camera_control": {
        "name": "camera_control",
        "tooltip": "Peut être créé à l’aide du nœud Kling Camera Controls. Contrôle le mouvement et l’animation de la caméra pendant la génération de la vidéo."
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Invite de texte négative"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite de texte positive"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingCameraControls": {
    "description": "Permet de spécifier les options de configuration pour les contrôles de la caméra Kling et les effets de contrôle du mouvement.",
    "display_name": "Contrôles de la caméra Kling",
    "inputs": {
      "camera_control_type": {
        "name": "camera_control_type"
      },
      "horizontal_movement": {
        "name": "horizontal_movement",
        "tooltip": "Contrôle le mouvement de la caméra sur l’axe horizontal (axe x). Négatif indique la gauche, positif indique la droite."
      },
      "pan": {
        "name": "pan",
        "tooltip": "Contrôle la rotation de la caméra dans le plan vertical (axe x). Négatif indique une rotation vers le bas, positif indique une rotation vers le haut."
      },
      "roll": {
        "name": "roll",
        "tooltip": "Contrôle la quantité de roulis de la caméra (axe z). Négatif indique un mouvement antihoraire, positif indique un mouvement horaire."
      },
      "tilt": {
        "name": "tilt",
        "tooltip": "Contrôle la rotation de la caméra dans le plan horizontal (axe y). Négatif indique une rotation vers la gauche, positif indique une rotation vers la droite."
      },
      "vertical_movement": {
        "name": "vertical_movement",
        "tooltip": "Contrôle le mouvement de la caméra sur l’axe vertical (axe y). Négatif indique vers le bas, positif indique vers le haut."
      },
      "zoom": {
        "name": "zoom",
        "tooltip": "Contrôle le changement de la longueur focale de la caméra. Négatif indique un champ de vision plus étroit, positif indique un champ de vision plus large."
      }
    },
    "outputs": {
      "0": {
        "name": "camera_control",
        "tooltip": null
      }
    }
  },
  "KlingDualCharacterVideoEffectNode": {
    "description": "Obtenez différents effets spéciaux lors de la génération d'une vidéo en fonction de l'effect_scene. La première image sera positionnée à gauche, la seconde à droite du composite.",
    "display_name": "Effets vidéo à deux personnages Kling",
    "inputs": {
      "duration": {
        "name": "duration"
      },
      "effect_scene": {
        "name": "effect_scene"
      },
      "image_left": {
        "name": "image_left",
        "tooltip": "Image côté gauche"
      },
      "image_right": {
        "name": "image_right",
        "tooltip": "Image côté droit"
      },
      "mode": {
        "name": "mode"
      },
      "model_name": {
        "name": "model_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingFirstLastFrameNode": {
    "description": "Générez des vidéos avec Kling V3 en utilisant la première et la dernière image.",
    "display_name": "Kling 3.0 Première-Dernière-Image en Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée"
      },
      "end_frame": {
        "name": "dernière image"
      },
      "first_frame": {
        "name": "première image"
      },
      "generate_audio": {
        "name": "générer l'audio"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Paramètres du modèle et de la génération."
      },
      "model_resolution": {
        "name": "résolution"
      },
      "prompt": {
        "name": "prompt"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit le seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingImage2VideoNode": {
    "display_name": "Kling Image to Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "duration": {
        "name": "duration"
      },
      "mode": {
        "name": "mode"
      },
      "model_name": {
        "name": "model_name"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Invite textuelle négative"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle positive"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Image de référence - URL ou chaîne encodée en Base64, ne doit pas dépasser 10 Mo, résolution d'au moins 300*300px, ratio d'aspect entre 1:2,5 et 2,5:1. Le Base64 ne doit pas inclure le préfixe data:image."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingImageGenerationNode": {
    "description": "Nœud de génération d'image Kling. Générez une image à partir d'une invite textuelle avec une image de référence optionnelle.",
    "display_name": "Génération d'image Kling",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "human_fidelity": {
        "name": "human_fidelity",
        "tooltip": "Similarité de référence du sujet"
      },
      "image": {
        "name": "image"
      },
      "image_fidelity": {
        "name": "image_fidelity",
        "tooltip": "Intensité de référence pour les images téléchargées par l'utilisateur"
      },
      "image_type": {
        "name": "image_type"
      },
      "model_name": {
        "name": "model_name"
      },
      "n": {
        "name": "n",
        "tooltip": "Nombre d'images générées"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Invite textuelle négative"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle positive"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit le seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingImageToVideoWithAudio": {
    "display_name": "Kling Image (première image) vers vidéo avec audio",
    "inputs": {
      "duration": {
        "name": "durée"
      },
      "generate_audio": {
        "name": "générer_audio"
      },
      "mode": {
        "name": "mode"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite textuelle positive."
      },
      "start_frame": {
        "name": "image_de_départ"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingLipSyncAudioToVideoNode": {
    "description": "Nœud de synchronisation labiale Kling. Synchronise les mouvements de la bouche dans un fichier vidéo avec le contenu audio d’un fichier audio.",
    "display_name": "Synchronisation labiale Kling : Vidéo avec audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "video": {
        "name": "vidéo"
      },
      "voice_language": {
        "name": "langue de la voix"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "id_vidéo",
        "tooltip": null
      },
      "2": {
        "name": "durée",
        "tooltip": null
      }
    }
  },
  "KlingLipSyncTextToVideoNode": {
    "description": "Nœud Kling de synchronisation labiale texte vers vidéo. Synchronise les mouvements de la bouche dans un fichier vidéo avec une invite textuelle.",
    "display_name": "Synchronisation labiale Kling vidéo avec texte",
    "inputs": {
      "text": {
        "name": "texte",
        "tooltip": "Contenu textuel pour la génération de vidéo synchronisée labiale. Requis lorsque le mode est text2video. Longueur maximale : 120 caractères."
      },
      "video": {
        "name": "vidéo"
      },
      "voice": {
        "name": "voix"
      },
      "voice_speed": {
        "name": "vitesse de la voix",
        "tooltip": "Vitesse de la parole. Plage valide : 0,8~2,0, avec une précision d’un chiffre après la virgule."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "id_vidéo",
        "tooltip": null
      },
      "2": {
        "name": "durée",
        "tooltip": null
      }
    }
  },
  "KlingMotionControl": {
    "display_name": "Kling Contrôle du Mouvement",
    "inputs": {
      "character_orientation": {
        "name": "orientation_du_personnage",
        "tooltip": "Contrôle l'origine de l'orientation/position du personnage.\nvidéo : les mouvements, expressions, mouvements de caméra et orientation suivent la vidéo de référence de mouvement (autres détails via l'invite).\nimage : les mouvements et expressions suivent toujours la vidéo de référence de mouvement, mais l'orientation du personnage correspond à l'image de référence (caméra/autres détails via l'invite)."
      },
      "keep_original_sound": {
        "name": "garder_son_original"
      },
      "mode": {
        "name": "mode"
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "invite"
      },
      "reference_image": {
        "name": "image_de_référence"
      },
      "reference_video": {
        "name": "vidéo_de_référence",
        "tooltip": "Vidéo de référence de mouvement utilisée pour piloter le mouvement/l'expression.\nLes limites de durée dépendent de l'orientation_du_personnage :\n - image : 3–10s (max 10s)\n - vidéo : 3–30s (max 30s)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProEditVideoNode": {
    "description": "Éditez une vidéo existante avec le dernier modèle de Kling.",
    "display_name": "Kling Omni Édition Vidéo (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "keep_original_sound": {
        "name": "garder_son_original"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Une invite textuelle décrivant le contenu de la vidéo. Cela peut inclure des descriptions positives et négatives."
      },
      "reference_images": {
        "name": "images_de_référence",
        "tooltip": "Jusqu'à 4 images de référence supplémentaires."
      },
      "resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit le seed."
      },
      "video": {
        "name": "vidéo",
        "tooltip": "Vidéo à éditer. La longueur de la vidéo de sortie sera la même."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProFirstLastFrameNode": {
    "description": "Utilisez une image de départ, une image de fin optionnelle ou des images de référence avec le dernier modèle Kling.",
    "display_name": "Kling Omni Première-Dernière-Image vers Vidéo (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "duration"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Une image de fin optionnelle pour la vidéo. Cela ne peut pas être utilisé en même temps que 'reference_images'."
      },
      "first_frame": {
        "name": "first_frame"
      },
      "generate_audio": {
        "name": "générer l'audio",
        "tooltip": "Générer l'audio pour la vidéo. Pris en charge uniquement pour kling-v3-omni."
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Une invite textuelle décrivant le contenu de la vidéo. Cela peut inclure des descriptions positives et négatives."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Jusqu'à 6 images de référence supplémentaires."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit le seed."
      },
      "storyboards": {
        "name": "storyboards",
        "tooltip": "Générez une série de segments vidéo avec des prompts et des durées individuelles. Pris en charge uniquement pour kling-v3-omni."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProImageNode": {
    "description": "Créez ou modifiez des images avec le dernier modèle de Kling.",
    "display_name": "Kling Omni Image (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Une invite textuelle décrivant le contenu de l'image. Cela peut inclure des descriptions positives et négatives."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Jusqu'à 10 images de référence supplémentaires."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit le seed."
      },
      "series_amount": {
        "name": "nombre de séries",
        "tooltip": "Générez une série d'images. Non pris en charge pour kling-image-o1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProImageToVideoNode": {
    "description": "Utilisez jusqu'à 7 images de référence pour générer une vidéo avec le dernier modèle Kling.",
    "display_name": "Kling Omni Image vers Vidéo (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "générer l'audio",
        "tooltip": "Générer l'audio pour la vidéo. Pris en charge uniquement pour kling-v3-omni."
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Une invite textuelle décrivant le contenu de la vidéo. Cela peut inclure des descriptions positives et négatives."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Jusqu'à 7 images de référence."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit le seed."
      },
      "storyboards": {
        "name": "storyboards",
        "tooltip": "Générez une série de segments vidéo avec des prompts et des durées individuelles. Pris en charge uniquement pour kling-v3-omni."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProTextToVideoNode": {
    "description": "Utilisez des invites textuelles pour générer des vidéos avec le dernier modèle Kling.",
    "display_name": "Kling Omni Texte vers Vidéo (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "générer l'audio"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Une invite textuelle décrivant le contenu de la vidéo. Cela peut inclure des descriptions positives et négatives."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit le seed."
      },
      "storyboards": {
        "name": "storyboards",
        "tooltip": "Générez une série de segments vidéo avec des prompts et des durées individuelles. Ignoré pour le modèle o1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProVideoToVideoNode": {
    "description": "Utilisez une vidéo et jusqu'à 4 images de référence pour générer une vidéo avec le dernier modèle Kling.",
    "display_name": "Kling Omni Vidéo à Vidéo (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "duration"
      },
      "keep_original_sound": {
        "name": "keep_original_sound"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Une invite textuelle décrivant le contenu de la vidéo. Cela peut inclure des descriptions positives et négatives."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Jusqu'à 4 images de référence supplémentaires."
      },
      "reference_video": {
        "name": "reference_video",
        "tooltip": "Vidéo à utiliser comme référence."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit le seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingSingleImageVideoEffectNode": {
    "description": "Obtenez différents effets spéciaux lors de la génération d'une vidéo selon le effect_scene.",
    "display_name": "Effets vidéo Kling",
    "inputs": {
      "duration": {
        "name": "durée"
      },
      "effect_scene": {
        "name": "effect_scene"
      },
      "image": {
        "name": "image",
        "tooltip": "Image de référence. URL ou chaîne encodée en Base64 (sans le préfixe data:image). La taille du fichier ne doit pas dépasser 10 Mo, la résolution ne doit pas être inférieure à 300*300px, le ratio d'aspect doit être compris entre 1:2,5 et 2,5:1"
      },
      "model_name": {
        "name": "model_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "durée",
        "tooltip": null
      }
    }
  },
  "KlingStartEndFrameNode": {
    "description": "Générez une séquence vidéo qui effectue une transition entre les images de début et de fin que vous fournissez. Le nœud crée tous les cadres intermédiaires, produisant une transformation fluide du premier au dernier cadre.",
    "display_name": "Kling Début-Fin Image vers Vidéo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Image de référence - Contrôle de l'image de fin. URL ou chaîne encodée en Base64, ne doit pas dépasser 10 Mo, résolution d'au moins 300*300px. La Base64 ne doit pas inclure le préfixe data:image."
      },
      "mode": {
        "name": "mode",
        "tooltip": "La configuration à utiliser pour la génération vidéo selon le format : mode / durée / nom_du_modèle."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Invite textuelle négative"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle positive"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Image de référence - URL ou chaîne encodée en Base64, ne doit pas dépasser 10 Mo, résolution d'au moins 300*300px, ratio d'aspect entre 1:2.5 et 2.5:1. La Base64 ne doit pas inclure le préfixe data:image."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingTextToVideoNode": {
    "description": "Nœud Kling Texte en Vidéo",
    "display_name": "Kling Texte en Vidéo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "mode": {
        "name": "mode",
        "tooltip": "La configuration à utiliser pour la génération vidéo selon le format : mode / durée / nom_du_modèle."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Invite texte négative"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite texte positive"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingTextToVideoWithAudio": {
    "display_name": "Kling Texte en Vidéo avec 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": "Invite textuelle positive."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingVideoExtendNode": {
    "description": "Nœud Kling Video Extend. Étend les vidéos créées par d'autres nœuds Kling. Le video_id est créé en utilisant d'autres nœuds Kling.",
    "display_name": "Kling Video Extend",
    "inputs": {
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Invite textuelle négative pour les éléments à éviter dans la vidéo étendue"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle positive pour guider l’extension de la vidéo"
      },
      "video_id": {
        "name": "video_id",
        "tooltip": "L’ID de la vidéo à étendre. Prend en charge les vidéos générées par texte-vers-vidéo, image-vers-vidéo et les opérations précédentes d’extension de vidéo. La durée totale ne peut pas dépasser 3 minutes après extension."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingVideoNode": {
    "description": "Générez des vidéos avec Kling V3. Prend en charge le texte-vers-vidéo et l’image-vers-vidéo avec storyboard multi-invite optionnel et génération audio.",
    "display_name": "Kling 3.0 Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "generate_audio": {
        "name": "générer audio"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Paramètres du modèle et de la génération."
      },
      "model_aspect_ratio": {
        "name": "ratio d’aspect"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "multi_shot": {
        "name": "multi_shot",
        "tooltip": "Générez une série de segments vidéo avec des invites et des durées individuelles."
      },
      "multi_shot_duration": {
        "name": "durée"
      },
      "multi_shot_negative_prompt": {
        "name": "invite_négative"
      },
      "multi_shot_prompt": {
        "name": "invite"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit le seed."
      },
      "start_frame": {
        "name": "image de départ",
        "tooltip": "Image de départ optionnelle. Lorsqu’elle est connectée, passe en mode image-vers-vidéo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingVirtualTryOnNode": {
    "description": "Nœud Kling Virtual Try On. Importez une image humaine et une image de vêtement pour essayer le vêtement sur la personne.",
    "display_name": "Kling Virtual Try On",
    "inputs": {
      "cloth_image": {
        "name": "cloth_image"
      },
      "human_image": {
        "name": "human_image"
      },
      "model_name": {
        "name": "model_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXAVTextEncoderLoader": {
    "description": "[Recettes]\n\nltxav : gemma 3 12B",
    "display_name": "Chargeur d'encodeur texte audio LTXV",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name"
      },
      "device": {
        "name": "device"
      },
      "text_encoder": {
        "name": "text_encoder"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVAddGuide": {
    "display_name": "LTXVAddGuide",
    "inputs": {
      "frame_idx": {
        "name": "indice_de_l'image",
        "tooltip": "Indice de l'image pour commencer le conditionnement. Pour les images uniques ou les vidéos de 1 à 8 images, toute valeur d'indice de l'image est acceptable. Pour les vidéos de 9 images ou plus, l'indice de l'image doit être divisible par 8, sinon il sera arrondi à la baisse au multiple de 8 le plus proche. Les valeurs négatives sont comptées à partir de la fin de la vidéo."
      },
      "image": {
        "name": "image",
        "tooltip": "Image ou vidéo pour conditionner la vidéo latente. Doit être 8*n + 1 images. Si la vidéo n'est pas 8*n + 1 images, elle sera coupée au plus proche 8*n + 1 images."
      },
      "latent": {
        "name": "latent"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positive"
      },
      "strength": {
        "name": "force"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAEDecode": {
    "display_name": "Décodage Audio VAE LTXV",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "Le modèle Audio VAE utilisé pour décoder le latent."
      },
      "samples": {
        "name": "samples",
        "tooltip": "Le latent à décoder."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAEEncode": {
    "display_name": "Encodage Audio VAE LTXV",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "L'audio à encoder."
      },
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "Le modèle Audio VAE à utiliser pour l'encodage."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio Latent",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAELoader": {
    "display_name": "Chargeur Audio VAE LTXV",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name",
        "tooltip": "Point de contrôle Audio VAE à charger."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio VAE",
        "tooltip": null
      }
    }
  },
  "LTXVConcatAVLatent": {
    "display_name": "Concaténation AV Latent LTXV",
    "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
      }
    }
  },
  "LTXVCropGuides": {
    "display_name": "LTXVCropGuides",
    "inputs": {
      "latent": {
        "name": "latent"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positive"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "LTXVEmptyLatentAudio": {
    "display_name": "Audio latent vide LTXV",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "Le modèle Audio VAE dont obtenir la configuration."
      },
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Le nombre d'échantillons audio latents dans le lot."
      },
      "frame_rate": {
        "name": "frame_rate",
        "tooltip": "Nombre d'images par seconde."
      },
      "frames_number": {
        "name": "frames_number",
        "tooltip": "Nombre d'images."
      }
    },
    "outputs": {
      "0": {
        "name": "Latent",
        "tooltip": null
      }
    }
  },
  "LTXVImgToVideo": {
    "display_name": "LTXVImgToVideo",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "image": {
        "name": "image"
      },
      "length": {
        "name": "length"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "strength": {
        "name": "force"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "LTXVImgToVideoInplace": {
    "display_name": "LTXVImgToVideoInplace",
    "inputs": {
      "bypass": {
        "name": "contournement",
        "tooltip": "Ignorer le conditionnement."
      },
      "image": {
        "name": "image"
      },
      "latent": {
        "name": "latent"
      },
      "strength": {
        "name": "force"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "LTXVLatentUpsampler": {
    "display_name": "LTXVLatentUpsampler",
    "inputs": {
      "samples": {
        "name": "échantillons"
      },
      "upscale_model": {
        "name": "modèle_d’agrandissement"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "LTXVPreprocess": {
    "display_name": "LTXVPreprocess",
    "inputs": {
      "image": {
        "name": "image"
      },
      "img_compression": {
        "name": "compression_d'image",
        "tooltip": "Quantité de compression à appliquer sur l'image."
      }
    },
    "outputs": {
      "0": {
        "name": "image_de_sortie",
        "tooltip": null
      }
    }
  },
  "LTXVReferenceAudio": {
    "description": "Définir un audio de référence pour le transfert d'identité de locuteur ID-LoRA. Encode un clip audio de référence dans le conditionnement et, en option, applique un guidage d'identité au modèle (passe supplémentaire sans référence, amplifiant l'effet d'identité du locuteur).",
    "display_name": "LTXV Reference Audio (ID-LoRA)",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "LTXV Audio VAE pour l'encodage."
      },
      "end_percent": {
        "name": "pourcentage_fin",
        "tooltip": "Fin de la plage sigma où le guidage d'identité est actif."
      },
      "identity_guidance_scale": {
        "name": "échelle_guidage_identité",
        "tooltip": "Intensité du guidage d'identité. Effectue une passe supplémentaire sans référence à chaque étape pour amplifier l'identité du locuteur. Mettre à 0 pour désactiver (pas de passe supplémentaire)."
      },
      "model": {
        "name": "modèle"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "reference_audio": {
        "name": "audio_de_référence",
        "tooltip": "Clip audio de référence dont l'identité du locuteur sera transférée. ~5 secondes recommandées (durée d'entraînement). Des clips plus courts ou plus longs peuvent dégrader le transfert d'identité vocale."
      },
      "start_percent": {
        "name": "pourcentage_début",
        "tooltip": "Début de la plage sigma où le guidage d'identité est actif."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "positif",
        "tooltip": null
      },
      "2": {
        "name": "négatif",
        "tooltip": null
      }
    }
  },
  "LTXVScheduler": {
    "display_name": "LTXVScheduler",
    "inputs": {
      "base_shift": {
        "name": "décalage_base"
      },
      "latent": {
        "name": "latent"
      },
      "max_shift": {
        "name": "décalage_max"
      },
      "steps": {
        "name": "étapes"
      },
      "stretch": {
        "name": "étirement",
        "tooltip": "Étirez les sigmas pour être dans la plage [terminal, 1]."
      },
      "terminal": {
        "name": "terminal",
        "tooltip": "La valeur terminale des sigmas après étirement."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVSeparateAVLatent": {
    "description": "LTXV Séparer AV Latent",
    "display_name": "LTXVSeparateAVLatent",
    "inputs": {
      "av_latent": {
        "name": "av_latent"
      }
    },
    "outputs": {
      "0": {
        "name": "latent_vidéo",
        "tooltip": null
      },
      "1": {
        "name": "latent_audio",
        "tooltip": null
      }
    }
  },
  "LaplaceScheduler": {
    "display_name": "LaplaceScheduler",
    "inputs": {
      "beta": {
        "name": "beta"
      },
      "mu": {
        "name": "mu"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "steps"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentAdd": {
    "display_name": "LatentAdd",
    "inputs": {
      "samples1": {
        "name": "samples1"
      },
      "samples2": {
        "name": "samples2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentApplyOperation": {
    "display_name": "LatentApplyOperation",
    "inputs": {
      "operation": {
        "name": "operation"
      },
      "samples": {
        "name": "samples"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentApplyOperationCFG": {
    "display_name": "LatentApplyOperationCFG",
    "inputs": {
      "model": {
        "name": "model"
      },
      "operation": {
        "name": "operation"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBatch": {
    "display_name": "LatentBatch",
    "inputs": {
      "samples1": {
        "name": "échantillons1"
      },
      "samples2": {
        "name": "échantillons2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBatchSeedBehavior": {
    "display_name": "Comportement de la Graine LatentBatch",
    "inputs": {
      "samples": {
        "name": "échantillons"
      },
      "seed_behavior": {
        "name": "comportement_de_graine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBlend": {
    "display_name": "Mélange Latent",
    "inputs": {
      "blend_factor": {
        "name": "facteur_de_mélange"
      },
      "samples1": {
        "name": "échantillons1"
      },
      "samples2": {
        "name": "échantillons2"
      }
    }
  },
  "LatentComposite": {
    "display_name": "Composite Latent",
    "inputs": {
      "feather": {
        "name": "plume"
      },
      "samples_from": {
        "name": "échantillons_de"
      },
      "samples_to": {
        "name": "échantillons_vers"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "LatentCompositeMasked": {
    "display_name": "Composite Latent Masqué",
    "inputs": {
      "destination": {
        "name": "destination"
      },
      "mask": {
        "name": "masque"
      },
      "resize_source": {
        "name": "redimensionner_source"
      },
      "source": {
        "name": "source"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentConcat": {
    "display_name": "ConcaténationLatente",
    "inputs": {
      "dim": {
        "name": "dim"
      },
      "samples1": {
        "name": "échantillons1"
      },
      "samples2": {
        "name": "échantillons2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentCrop": {
    "display_name": "Couper Latent",
    "inputs": {
      "height": {
        "name": "hauteur"
      },
      "samples": {
        "name": "échantillons"
      },
      "width": {
        "name": "largeur"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "LatentCut": {
    "display_name": "CoupeLatente",
    "inputs": {
      "amount": {
        "name": "quantité"
      },
      "dim": {
        "name": "dim"
      },
      "index": {
        "name": "index"
      },
      "samples": {
        "name": "échantillons"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentCutToBatch": {
    "display_name": "LatentCutToBatch",
    "inputs": {
      "dim": {
        "name": "dim"
      },
      "samples": {
        "name": "samples"
      },
      "slice_size": {
        "name": "slice_size"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentFlip": {
    "display_name": "Retourner Latent",
    "inputs": {
      "flip_method": {
        "name": "méthode_de_retournement"
      },
      "samples": {
        "name": "échantillons"
      }
    }
  },
  "LatentFromBatch": {
    "display_name": "Latent De Batch",
    "inputs": {
      "batch_index": {
        "name": "index_de_batch"
      },
      "length": {
        "name": "longueur"
      },
      "samples": {
        "name": "échantillons"
      }
    }
  },
  "LatentInterpolate": {
    "display_name": "Interpoler Latent",
    "inputs": {
      "ratio": {
        "name": "ratio"
      },
      "samples1": {
        "name": "échantillons1"
      },
      "samples2": {
        "name": "échantillons2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentMultiply": {
    "display_name": "Multiplier Latent",
    "inputs": {
      "multiplier": {
        "name": "multiplicateur"
      },
      "samples": {
        "name": "échantillons"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentOperationSharpen": {
    "display_name": "Opération d'Affûtage Latent",
    "inputs": {
      "alpha": {
        "name": "alpha"
      },
      "sharpen_radius": {
        "name": "rayon_d'affûtage"
      },
      "sigma": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentOperationTonemapReinhard": {
    "display_name": "Opération de Mappage de Tons Reinhard Latent",
    "inputs": {
      "multiplier": {
        "name": "multiplicateur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentRotate": {
    "display_name": "Tourner Latent",
    "inputs": {
      "rotation": {
        "name": "rotation"
      },
      "samples": {
        "name": "échantillons"
      }
    }
  },
  "LatentSubtract": {
    "display_name": "Soustraction Latente",
    "inputs": {
      "samples1": {
        "name": "samples1"
      },
      "samples2": {
        "name": "samples2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentUpscale": {
    "display_name": "Mise à l'échelle Latente",
    "inputs": {
      "crop": {
        "name": "recadrage"
      },
      "height": {
        "name": "hauteur"
      },
      "samples": {
        "name": "samples"
      },
      "upscale_method": {
        "name": "méthode_de_mise_à_l'échelle"
      },
      "width": {
        "name": "largeur"
      }
    }
  },
  "LatentUpscaleBy": {
    "display_name": "Mise à l'échelle Latente Par",
    "inputs": {
      "samples": {
        "name": "samples"
      },
      "scale_by": {
        "name": "mise_à_l'échelle_par"
      },
      "upscale_method": {
        "name": "méthode_de_mise_à_l'échelle"
      }
    }
  },
  "LatentUpscaleModelLoader": {
    "display_name": "Charger le Modèle d'Agrandissement Latent",
    "inputs": {
      "model_name": {
        "name": "model_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LazyCache": {
    "description": "Une version maison d'EasyCache - une version encore 'plus facile' d'EasyCache à implémenter. Fonctionne globalement moins bien qu'EasyCache, mais mieux dans certains cas rares ET une compatibilité universelle avec tout dans ComfyUI.",
    "display_name": "CacheParesseux",
    "inputs": {
      "end_percent": {
        "name": "pourcentage_fin",
        "tooltip": "L'étape d'échantillonnage relative pour terminer l'utilisation de CacheParesseux."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle auquel ajouter CacheParesseux."
      },
      "reuse_threshold": {
        "name": "seuil_réutilisation",
        "tooltip": "Le seuil pour réutiliser les étapes mises en cache."
      },
      "start_percent": {
        "name": "pourcentage_début",
        "tooltip": "L'étape d'échantillonnage relative pour commencer l'utilisation de CacheParesseux."
      },
      "verbose": {
        "name": "verbeux",
        "tooltip": "Indique s'il faut enregistrer des informations détaillées."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le modèle avec CacheParesseux."
      }
    }
  },
  "Load3D": {
    "display_name": "Charger 3D",
    "inputs": {
      "clear": {},
      "height": {
        "name": "hauteur"
      },
      "image": {
        "name": "image"
      },
      "model_file": {
        "name": "fichier_modèle"
      },
      "upload 3d model": {},
      "upload extra resources": {},
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "image",
        "tooltip": null
      },
      "1": {
        "name": "mask",
        "tooltip": null
      },
      "2": {
        "name": "mesh_path",
        "tooltip": null
      },
      "3": {
        "name": "normal",
        "tooltip": null
      },
      "4": {
        "name": "camera_info",
        "tooltip": null
      },
      "5": {
        "name": "recording_video",
        "tooltip": null
      },
      "6": {
        "name": "model_3d",
        "tooltip": null
      }
    }
  },
  "LoadAudio": {
    "display_name": "ChargerAudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "upload": {
        "name": "choisissez le fichier à télécharger"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadBackgroundRemovalModel": {
    "display_name": "Charger le modèle de suppression d’arrière-plan",
    "inputs": {
      "bg_removal_name": {
        "name": "nom_du_modèle_de_suppression_arrière-plan",
        "tooltip": "Le modèle utilisé pour supprimer les arrière-plans des images"
      }
    },
    "outputs": {
      "0": {
        "name": "modèle_bg",
        "tooltip": null
      }
    }
  },
  "LoadImage": {
    "display_name": "Charger Image",
    "inputs": {
      "image": {
        "name": "image"
      },
      "upload": {
        "name": "choisissez le fichier à télécharger"
      }
    }
  },
  "LoadImageDataSetFromFolder": {
    "display_name": "Charger un Jeu de Données d'Images depuis un Dossier",
    "inputs": {
      "folder": {
        "name": "folder",
        "tooltip": "Le dossier depuis lequel charger les images."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Liste des images chargées"
      }
    }
  },
  "LoadImageMask": {
    "display_name": "Charger Image (comme Masque)",
    "inputs": {
      "channel": {
        "name": "canal"
      },
      "image": {
        "name": "image"
      },
      "upload": {
        "name": "choisissez le fichier à télécharger"
      }
    }
  },
  "LoadImageOutput": {
    "description": "Chargez une image à partir du dossier de sortie. Lorsque le bouton de rafraîchissement est cliqué, le nœud mettra à jour la liste des images et sélectionnera automatiquement la première image, permettant une itération facile.",
    "display_name": "Charger l'image (à partir des sorties)",
    "inputs": {
      "Auto-refresh after generation": {},
      "image": {
        "name": "image"
      },
      "refresh": {},
      "upload": {
        "name": "choisissez le fichier à télécharger"
      }
    }
  },
  "LoadImageTextDataSetFromFolder": {
    "display_name": "Charger un Jeu de Données Images et Textes depuis un Dossier",
    "inputs": {
      "folder": {
        "name": "folder",
        "tooltip": "Le dossier depuis lequel charger les images."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Liste des images chargées"
      },
      "1": {
        "name": "texts",
        "tooltip": "Liste des légendes textuelles"
      }
    }
  },
  "LoadLatent": {
    "display_name": "ChargerLatent",
    "inputs": {
      "latent": {
        "name": "latent"
      }
    }
  },
  "LoadTrainingDataset": {
    "display_name": "Charger le jeu de données d'entraînement",
    "inputs": {
      "folder_name": {
        "name": "folder_name",
        "tooltip": "Nom du dossier contenant le jeu de données sauvegardé (dans le répertoire de sortie)."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "Liste de dictionnaires latents"
      },
      "1": {
        "name": "conditioning",
        "tooltip": "Liste de listes de conditionnement"
      }
    }
  },
  "LoadVideo": {
    "display_name": "Charger une vidéo",
    "inputs": {
      "file": {
        "name": "fichier"
      },
      "upload": {
        "name": "choisir un fichier à télécharger"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoraLoader": {
    "description": "Les LoRAs sont utilisés pour modifier les modèles de diffusion et CLIP, modifiant la manière dont les latents sont débruités comme l'application de styles. Plusieurs nœuds LoRA peuvent être liés ensemble.",
    "display_name": "Charger LoRA",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Le modèle CLIP auquel le LoRA sera appliqué."
      },
      "lora_name": {
        "name": "lora_name",
        "tooltip": "Le nom du LoRA."
      },
      "model": {
        "name": "model",
        "tooltip": "Le modèle de diffusion auquel le LoRA sera appliqué."
      },
      "strength_clip": {
        "name": "strength_clip",
        "tooltip": "À quel point modifier le modèle CLIP. Cette valeur peut être négative."
      },
      "strength_model": {
        "name": "strength_model",
        "tooltip": "À quel point modifier le modèle de diffusion. Cette valeur peut être négative."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le modèle de diffusion modifié."
      },
      "1": {
        "tooltip": "Le modèle CLIP modifié."
      }
    }
  },
  "LoraLoaderBypass": {
    "description": "Appliquer LoRA en mode bypass. Contrairement à LoRA classique, cela ne modifie pas les poids du modèle - à la place, le calcul LoRA est injecté lors du passage avant. Utile pour les scénarios d'entraînement.",
    "display_name": "Charger LoRA (Bypass) (Pour le débogage)",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Le modèle CLIP auquel le LoRA sera appliqué."
      },
      "lora_name": {
        "name": "lora_name",
        "tooltip": "Le nom du LoRA."
      },
      "model": {
        "name": "model",
        "tooltip": "Le modèle de diffusion auquel le LoRA sera appliqué."
      },
      "strength_clip": {
        "name": "strength_clip",
        "tooltip": "Intensité de modification du modèle CLIP. Cette valeur peut être négative."
      },
      "strength_model": {
        "name": "strength_model",
        "tooltip": "Intensité de modification du modèle de diffusion. Cette valeur peut être négative."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le modèle de diffusion modifié."
      },
      "1": {
        "tooltip": "Le modèle CLIP modifié."
      }
    }
  },
  "LoraLoaderBypassModelOnly": {
    "description": "Appliquer LoRA en mode bypass. Contrairement à LoRA classique, cela ne modifie pas les poids du modèle - à la place, le calcul LoRA est injecté lors du passage avant. Utile pour les scénarios d'entraînement.",
    "display_name": "Charger LoRA (Bypass, Modèle Seulement) (pour le débogage)",
    "inputs": {
      "lora_name": {
        "name": "lora_name"
      },
      "model": {
        "name": "model"
      },
      "strength_model": {
        "name": "strength_model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le modèle de diffusion modifié."
      }
    }
  },
  "LoraLoaderModelOnly": {
    "description": "Les LoRAs sont utilisés pour modifier les modèles de diffusion et CLIP, modifiant la manière dont les latents sont débruités comme l'application de styles. Plusieurs nœuds LoRA peuvent être liés ensemble.",
    "display_name": "LoraLoaderModelOnly",
    "inputs": {
      "lora_name": {
        "name": "lora_name"
      },
      "model": {
        "name": "model"
      },
      "strength_model": {
        "name": "strength_model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le modèle de diffusion modifié."
      }
    }
  },
  "LoraModelLoader": {
    "display_name": "Charger le modèle LoRA",
    "inputs": {
      "bypass": {
        "name": "bypass",
        "tooltip": "Lorsqu'il est activé, applique LoRA en mode bypass sans modifier les poids du modèle de base. Utile pour l'entraînement et lorsque les poids du modèle sont déchargés."
      },
      "lora": {
        "name": "lora",
        "tooltip": "Le modèle LoRA à appliquer au modèle de diffusion."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle de diffusion auquel le LoRA sera appliqué."
      },
      "strength_model": {
        "name": "intensité_modèle",
        "tooltip": "Intensité de modification du modèle de diffusion. Cette valeur peut être négative."
      }
    },
    "outputs": {
      "0": {
        "name": "model",
        "tooltip": "Le modèle de diffusion modifié."
      }
    }
  },
  "LoraSave": {
    "display_name": "Extraire et Sauvegarder Lora",
    "inputs": {
      "bias_diff": {
        "name": "bias_diff"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "lora_type": {
        "name": "lora_type"
      },
      "model_diff": {
        "name": "model_diff",
        "tooltip": "La sortie ModelSubtract à convertir en lora."
      },
      "rank": {
        "name": "rank"
      },
      "text_encoder_diff": {
        "name": "text_encoder_diff",
        "tooltip": "La sortie CLIPSubtract à convertir en lora."
      }
    }
  },
  "LossGraphNode": {
    "display_name": "Tracer le graphique de perte",
    "inputs": {
      "filename_prefix": {
        "name": "préfixe_nom_fichier",
        "tooltip": "Préfixe pour l'image du graphique de perte sauvegardée."
      },
      "loss": {
        "name": "perte",
        "tooltip": "Carte de perte provenant du nœud d'entraînement."
      }
    }
  },
  "LotusConditioning": {
    "display_name": "LotusConditioning",
    "outputs": {
      "0": {
        "name": "conditionnement",
        "tooltip": null
      }
    }
  },
  "LtxvApiImageToVideo": {
    "description": "Vidéos de qualité professionnelle avec durée et résolution personnalisables basées sur l'image de départ.",
    "display_name": "LTXV Image vers Vidéo",
    "inputs": {
      "duration": {
        "name": "durée"
      },
      "fps": {
        "name": "ips"
      },
      "generate_audio": {
        "name": "générer_audio",
        "tooltip": "Lorsque activé, la vidéo générée inclura un audio généré par IA correspondant à la scène."
      },
      "image": {
        "name": "image",
        "tooltip": "Première image à utiliser pour la vidéo."
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "prompt"
      },
      "resolution": {
        "name": "résolution"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LtxvApiTextToVideo": {
    "description": "Vidéos de qualité professionnelle avec durée et résolution personnalisables.",
    "display_name": "LTXV Texte vers Vidéo",
    "inputs": {
      "duration": {
        "name": "durée"
      },
      "fps": {
        "name": "ips"
      },
      "generate_audio": {
        "name": "générer_audio",
        "tooltip": "Lorsque activé, la vidéo générée inclura un audio généré par IA correspondant à la scène."
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "prompt"
      },
      "resolution": {
        "name": "résolution"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaConceptsNode": {
    "description": "Contient un ou plusieurs Concepts de Caméra à utiliser avec les nœuds Luma Text to Video et Luma Image to Video.",
    "display_name": "Luma Concepts",
    "inputs": {
      "concept1": {
        "name": "concept1"
      },
      "concept2": {
        "name": "concept2"
      },
      "concept3": {
        "name": "concept3"
      },
      "concept4": {
        "name": "concept4"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Concepts de Caméra optionnels à ajouter à ceux sélectionnés ici."
      }
    },
    "outputs": {
      "0": {
        "name": "luma_concepts",
        "tooltip": null
      }
    }
  },
  "LumaImageEditNode2": {
    "description": "Modifiez une image existante avec une invite textuelle en utilisant le modèle Luma UNI-1.",
    "display_name": "Luma UNI-1 Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser pour la modification."
      },
      "model_style": {
        "name": "style"
      },
      "model_web_search": {
        "name": "recherche_web"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Description de la modification souhaitée. 1 à 6000 caractères."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit la graine."
      },
      "source": {
        "name": "source",
        "tooltip": "Image source à modifier."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageModifyNode": {
    "description": "Modifie les images de manière synchrone en fonction du prompt et du format d'image.",
    "display_name": "Luma Image vers Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image": {
        "name": "image"
      },
      "image_weight": {
        "name": "poids de l'image",
        "tooltip": "Poids de l'image ; plus la valeur est proche de 1.0, moins l'image sera modifiée."
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération d'image"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels sont non déterministes quel que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageNode": {
    "description": "Génère des images de manière synchrone à partir d'une invite et d'un ratio d'aspect.",
    "display_name": "Luma Texte vers Image",
    "inputs": {
      "aspect_ratio": {
        "name": "ratio_d'aspect"
      },
      "character_image": {
        "name": "image_de_personnage",
        "tooltip": "Images de référence de personnage ; peut être un lot de plusieurs, jusqu'à 4 images peuvent être prises en compte."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image_luma_ref": {
        "name": "référence_image_luma",
        "tooltip": "Connexion au nœud de référence Luma pour influencer la génération avec des images d'entrée ; jusqu'à 4 images peuvent être prises en compte."
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite pour la génération d'image"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels restent non déterministes, quelle que soit la graine."
      },
      "style_image": {
        "name": "image_de_style",
        "tooltip": "Image de référence de style ; seule 1 image sera utilisée."
      },
      "style_image_weight": {
        "name": "poids_image_de_style",
        "tooltip": "Poids de l'image de style. Ignoré si aucune image de style n'est fournie."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageNode2": {
    "description": "Générez des images à partir de texte en utilisant le modèle Luma UNI-1.",
    "display_name": "Luma UNI-1 Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser pour la génération."
      },
      "model_aspect_ratio": {
        "name": "rapport_d’aspect"
      },
      "model_style": {
        "name": "style"
      },
      "model_web_search": {
        "name": "recherche_web"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Description textuelle de l’image souhaitée. 1 à 6000 caractères."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageToVideoNode": {
    "description": "Génère des vidéos de manière synchrone à partir d'un prompt, d'images d'entrée et de la taille de sortie.",
    "display_name": "Luma Image to Video",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée"
      },
      "first_image": {
        "name": "première_image",
        "tooltip": "Première image de la vidéo générée."
      },
      "last_image": {
        "name": "dernière_image",
        "tooltip": "Dernière image de la vidéo générée."
      },
      "loop": {
        "name": "boucle"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Concepts de caméra optionnels pour dicter le mouvement de la caméra via le nœud Luma Concepts."
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération de la vidéo"
      },
      "resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed pour déterminer si le nœud doit être relancé ; les résultats réels restent non déterministes quel que soit le seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaReferenceNode": {
    "description": "Contient une image et un poids à utiliser avec le nœud Luma Générer Image.",
    "display_name": "Référence Luma",
    "inputs": {
      "image": {
        "name": "image",
        "tooltip": "Image à utiliser comme référence."
      },
      "luma_ref": {
        "name": "luma_ref"
      },
      "weight": {
        "name": "poids",
        "tooltip": "Poids de la référence d'image."
      }
    },
    "outputs": {
      "0": {
        "name": "luma_ref",
        "tooltip": null
      }
    }
  },
  "LumaVideoNode": {
    "description": "Génère des vidéos de manière synchrone à partir du prompt et de la taille de sortie.",
    "display_name": "Luma Texte vers Vidéo",
    "inputs": {
      "aspect_ratio": {
        "name": "rapport d'aspect"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée"
      },
      "loop": {
        "name": "boucle"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Concepts de caméra optionnels pour dicter le mouvement de la caméra via le nœud Luma Concepts."
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération de la vidéo"
      },
      "resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels restent non déterministes quelle que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageRelightNode": {
    "description": "Reluminez une image avec des ajustements de lumière et un transfert de lumière basé sur une référence en option.",
    "display_name": "Magnific Relumination d’Image",
    "inputs": {
      "advanced_settings": {
        "name": "advanced_settings",
        "tooltip": "Options de réglage fin pour un contrôle avancé de l’éclairage."
      },
      "change_background": {
        "name": "change_background",
        "tooltip": "Modifie l’arrière-plan selon le prompt/la référence."
      },
      "image": {
        "name": "image",
        "tooltip": "L’image à reluminer."
      },
      "interpolate_from_original": {
        "name": "interpolate_from_original",
        "tooltip": "Restreint la liberté de génération pour correspondre davantage à l’original."
      },
      "light_transfer_strength": {
        "name": "light_transfer_strength",
        "tooltip": "Intensité de l’application du transfert de lumière."
      },
      "preserve_details": {
        "name": "preserve_details",
        "tooltip": "Préserve la texture et les détails fins de l’original."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Instructions descriptives pour l’éclairage. Prend en charge la notation d’emphase (1-1.4)."
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "Image de référence optionnelle pour transférer la lumière."
      },
      "style": {
        "name": "style",
        "tooltip": "Préférence stylistique de sortie."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageSkinEnhancerNode": {
    "description": "Amélioration de la peau pour les portraits avec plusieurs modes de traitement.",
    "display_name": "Magnific Améliorateur de Peau d’Image",
    "inputs": {
      "image": {
        "name": "image",
        "tooltip": "Le portrait à améliorer."
      },
      "mode": {
        "name": "mode",
        "tooltip": "Mode de traitement : créatif pour une amélioration artistique, fidèle pour préserver l’apparence originale, flexible pour une optimisation ciblée."
      },
      "sharpen": {
        "name": "sharpen",
        "tooltip": "Niveau d’intensité de la netteté."
      },
      "smart_grain": {
        "name": "smart_grain",
        "tooltip": "Niveau d’intensité du grain intelligent."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageStyleTransferNode": {
    "description": "Transférez le style d'une image de référence vers votre image d'entrée.",
    "display_name": "Transfert de style d'image Magnific",
    "inputs": {
      "engine": {
        "name": "engine",
        "tooltip": "Sélection du moteur de traitement."
      },
      "fixed_generation": {
        "name": "fixed_generation",
        "tooltip": "Lorsque désactivé, chaque génération introduit un certain degré d'aléatoire, produisant des résultats plus variés."
      },
      "flavor": {
        "name": "flavor",
        "tooltip": "Type de transfert de style."
      },
      "image": {
        "name": "image",
        "tooltip": "L'image à laquelle appliquer le transfert de style."
      },
      "portrait_mode": {
        "name": "portrait_mode",
        "tooltip": "Activer le mode portrait pour les améliorations du visage."
      },
      "prompt": {
        "name": "prompt"
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "L'image de référence dont extraire le style."
      },
      "structure_strength": {
        "name": "structure_strength",
        "tooltip": "Préserve la structure de l'image originale."
      },
      "style_strength": {
        "name": "style_strength",
        "tooltip": "Pourcentage d'intensité du style."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageUpscalerCreativeNode": {
    "description": "Amélioration guidée par prompt, stylisation et agrandissement 2x/4x/8x/16x. Sortie maximale : 25,3 mégapixels.",
    "display_name": "Magnific Image Upscale (Creative)",
    "inputs": {
      "auto_downscale": {
        "name": "réduction automatique",
        "tooltip": "Réduit automatiquement l’image d’entrée si la sortie dépasse la limite maximale de pixels."
      },
      "creativity": {
        "name": "créativité"
      },
      "engine": {
        "name": "moteur"
      },
      "fractality": {
        "name": "fractalité",
        "tooltip": "La force du prompt et la complexité par pixel carré."
      },
      "hdr": {
        "name": "hdr",
        "tooltip": "Le niveau de définition et de détail."
      },
      "image": {
        "name": "image"
      },
      "optimized_for": {
        "name": "optimisé pour"
      },
      "prompt": {
        "name": "prompt"
      },
      "resemblance": {
        "name": "ressemblance",
        "tooltip": "Le niveau de ressemblance avec l’image originale."
      },
      "scale_factor": {
        "name": "facteur d’agrandissement"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageUpscalerPreciseV2Node": {
    "description": "Agrandissement haute fidélité avec contrôle précis de la netteté, du grain et des détails. Sortie maximale : 10060×10060 pixels.",
    "display_name": "Magnific Image Upscale (Precise V2)",
    "inputs": {
      "auto_downscale": {
        "name": "réduction automatique",
        "tooltip": "Réduit automatiquement l’image d’entrée si la sortie dépasse la résolution maximale."
      },
      "flavor": {
        "name": "style",
        "tooltip": "Style de traitement : sublime pour un usage général, photo pour les photographies, photo_denoiser pour les photos bruitées."
      },
      "image": {
        "name": "image"
      },
      "scale_factor": {
        "name": "facteur d’agrandissement"
      },
      "sharpen": {
        "name": "netteté",
        "tooltip": "Intensité de la netteté de l’image. Des valeurs plus élevées augmentent la définition des contours et la clarté."
      },
      "smart_grain": {
        "name": "grain intelligent",
        "tooltip": "Amélioration intelligente du grain/de la texture pour éviter que l’image ne paraisse trop lisse ou artificielle."
      },
      "ultra_detail": {
        "name": "ultra-détail",
        "tooltip": "Contrôle les détails fins, les textures et les micro-détails ajoutés lors de l’agrandissement."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Mahiro": {
    "description": "Modifiez le guidage pour qu'il se concentre davantage sur la 'direction' de l'invite positive plutôt que sur la différence avec l'invite négative.",
    "display_name": "Mahiro est si mignonne qu'elle mérite une meilleure fonction de guidage!! (。・ω・。)",
    "inputs": {
      "model": {
        "name": "modèle"
      }
    },
    "outputs": {
      "0": {
        "name": "modèle_modifié",
        "tooltip": null
      }
    }
  },
  "MakeTrainingDataset": {
    "display_name": "Créer un jeu de données d’entraînement",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Modèle CLIP pour encoder le texte en conditionnement."
      },
      "images": {
        "name": "images",
        "tooltip": "Liste d’images à encoder."
      },
      "texts": {
        "name": "textes",
        "tooltip": "Liste de légendes textuelles. Peut être de longueur n (correspondant aux images), 1 (répété pour tous), ou omis (utilise une chaîne vide)."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Modèle VAE pour encoder les images en latents."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "Liste de dictionnaires latents"
      },
      "1": {
        "name": "conditionnement",
        "tooltip": "Liste de listes de conditionnement"
      }
    }
  },
  "ManualSigmas": {
    "display_name": "Sigmas manuels",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MaskComposite": {
    "display_name": "MaskComposite",
    "inputs": {
      "destination": {
        "name": "destination"
      },
      "operation": {
        "name": "opération"
      },
      "source": {
        "name": "source"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MaskPreview": {
    "description": "Enregistre les images d'entrée dans votre répertoire de sortie ComfyUI.",
    "display_name": "MaskPreview",
    "inputs": {
      "mask": {
        "name": "mask"
      }
    }
  },
  "MaskToImage": {
    "display_name": "Convertir le masque en image",
    "inputs": {
      "mask": {
        "name": "masque"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MergeImageLists": {
    "display_name": "Fusionner les listes d’images",
    "inputs": {
      "images": {
        "name": "images",
        "tooltip": "Liste d’images à traiter."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Images traitées"
      }
    }
  },
  "MergeTextLists": {
    "display_name": "Fusionner les listes de textes",
    "inputs": {
      "texts": {
        "name": "textes",
        "tooltip": "Liste de textes à traiter."
      }
    },
    "outputs": {
      "0": {
        "name": "textes",
        "tooltip": "Textes traités"
      }
    }
  },
  "MeshyAnimateModelNode": {
    "description": "Appliquez une action d’animation spécifique à un personnage déjà riggé.",
    "display_name": "Meshy : Animer le modèle",
    "inputs": {
      "action_id": {
        "name": "action_id",
        "tooltip": "Visitez https://docs.meshy.ai/en/api/animation-library pour la liste des valeurs disponibles."
      },
      "rig_task_id": {
        "name": "rig_task_id"
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyImageToModelNode": {
    "display_name": "Meshy : Image vers modèle",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "pose_mode": {
        "name": "pose_mode",
        "tooltip": "Spécifiez le mode de pose pour le modèle généré."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats restent non déterministes quel que soit le seed."
      },
      "should_remesh": {
        "name": "should_remesh",
        "tooltip": "Si défini sur faux, retourne un maillage triangulaire non traité."
      },
      "should_remesh_target_polycount": {
        "name": "target_polycount"
      },
      "should_remesh_topology": {
        "name": "topology"
      },
      "should_texture": {
        "name": "should_texture",
        "tooltip": "Détermine si des textures sont générées. Si défini sur faux, la phase de texturage est ignorée et un maillage sans textures est retourné."
      },
      "should_texture_enable_pbr": {
        "name": "enable_pbr"
      },
      "should_texture_texture_prompt": {
        "name": "texture_prompt"
      },
      "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
      }
    }
  },
  "MeshyMultiImageToModelNode": {
    "display_name": "Meshy : Multi-image vers modèle",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "images": {
        "name": "images"
      },
      "model": {
        "name": "model"
      },
      "pose_mode": {
        "name": "pose_mode",
        "tooltip": "Spécifiez le mode de pose pour le modèle généré."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats restent non déterministes quel que soit le seed."
      },
      "should_remesh": {
        "name": "should_remesh",
        "tooltip": "Si défini sur faux, retourne un maillage triangulaire non traité."
      },
      "should_remesh_target_polycount": {
        "name": "target_polycount"
      },
      "should_remesh_topology": {
        "name": "topology"
      },
      "should_texture": {
        "name": "should_texture",
        "tooltip": "Détermine si des textures sont générées. Si défini sur faux, la phase de texturage est ignorée et un maillage sans textures est retourné."
      },
      "should_texture_enable_pbr": {
        "name": "enable_pbr"
      },
      "should_texture_texture_prompt": {
        "name": "texture_prompt"
      },
      "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
      }
    }
  },
  "MeshyRefineNode": {
    "description": "Affinez un modèle brouillon précédemment créé.",
    "display_name": "Meshy : Affiner le modèle brouillon",
    "inputs": {
      "enable_pbr": {
        "name": "activer_pbr",
        "tooltip": "Générer des cartes PBR (métallique, rugosité, normale) en plus de la couleur de base. Remarque : cela doit être désactivé lors de l’utilisation du style Sculpture, car le style Sculpture génère ses propres cartes PBR."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "model": {
        "name": "modèle"
      },
      "texture_image": {
        "name": "image_texture",
        "tooltip": "Seul l’un de 'texture_image' ou 'texture_prompt' peut être utilisé à la fois."
      },
      "texture_prompt": {
        "name": "invite_texture",
        "tooltip": "Fournissez une invite textuelle pour guider le processus de texturage. Maximum 600 caractères. Ne peut pas être utilisé en même temps que 'texture_image'."
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyRigModelNode": {
    "description": "Fournit un personnage riggé dans des formats standards. L’auto-rigging n’est actuellement pas adapté aux maillages non texturés, aux assets non humanoïdes ou aux assets humanoïdes avec une structure de membres et de corps peu claire.",
    "display_name": "Meshy : Rig du modèle",
    "inputs": {
      "height_meters": {
        "name": "hauteur_mètres",
        "tooltip": "La hauteur approximative du modèle de personnage en mètres. Cela aide à l’échelle et à la précision du rigging."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "texture_image": {
        "name": "image_texture",
        "tooltip": "L’image de texture couleur de base UV-dépliée du modèle."
      }
    },
    "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 : Texte vers modèle",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "pose_mode": {
        "name": "mode_pose",
        "tooltip": "Spécifiez le mode de pose pour le modèle généré."
      },
      "prompt": {
        "name": "invite"
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit la graine."
      },
      "should_remesh": {
        "name": "doit_remesher",
        "tooltip": "Si désactivé, retourne un maillage triangulaire non traité."
      },
      "should_remesh_target_polycount": {
        "name": "cible_polygones"
      },
      "should_remesh_topology": {
        "name": "topologie"
      },
      "style": {
        "name": "style"
      },
      "symmetry_mode": {
        "name": "mode_symétrie"
      }
    },
    "outputs": {
      "0": {
        "name": "fichier_modèle",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyTextureNode": {
    "display_name": "Meshy : Modèle de texture",
    "inputs": {
      "enable_original_uv": {
        "name": "activer_uv_original",
        "tooltip": "Utiliser l’UV original du modèle au lieu de générer de nouveaux UV. Lorsque cette option est activée, Meshy préserve les textures existantes du modèle importé. Si le modèle ne possède pas d’UV original, la qualité du résultat peut être moins bonne."
      },
      "image_style": {
        "name": "style_image",
        "tooltip": "Une image 2D pour guider le processus de texturisation. Ne peut pas être utilisée en même temps que « text_style_prompt »."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "model": {
        "name": "modèle"
      },
      "pbr": {
        "name": "pbr"
      },
      "text_style_prompt": {
        "name": "invite_style_texte",
        "tooltip": "Décrivez le style de texture souhaité pour l’objet en utilisant du texte. 600 caractères maximum. Ne peut pas être utilisé en même temps que « image_style »."
      }
    },
    "outputs": {
      "0": {
        "name": "fichier_modèle",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MinimaxHailuoVideoNode": {
    "description": "Génère des vidéos à partir d'un prompt, avec option d'image de départ utilisant le nouveau modèle MiniMax Hailuo-02.",
    "display_name": "MiniMax Hailuo Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "La longueur de la vidéo de sortie en secondes."
      },
      "first_frame_image": {
        "name": "image_premiere_frame",
        "tooltip": "Image optionnelle à utiliser comme première frame pour générer une vidéo."
      },
      "prompt_optimizer": {
        "name": "optimiseur_prompt",
        "tooltip": "Optimiser le prompt pour améliorer la qualité de génération si nécessaire."
      },
      "prompt_text": {
        "name": "texte_prompt",
        "tooltip": "Invite textuelle pour guider la génération de la vidéo."
      },
      "resolution": {
        "name": "résolution",
        "tooltip": "Les dimensions de l'affichage vidéo. 1080p correspond à 1920x1080, 768p à 1366x768."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxImageToVideoNode": {
    "description": "Génère des vidéos à partir d'une image et d'invites en utilisant l'API de MiniMax",
    "display_name": "MiniMax Image vers Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image": {
        "name": "image",
        "tooltip": "Image à utiliser comme première image pour la génération de vidéo"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser pour la génération de vidéo"
      },
      "prompt_text": {
        "name": "texte d'invite",
        "tooltip": "Texte d'invite pour guider la génération de la vidéo"
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxTextToVideoNode": {
    "description": "Génère des vidéos à partir d'invites en utilisant l'API de MiniMax",
    "display_name": "MiniMax Texte en Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser pour la génération de vidéo"
      },
      "prompt_text": {
        "name": "texte d'invite",
        "tooltip": "Texte d'invite pour guider la génération de la vidéo"
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ModelComputeDtype": {
    "display_name": "ModelComputeDtype",
    "inputs": {
      "dtype": {
        "name": "dtype"
      },
      "model": {
        "name": "modèle"
      }
    }
  },
  "ModelMergeAdd": {
    "display_name": "ModelMergeAdd",
    "inputs": {
      "model1": {
        "name": "modèle1"
      },
      "model2": {
        "name": "modèle2"
      }
    }
  },
  "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": "codage_positionnel"
      },
      "register_tokens": {
        "name": "enregistrer_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": "entrée"
      },
      "middle": {
        "name": "milieu"
      },
      "model1": {
        "name": "modèle1"
      },
      "model2": {
        "name": "modèle2"
      },
      "out": {
        "name": "sortie"
      }
    }
  },
  "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": "couche_finale."
      },
      "model1": {
        "name": "modèle1"
      },
      "model2": {
        "name": "modèle2"
      },
      "pos_embedder_": {
        "name": "pos_embedder."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "x_embedder_": {
        "name": "x_embedder."
      }
    }
  },
  "ModelMergeCosmos7B": {
    "display_name": "ModelMergeCosmos7B",
    "inputs": {
      "affline_norm_": {
        "name": "affline_norm."
      },
      "blocks_block0_": {
        "name": "blocks.block0."
      },
      "blocks_block10_": {
        "name": "blocks.block10."
      },
      "blocks_block11_": {
        "name": "blocks.block11."
      },
      "blocks_block12_": {
        "name": "blocks.block12."
      },
      "blocks_block13_": {
        "name": "blocks.block13."
      },
      "blocks_block14_": {
        "name": "blocks.block14."
      },
      "blocks_block15_": {
        "name": "blocks.block15."
      },
      "blocks_block16_": {
        "name": "blocks.block16."
      },
      "blocks_block17_": {
        "name": "blocks.block17."
      },
      "blocks_block18_": {
        "name": "blocks.block18."
      },
      "blocks_block19_": {
        "name": "blocks.block19."
      },
      "blocks_block1_": {
        "name": "blocks.block1."
      },
      "blocks_block20_": {
        "name": "blocks.block20."
      },
      "blocks_block21_": {
        "name": "blocks.block21."
      },
      "blocks_block22_": {
        "name": "blocks.block22."
      },
      "blocks_block23_": {
        "name": "blocks.block23."
      },
      "blocks_block24_": {
        "name": "blocks.block24."
      },
      "blocks_block25_": {
        "name": "blocks.block25."
      },
      "blocks_block26_": {
        "name": "blocks.block26."
      },
      "blocks_block27_": {
        "name": "blocks.block27."
      },
      "blocks_block2_": {
        "name": "blocks.block2."
      },
      "blocks_block3_": {
        "name": "blocks.block3."
      },
      "blocks_block4_": {
        "name": "blocks.block4."
      },
      "blocks_block5_": {
        "name": "blocks.block5."
      },
      "blocks_block6_": {
        "name": "blocks.block6."
      },
      "blocks_block7_": {
        "name": "blocks.block7."
      },
      "blocks_block8_": {
        "name": "blocks.block8."
      },
      "blocks_block9_": {
        "name": "blocks.block9."
      },
      "extra_pos_embedder_": {
        "name": "extra_pos_embedder."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embedder_": {
        "name": "pos_embedder."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "x_embedder_": {
        "name": "x_embedder."
      }
    }
  },
  "ModelMergeCosmosPredict2_14B": {
    "display_name": "ModelMergeCosmosPredict2_14B",
    "inputs": {
      "blocks_0_": {
        "name": "blocs.0."
      },
      "blocks_10_": {
        "name": "blocs.10."
      },
      "blocks_11_": {
        "name": "blocs.11."
      },
      "blocks_12_": {
        "name": "blocs.12."
      },
      "blocks_13_": {
        "name": "blocs.13."
      },
      "blocks_14_": {
        "name": "blocs.14."
      },
      "blocks_15_": {
        "name": "blocs.15."
      },
      "blocks_16_": {
        "name": "blocs.16."
      },
      "blocks_17_": {
        "name": "blocs.17."
      },
      "blocks_18_": {
        "name": "blocs.18."
      },
      "blocks_19_": {
        "name": "blocs.19."
      },
      "blocks_1_": {
        "name": "blocs.1."
      },
      "blocks_20_": {
        "name": "blocs.20."
      },
      "blocks_21_": {
        "name": "blocs.21."
      },
      "blocks_22_": {
        "name": "blocs.22."
      },
      "blocks_23_": {
        "name": "blocs.23."
      },
      "blocks_24_": {
        "name": "blocs.24."
      },
      "blocks_25_": {
        "name": "blocs.25."
      },
      "blocks_26_": {
        "name": "blocs.26."
      },
      "blocks_27_": {
        "name": "blocs.27."
      },
      "blocks_28_": {
        "name": "blocs.28."
      },
      "blocks_29_": {
        "name": "blocs.29."
      },
      "blocks_2_": {
        "name": "blocs.2."
      },
      "blocks_30_": {
        "name": "blocs.30."
      },
      "blocks_31_": {
        "name": "blocs.31."
      },
      "blocks_32_": {
        "name": "blocs.32."
      },
      "blocks_33_": {
        "name": "blocs.33."
      },
      "blocks_34_": {
        "name": "blocs.34."
      },
      "blocks_35_": {
        "name": "blocs.35."
      },
      "blocks_3_": {
        "name": "blocs.3."
      },
      "blocks_4_": {
        "name": "blocs.4."
      },
      "blocks_5_": {
        "name": "blocs.5."
      },
      "blocks_6_": {
        "name": "blocs.6."
      },
      "blocks_7_": {
        "name": "blocs.7."
      },
      "blocks_8_": {
        "name": "blocs.8."
      },
      "blocks_9_": {
        "name": "blocs.9."
      },
      "final_layer_": {
        "name": "couche_finale."
      },
      "model1": {
        "name": "modèle1"
      },
      "model2": {
        "name": "modèle2"
      },
      "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": "FusionModèleCosmosPredict2_2B",
    "inputs": {
      "blocks_0_": {
        "name": "blocs.0."
      },
      "blocks_10_": {
        "name": "blocs.10."
      },
      "blocks_11_": {
        "name": "blocs.11."
      },
      "blocks_12_": {
        "name": "blocs.12."
      },
      "blocks_13_": {
        "name": "blocs.13."
      },
      "blocks_14_": {
        "name": "blocs.14."
      },
      "blocks_15_": {
        "name": "blocs.15."
      },
      "blocks_16_": {
        "name": "blocs.16."
      },
      "blocks_17_": {
        "name": "blocs.17."
      },
      "blocks_18_": {
        "name": "blocs.18."
      },
      "blocks_19_": {
        "name": "blocs.19."
      },
      "blocks_1_": {
        "name": "blocs.1."
      },
      "blocks_20_": {
        "name": "blocs.20."
      },
      "blocks_21_": {
        "name": "blocs.21."
      },
      "blocks_22_": {
        "name": "blocs.22."
      },
      "blocks_23_": {
        "name": "blocs.23."
      },
      "blocks_24_": {
        "name": "blocs.24."
      },
      "blocks_25_": {
        "name": "blocs.25."
      },
      "blocks_26_": {
        "name": "blocs.26."
      },
      "blocks_27_": {
        "name": "blocs.27."
      },
      "blocks_2_": {
        "name": "blocs.2."
      },
      "blocks_3_": {
        "name": "blocs.3."
      },
      "blocks_4_": {
        "name": "blocs.4."
      },
      "blocks_5_": {
        "name": "blocs.5."
      },
      "blocks_6_": {
        "name": "blocs.6."
      },
      "blocks_7_": {
        "name": "blocs.7."
      },
      "blocks_8_": {
        "name": "blocs.8."
      },
      "blocks_9_": {
        "name": "blocs.9."
      },
      "final_layer_": {
        "name": "couche_finale."
      },
      "model1": {
        "name": "modèle1"
      },
      "model2": {
        "name": "modèle2"
      },
      "pos_embedder_": {
        "name": "intégrateur_pos."
      },
      "t_embedder_": {
        "name": "intégrateur_t."
      },
      "t_embedding_norm_": {
        "name": "normalisation_intégration_t."
      },
      "x_embedder_": {
        "name": "intégrateur_x."
      }
    }
  },
  "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."
      }
    }
  },
  "ModelMergeLTXV": {
    "display_name": "ModelMergeLTXV",
    "inputs": {
      "adaln_single_": {
        "name": "adaln_single."
      },
      "caption_projection_": {
        "name": "projection_de_légende."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "patchify_proj_": {
        "name": "patchify_proj."
      },
      "proj_out_": {
        "name": "proj_out."
      },
      "scale_shift_table": {
        "name": "table_de_décalage_d'échelle"
      },
      "transformer_blocks_0_": {
        "name": "blocs_transformateurs.0."
      },
      "transformer_blocks_10_": {
        "name": "blocs_transformateurs.10."
      },
      "transformer_blocks_11_": {
        "name": "blocs_transformateurs.11."
      },
      "transformer_blocks_12_": {
        "name": "blocs_transformateurs.12."
      },
      "transformer_blocks_13_": {
        "name": "blocs_transformateurs.13."
      },
      "transformer_blocks_14_": {
        "name": "blocs_transformateurs.14."
      },
      "transformer_blocks_15_": {
        "name": "blocs_transformateurs.15."
      },
      "transformer_blocks_16_": {
        "name": "blocs_transformateurs.16."
      },
      "transformer_blocks_17_": {
        "name": "blocs_transformateurs.17."
      },
      "transformer_blocks_18_": {
        "name": "blocs_transformateurs.18."
      },
      "transformer_blocks_19_": {
        "name": "blocs_transformateurs.19."
      },
      "transformer_blocks_1_": {
        "name": "blocs_transformateurs.1."
      },
      "transformer_blocks_20_": {
        "name": "blocs_transformateurs.20."
      },
      "transformer_blocks_21_": {
        "name": "blocs_transformateurs.21."
      },
      "transformer_blocks_22_": {
        "name": "blocs_transformateurs.22."
      },
      "transformer_blocks_23_": {
        "name": "blocs_transformateurs.23."
      },
      "transformer_blocks_24_": {
        "name": "blocs_transformateurs.24."
      },
      "transformer_blocks_25_": {
        "name": "blocs_transformateurs.25."
      },
      "transformer_blocks_26_": {
        "name": "blocs_transformateurs.26."
      },
      "transformer_blocks_27_": {
        "name": "blocs_transformateurs.27."
      },
      "transformer_blocks_2_": {
        "name": "blocs_transformateurs.2."
      },
      "transformer_blocks_3_": {
        "name": "blocs_transformateurs.3."
      },
      "transformer_blocks_4_": {
        "name": "blocs_transformateurs.4."
      },
      "transformer_blocks_5_": {
        "name": "blocs_transformateurs.5."
      },
      "transformer_blocks_6_": {
        "name": "blocs_transformateurs.6."
      },
      "transformer_blocks_7_": {
        "name": "blocs_transformateurs.7."
      },
      "transformer_blocks_8_": {
        "name": "blocs_transformateurs.8."
      },
      "transformer_blocks_9_": {
        "name": "blocs_transformateurs.9."
      }
    }
  },
  "ModelMergeMochiPreview": {
    "display_name": "Aperçu de la Fusion de Modèles Mochi",
    "inputs": {
      "blocks_0_": {
        "name": "blocs.0."
      },
      "blocks_10_": {
        "name": "blocs.10."
      },
      "blocks_11_": {
        "name": "blocs.11."
      },
      "blocks_12_": {
        "name": "blocs.12."
      },
      "blocks_13_": {
        "name": "blocs.13."
      },
      "blocks_14_": {
        "name": "blocs.14."
      },
      "blocks_15_": {
        "name": "blocs.15."
      },
      "blocks_16_": {
        "name": "blocs.16."
      },
      "blocks_17_": {
        "name": "blocs.17."
      },
      "blocks_18_": {
        "name": "blocs.18."
      },
      "blocks_19_": {
        "name": "blocs.19."
      },
      "blocks_1_": {
        "name": "blocs.1."
      },
      "blocks_20_": {
        "name": "blocs.20."
      },
      "blocks_21_": {
        "name": "blocs.21."
      },
      "blocks_22_": {
        "name": "blocs.22."
      },
      "blocks_23_": {
        "name": "blocs.23."
      },
      "blocks_24_": {
        "name": "blocs.24."
      },
      "blocks_25_": {
        "name": "blocs.25."
      },
      "blocks_26_": {
        "name": "blocs.26."
      },
      "blocks_27_": {
        "name": "blocs.27."
      },
      "blocks_28_": {
        "name": "blocs.28."
      },
      "blocks_29_": {
        "name": "blocs.29."
      },
      "blocks_2_": {
        "name": "blocs.2."
      },
      "blocks_30_": {
        "name": "blocs.30."
      },
      "blocks_31_": {
        "name": "blocs.31."
      },
      "blocks_32_": {
        "name": "blocs.32."
      },
      "blocks_33_": {
        "name": "blocs.33."
      },
      "blocks_34_": {
        "name": "blocs.34."
      },
      "blocks_35_": {
        "name": "blocs.35."
      },
      "blocks_36_": {
        "name": "blocs.36."
      },
      "blocks_37_": {
        "name": "blocs.37."
      },
      "blocks_38_": {
        "name": "blocs.38."
      },
      "blocks_39_": {
        "name": "blocs.39."
      },
      "blocks_3_": {
        "name": "blocs.3."
      },
      "blocks_40_": {
        "name": "blocs.40."
      },
      "blocks_41_": {
        "name": "blocs.41."
      },
      "blocks_42_": {
        "name": "blocs.42."
      },
      "blocks_43_": {
        "name": "blocs.43."
      },
      "blocks_44_": {
        "name": "blocs.44."
      },
      "blocks_45_": {
        "name": "blocs.45."
      },
      "blocks_46_": {
        "name": "blocs.46."
      },
      "blocks_47_": {
        "name": "blocs.47."
      },
      "blocks_4_": {
        "name": "blocs.4."
      },
      "blocks_5_": {
        "name": "blocs.5."
      },
      "blocks_6_": {
        "name": "blocs.6."
      },
      "blocks_7_": {
        "name": "blocs.7."
      },
      "blocks_8_": {
        "name": "blocs.8."
      },
      "blocks_9_": {
        "name": "blocs.9."
      },
      "final_layer_": {
        "name": "couche_finale."
      },
      "model1": {
        "name": "modèle1"
      },
      "model2": {
        "name": "modèle2"
      },
      "pos_frequencies_": {
        "name": "pos_frequences."
      },
      "t5_y_embedder_": {
        "name": "t5_y_embedder."
      },
      "t5_yproj_": {
        "name": "t5_yproj."
      },
      "t_embedder_": {
        "name": "t_embedder."
      }
    }
  },
  "ModelMergeQwenImage": {
    "display_name": "FusionModèleQwenImage",
    "inputs": {
      "img_in_": {
        "name": "img_entrée."
      },
      "model1": {
        "name": "modèle1"
      },
      "model2": {
        "name": "modèle2"
      },
      "pos_embeds_": {
        "name": "incrust_pos."
      },
      "proj_out_": {
        "name": "proj_out."
      },
      "time_text_embed_": {
        "name": "incrust_texte_temps."
      },
      "transformer_blocks_0_": {
        "name": "blocs_transformateurs.0."
      },
      "transformer_blocks_10_": {
        "name": "blocs_transformateurs.10."
      },
      "transformer_blocks_11_": {
        "name": "blocs_transformateurs.11."
      },
      "transformer_blocks_12_": {
        "name": "blocs_transformateurs.12."
      },
      "transformer_blocks_13_": {
        "name": "blocs_transformateurs.13."
      },
      "transformer_blocks_14_": {
        "name": "blocs_transformateurs.14."
      },
      "transformer_blocks_15_": {
        "name": "blocs_transformateurs.15."
      },
      "transformer_blocks_16_": {
        "name": "blocs_transformateurs.16."
      },
      "transformer_blocks_17_": {
        "name": "blocs_transformateurs.17."
      },
      "transformer_blocks_18_": {
        "name": "blocs_transformateurs.18."
      },
      "transformer_blocks_19_": {
        "name": "blocs_transformateurs.19."
      },
      "transformer_blocks_1_": {
        "name": "blocs_transformateurs.1."
      },
      "transformer_blocks_20_": {
        "name": "blocs_transformateurs.20."
      },
      "transformer_blocks_21_": {
        "name": "blocs_transformateurs.21."
      },
      "transformer_blocks_22_": {
        "name": "blocs_transformateurs.22."
      },
      "transformer_blocks_23_": {
        "name": "blocs_transformateurs.23."
      },
      "transformer_blocks_24_": {
        "name": "blocs_transformateurs.24."
      },
      "transformer_blocks_25_": {
        "name": "blocs_transformateurs.25."
      },
      "transformer_blocks_26_": {
        "name": "blocs_transformateurs.26."
      },
      "transformer_blocks_27_": {
        "name": "blocs_transformateurs.27."
      },
      "transformer_blocks_28_": {
        "name": "blocs_transformateurs.28."
      },
      "transformer_blocks_29_": {
        "name": "blocs_transformateurs.29."
      },
      "transformer_blocks_2_": {
        "name": "blocs_transformateurs.2."
      },
      "transformer_blocks_30_": {
        "name": "blocs_transformateurs.30."
      },
      "transformer_blocks_31_": {
        "name": "blocs_transformateurs.31."
      },
      "transformer_blocks_32_": {
        "name": "blocs_transformateurs.32."
      },
      "transformer_blocks_33_": {
        "name": "blocs_transformateurs.33."
      },
      "transformer_blocks_34_": {
        "name": "blocs_transformateurs.34."
      },
      "transformer_blocks_35_": {
        "name": "blocs_transformateurs.35."
      },
      "transformer_blocks_36_": {
        "name": "blocs_transformateurs.36."
      },
      "transformer_blocks_37_": {
        "name": "blocs_transformateurs.37."
      },
      "transformer_blocks_38_": {
        "name": "blocs_transformateurs.38."
      },
      "transformer_blocks_39_": {
        "name": "blocs_transformateurs.39."
      },
      "transformer_blocks_3_": {
        "name": "blocs_transformateurs.3."
      },
      "transformer_blocks_40_": {
        "name": "blocs_transformateurs.40."
      },
      "transformer_blocks_41_": {
        "name": "blocs_transformateurs.41."
      },
      "transformer_blocks_42_": {
        "name": "blocs_transformateurs.42."
      },
      "transformer_blocks_43_": {
        "name": "blocs_transformateurs.43."
      },
      "transformer_blocks_44_": {
        "name": "blocs_transformateurs.44."
      },
      "transformer_blocks_45_": {
        "name": "blocs_transformateurs.45."
      },
      "transformer_blocks_46_": {
        "name": "blocs_transformateurs.46."
      },
      "transformer_blocks_47_": {
        "name": "blocs_transformateurs.47."
      },
      "transformer_blocks_48_": {
        "name": "blocs_transformateurs.48."
      },
      "transformer_blocks_49_": {
        "name": "blocs_transformateurs.49."
      },
      "transformer_blocks_4_": {
        "name": "blocs_transformateurs.4."
      },
      "transformer_blocks_50_": {
        "name": "blocs_transformateurs.50."
      },
      "transformer_blocks_51_": {
        "name": "blocs_transformateurs.51."
      },
      "transformer_blocks_52_": {
        "name": "blocs_transformateurs.52."
      },
      "transformer_blocks_53_": {
        "name": "blocs_transformateurs.53."
      },
      "transformer_blocks_54_": {
        "name": "blocs_transformateurs.54."
      },
      "transformer_blocks_55_": {
        "name": "blocs_transformateurs.55."
      },
      "transformer_blocks_56_": {
        "name": "blocs_transformateurs.56."
      },
      "transformer_blocks_57_": {
        "name": "blocs_transformateurs.57."
      },
      "transformer_blocks_58_": {
        "name": "blocs_transformateurs.58."
      },
      "transformer_blocks_59_": {
        "name": "blocs_transformateurs.59."
      },
      "transformer_blocks_5_": {
        "name": "blocs_transformateurs.5."
      },
      "transformer_blocks_6_": {
        "name": "blocs_transformateurs.6."
      },
      "transformer_blocks_7_": {
        "name": "blocs_transformateurs.7."
      },
      "transformer_blocks_8_": {
        "name": "blocs_transformateurs.8."
      },
      "transformer_blocks_9_": {
        "name": "blocs_transformateurs.9."
      },
      "txt_in_": {
        "name": "txt_entrée."
      },
      "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": "couche_finale."
      },
      "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": "modèle1"
      },
      "model2": {
        "name": "modèle2"
      },
      "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": "modèle1"
      },
      "model2": {
        "name": "modèle2"
      },
      "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": "modèle1"
      },
      "model2": {
        "name": "modèle2"
      },
      "ratio": {
        "name": "ratio"
      }
    }
  },
  "ModelMergeSubtract": {
    "display_name": "ModelMergeSubtract",
    "inputs": {
      "model1": {
        "name": "modèle1"
      },
      "model2": {
        "name": "modèle2"
      },
      "multiplier": {
        "name": "multiplicateur"
      }
    }
  },
  "ModelMergeWAN2_1": {
    "description": "Le modèle 1,3B possède 30 blocs, le modèle 14B en possède 40. Le modèle image vers vidéo dispose de l'embedding supplémentaire 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": "Échelle de bruit du modèle",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "noise_scale": {
        "name": "échelle_bruit",
        "tooltip": "Échelle absolue du bruit d’entraînement. Par exemple HiDream-O1 base : 8.0, dev : 7.5."
      }
    }
  },
  "ModelPatchLoader": {
    "display_name": "ModelPatchLoader",
    "inputs": {
      "name": {
        "name": "nom"
      }
    }
  },
  "ModelSamplingAuraFlow": {
    "display_name": "ModelSamplingAuraFlow",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "shift": {
        "name": "décalage"
      }
    }
  },
  "ModelSamplingContinuousEDM": {
    "display_name": "ModelSamplingContinuousEDM",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "sampling": {
        "name": "échantillonnage"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      }
    }
  },
  "ModelSamplingContinuousV": {
    "display_name": "ModelSamplingContinuousV",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "sampling": {
        "name": "échantillonnage"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      }
    }
  },
  "ModelSamplingDiscrete": {
    "display_name": "ModèleÉchantillonnageDiscret",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "sampling": {
        "name": "échantillonnage"
      },
      "zsnr": {
        "name": "zsnr"
      }
    }
  },
  "ModelSamplingFlux": {
    "display_name": "ModèleÉchantillonnageFlux",
    "inputs": {
      "base_shift": {
        "name": "décalage_base"
      },
      "height": {
        "name": "hauteur"
      },
      "max_shift": {
        "name": "décalage_max"
      },
      "model": {
        "name": "modèle"
      },
      "width": {
        "name": "largeur"
      }
    }
  },
  "ModelSamplingLTXV": {
    "display_name": "ModèleÉchantillonnageLTXV",
    "inputs": {
      "base_shift": {
        "name": "décalage_base"
      },
      "latent": {
        "name": "latent"
      },
      "max_shift": {
        "name": "décalage_max"
      },
      "model": {
        "name": "modèle"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ModelSamplingSD3": {
    "display_name": "ModèleÉchantillonnageSD3",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "shift": {
        "name": "décalage"
      }
    }
  },
  "ModelSamplingStableCascade": {
    "display_name": "ModèleÉchantillonnageStableCascade",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "shift": {
        "name": "décalage"
      }
    }
  },
  "ModelSave": {
    "display_name": "ModèleEnregistrer",
    "inputs": {
      "filename_prefix": {
        "name": "préfixe_fichier"
      },
      "model": {
        "name": "modèle"
      }
    }
  },
  "Morphology": {
    "display_name": "ImageMorphologie",
    "inputs": {
      "image": {
        "name": "image"
      },
      "kernel_size": {
        "name": "taille_noyau"
      },
      "operation": {
        "name": "opération"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "NAGuidance": {
    "description": "Applique le Guidage d’Attention Normalisée aux modèles, permettant l’utilisation de prompts négatifs sur les modèles distilled/schnell.",
    "display_name": "Guidage d’Attention Normalisée",
    "inputs": {
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle auquel appliquer NAG."
      },
      "nag_alpha": {
        "name": "alpha_nag",
        "tooltip": "Facteur de fusion pour l’attention normalisée. 1,0 correspond à un remplacement total, 0,0 à aucun effet."
      },
      "nag_scale": {
        "name": "facteur_nag",
        "tooltip": "Le facteur d’échelle du guidage. Des valeurs plus élevées éloignent davantage du prompt négatif."
      },
      "nag_tau": {
        "name": "tau_nag"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le modèle modifié avec NAG activé."
      }
    }
  },
  "NormalizeImages": {
    "display_name": "Normaliser les images",
    "inputs": {
      "images": {
        "name": "images",
        "tooltip": "Image à traiter."
      },
      "mean": {
        "name": "moyenne",
        "tooltip": "Valeur moyenne pour la normalisation."
      },
      "std": {
        "name": "écart_type",
        "tooltip": "Écart type pour la normalisation."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Images traitées"
      }
    }
  },
  "NormalizeVideoLatentStart": {
    "description": "Normalise les images initiales d’un latent vidéo pour faire correspondre leur moyenne et leur écart type à ceux des images de référence suivantes. Permet de réduire les différences entre les premières images et le reste de la vidéo.",
    "display_name": "NormalizeVideoLatentStart",
    "inputs": {
      "latent": {
        "name": "latent"
      },
      "reference_frame_count": {
        "name": "reference_frame_count",
        "tooltip": "Nombre d’images latentes après les images de départ à utiliser comme référence"
      },
      "start_frame_count": {
        "name": "start_frame_count",
        "tooltip": "Nombre d’images latentes à normaliser, à partir du début"
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "OpenAIChatConfig": {
    "description": "Permet de spécifier des options de configuration avancées pour les nœuds de chat OpenAI.",
    "display_name": "Options avancées OpenAI ChatGPT",
    "inputs": {
      "instructions": {
        "name": "instructions",
        "tooltip": "Instructions pour le modèle sur la façon de générer la réponse"
      },
      "max_output_tokens": {
        "name": "jetons_sortie_max",
        "tooltip": "Une limite supérieure pour le nombre de jetons pouvant être générés pour une réponse, incluant les jetons de sortie visibles"
      },
      "truncation": {
        "name": "troncature",
        "tooltip": "La stratégie de troncature à utiliser pour la réponse du modèle. auto : Si le contexte de cette réponse et des précédentes dépasse la taille de la fenêtre de contexte du modèle, le modèle tronquera la réponse pour s'adapter à la fenêtre de contexte en supprimant des éléments d'entrée au milieu de la conversation. désactivé : Si une réponse du modèle dépasse la taille de la fenêtre de contexte pour un modèle, la requête échouera avec une erreur 400"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIChatNode": {
    "description": "Générer des réponses textuelles à partir d'un modèle OpenAI.",
    "display_name": "OpenAI ChatGPT",
    "inputs": {
      "advanced_options": {
        "name": "options_avancées",
        "tooltip": "Configuration optionnelle pour le modèle. Accepte les entrées du nœud Options avancées de chat OpenAI."
      },
      "files": {
        "name": "fichiers",
        "tooltip": "Fichier(s) optionnel(s) à utiliser comme contexte pour le modèle. Accepte les entrées du nœud Fichiers d'entrée de chat OpenAI."
      },
      "images": {
        "name": "images",
        "tooltip": "Image(s) optionnelle(s) à utiliser comme contexte pour le modèle. Pour inclure plusieurs images, vous pouvez utiliser le nœud Images par lot."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle utilisé pour générer la réponse"
      },
      "persist_context": {
        "name": "conserver_contexte",
        "tooltip": "Ce paramètre est obsolète et n'a aucun effet."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Entrées textuelles pour le modèle, utilisées pour générer une réponse."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIDalle2": {
    "description": "Génère des images de façon synchrone via l’endpoint DALL·E 2 d’OpenAI.",
    "display_name": "OpenAI DALL·E 2",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image": {
        "name": "image",
        "tooltip": "Image de référence optionnelle pour l’édition d’image."
      },
      "mask": {
        "name": "mask",
        "tooltip": "Masque optionnel pour l’inpainting (les zones blanches seront remplacées)"
      },
      "n": {
        "name": "n",
        "tooltip": "Nombre d’images à générer"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle pour DALL·E"
      },
      "seed": {
        "name": "seed",
        "tooltip": "pas encore implémenté côté backend"
      },
      "size": {
        "name": "taille",
        "tooltip": "Taille de l’image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIDalle3": {
    "description": "Génère des images de manière synchrone via l’endpoint DALL·E 3 d’OpenAI.",
    "display_name": "OpenAI DALL·E 3",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle pour DALL·E"
      },
      "quality": {
        "name": "qualité",
        "tooltip": "Qualité de l’image"
      },
      "seed": {
        "name": "seed",
        "tooltip": "pas encore implémenté côté backend"
      },
      "size": {
        "name": "taille",
        "tooltip": "Taille de l’image"
      },
      "style": {
        "name": "style",
        "tooltip": "Vivid pousse le modèle à générer des images hyper-réalistes et dramatiques. Natural fait produire au modèle des images plus naturelles, moins hyper-réalistes."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIGPTImage1": {
    "description": "Génère des images de manière synchrone via l'endpoint GPT Image 2 d'OpenAI.",
    "display_name": "OpenAI GPT Image 2",
    "inputs": {
      "background": {
        "name": "arrière-plan",
        "tooltip": "Retourner l'image avec ou sans arrière-plan"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "custom_height": {
        "name": "hauteur_personnalisée",
        "tooltip": "Utilisé uniquement lorsque `size` est défini sur « Personnalisé ». Doit être un multiple de 16 (GPT Image 2 uniquement)."
      },
      "custom_width": {
        "name": "largeur_personnalisée",
        "tooltip": "Utilisé uniquement lorsque `size` est défini sur « Personnalisé ». Doit être un multiple de 16 (GPT Image 2 uniquement)."
      },
      "image": {
        "name": "image",
        "tooltip": "Image de référence optionnelle pour l'édition d'image."
      },
      "mask": {
        "name": "mask",
        "tooltip": "Masque optionnel pour l'inpainting (les zones blanches seront remplacées)"
      },
      "model": {
        "name": "model"
      },
      "n": {
        "name": "n",
        "tooltip": "Combien d'images générer"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle pour GPT Image 2"
      },
      "quality": {
        "name": "qualité",
        "tooltip": "Qualité de l'image, affecte le coût et le temps de génération."
      },
      "seed": {
        "name": "seed",
        "tooltip": "pas encore implémenté côté backend"
      },
      "size": {
        "name": "taille",
        "tooltip": "Taille de l'image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIGPTImageNodeV2": {
    "description": "Génère des images via l’API GPT Image d’OpenAI.",
    "display_name": "OpenAI GPT Image 2",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "model_background": {
        "name": "arrière-plan"
      },
      "model_custom_height": {
        "name": "hauteur_personnalisée"
      },
      "model_custom_width": {
        "name": "largeur_personnalisée"
      },
      "model_quality": {
        "name": "qualité"
      },
      "model_size": {
        "name": "taille"
      },
      "n": {
        "name": "n",
        "tooltip": "Combien d’images générer"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt textuel pour GPT Image"
      },
      "seed": {
        "name": "graine",
        "tooltip": "non implémenté côté serveur pour le moment"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIInputFiles": {
    "description": "Charge et prépare les fichiers d'entrée (texte, pdf, etc.) à inclure comme entrées pour le nœud de chat OpenAI. Les fichiers seront lus par le modèle OpenAI lors de la génération d'une réponse. 🛈 ASTUCE : Peut être chaîné avec d'autres nœuds de fichiers d'entrée OpenAI.",
    "display_name": "Fichiers d'entrée OpenAI ChatGPT",
    "inputs": {
      "OPENAI_INPUT_FILES": {
        "name": "FICHIERS_ENTRÉE_OPENAI",
        "tooltip": "Un ou plusieurs fichiers supplémentaires optionnels à regrouper avec le fichier chargé depuis ce nœud. Permet d'enchaîner les fichiers d'entrée afin qu'un seul message puisse inclure plusieurs fichiers d'entrée."
      },
      "file": {
        "name": "fichier",
        "tooltip": "Fichiers d'entrée à inclure comme contexte pour le modèle. N'accepte pour l'instant que les fichiers texte (.txt) et PDF (.pdf)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIVideoSora2": {
    "description": "Génération de vidéo et audio OpenAI.",
    "display_name": "OpenAI Sora - Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée"
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Texte guide ; peut être vide si une image d'entrée est présente."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être réexécuté ; les résultats réels sont non déterministes quelle que soit la graine."
      },
      "size": {
        "name": "taille"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpticalFlowLoader": {
    "display_name": "Charger le modèle de flux optique",
    "inputs": {
      "model_name": {
        "name": "model_name",
        "tooltip": "Modèle de flux optique à charger. Les fichiers doivent être placés dans le dossier 'optical_flow'. Actuellement, seul raft_large.pth de torchvision est pris en charge."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OptimalStepsScheduler": {
    "display_name": "OptimalStepsScheduler",
    "inputs": {
      "denoise": {
        "name": "réduction du bruit"
      },
      "model_type": {
        "name": "model_type"
      },
      "steps": {
        "name": "étapes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Painter": {
    "display_name": "Peintre",
    "inputs": {
      "bg_color": {
        "name": "couleur de fond"
      },
      "height": {
        "name": "hauteur"
      },
      "image": {
        "name": "image",
        "tooltip": "Image de base optionnelle sur laquelle peindre"
      },
      "mask": {
        "name": "mask"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "PairConditioningCombine": {
    "display_name": "Cond Pair Combiner",
    "inputs": {
      "negative_A": {
        "name": "negative_A"
      },
      "negative_B": {
        "name": "negative_B"
      },
      "positive_A": {
        "name": "positive_A"
      },
      "positive_B": {
        "name": "positive_B"
      }
    },
    "outputs": {
      "0": {
        "name": "positive"
      },
      "1": {
        "name": "negative"
      }
    }
  },
  "PairConditioningSetDefaultCombine": {
    "display_name": "Cond Pair Définir Combiner par Défaut",
    "inputs": {
      "hooks": {
        "name": "hooks"
      },
      "negative": {
        "name": "negative"
      },
      "negative_DEFAULT": {
        "name": "negative_DEFAULT"
      },
      "positive": {
        "name": "positive"
      },
      "positive_DEFAULT": {
        "name": "positive_DEFAULT"
      }
    },
    "outputs": {
      "0": {
        "name": "positive"
      },
      "1": {
        "name": "negative"
      }
    }
  },
  "PairConditioningSetProperties": {
    "display_name": "Cond Pair Définir Propriétés",
    "inputs": {
      "hooks": {
        "name": "hooks"
      },
      "mask": {
        "name": "masque"
      },
      "negative_NEW": {
        "name": "negative_NEW"
      },
      "positive_NEW": {
        "name": "positive_NEW"
      },
      "set_cond_area": {
        "name": "définir_zone_cond"
      },
      "strength": {
        "name": "force"
      },
      "timesteps": {
        "name": "pas_de_temps"
      }
    },
    "outputs": {
      "0": {
        "name": "positive"
      },
      "1": {
        "name": "negative"
      }
    }
  },
  "PairConditioningSetPropertiesAndCombine": {
    "display_name": "Cond Pair Set Props Combine",
    "inputs": {
      "hooks": {
        "name": "crochets"
      },
      "mask": {
        "name": "masque"
      },
      "negative": {
        "name": "negative"
      },
      "negative_NEW": {
        "name": "negative_NEW"
      },
      "positive": {
        "name": "positive"
      },
      "positive_NEW": {
        "name": "positive_NEW"
      },
      "set_cond_area": {
        "name": "set_cond_area"
      },
      "strength": {
        "name": "force"
      },
      "timesteps": {
        "name": "pas de temps"
      }
    },
    "outputs": {
      "0": {
        "name": "positive"
      },
      "1": {
        "name": "negative"
      }
    }
  },
  "PatchModelAddDownscale": {
    "display_name": "PatchModelAddDownscale (Kohya Deep Shrink)",
    "inputs": {
      "block_number": {
        "name": "numéro de bloc"
      },
      "downscale_after_skip": {
        "name": "réduction après saut"
      },
      "downscale_factor": {
        "name": "facteur de réduction"
      },
      "downscale_method": {
        "name": "méthode de réduction"
      },
      "end_percent": {
        "name": "pourcentage de fin"
      },
      "model": {
        "name": "modèle"
      },
      "start_percent": {
        "name": "pourcentage de départ"
      },
      "upscale_method": {
        "name": "méthode d'agrandissement"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerpNeg": {
    "display_name": "Perp-Neg (OBSOLÈTE par PerpNegGuider)",
    "inputs": {
      "empty_conditioning": {
        "name": "conditionnement vide"
      },
      "model": {
        "name": "modèle"
      },
      "neg_scale": {
        "name": "échelle nég"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerpNegGuider": {
    "display_name": "PerpNegGuider",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "empty_conditioning": {
        "name": "conditionnement vide"
      },
      "model": {
        "name": "modèle"
      },
      "neg_scale": {
        "name": "échelle nég"
      },
      "negative": {
        "name": "négative"
      },
      "positive": {
        "name": "positive"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerturbedAttentionGuidance": {
    "display_name": "PerturbedAttentionGuidance",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "scale": {
        "name": "échelle"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PhotoMakerEncode": {
    "display_name": "PhotoMakerEncode",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "image"
      },
      "photomaker": {
        "name": "photomaker"
      },
      "text": {
        "name": "texte"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PhotoMakerLoader": {
    "display_name": "PhotoMakerLoader",
    "inputs": {
      "photomaker_model_name": {
        "name": "nom_du_modèle_photomaker"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseImageToVideoNode": {
    "description": "Génère des vidéos de manière synchrone à partir du prompt et de la taille de sortie.",
    "display_name": "PixVerse Image vers Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration_seconds": {
        "name": "durée_secondes"
      },
      "image": {
        "name": "image"
      },
      "motion_mode": {
        "name": "mode_mouvement"
      },
      "negative_prompt": {
        "name": "prompt_négatif",
        "tooltip": "Une description textuelle optionnelle des éléments indésirables sur une image."
      },
      "pixverse_template": {
        "name": "modèle_pixverse",
        "tooltip": "Un modèle optionnel pour influencer le style de génération, créé par le nœud PixVerse Template."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération de la vidéo"
      },
      "quality": {
        "name": "qualité"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour la génération de la vidéo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseTemplateNode": {
    "display_name": "Modèle PixVerse",
    "inputs": {
      "template": {
        "name": "modèle"
      }
    },
    "outputs": {
      "0": {
        "name": "modèle_pixverse",
        "tooltip": null
      }
    }
  },
  "PixverseTextToVideoNode": {
    "description": "Génère des vidéos de manière synchrone à partir d'un prompt et d'une taille de sortie.",
    "display_name": "PixVerse Texte en Vidéo",
    "inputs": {
      "aspect_ratio": {
        "name": "rapport d'aspect"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration_seconds": {
        "name": "durée (secondes)"
      },
      "motion_mode": {
        "name": "mode de mouvement"
      },
      "negative_prompt": {
        "name": "prompt négatif",
        "tooltip": "Une description textuelle optionnelle des éléments indésirables sur une image."
      },
      "pixverse_template": {
        "name": "modèle PixVerse",
        "tooltip": "Un modèle optionnel pour influencer le style de génération, créé par le nœud Modèle PixVerse."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération de la vidéo"
      },
      "quality": {
        "name": "qualité"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour la génération de la vidéo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseTransitionVideoNode": {
    "description": "Génère des vidéos de manière synchrone selon le prompt et la taille de sortie.",
    "display_name": "PixVerse Transition Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration_seconds": {
        "name": "durée (secondes)"
      },
      "first_frame": {
        "name": "première image"
      },
      "last_frame": {
        "name": "dernière image"
      },
      "motion_mode": {
        "name": "mode de mouvement"
      },
      "negative_prompt": {
        "name": "prompt négatif",
        "tooltip": "Une description textuelle optionnelle des éléments indésirables sur une image."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération de la vidéo"
      },
      "quality": {
        "name": "qualité"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed pour la génération de la vidéo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PolyexponentialScheduler": {
    "display_name": "PolyexponentialScheduler",
    "inputs": {
      "rho": {
        "name": "rho"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "étapes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PorterDuffImageComposite": {
    "display_name": "Composite d'image Porter-Duff",
    "inputs": {
      "destination": {
        "name": "destination"
      },
      "destination_alpha": {
        "name": "alpha_destination"
      },
      "mode": {
        "name": "mode"
      },
      "source": {
        "name": "source"
      },
      "source_alpha": {
        "name": "alpha_source"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "Preview3D": {
    "display_name": "Aperçu 3D",
    "inputs": {
      "bg_image": {
        "name": "bg_image"
      },
      "camera_info": {
        "name": "informations_de_camera"
      },
      "image": {
        "name": "image"
      },
      "model_file": {
        "name": "fichier_modèle",
        "tooltip": "Fichier modèle 3D ou chemin d’accès"
      }
    }
  },
  "PreviewAny": {
    "display_name": "Aperçu de n'importe quel",
    "inputs": {
      "previewMode": {},
      "preview_markdown": {
        "name": "Aperçu"
      },
      "preview_text": {
        "name": "Aperçu"
      },
      "source": {
        "name": "source"
      }
    }
  },
  "PreviewAudio": {
    "display_name": "AperçuAudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "audioUI"
      }
    }
  },
  "PreviewImage": {
    "description": "Enregistre les images d'entrée dans votre répertoire de sortie ComfyUI.",
    "display_name": "Aperçu Image",
    "inputs": {
      "images": {
        "name": "images"
      }
    }
  },
  "PrimitiveBoolean": {
    "display_name": "Booléen",
    "inputs": {
      "value": {
        "name": "valeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveBoundingBox": {
    "display_name": "Boîte englobante",
    "inputs": {
      "height": {
        "name": "height"
      },
      "width": {
        "name": "width"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveFloat": {
    "display_name": "Flottant",
    "inputs": {
      "value": {
        "name": "valeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveInt": {
    "display_name": "Int",
    "inputs": {
      "fixed": {
        "name": "contrôle après génération"
      },
      "value": {
        "name": "valeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveString": {
    "display_name": "Chaîne",
    "inputs": {
      "value": {
        "name": "valeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveStringMultiline": {
    "display_name": "Chaîne (multiligne)",
    "inputs": {
      "value": {
        "name": "valeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QuadrupleCLIPLoader": {
    "description": "[Recettes]\n\nhidream : long clip-l, long clip-g, t5xxl, llama_8b_3.1_instruct",
    "display_name": "QuadrupleCLIPLoader",
    "inputs": {
      "clip_name1": {
        "name": "clip_name1"
      },
      "clip_name2": {
        "name": "clip_name2"
      },
      "clip_name3": {
        "name": "clip_name3"
      },
      "clip_name4": {
        "name": "clip_name4"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QuiverImageToSVGNode": {
    "description": "Vectorisez une image matricielle en SVG à l'aide de Quiver AI.",
    "display_name": "Quiver Image vers SVG",
    "inputs": {
      "auto_crop": {
        "name": "auto_crop",
        "tooltip": "Rogner automatiquement sur le sujet principal."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image",
        "tooltip": "Image d'entrée à vectoriser."
      },
      "model": {
        "name": "model",
        "tooltip": "Modèle à utiliser pour la vectorisation SVG."
      },
      "model_presence_penalty": {
        "name": "presence_penalty"
      },
      "model_target_size": {
        "name": "target_size"
      },
      "model_temperature": {
        "name": "temperature"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels restent non déterministes quel que soit le seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QuiverTextToSVGNode": {
    "description": "Générez un SVG à partir d'une invite textuelle avec Quiver AI.",
    "display_name": "Quiver Texte vers SVG",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "instructions": {
        "name": "instructions",
        "tooltip": "Conseils supplémentaires de style ou de mise en forme."
      },
      "model": {
        "name": "model",
        "tooltip": "Modèle à utiliser pour la génération du SVG."
      },
      "model_presence_penalty": {
        "name": "presence_penalty"
      },
      "model_temperature": {
        "name": "temperature"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Description textuelle du SVG souhaité."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Jusqu'à 4 images de référence pour guider la génération."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels restent non déterministes quel que soit le seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QwenImageDiffsynthControlnet": {
    "display_name": "QwenImageDiffsynthControlnet",
    "inputs": {
      "image": {
        "name": "image"
      },
      "mask": {
        "name": "masque"
      },
      "model": {
        "name": "modèle"
      },
      "model_patch": {
        "name": "correctif_modèle"
      },
      "strength": {
        "name": "intensité"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "RTDETR_detect": {
    "display_name": "Détection RT-DETR",
    "inputs": {
      "class_name": {
        "name": "class_name",
        "tooltip": "Filtrer les détections par classe. Définir sur 'all' pour désactiver le filtrage."
      },
      "image": {
        "name": "image"
      },
      "max_detections": {
        "name": "max_detections",
        "tooltip": "Nombre maximal de détections à retourner par image. Par ordre décroissant du score de confiance."
      },
      "model": {
        "name": "model"
      },
      "threshold": {
        "name": "threshold"
      }
    },
    "outputs": {
      "0": {
        "name": "bboxes",
        "tooltip": null
      }
    }
  },
  "RandomCropImages": {
    "display_name": "Rogner aléatoirement des images",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "height": {
        "name": "height",
        "tooltip": "Hauteur du rognage."
      },
      "images": {
        "name": "images",
        "tooltip": "Image à traiter."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine aléatoire."
      },
      "width": {
        "name": "width",
        "tooltip": "Largeur du rognage."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Images traitées"
      }
    }
  },
  "RandomNoise": {
    "display_name": "BruitAléatoire",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "noise_seed": {
        "name": "graine_de_bruit"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RebatchImages": {
    "display_name": "Rebatch Images",
    "inputs": {
      "batch_size": {
        "name": "taille_de_lot"
      },
      "images": {
        "name": "images"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RebatchLatents": {
    "display_name": "Rebatch Latents",
    "inputs": {
      "batch_size": {
        "name": "taille_de_lot"
      },
      "latents": {
        "name": "latents"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecordAudio": {
    "display_name": "Enregistrer l'audio",
    "inputs": {
      "audio": {
        "name": "audio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftColorRGB": {
    "description": "Créez une couleur Recraft en choisissant des valeurs RGB spécifiques.",
    "display_name": "Recraft Couleur RGB",
    "inputs": {
      "b": {
        "name": "b",
        "tooltip": "Valeur bleue de la couleur."
      },
      "g": {
        "name": "g",
        "tooltip": "Valeur verte de la couleur."
      },
      "r": {
        "name": "r",
        "tooltip": "Valeur rouge de la couleur."
      },
      "recraft_color": {
        "name": "recraft_color"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_color",
        "tooltip": null
      }
    }
  },
  "RecraftControls": {
    "description": "Créez des contrôles Recraft pour personnaliser la génération Recraft.",
    "display_name": "Contrôles Recraft",
    "inputs": {
      "background_color": {
        "name": "couleur_de_fond"
      },
      "colors": {
        "name": "couleurs"
      }
    },
    "outputs": {
      "0": {
        "name": "contrôles_recraft",
        "tooltip": null
      }
    }
  },
  "RecraftCreateStyleNode": {
    "description": "Créez un style personnalisé à partir d’images de référence. Téléchargez 1 à 5 images à utiliser comme références de style. La taille totale de toutes les images est limitée à 5 Mo.",
    "display_name": "Créer un style Recraft",
    "inputs": {
      "images": {
        "name": "images"
      },
      "style": {
        "name": "style",
        "tooltip": "Le style de base des images générées."
      }
    },
    "outputs": {
      "0": {
        "name": "style_id",
        "tooltip": null
      }
    }
  },
  "RecraftCreativeUpscaleNode": {
    "description": "Agrandit l'image de manière synchrone.\nAméliore une image matricielle donnée à l'aide de l'outil « creative upscale », augmentant la résolution avec un accent sur l'affinement des petits détails et des visages.",
    "display_name": "Recraft Creative Upscale Image",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftCrispUpscaleNode": {
    "description": "Agrandit l’image de façon synchrone.\nAméliore une image matricielle donnée à l’aide de l’outil « crisp upscale », en augmentant la résolution et en rendant l’image plus nette et plus propre.",
    "display_name": "Recraft Crisp Upscale Image",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftImageInpaintingNode": {
    "description": "Modifiez l’image selon l’invite et le mask.",
    "display_name": "Recraft Image Inpainting",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image": {
        "name": "image"
      },
      "mask": {
        "name": "mask"
      },
      "n": {
        "name": "n",
        "tooltip": "Nombre d’images à générer."
      },
      "negative_prompt": {
        "name": "invite négative",
        "tooltip": "Une description textuelle optionnelle des éléments indésirables sur une image."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite pour la génération d’image."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed pour déterminer si le nœud doit être relancé ; les résultats réels sont non déterministes quel que soit le seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftImageToImageNode": {
    "description": "Modifiez l'image en fonction de l'invite et de l'intensité.",
    "display_name": "Recraft Image vers Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image": {
        "name": "image"
      },
      "n": {
        "name": "n",
        "tooltip": "Nombre d'images à générer."
      },
      "negative_prompt": {
        "name": "invite_négative",
        "tooltip": "Une description textuelle optionnelle des éléments indésirables sur une image."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite pour la génération d'image."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Contrôles supplémentaires optionnels sur la génération via le nœud Recraft Controls."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels sont non déterministes, quelle que soit la graine."
      },
      "strength": {
        "name": "intensité",
        "tooltip": "Définit la différence avec l'image originale, doit être comprise entre [0, 1], où 0 signifie presque identique et 1 signifie une similarité très faible."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftRemoveBackgroundNode": {
    "description": "Supprime l'arrière-plan de l'image et retourne l'image traitée ainsi que le masque.",
    "display_name": "Recraft Remove Background",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "RecraftReplaceBackgroundNode": {
    "description": "Remplace l’arrière-plan d’une image, selon l’invite fournie.",
    "display_name": "Recraft Remplacer l’arrière-plan",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image": {
        "name": "image"
      },
      "n": {
        "name": "n",
        "tooltip": "Nombre d’images à générer."
      },
      "negative_prompt": {
        "name": "invite négative",
        "tooltip": "Une description textuelle optionnelle des éléments indésirables sur une image."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite pour la génération d’image."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels restent non déterministes, quelle que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3DigitalIllustration": {
    "description": "Sélectionnez le style realistic_image et un sous-style optionnel.",
    "display_name": "Style Recraft - Illustration numérique",
    "inputs": {
      "substyle": {
        "name": "sous-style"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3InfiniteStyleLibrary": {
    "description": "Sélectionnez un style basé sur l'UUID préexistant de la Infinite Style Library de Recraft.",
    "display_name": "Recraft Style - Infinite Style Library",
    "inputs": {
      "style_id": {
        "name": "style_id",
        "tooltip": "UUID du style provenant de la Infinite Style Library."
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3LogoRaster": {
    "description": "Sélectionnez le style realistic_image et un sous-style optionnel.",
    "display_name": "Recraft Style - Logo Raster",
    "inputs": {
      "substyle": {
        "name": "sous-style"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3RealisticImage": {
    "description": "Sélectionnez le style realistic_image et un sous-style optionnel.",
    "display_name": "Recraft Style - Image réaliste",
    "inputs": {
      "substyle": {
        "name": "sous-style"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftTextToImageNode": {
    "description": "Génère des images de manière synchrone à partir d'une invite et d'une résolution.",
    "display_name": "Recraft Texte en Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "n": {
        "name": "n",
        "tooltip": "Le nombre d'images à générer."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Une description textuelle optionnelle des éléments indésirables sur une image."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite pour la génération d'image."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Contrôles supplémentaires optionnels sur la génération via le nœud Recraft Controls."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels sont non déterministes, quelle que soit la graine."
      },
      "size": {
        "name": "taille",
        "tooltip": "La taille de l'image générée."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftTextToVectorNode": {
    "description": "Génère un SVG de manière synchrone à partir du prompt et de la résolution.",
    "display_name": "Recraft Texte vers Vecteur",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "n": {
        "name": "n",
        "tooltip": "Le nombre d'images à générer."
      },
      "negative_prompt": {
        "name": "prompt négatif",
        "tooltip": "Une description textuelle optionnelle des éléments indésirables sur une image."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération d'image."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Contrôles supplémentaires optionnels sur la génération via le nœud Recraft Controls."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed pour déterminer si le nœud doit être relancé ; les résultats réels sont non déterministes quel que soit le seed."
      },
      "size": {
        "name": "taille",
        "tooltip": "La taille de l'image générée."
      },
      "substyle": {
        "name": "sous-style"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftV4TextToImageNode": {
    "description": "Génère des images à l’aide des modèles Recraft V4 ou V4 Pro.",
    "display_name": "Recraft V4 Texte vers Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle à utiliser pour la génération."
      },
      "model_size": {
        "name": "taille"
      },
      "n": {
        "name": "n",
        "tooltip": "Nombre d’images à générer."
      },
      "negative_prompt": {
        "name": "prompt_négatif",
        "tooltip": "Description textuelle optionnelle des éléments indésirables sur une image."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération d’image. Maximum 10 000 caractères."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Contrôles supplémentaires optionnels sur la génération via le nœud Recraft Controls."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels restent non déterministes quel que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftV4TextToVectorNode": {
    "description": "Génère des SVG à l’aide des modèles Recraft V4 ou V4 Pro.",
    "display_name": "Recraft V4 Texte vers Vectoriel",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle à utiliser pour la génération."
      },
      "model_size": {
        "name": "taille"
      },
      "n": {
        "name": "n",
        "tooltip": "Nombre d’images à générer."
      },
      "negative_prompt": {
        "name": "prompt_négatif",
        "tooltip": "Description textuelle optionnelle des éléments indésirables sur une image."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt pour la génération d’image. Maximum 10 000 caractères."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Contrôles supplémentaires optionnels sur la génération via le nœud Recraft Controls."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour déterminer si le nœud doit être relancé ; les résultats réels restent non déterministes quel que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftVectorizeImageNode": {
    "description": "Génère un SVG de manière synchrone à partir d'une image d'entrée.",
    "display_name": "Vectoriser une image avec Recraft",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReferenceLatent": {
    "description": "Ce nœud définit le latent de guidage pour un modèle d'édition. Si le modèle le prend en charge, vous pouvez en chaîner plusieurs pour définir plusieurs images de référence.",
    "display_name": "LatentDeRéférence",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      },
      "latent": {
        "name": "latent"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReferenceTimbreAudio": {
    "description": "Ce nœud définit l’audio de référence pour le timbre (pour ace step 1.5)",
    "display_name": "ReferenceTimbreAudio",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      },
      "latent": {
        "name": "latent"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RegexExtract": {
    "display_name": "Extraire par Regex",
    "inputs": {
      "case_insensitive": {
        "name": "insensible_à_la_casse"
      },
      "dotall": {
        "name": "dotall"
      },
      "group_index": {
        "name": "index_groupe"
      },
      "mode": {
        "name": "mode"
      },
      "multiline": {
        "name": "multiligne"
      },
      "regex_pattern": {
        "name": "motif_regex"
      },
      "string": {
        "name": "chaîne"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RegexMatch": {
    "display_name": "Correspondance Regex",
    "inputs": {
      "case_insensitive": {
        "name": "insensible_à_la_casse"
      },
      "dotall": {
        "name": "dotall"
      },
      "multiline": {
        "name": "multiligne"
      },
      "regex_pattern": {
        "name": "motif_regex"
      },
      "string": {
        "name": "chaîne"
      }
    },
    "outputs": {
      "0": {
        "name": "correspondances",
        "tooltip": null
      }
    }
  },
  "RegexReplace": {
    "description": "Rechercher et remplacer du texte à l'aide de motifs regex.",
    "display_name": "Remplacer par Regex",
    "inputs": {
      "case_insensitive": {
        "name": "insensible à la casse"
      },
      "count": {
        "name": "nombre",
        "tooltip": "Nombre maximum de remplacements à effectuer. Réglez sur 0 pour remplacer toutes les occurrences (par défaut). Réglez sur 1 pour remplacer uniquement la première correspondance, 2 pour les deux premières correspondances, etc."
      },
      "dotall": {
        "name": "dotall",
        "tooltip": "Lorsqu'activé, le point (.) correspondra à n'importe quel caractère y compris les caractères de nouvelle ligne. Lorsque désactivé, les points ne correspondront pas aux nouvelles lignes."
      },
      "multiline": {
        "name": "multiligne"
      },
      "regex_pattern": {
        "name": "motif_regex"
      },
      "replace": {
        "name": "remplacer"
      },
      "string": {
        "name": "chaîne"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RemoveBackground": {
    "display_name": "Supprimer l’arrière-plan",
    "inputs": {
      "bg_removal_model": {
        "name": "modèle_de_suppression_arrière-plan",
        "tooltip": "Modèle de suppression d’arrière-plan utilisé pour générer le masque"
      },
      "image": {
        "name": "image",
        "tooltip": "Image d’entrée dont l’arrière-plan doit être supprimé"
      }
    },
    "outputs": {
      "0": {
        "name": "masque",
        "tooltip": "Masque de premier plan généré"
      }
    }
  },
  "RenormCFG": {
    "display_name": "RenormCFG",
    "inputs": {
      "cfg_trunc": {
        "name": "cfg_trunc"
      },
      "model": {
        "name": "modèle"
      },
      "renorm_cfg": {
        "name": "renorm_cfg"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RepeatImageBatch": {
    "display_name": "RépéterLotImage",
    "inputs": {
      "amount": {
        "name": "quantité"
      },
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RepeatLatentBatch": {
    "display_name": "Répéter Lot Latent",
    "inputs": {
      "amount": {
        "name": "quantité"
      },
      "samples": {
        "name": "échantillons"
      }
    }
  },
  "ReplaceText": {
    "display_name": "Remplacer le texte",
    "inputs": {
      "find": {
        "name": "find",
        "tooltip": "Texte à rechercher."
      },
      "replace": {
        "name": "replace",
        "tooltip": "Texte de remplacement."
      },
      "texts": {
        "name": "texts",
        "tooltip": "Texte à traiter."
      }
    },
    "outputs": {
      "0": {
        "name": "texts",
        "tooltip": "Textes traités"
      }
    }
  },
  "ReplaceVideoLatentFrames": {
    "display_name": "Remplacer les images latentes vidéo",
    "inputs": {
      "destination": {
        "name": "destination",
        "tooltip": "Le latent de destination où les images seront remplacées."
      },
      "index": {
        "name": "index",
        "tooltip": "L’index de la première image latente dans le latent de destination où les images du latent source seront placées. Les valeurs négatives comptent à partir de la fin."
      },
      "source": {
        "name": "source",
        "tooltip": "Le latent source fournissant les images à insérer dans le latent de destination. Si non fourni, le latent de destination est retourné inchangé."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RescaleCFG": {
    "display_name": "RescaleCFG",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "multiplier": {
        "name": "multiplicateur"
      }
    }
  },
  "ResizeAndPadImage": {
    "display_name": "RedimensionnerEtRembourrerImage",
    "inputs": {
      "image": {
        "name": "image"
      },
      "interpolation": {
        "name": "interpolation"
      },
      "padding_color": {
        "name": "couleur_rembourrage"
      },
      "target_height": {
        "name": "hauteur_cible"
      },
      "target_width": {
        "name": "largeur_cible"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ResizeImageMaskNode": {
    "description": "Redimensionner une image ou un mask en utilisant différentes méthodes de mise à l'échelle.",
    "display_name": "Redimensionner image/masque",
    "inputs": {
      "input": {
        "name": "input"
      },
      "resize_type": {
        "name": "resize_type",
        "tooltip": "Sélectionnez la méthode de redimensionnement : par dimensions exactes, facteur d'échelle, correspondance avec une autre image, etc."
      },
      "resize_type_crop": {
        "name": "rogner"
      },
      "resize_type_height": {
        "name": "hauteur"
      },
      "resize_type_width": {
        "name": "largeur"
      },
      "scale_method": {
        "name": "scale_method",
        "tooltip": "Algorithme d'interpolation. 'area' est optimal pour la réduction, 'lanczos' pour l'agrandissement, 'nearest-exact' pour le pixel art."
      }
    },
    "outputs": {
      "0": {
        "name": "resized",
        "tooltip": null
      }
    }
  },
  "ResizeImagesByLongerEdge": {
    "display_name": "Redimensionner les images par le bord le plus long",
    "inputs": {
      "images": {
        "name": "images",
        "tooltip": "Image à traiter."
      },
      "longer_edge": {
        "name": "longer_edge",
        "tooltip": "Longueur cible pour le bord le plus long."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Images traitées"
      }
    }
  },
  "ResizeImagesByShorterEdge": {
    "display_name": "Redimensionner les images par le bord le plus court",
    "inputs": {
      "images": {
        "name": "images",
        "tooltip": "Image à traiter."
      },
      "shorter_edge": {
        "name": "shorter_edge",
        "tooltip": "Longueur cible pour le bord le plus court."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Images traitées"
      }
    }
  },
  "ResolutionBucket": {
    "display_name": "Regroupement par résolution",
    "inputs": {
      "conditioning": {
        "name": "conditioning",
        "tooltip": "Liste de listes de conditionnement (doit correspondre à la longueur des latents)."
      },
      "latents": {
        "name": "latents",
        "tooltip": "Liste de dictionnaires de latent à regrouper par résolution."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "Liste de dictionnaires de latent groupés, un par regroupement de résolution."
      },
      "1": {
        "name": "conditioning",
        "tooltip": "Liste de listes de conditions, une par regroupement de résolution."
      }
    }
  },
  "ResolutionSelector": {
    "description": "Calcule la largeur et la hauteur à partir du ratio d'aspect et de la cible en mégapixels. Utile pour définir les dimensions d'une image latente vide.",
    "display_name": "Sélecteur de résolution",
    "inputs": {
      "aspect_ratio": {
        "name": "ratio d'aspect",
        "tooltip": "Le ratio d'aspect pour les dimensions de sortie."
      },
      "megapixels": {
        "name": "mégapixels",
        "tooltip": "Nombre total de mégapixels visé. 1,0 MP ≈ 1024×1024 pour un carré."
      }
    },
    "outputs": {
      "0": {
        "name": "largeur",
        "tooltip": "Largeur calculée en pixels (multiple de 8)."
      },
      "1": {
        "name": "hauteur",
        "tooltip": "Hauteur calculée en pixels (multiple de 8)."
      }
    }
  },
  "ReveImageCreateNode": {
    "description": "Générez des images à partir de descriptions textuelles avec Reve.",
    "display_name": "Reve Création d’Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Version du modèle à utiliser pour la génération."
      },
      "model_aspect_ratio": {
        "name": "rapport d’aspect"
      },
      "model_test_time_scaling": {
        "name": "mise à l’échelle à l’exécution"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Description textuelle de l’image souhaitée. Maximum 2560 caractères."
      },
      "remove_background": {
        "name": "supprimer l’arrière-plan",
        "tooltip": "Supprimer l’arrière-plan de l’image générée. Peut entraîner un coût supplémentaire."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats restent non déterministes quel que soit la graine."
      },
      "upscale": {
        "name": "agrandir",
        "tooltip": "Agrandir l’image générée. Peut entraîner un coût supplémentaire."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReveImageEditNode": {
    "description": "Modifiez des images à l’aide d’instructions en langage naturel avec Reve.",
    "display_name": "Reve Édition d’Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "edit_instruction": {
        "name": "instruction d’édition",
        "tooltip": "Description textuelle de la modification à apporter à l’image. Maximum 2560 caractères."
      },
      "image": {
        "name": "image",
        "tooltip": "L’image à modifier."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Version du modèle à utiliser pour l’édition."
      },
      "model_aspect_ratio": {
        "name": "rapport d’aspect"
      },
      "model_test_time_scaling": {
        "name": "mise à l’échelle à l’exécution"
      },
      "remove_background": {
        "name": "supprimer l’arrière-plan",
        "tooltip": "Supprimer l’arrière-plan de l’image générée. Peut entraîner un coût supplémentaire."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats restent non déterministes quel que soit la graine."
      },
      "upscale": {
        "name": "agrandir",
        "tooltip": "Agrandir l’image générée. Peut entraîner un coût supplémentaire."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReveImageRemixNode": {
    "description": "Combinez des images de référence avec des prompts textuels pour créer de nouvelles images avec Reve.",
    "display_name": "Reve Remix d’Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Version du modèle à utiliser pour le remix."
      },
      "model_aspect_ratio": {
        "name": "rapport d’aspect"
      },
      "model_test_time_scaling": {
        "name": "mise à l’échelle à l’exécution"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Description textuelle de l’image souhaitée. Peut inclure des balises XML img pour référencer des images spécifiques par index, par exemple <img>0</img>, <img>1</img>, etc."
      },
      "reference_images": {
        "name": "images de référence"
      },
      "remove_background": {
        "name": "supprimer l’arrière-plan",
        "tooltip": "Supprimer l’arrière-plan de l’image générée. Peut entraîner un coût supplémentaire."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats restent non déterministes quel que soit la graine."
      },
      "upscale": {
        "name": "agrandir",
        "tooltip": "Agrandir l’image générée. Peut entraîner un coût supplémentaire."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Rodin3D_Detail": {
    "description": "Générer des actifs 3D en utilisant l'API Rodin",
    "display_name": "Rodin 3D Générer - Générer Détails",
    "inputs": {
      "Images": {
        "name": "Images"
      },
      "Material_Type": {
        "name": "Type_Matériau"
      },
      "Polygon_count": {
        "name": "Nombre_Polygones"
      },
      "Seed": {
        "name": "Graine"
      }
    },
    "outputs": {
      "0": {
        "name": "Chemin du modèle 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen2": {
    "description": "Générer des actifs 3D en utilisant l'API Rodin",
    "display_name": "Rodin 3D Générer - Génération Gen-2",
    "inputs": {
      "Images": {
        "name": "Images"
      },
      "Material_Type": {
        "name": "Type_Matériau"
      },
      "Polygon_count": {
        "name": "Nombre_Polygones"
      },
      "Seed": {
        "name": "Graine"
      },
      "TAPose": {
        "name": "PoseTAP"
      }
    },
    "outputs": {
      "0": {
        "name": "Chemin du modèle 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Regular": {
    "description": "Générer des actifs 3D en utilisant l'API Rodin",
    "display_name": "Rodin 3D Générer - Génération Régulière",
    "inputs": {
      "Images": {
        "name": "Images"
      },
      "Material_Type": {
        "name": "Type_Matériau"
      },
      "Polygon_count": {
        "name": "Nombre_Polygones"
      },
      "Seed": {
        "name": "Graine"
      }
    },
    "outputs": {
      "0": {
        "name": "Chemin du modèle 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Sketch": {
    "description": "Générer des actifs 3D en utilisant l'API Rodin",
    "display_name": "Rodin 3D Générer - Génération Esquisse",
    "inputs": {
      "Images": {
        "name": "Images"
      },
      "Seed": {
        "name": "Graine"
      }
    },
    "outputs": {
      "0": {
        "name": "Chemin du modèle 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Smooth": {
    "description": "Générer des ressources 3D avec l'API Rodin",
    "display_name": "Rodin 3D Générer - Génération Lisse",
    "inputs": {
      "Images": {
        "name": "Images"
      },
      "Material_Type": {
        "name": "Type de matériau"
      },
      "Polygon_count": {
        "name": "Nombre de polygones"
      },
      "Seed": {
        "name": "Graine"
      }
    },
    "outputs": {
      "0": {
        "name": "Chemin du modèle 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "RunwayFirstLastFrameNode": {
    "description": "Téléchargez les premières et dernières images clés, rédigez un prompt et générez une vidéo. Les transitions plus complexes, comme lorsque la dernière image est complètement différente de la première, peuvent bénéficier de la durée plus longue de 10s. Cela donnerait à la génération plus de temps pour effectuer une transition fluide entre les deux entrées. Avant de commencer, consultez ces bonnes pratiques pour vous assurer que vos sélections d'entrée permettront à votre génération de réussir : https://help.runwayml.com/hc/en-us/articles/34170748696595-Creating-with-Keyframes-on-Gen-3.",
    "display_name": "Runway Première-Dernière image vers vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée"
      },
      "end_frame": {
        "name": "image_fin",
        "tooltip": "Image de fin à utiliser pour la vidéo. Pris en charge pour gen3a_turbo uniquement."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt texte pour la génération"
      },
      "ratio": {
        "name": "ratio"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine aléatoire pour la génération"
      },
      "start_frame": {
        "name": "image_début",
        "tooltip": "Image de départ à utiliser pour la vidéo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayImageToVideoNodeGen3a": {
    "description": "Générer une vidéo à partir d'une seule image de départ en utilisant le modèle Gen3a Turbo. Avant de commencer, consultez ces bonnes pratiques pour vous assurer que vos sélections d'entrée permettront à votre génération de réussir : https://help.runwayml.com/hc/en-us/articles/33927968552339-Creating-with-Act-One-on-Gen-3-Alpha-and-Turbo.",
    "display_name": "Runway Image vers Vidéo (Gen3a Turbo)",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt texte pour la génération"
      },
      "ratio": {
        "name": "ratio"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine aléatoire pour la génération"
      },
      "start_frame": {
        "name": "image_début",
        "tooltip": "Image de départ à utiliser pour la vidéo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayImageToVideoNodeGen4": {
    "description": "Générer une vidéo à partir d'une seule image de départ en utilisant le modèle Gen4 Turbo. Avant de commencer, consultez ces bonnes pratiques pour vous assurer que vos sélections d'entrée permettront à votre génération de réussir : https://help.runwayml.com/hc/en-us/articles/37327109429011-Creating-with-Gen-4-Video.",
    "display_name": "Runway Image vers Vidéo (Gen4 Turbo)",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt texte pour la génération"
      },
      "ratio": {
        "name": "ratio"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine aléatoire pour la génération"
      },
      "start_frame": {
        "name": "image_début",
        "tooltip": "Image de départ à utiliser pour la vidéo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayTextToImageNode": {
    "description": "Générer une image à partir d'une invite texte en utilisant le modèle Gen 4 de Runway. Vous pouvez également inclure une image de référence pour guider la génération.",
    "display_name": "Runway Texte vers Image",
    "inputs": {
      "prompt": {
        "name": "invite",
        "tooltip": "Invite texte pour la génération"
      },
      "ratio": {
        "name": "ratio"
      },
      "reference_image": {
        "name": "image_référence",
        "tooltip": "Image de référence optionnelle pour guider la génération"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SAM3_Detect": {
    "display_name": "SAM3 Détection",
    "inputs": {
      "bboxes": {
        "name": "boîtes_englobantes",
        "tooltip": "Boîtes englobantes à segmenter"
      },
      "conditioning": {
        "name": "conditionnement",
        "tooltip": "Conditionnement texte depuis CLIPTextEncode"
      },
      "image": {
        "name": "image"
      },
      "individual_masks": {
        "name": "masques_individuels",
        "tooltip": "Sortir des masques par objet au lieu de l’union"
      },
      "model": {
        "name": "modèle"
      },
      "negative_coords": {
        "name": "coords_négatives",
        "tooltip": "Points négatifs comme JSON [{\"x\": int, \"y\": int}, ...] (coordonnées pixels)"
      },
      "positive_coords": {
        "name": "coords_positives",
        "tooltip": "Points positifs comme JSON [{\"x\": int, \"y\": int}, ...] (coordonnées pixels)"
      },
      "refine_iterations": {
        "name": "itérations_affinage",
        "tooltip": "Passes d’affinage du décodeur SAM (0 = utiliser les masques bruts du détecteur)"
      },
      "threshold": {
        "name": "seuil"
      }
    },
    "outputs": {
      "0": {
        "name": "masques",
        "tooltip": null
      },
      "1": {
        "name": "boîtes_englobantes",
        "tooltip": null
      }
    }
  },
  "SAM3_TrackPreview": {
    "display_name": "Aperçu du suivi SAM3",
    "inputs": {
      "fps": {
        "name": "ips"
      },
      "images": {
        "name": "images"
      },
      "opacity": {
        "name": "opacité"
      },
      "track_data": {
        "name": "données_suivi"
      }
    }
  },
  "SAM3_TrackToMask": {
    "display_name": "SAM3 Suivi vers Masque",
    "inputs": {
      "object_indices": {
        "name": "indices_objets",
        "tooltip": "Indices d’objets séparés par des virgules à inclure (ex : '0,2,3'). Vide = tous les objets."
      },
      "track_data": {
        "name": "données_suivi"
      }
    },
    "outputs": {
      "0": {
        "name": "masques",
        "tooltip": null
      }
    }
  },
  "SAM3_VideoTrack": {
    "display_name": "SAM3 Suivi Vidéo",
    "inputs": {
      "conditioning": {
        "name": "conditionnement",
        "tooltip": "Conditionnement texte pour détecter de nouveaux objets pendant le suivi"
      },
      "detect_interval": {
        "name": "intervalle_de_détection",
        "tooltip": "Détecter tous les N frames (1 = chaque frame). Plus élevé = économie de calcul."
      },
      "detection_threshold": {
        "name": "seuil_de_détection",
        "tooltip": "Seuil de score pour la détection par texte"
      },
      "images": {
        "name": "images",
        "tooltip": "Images des frames vidéo en lot"
      },
      "initial_mask": {
        "name": "masque_initial",
        "tooltip": "Masque(s) pour la première frame à suivre (un par objet)"
      },
      "max_objects": {
        "name": "objets_max",
        "tooltip": "Nombre maximal d’objets suivis (0 = illimité). Les masques initiaux comptent dans cette limite."
      },
      "model": {
        "name": "modèle"
      }
    },
    "outputs": {
      "0": {
        "name": "données_suivi",
        "tooltip": null
      }
    }
  },
  "SDPoseDrawKeypoints": {
    "display_name": "SDPoseDrawKeypoints",
    "inputs": {
      "draw_body": {
        "name": "draw_body"
      },
      "draw_face": {
        "name": "draw_face"
      },
      "draw_feet": {
        "name": "draw_feet"
      },
      "draw_hands": {
        "name": "draw_hands"
      },
      "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": "SDPoseFaceBBoxes",
    "inputs": {
      "force_square": {
        "name": "force_square",
        "tooltip": "Agrandir l’axe le plus court de la boîte pour que la région découpée soit toujours carrée."
      },
      "keypoints": {
        "name": "keypoints"
      },
      "scale": {
        "name": "scale",
        "tooltip": "Multiplicateur pour la zone de la boîte englobante autour de chaque visage détecté."
      }
    },
    "outputs": {
      "0": {
        "name": "bboxes",
        "tooltip": "Boîtes englobantes des visages par image, compatibles avec l’entrée bboxes de SDPoseKeypointExtractor."
      }
    }
  },
  "SDPoseKeypointExtractor": {
    "description": "Extraire les points clés de pose à partir d’images en utilisant le modèle SDPose : https://huggingface.co/Comfy-Org/SDPose/tree/main/checkpoints",
    "display_name": "SDPoseKeypointExtractor",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "bboxes": {
        "name": "bboxes",
        "tooltip": "Boîtes englobantes optionnelles pour des détections plus précises. Requis pour la détection multi-personnes."
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "keypoints",
        "tooltip": "Points clés au format OpenPose (canvas_width, canvas_height, people)"
      }
    }
  },
  "SDTurboScheduler": {
    "display_name": "SDTurboScheduler",
    "inputs": {
      "denoise": {
        "name": "débruitage"
      },
      "model": {
        "name": "modèle"
      },
      "steps": {
        "name": "étapes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SD_4XUpscale_Conditioning": {
    "display_name": "SD_4XUpscale_Conditioning",
    "inputs": {
      "images": {
        "name": "images"
      },
      "negative": {
        "name": "négatif"
      },
      "noise_augmentation": {
        "name": "augmentation_du_bruit"
      },
      "positive": {
        "name": "positive"
      },
      "scale_ratio": {
        "name": "ratio_d'échelle"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "SUPIRApply": {
    "display_name": "SUPIRApply",
    "inputs": {
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "model_patch": {
        "name": "model_patch"
      },
      "restore_cfg": {
        "name": "restore_cfg",
        "tooltip": "Ramène la sortie débruitée vers le latent d'entrée. Plus la valeur est élevée, plus la fidélité à l'entrée est forte. 0 pour désactiver."
      },
      "restore_cfg_s_tmin": {
        "name": "restore_cfg_s_tmin",
        "tooltip": "Seuil sigma en dessous duquel restore_cfg est désactivé."
      },
      "strength_end": {
        "name": "strength_end",
        "tooltip": "Contrôle la force à la fin de l'échantillonnage (sigma faible). Interpolé linéairement depuis le début."
      },
      "strength_start": {
        "name": "strength_start",
        "tooltip": "Contrôle la force au début de l'échantillonnage (sigma élevé)."
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SV3D_Conditioning": {
    "display_name": "SV3D_Conditioning",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "élévation"
      },
      "height": {
        "name": "hauteur"
      },
      "init_image": {
        "name": "init_image"
      },
      "vae": {
        "name": "vae"
      },
      "video_frames": {
        "name": "cadres_vidéo"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "SVD_img2vid_Conditioning": {
    "display_name": "SVD_img2vid_Conditioning",
    "inputs": {
      "augmentation_level": {
        "name": "niveau_d'augmentation"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "fps": {
        "name": "fps"
      },
      "height": {
        "name": "hauteur"
      },
      "init_image": {
        "name": "init_image"
      },
      "motion_bucket_id": {
        "name": "id_seau_de_mouvement"
      },
      "vae": {
        "name": "vae"
      },
      "video_frames": {
        "name": "cadres_vidéo"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif"
      },
      "1": {
        "name": "négatif"
      },
      "2": {
        "name": "latent"
      }
    }
  },
  "SamplerARVideo": {
    "display_name": "Sampler AR Video",
    "inputs": {
      "num_frame_per_block": {
        "name": "nombre_d’images_par_bloc",
        "tooltip": "Images par bloc autorégressif. 1 = image par image, 3 = par lot. Doit correspondre au mode d’entraînement du checkpoint."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerCustom": {
    "display_name": "ÉchantillonneurPersonnalisé",
    "inputs": {
      "add_noise": {
        "name": "ajouter_bruit"
      },
      "cfg": {
        "name": "cfg"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "latent_image": {
        "name": "image_latente"
      },
      "model": {
        "name": "modèle"
      },
      "negative": {
        "name": "négative"
      },
      "noise_seed": {
        "name": "graine_de_bruit"
      },
      "positive": {
        "name": "positive"
      },
      "sampler": {
        "name": "échantillonneur"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "name": "sortie",
        "tooltip": null
      },
      "1": {
        "name": "sortie_débruitée",
        "tooltip": null
      }
    }
  },
  "SamplerCustomAdvanced": {
    "display_name": "ÉchantillonneurPersonnaliséAvancé",
    "inputs": {
      "guider": {
        "name": "guide"
      },
      "latent_image": {
        "name": "image_latente"
      },
      "noise": {
        "name": "bruit"
      },
      "sampler": {
        "name": "échantillonneur"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "name": "sortie",
        "tooltip": null
      },
      "1": {
        "name": "sortie_débruitée",
        "tooltip": null
      }
    }
  },
  "SamplerDPMAdaptative": {
    "display_name": "SamplerDPMAdaptative",
    "inputs": {
      "accept_safety": {
        "name": "accept_safety"
      },
      "atol": {
        "name": "atol"
      },
      "dcoeff": {
        "name": "dcoeff"
      },
      "eta": {
        "name": "eta"
      },
      "h_init": {
        "name": "h_init"
      },
      "icoeff": {
        "name": "icoeff"
      },
      "order": {
        "name": "ordre"
      },
      "pcoeff": {
        "name": "pcoeff"
      },
      "rtol": {
        "name": "rtol"
      },
      "s_noise": {
        "name": "s_bruit"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_2M_SDE": {
    "display_name": "SamplerDPMPP_2M_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "appareil_bruit"
      },
      "s_noise": {
        "name": "s_bruit"
      },
      "solver_type": {
        "name": "type_solveur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_2S_Ancestral": {
    "display_name": "SamplerDPMPP_2S_Ancestral",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_bruit"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_3M_SDE": {
    "display_name": "SamplerDPMPP_3M_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "appareil_bruit"
      },
      "s_noise": {
        "name": "s_bruit"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_SDE": {
    "display_name": "SamplerDPMPP_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "appareil_bruit"
      },
      "r": {
        "name": "r"
      },
      "s_noise": {
        "name": "s_bruit"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerER_SDE": {
    "display_name": "ÉchantillonneurER_SDE",
    "inputs": {
      "eta": {
        "name": "eta",
        "tooltip": "Force stochastique de l'EDS en temps inverse.\nLorsque eta=0, cela se réduit à une EDO déterministe. Ce paramètre ne s'applique pas au type de solveur ER-SDE."
      },
      "max_stage": {
        "name": "étape_max"
      },
      "s_noise": {
        "name": "s_bruit"
      },
      "solver_type": {
        "name": "type_solveur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerAncestral": {
    "display_name": "SamplerEulerAncestral",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_bruit"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerAncestralCFGPP": {
    "display_name": "SamplerEulerAncestralCFG++",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_bruit"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerCFGpp": {
    "display_name": "SamplerEulerCFG++",
    "inputs": {
      "version": {
        "name": "version"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLCM": {
    "description": "Échantillonneur LCM avec bruit ajustable à chaque étape. s_noise est un multiplicateur de l'échelle de bruit d'entraînement du modèle.",
    "display_name": "SamplerLCM",
    "inputs": {
      "noise_clip_std": {
        "name": "noise_clip_std",
        "tooltip": "Limite le bruit par étape à +/- N*écart-type. 0 pour désactiver."
      },
      "s_noise": {
        "name": "s_noise",
        "tooltip": "Multiplicateur de bruit par étape à la première étape (1.0 = correspond à l'entraînement)."
      },
      "s_noise_end": {
        "name": "s_noise_end",
        "tooltip": "Multiplicateur de bruit par étape à la dernière étape. Identique à s_noise pour un planning constant."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLCMUpscale": {
    "display_name": "SamplerLCMUpscale",
    "inputs": {
      "scale_ratio": {
        "name": "ratio_échelle"
      },
      "scale_steps": {
        "name": "étapes_échelle"
      },
      "upscale_method": {
        "name": "méthode_agrandissement"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLMS": {
    "display_name": "SamplerLMS",
    "inputs": {
      "order": {
        "name": "ordre"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerSASolver": {
    "display_name": "ÉchantillonneurSASolveur",
    "inputs": {
      "corrector_order": {
        "name": "ordre_correcteur"
      },
      "eta": {
        "name": "eta"
      },
      "model": {
        "name": "modèle"
      },
      "predictor_order": {
        "name": "ordre_prédicteur"
      },
      "s_noise": {
        "name": "s_bruit"
      },
      "sde_end_percent": {
        "name": "pourcent_fin_sde"
      },
      "sde_start_percent": {
        "name": "pourcent_début_sde"
      },
      "simple_order_2": {
        "name": "ordre_simple_2"
      },
      "use_pece": {
        "name": "utiliser_pece"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerSEEDS2": {
    "description": "Ce nœud d'échantillonnage peut représenter plusieurs échantillonneurs :\n\nseeds_2\n- paramètre par défaut\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é stochastique"
      },
      "r": {
        "name": "r",
        "tooltip": "Taille relative de l'étape pour l'étape intermédiaire (nœud c2)"
      },
      "s_noise": {
        "name": "s_noise",
        "tooltip": "Multiplicateur de bruit SDE"
      },
      "solver_type": {
        "name": "solver_type"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplingPercentToSigma": {
    "display_name": "PourcentageÉchantillonnageVersSigma",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "return_actual_sigma": {
        "name": "retourner_sigma_réel",
        "tooltip": "Retourner la valeur sigma réelle au lieu de la valeur utilisée pour les vérifications d'intervalle.\nCela n'affecte que les résultats à 0.0 et 1.0."
      },
      "sampling_percent": {
        "name": "pourcent_échantillonnage"
      }
    },
    "outputs": {
      "0": {
        "name": "valeur_sigma",
        "tooltip": null
      }
    }
  },
  "SaveAnimatedPNG": {
    "display_name": "EnregistrerPNGAnimé",
    "inputs": {
      "compress_level": {
        "name": "niveau_compression"
      },
      "filename_prefix": {
        "name": "préfixe_nom_fichier"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "images"
      }
    }
  },
  "SaveAnimatedWEBP": {
    "display_name": "EnregistrerWEBPAnimé",
    "inputs": {
      "filename_prefix": {
        "name": "préfixe_du_nom_de_fichier"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "images"
      },
      "lossless": {
        "name": "sans_perte"
      },
      "method": {
        "name": "méthode"
      },
      "quality": {
        "name": "qualité"
      }
    }
  },
  "SaveAudio": {
    "display_name": "EnregistrerAudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "préfixe_du_nom_de_fichier"
      }
    }
  },
  "SaveAudioMP3": {
    "display_name": "Enregistrer Audio (MP3)",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "interface_audio"
      },
      "filename_prefix": {
        "name": "préfixe_nom_fichier"
      },
      "quality": {
        "name": "qualité"
      }
    }
  },
  "SaveAudioOpus": {
    "display_name": "Enregistrer Audio (Opus)",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "interface_audio"
      },
      "filename_prefix": {
        "name": "préfixe_nom_fichier"
      },
      "quality": {
        "name": "qualité"
      }
    }
  },
  "SaveGLB": {
    "display_name": "SaveGLB",
    "inputs": {
      "filename_prefix": {
        "name": "préfixe_du_nom_de_fichier"
      },
      "image": {
        "name": "image"
      },
      "mesh": {
        "name": "maillage",
        "tooltip": "Maillage ou fichier GLB à enregistrer"
      }
    }
  },
  "SaveImage": {
    "description": "Enregistre les images d'entrée dans votre répertoire de sortie ComfyUI.",
    "display_name": "Enregistrer Image",
    "inputs": {
      "filename_prefix": {
        "name": "préfixe_du_nom_de_fichier",
        "tooltip": "Le préfixe pour le fichier à enregistrer. Cela peut inclure des informations de formatage telles que %date:yyyy-MM-dd% ou %Empty Latent Image.width% pour inclure des valeurs à partir de nœuds."
      },
      "images": {
        "name": "images",
        "tooltip": "Les images à enregistrer."
      }
    }
  },
  "SaveImageDataSetToFolder": {
    "display_name": "Enregistrer l'ensemble d'images dans un dossier",
    "inputs": {
      "filename_prefix": {
        "name": "filename_prefix",
        "tooltip": "Préfixe pour les noms de fichiers des images enregistrées."
      },
      "folder_name": {
        "name": "folder_name",
        "tooltip": "Nom du dossier dans lequel enregistrer les images (dans le répertoire de sortie)."
      },
      "images": {
        "name": "images",
        "tooltip": "Liste des images à enregistrer."
      }
    }
  },
  "SaveImageTextDataSetToFolder": {
    "display_name": "Enregistrer l'ensemble d'images et de textes dans un dossier",
    "inputs": {
      "filename_prefix": {
        "name": "filename_prefix",
        "tooltip": "Préfixe pour les noms de fichiers des images enregistrées."
      },
      "folder_name": {
        "name": "folder_name",
        "tooltip": "Nom du dossier dans lequel enregistrer les images (dans le répertoire de sortie)."
      },
      "images": {
        "name": "images",
        "tooltip": "Liste des images à enregistrer."
      },
      "texts": {
        "name": "texts",
        "tooltip": "Liste des légendes textuelles à enregistrer."
      }
    }
  },
  "SaveImageWebsocket": {
    "display_name": "EnregistrerImageWebsocket",
    "inputs": {
      "images": {
        "name": "images"
      }
    }
  },
  "SaveLatent": {
    "display_name": "EnregistrerLatent",
    "inputs": {
      "filename_prefix": {
        "name": "préfixe_du_nom_de_fichier"
      },
      "samples": {
        "name": "échantillons"
      }
    }
  },
  "SaveLoRA": {
    "display_name": "Enregistrer les poids LoRA",
    "inputs": {
      "lora": {
        "name": "lora",
        "tooltip": "Le modèle LoRA à enregistrer. N'utilisez pas le modèle avec des couches LoRA."
      },
      "prefix": {
        "name": "prefix",
        "tooltip": "Le préfixe à utiliser pour le fichier LoRA enregistré."
      },
      "steps": {
        "name": "steps",
        "tooltip": "Optionnel : Le nombre d'étapes pour lesquelles LoRA a été entraîné, utilisé pour nommer le fichier enregistré."
      }
    }
  },
  "SaveSVGNode": {
    "description": "Enregistrer les fichiers SVG sur le disque.",
    "display_name": "NoeudEnregistrerSVG",
    "inputs": {
      "filename_prefix": {
        "name": "préfixe_nom_fichier",
        "tooltip": "Le préfixe pour le fichier à enregistrer. Peut inclure des informations de formatage telles que %date:yyyy-MM-dd% ou %Empty Latent Image.width% pour inclure des valeurs des nœuds."
      },
      "svg": {
        "name": "svg"
      }
    }
  },
  "SaveTrainingDataset": {
    "display_name": "Enregistrer l'ensemble d'entraînement",
    "inputs": {
      "conditioning": {
        "name": "conditioning",
        "tooltip": "Liste de listes de conditionnement provenant de MakeTrainingDataset."
      },
      "folder_name": {
        "name": "folder_name",
        "tooltip": "Nom du dossier dans lequel enregistrer l'ensemble de données (dans le répertoire de sortie)."
      },
      "latents": {
        "name": "latents",
        "tooltip": "Liste de dictionnaires latents provenant de MakeTrainingDataset."
      },
      "shard_size": {
        "name": "shard_size",
        "tooltip": "Nombre d'échantillons par fichier fragment."
      }
    }
  },
  "SaveVideo": {
    "description": "Enregistre les images d'entrée dans votre répertoire de sortie ComfyUI.",
    "display_name": "Enregistrer la vidéo",
    "inputs": {
      "codec": {
        "name": "codec",
        "tooltip": "Le codec à utiliser pour la vidéo."
      },
      "filename_prefix": {
        "name": "préfixe_nom_fichier",
        "tooltip": "Le préfixe du fichier à enregistrer. Cela peut inclure des informations de formatage telles que %date:yyyy-MM-dd% ou %Empty Latent Image.width% pour inclure des valeurs provenant des nœuds."
      },
      "format": {
        "name": "format",
        "tooltip": "Le format sous lequel enregistrer la vidéo."
      },
      "video": {
        "name": "vidéo",
        "tooltip": "La vidéo à enregistrer."
      }
    }
  },
  "SaveWEBM": {
    "display_name": "EnregistrerWEBM",
    "inputs": {
      "codec": {
        "name": "codec"
      },
      "crf": {
        "name": "crf",
        "tooltip": "Un crf plus élevé signifie une qualité inférieure avec une taille de fichier plus petite, un crf plus bas signifie une qualité supérieure avec une taille de fichier plus grande."
      },
      "filename_prefix": {
        "name": "préfixe_de_nom_de_fichier"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "images"
      }
    }
  },
  "ScaleROPE": {
    "description": "Mettre à l'échelle et décaler le ROPE du modèle.",
    "display_name": "ÉchelleROPE",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "scale_t": {
        "name": "échelle_t"
      },
      "scale_x": {
        "name": "échelle_x"
      },
      "scale_y": {
        "name": "échelle_y"
      },
      "shift_t": {
        "name": "décalage_t"
      },
      "shift_x": {
        "name": "décalage_x"
      },
      "shift_y": {
        "name": "décalage_y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelfAttentionGuidance": {
    "display_name": "Guidance d'Auto-Attention",
    "inputs": {
      "blur_sigma": {
        "name": "blur_sigma"
      },
      "model": {
        "name": "modèle"
      },
      "scale": {
        "name": "échelle"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SetClipHooks": {
    "display_name": "Définir les Crochets CLIP",
    "inputs": {
      "apply_to_conds": {
        "name": "appliquer_à_conds"
      },
      "clip": {
        "name": "clip"
      },
      "hooks": {
        "name": "crochets"
      },
      "schedule_clip": {
        "name": "programmer_clip"
      }
    }
  },
  "SetFirstSigma": {
    "display_name": "DéfinirPremierSigma",
    "inputs": {
      "sigma": {
        "name": "sigma"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SetHookKeyframes": {
    "display_name": "Définir les Images Clés de Crochet",
    "inputs": {
      "hook_kf": {
        "name": "crochet_kf"
      },
      "hooks": {
        "name": "crochets"
      }
    }
  },
  "SetLatentNoiseMask": {
    "display_name": "Définir le Masque de Bruit Latent",
    "inputs": {
      "mask": {
        "name": "masque"
      },
      "samples": {
        "name": "échantillons"
      }
    }
  },
  "SetUnionControlNetType": {
    "display_name": "Définir le Type de Réseau de Contrôle d'Union",
    "inputs": {
      "control_net": {
        "name": "réseau_de_contrôle"
      },
      "type": {
        "name": "type"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ShuffleDataset": {
    "display_name": "Mélanger l'ensemble d'images",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "images": {
        "name": "images",
        "tooltip": "Liste des images à traiter."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine aléatoire."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Images traitées"
      }
    }
  },
  "ShuffleImageTextDataset": {
    "display_name": "Mélanger l'ensemble image-texte",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "images": {
        "name": "images",
        "tooltip": "Liste des images à mélanger."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine aléatoire."
      },
      "texts": {
        "name": "texts",
        "tooltip": "Liste des textes à mélanger."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Images mélangées"
      },
      "1": {
        "name": "texts",
        "tooltip": "Textes mélangés"
      }
    }
  },
  "SkipLayerGuidanceDiT": {
    "description": "Version générique du nœud SkipLayerGuidance qui peut être utilisée sur chaque modèle DiT.",
    "display_name": "SkipLayerGuidanceDiT",
    "inputs": {
      "double_layers": {
        "name": "double_couches"
      },
      "end_percent": {
        "name": "pourcentage_de_fin"
      },
      "model": {
        "name": "modèle"
      },
      "rescaling_scale": {
        "name": "échelle_de_redimensionnement"
      },
      "scale": {
        "name": "échelle"
      },
      "single_layers": {
        "name": "couches_simples"
      },
      "start_percent": {
        "name": "pourcentage_de_départ"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SkipLayerGuidanceDiTSimple": {
    "description": "Version simple du nœud GuidanceSautCoucheDiT qui modifie uniquement la passe sans condition.",
    "display_name": "GuidanceSautCoucheDiTSimple",
    "inputs": {
      "double_layers": {
        "name": "couches_doubles"
      },
      "end_percent": {
        "name": "pourcentage_fin"
      },
      "model": {
        "name": "modèle"
      },
      "single_layers": {
        "name": "couches_simples"
      },
      "start_percent": {
        "name": "pourcentage_début"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SkipLayerGuidanceSD3": {
    "description": "Version générique du nœud SkipLayerGuidance qui peut être utilisée sur chaque modèle DiT.",
    "display_name": "SkipLayerGuidanceSD3",
    "inputs": {
      "end_percent": {
        "name": "pourcentage_de_fin"
      },
      "layers": {
        "name": "couches"
      },
      "model": {
        "name": "modèle"
      },
      "scale": {
        "name": "échelle"
      },
      "start_percent": {
        "name": "pourcentage_de_départ"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SolidMask": {
    "display_name": "SolidMask",
    "inputs": {
      "height": {
        "name": "hauteur"
      },
      "value": {
        "name": "valeur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SoniloTextToMusic": {
    "description": "Générez de la musique à partir d'une invite textuelle en utilisant le modèle IA de Sonilo. Laissez la durée à 0 pour que le modèle l'infère à partir de l'invite.",
    "display_name": "Sonilo Texte en Musique",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Durée cible en secondes. Mettez 0 pour laisser le modèle inférer la durée à partir de l'invite. Maximum : 6 minutes."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle décrivant la musique à générer."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine pour la reproductibilité. Actuellement ignorée par le service Sonilo mais conservée pour la cohérence du graphe."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SoniloVideoToMusic": {
    "description": "Générez de la musique à partir d'un contenu vidéo en utilisant le modèle IA de Sonilo. Analyse la vidéo et crée une musique correspondante.",
    "display_name": "Sonilo Vidéo en Musique",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Invite textuelle optionnelle pour guider la génération musicale. Laissez vide pour une qualité optimale - le modèle analysera entièrement le contenu vidéo."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine pour la reproductibilité. Actuellement ignorée par le service Sonilo mais conservée pour la cohérence du graphe."
      },
      "video": {
        "name": "video",
        "tooltip": "Vidéo d'entrée à partir de laquelle générer la musique. Durée maximale : 6 minutes."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SplitAudioChannels": {
    "description": "Sépare l'audio en canaux gauche et droit.",
    "display_name": "Séparer les canaux audio",
    "inputs": {
      "audio": {
        "name": "audio"
      }
    },
    "outputs": {
      "0": {
        "name": "gauche",
        "tooltip": null
      },
      "1": {
        "name": "droite",
        "tooltip": null
      }
    }
  },
  "SplitImageToTileList": {
    "description": "Divise une image en une liste groupée de tuiles avec un chevauchement spécifié.",
    "display_name": "Diviser l'image en liste de tuiles",
    "inputs": {
      "image": {
        "name": "image"
      },
      "overlap": {
        "name": "chevauchement"
      },
      "tile_height": {
        "name": "hauteur_tuile"
      },
      "tile_width": {
        "name": "largeur_tuile"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SplitImageWithAlpha": {
    "display_name": "Diviser l'image avec Alpha",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "SplitSigmas": {
    "display_name": "SplitSigmas",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      },
      "step": {
        "name": "étape"
      }
    },
    "outputs": {
      "0": {
        "name": "sigmas_hauts",
        "tooltip": null
      },
      "1": {
        "name": "sigmas_bas",
        "tooltip": null
      }
    }
  },
  "SplitSigmasDenoise": {
    "display_name": "SplitSigmasDenoise",
    "inputs": {
      "denoise": {
        "name": "réduction_du_bruit"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "name": "sigmas_hauts",
        "tooltip": null
      },
      "1": {
        "name": "sigmas_bas",
        "tooltip": null
      }
    }
  },
  "StabilityAudioInpaint": {
    "description": "Transforme une partie d'un échantillon audio existant en utilisant des instructions textuelles.",
    "display_name": "Restauration audio Stability AI",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "L'audio doit durer entre 6 et 190 secondes."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "Contrôle la durée en secondes de l'audio généré."
      },
      "mask_end": {
        "name": "fin_masque"
      },
      "mask_start": {
        "name": "début_masque"
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "prompt"
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour la génération."
      },
      "steps": {
        "name": "étapes",
        "tooltip": "Contrôle le nombre d'étapes d'échantillonnage."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StabilityAudioToAudio": {
    "description": "Transforme des échantillons audio existants en nouvelles compositions de haute qualité à l'aide d'instructions textuelles.",
    "display_name": "Stability AI Audio vers Audio",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "L'audio doit durer entre 6 et 190 secondes."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "Contrôle la durée en secondes de l'audio généré."
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "consigne"
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour la génération."
      },
      "steps": {
        "name": "étapes",
        "tooltip": "Contrôle le nombre d'étapes d'échantillonnage."
      },
      "strength": {
        "name": "intensité",
        "tooltip": "Ce paramètre contrôle l'influence du paramètre audio sur l'audio généré."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StabilityStableImageSD_3_5Node": {
    "description": "Génère des images de manière synchrone à partir d'un prompt et d'une résolution.",
    "display_name": "Stability AI Stable Diffusion 3.5 Image",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Rapport d’aspect de l’image générée."
      },
      "cfg_scale": {
        "name": "cfg_scale",
        "tooltip": "À quel point le processus de diffusion suit strictement le texte du prompt (des valeurs plus élevées rapprochent l’image de votre prompt)."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image"
      },
      "image_denoise": {
        "name": "image_denoise",
        "tooltip": "Dénuagement de l’image d’entrée ; 0,0 donne une image identique à l’entrée, 1,0 équivaut à ne pas fournir d’image du tout."
      },
      "model": {
        "name": "model"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Mots-clés de ce que vous ne souhaitez pas voir dans l’image générée. Il s’agit d’une fonctionnalité avancée."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Ce que vous souhaitez voir dans l’image générée. Un prompt fort et descriptif qui définit clairement les éléments, les couleurs et les sujets donnera de meilleurs résultats."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      },
      "style_preset": {
        "name": "style_preset",
        "tooltip": "Style optionnel souhaité pour l’image générée."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StabilityStableImageUltraNode": {
    "description": "Génère des images de manière synchrone à partir d'un prompt et d'une résolution.",
    "display_name": "Stability AI Stable Image Ultra",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Rapport d'aspect de l'image générée."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image"
      },
      "image_denoise": {
        "name": "image_denoise",
        "tooltip": "Dénuage de l'image d'entrée ; 0.0 donne une image identique à l'entrée, 1.0 comme si aucune image n'avait été fournie."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Un texte décrivant ce que vous ne souhaitez pas voir dans l'image générée. Il s'agit d'une fonctionnalité avancée."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Ce que vous souhaitez voir dans l'image générée. Un prompt fort et descriptif qui définit clairement les éléments, les couleurs et les sujets donnera de meilleurs résultats. Pour contrôler le poids d'un mot donné, utilisez le format `(mot:poids)`, où `mot` est le mot dont vous souhaitez contrôler le poids et `poids` est une valeur entre 0 et 1. Par exemple : `Le ciel était d'un (bleu:0.3) vif et (vert:0.8)` indiquerait un ciel bleu et vert, mais plus vert que bleu."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      },
      "style_preset": {
        "name": "style_preset",
        "tooltip": "Style souhaité optionnel de l'image générée."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StabilityTextToAudio": {
    "description": "Génère de la musique et des effets sonores de haute qualité à partir de descriptions textuelles.",
    "display_name": "Stability AI Texte vers Audio",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "Contrôle la durée en secondes de l'audio généré."
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "consigne"
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour la génération."
      },
      "steps": {
        "name": "étapes",
        "tooltip": "Contrôle le nombre d'étapes d'échantillonnage."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StabilityUpscaleConservativeNode": {
    "description": "Agrandit l’image avec des modifications minimales jusqu’à une résolution 4K.",
    "display_name": "Stability AI Upscale Conservateur",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "creativity": {
        "name": "créativité",
        "tooltip": "Contrôle la probabilité de créer des détails supplémentaires non fortement conditionnés par l’image initiale."
      },
      "image": {
        "name": "image"
      },
      "negative_prompt": {
        "name": "prompt négatif",
        "tooltip": "Mots-clés de ce que vous ne souhaitez pas voir dans l’image générée. Il s’agit d’une fonctionnalité avancée."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Ce que vous souhaitez voir dans l’image générée. Un prompt fort et descriptif, définissant clairement les éléments, couleurs et sujets, donnera de meilleurs résultats."
      },
      "seed": {
        "name": "seed",
        "tooltip": "La graine aléatoire utilisée pour générer le bruit."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StabilityUpscaleCreativeNode": {
    "description": "Agrandir l’image avec des modifications minimales jusqu’à une résolution 4K.",
    "display_name": "Stability AI Upscale Creative",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "creativity": {
        "name": "créativité",
        "tooltip": "Contrôle la probabilité de créer des détails supplémentaires non fortement conditionnés par l’image initiale."
      },
      "image": {
        "name": "image"
      },
      "negative_prompt": {
        "name": "prompt_négatif",
        "tooltip": "Mots-clés de ce que vous ne souhaitez pas voir dans l’image générée. Fonctionnalité avancée."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Ce que vous souhaitez voir dans l’image générée. Un prompt fort et descriptif, définissant clairement les éléments, couleurs et sujets, donnera de meilleurs résultats."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine aléatoire utilisée pour créer le bruit."
      },
      "style_preset": {
        "name": "style_prédéfini",
        "tooltip": "Style souhaité de l’image générée (optionnel)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StabilityUpscaleFastNode": {
    "description": "Agrandit rapidement une image via un appel à l’API Stability jusqu’à 4x sa taille d’origine ; destiné à l’agrandissement d’images de faible qualité ou compressées.",
    "display_name": "Stability AI Agrandissement Rapide",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StableCascade_EmptyLatentImage": {
    "display_name": "StableCascade_EmptyLatentImage",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "compression": {
        "name": "compression"
      },
      "height": {
        "name": "hauteur"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "stage_c",
        "tooltip": null
      },
      "1": {
        "name": "stage_b",
        "tooltip": null
      }
    }
  },
  "StableCascade_StageB_Conditioning": {
    "display_name": "StableCascade_StageB_Conditioning",
    "inputs": {
      "conditioning": {
        "name": "conditionnement"
      },
      "stage_c": {
        "name": "stage_c"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StableCascade_StageC_VAEEncode": {
    "display_name": "StableCascade_StageC_VAEEncode",
    "inputs": {
      "compression": {
        "name": "compression"
      },
      "image": {
        "name": "image"
      },
      "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": "image"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "entrée_controlnet",
        "tooltip": null
      },
      "1": {
        "name": "étape_c",
        "tooltip": null
      },
      "2": {
        "name": "étape_b",
        "tooltip": null
      }
    }
  },
  "StableZero123_Conditioning": {
    "display_name": "StableZero123_Conditioning",
    "inputs": {
      "azimuth": {
        "name": "azimut"
      },
      "batch_size": {
        "name": "taille_lot"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "élévation"
      },
      "height": {
        "name": "hauteur"
      },
      "init_image": {
        "name": "init_image"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "StableZero123_Conditioning_Batched": {
    "display_name": "StableZero123_Conditioning_Batched",
    "inputs": {
      "azimuth": {
        "name": "azimut"
      },
      "azimuth_batch_increment": {
        "name": "incrément_lot_azimut"
      },
      "batch_size": {
        "name": "taille_lot"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "élévation"
      },
      "elevation_batch_increment": {
        "name": "incrément_lot_élévation"
      },
      "height": {
        "name": "hauteur"
      },
      "init_image": {
        "name": "init_image"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "StringCompare": {
    "display_name": "Comparer",
    "inputs": {
      "case_sensitive": {
        "name": "sensible_casse"
      },
      "mode": {
        "name": "mode"
      },
      "string_a": {
        "name": "chaîne_a"
      },
      "string_b": {
        "name": "chaîne_b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringConcatenate": {
    "display_name": "Concaténer",
    "inputs": {
      "delimiter": {
        "name": "délimiteur"
      },
      "string_a": {
        "name": "string_a"
      },
      "string_b": {
        "name": "string_b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringContains": {
    "display_name": "Contient",
    "inputs": {
      "case_sensitive": {
        "name": "sensible_à_la_casse"
      },
      "string": {
        "name": "chaîne"
      },
      "substring": {
        "name": "sous-chaîne"
      }
    },
    "outputs": {
      "0": {
        "name": "contient",
        "tooltip": null
      }
    }
  },
  "StringLength": {
    "display_name": "Longueur",
    "inputs": {
      "string": {
        "name": "chaîne"
      }
    },
    "outputs": {
      "0": {
        "name": "longueur",
        "tooltip": null
      }
    }
  },
  "StringReplace": {
    "display_name": "Remplacer",
    "inputs": {
      "find": {
        "name": "rechercher"
      },
      "replace": {
        "name": "remplacer"
      },
      "string": {
        "name": "chaîne"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringSubstring": {
    "display_name": "Sous-chaîne",
    "inputs": {
      "end": {
        "name": "fin"
      },
      "start": {
        "name": "début"
      },
      "string": {
        "name": "chaîne"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringTrim": {
    "display_name": "Tronquer",
    "inputs": {
      "mode": {
        "name": "mode"
      },
      "string": {
        "name": "chaîne"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StripWhitespace": {
    "display_name": "Supprimer les espaces",
    "inputs": {
      "texts": {
        "name": "textes",
        "tooltip": "Texte à traiter."
      }
    },
    "outputs": {
      "0": {
        "name": "textes",
        "tooltip": "Textes traités"
      }
    }
  },
  "StyleModelApply": {
    "display_name": "Appliquer le modèle de style",
    "inputs": {
      "clip_vision_output": {
        "name": "sortie_clip_vision"
      },
      "conditioning": {
        "name": "conditionnement"
      },
      "strength": {
        "name": "force"
      },
      "strength_type": {
        "name": "type_de_force"
      },
      "style_model": {
        "name": "modèle_de_style"
      }
    }
  },
  "StyleModelLoader": {
    "display_name": "Charger le modèle de style",
    "inputs": {
      "style_model_name": {
        "name": "nom_du_modèle_de_style"
      }
    }
  },
  "T5TokenizerOptions": {
    "display_name": "T5TokenizerOptions",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "min_length": {
        "name": "longueur_min"
      },
      "min_padding": {
        "name": "remplissage_min"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TCFG": {
    "description": "TCFG – Amortissement tangentiel CFG (2503.18137)\n\nAffine le uncond (négatif) pour l'aligner avec le cond (positif) afin d'améliorer la qualité.",
    "display_name": "Amortissement tangentiel CFG",
    "inputs": {
      "model": {
        "name": "modèle"
      }
    },
    "outputs": {
      "0": {
        "name": "modèle_corrigé",
        "tooltip": null
      }
    }
  },
  "TemporalScoreRescaling": {
    "description": "[Fonction post-CFG]\nTSR - Rééchelonnage temporel des scores (2510.01184)\n\nRééchelonne le score ou le bruit du modèle pour orienter la diversité de l'échantillonnage.",
    "display_name": "TSR - Rééchelonnage temporel des scores",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "tsr_k": {
        "name": "tsr_k",
        "tooltip": "Contrôle la force de rééchelonnage.\nUn k plus faible produit des résultats plus détaillés ; un k plus élevé produit des résultats plus lisses dans la génération d'images. Régler k = 1 désactive le rééchelonnage."
      },
      "tsr_sigma": {
        "name": "tsr_sigma",
        "tooltip": "Contrôle à quel moment le rééchelonnage prend effet.\nDes valeurs plus grandes prennent effet plus tôt."
      }
    },
    "outputs": {
      "0": {
        "name": "modèle_corrigé",
        "tooltip": null
      }
    }
  },
  "Tencent3DPartNode": {
    "description": "Identifie et génère automatiquement des composants en fonction de la structure du modèle.",
    "display_name": "Hunyuan3D : Partie 3D",
    "inputs": {
      "control_after_generate": {
        "name": "contrôler après génération"
      },
      "model_3d": {
        "name": "modèle_3d",
        "tooltip": "Modèle 3D au format FBX. Le modèle doit comporter moins de 30 000 faces."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats restent non déterministes quel que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "Tencent3DTextureEditNode": {
    "description": "Après avoir importé le modèle 3D, effectuez la retouche de la texture du modèle 3D.",
    "display_name": "Hunyuan3D : Édition de texture 3D",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Modèle 3D au format FBX. Le modèle doit comporter moins de 100 000 faces."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Décrit l’édition de la texture. Prend en charge jusqu’à 1024 caractères UTF-8."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Le seed contrôle si le nœud doit être relancé ; les résultats restent non déterministes quel que soit le seed."
      }
    },
    "outputs": {
      "0": {
        "name": "GLB",
        "tooltip": null
      },
      "1": {
        "name": "OBJ",
        "tooltip": null
      },
      "2": {
        "name": "texture_image",
        "tooltip": null
      }
    }
  },
  "TencentImageToModelNode": {
    "display_name": "Hunyuan3D : Image(s) vers Modèle (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "face_count": {
        "name": "nombre de faces"
      },
      "generate_type": {
        "name": "type de génération"
      },
      "generate_type_pbr": {
        "name": "pbr"
      },
      "image": {
        "name": "image"
      },
      "image_back": {
        "name": "image arrière"
      },
      "image_left": {
        "name": "image gauche"
      },
      "image_right": {
        "name": "image droite"
      },
      "model": {
        "name": "modèle",
        "tooltip": "L’option LowPoly n’est pas disponible pour le modèle `3.1`."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats restent non déterministes quelle que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "name": "fichier_modèle",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "OBJ",
        "tooltip": null
      },
      "3": {
        "name": "texture_image",
        "tooltip": null
      },
      "4": {
        "name": "optionnel_metallic",
        "tooltip": null
      },
      "5": {
        "name": "optionnel_normal",
        "tooltip": null
      },
      "6": {
        "name": "optionnel_roughness",
        "tooltip": null
      }
    }
  },
  "TencentModelTo3DUVNode": {
    "description": "Effectue le dépliage UV d’un modèle 3D pour générer une texture UV. Le modèle d’entrée doit comporter moins de 30 000 faces.",
    "display_name": "Hunyuan3D : Modèle vers UV",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model_3d": {
        "name": "modèle_3d",
        "tooltip": "Modèle 3D en entrée (GLB, OBJ ou FBX)"
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "name": "OBJ",
        "tooltip": null
      },
      "1": {
        "name": "FBX",
        "tooltip": null
      },
      "2": {
        "name": "uv_image",
        "tooltip": null
      }
    }
  },
  "TencentSmartTopologyNode": {
    "description": "Effectue une retopologie intelligente sur un modèle 3D. Prend en charge les formats GLB/OBJ ; 200 Mo max ; recommandé pour les modèles haute résolution.",
    "display_name": "Hunyuan3D : Topologie intelligente",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "face_level": {
        "name": "niveau_de_faces",
        "tooltip": "Niveau de réduction des polygones."
      },
      "model_3d": {
        "name": "modèle_3d",
        "tooltip": "Modèle 3D en entrée (GLB ou OBJ)"
      },
      "polygon_type": {
        "name": "type_polygone",
        "tooltip": "Type de composition de surface."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats sont non déterministes quel que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "name": "OBJ",
        "tooltip": null
      }
    }
  },
  "TencentTextToModelNode": {
    "display_name": "Hunyuan3D : Texte vers Modèle (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "face_count": {
        "name": "nombre de faces"
      },
      "generate_type": {
        "name": "type de génération"
      },
      "generate_type_pbr": {
        "name": "pbr"
      },
      "model": {
        "name": "modèle",
        "tooltip": "L’option LowPoly n’est pas disponible pour le modèle `3.1`."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Jusqu’à 1024 caractères pris en charge."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine contrôle si le nœud doit être relancé ; les résultats restent non déterministes quelle que soit la graine."
      }
    },
    "outputs": {
      "0": {
        "name": "fichier_modèle",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "OBJ",
        "tooltip": null
      },
      "3": {
        "name": "texture_image",
        "tooltip": null
      }
    }
  },
  "TextEncodeAceStepAudio": {
    "display_name": "TextEncodeAceStepAudio",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "lyrics": {
        "name": "paroles"
      },
      "lyrics_strength": {
        "name": "force_des_paroles"
      },
      "tags": {
        "name": "balises"
      }
    },
    "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": "contrôle après génération"
      },
      "duration": {
        "name": "durée"
      },
      "generate_audio_codes": {
        "name": "générer des codes audio",
        "tooltip": "Activez le LLM qui génère des codes audio. Cela peut être lent mais augmentera la qualité de l’audio généré. Désactivez cette option si vous fournissez une référence audio au modèle."
      },
      "keyscale": {
        "name": "tonalité"
      },
      "language": {
        "name": "langue"
      },
      "lyrics": {
        "name": "paroles"
      },
      "min_p": {
        "name": "min_p"
      },
      "seed": {
        "name": "graine"
      },
      "tags": {
        "name": "tags"
      },
      "temperature": {
        "name": "température"
      },
      "timesignature": {
        "name": "signature rythmique"
      },
      "top_k": {
        "name": "top_k"
      },
      "top_p": {
        "name": "top_p"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeHunyuanVideo_ImageToVideo": {
    "display_name": "TextEncodeHunyuanVideo_ImageToVideo",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_vision_output": {
        "name": "sortie_vision_clip"
      },
      "image_interleave": {
        "name": "entrelacement_image",
        "tooltip": "À quel point l'image influence les choses par rapport à l'invite de texte. Un nombre plus élevé signifie plus d'influence de l'invite de texte."
      },
      "prompt": {
        "name": "invite"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeQwenImageEdit": {
    "display_name": "TextEncodeQwenImageEdit",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "image"
      },
      "prompt": {
        "name": "invite"
      },
      "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": "invite"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeZImageOmni": {
    "display_name": "TextEncodeZImageOmni",
    "inputs": {
      "auto_resize_images": {
        "name": "redimensionnement automatique des images"
      },
      "clip": {
        "name": "clip"
      },
      "image1": {
        "name": "image1"
      },
      "image2": {
        "name": "image2"
      },
      "image3": {
        "name": "image3"
      },
      "image_encoder": {
        "name": "encodeur d'image"
      },
      "prompt": {
        "name": "invite"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextGenerate": {
    "display_name": "TextGenerate",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "image"
      },
      "max_length": {
        "name": "longueur_max"
      },
      "prompt": {
        "name": "invite"
      },
      "sampling_mode": {
        "name": "mode_d'échantillonnage"
      },
      "sampling_mode_min_p": {
        "name": "min_p"
      },
      "sampling_mode_presence_penalty": {
        "name": "pénalité_de_presence"
      },
      "sampling_mode_repetition_penalty": {
        "name": "pénalité_de_répétition"
      },
      "sampling_mode_seed": {
        "name": "graine"
      },
      "sampling_mode_temperature": {
        "name": "température"
      },
      "sampling_mode_top_k": {
        "name": "top_k"
      },
      "sampling_mode_top_p": {
        "name": "top_p"
      },
      "thinking": {
        "name": "réflexion",
        "tooltip": "Fonctionner en mode réflexion si le modèle le permet."
      },
      "use_default_template": {
        "name": "utiliser le modèle par défaut",
        "tooltip": "Utiliser l'invite/le modèle système intégré si le modèle en possède un."
      },
      "video": {
        "name": "vidéo",
        "tooltip": "Images extraites de la vidéo en lot. Supposé à 24 FPS ; sous-échantillonné à 1 FPS en interne."
      }
    },
    "outputs": {
      "0": {
        "name": "texte_généré",
        "tooltip": null
      }
    }
  },
  "TextGenerateLTX2Prompt": {
    "display_name": "TextGenerateLTX2Prompt",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "image"
      },
      "max_length": {
        "name": "longueur_maximale"
      },
      "prompt": {
        "name": "invite"
      },
      "sampling_mode": {
        "name": "mode_d'échantillonnage"
      },
      "sampling_mode_min_p": {
        "name": "min_p"
      },
      "sampling_mode_presence_penalty": {
        "name": "pénalité_de_presence"
      },
      "sampling_mode_repetition_penalty": {
        "name": "pénalité_de_répétition"
      },
      "sampling_mode_seed": {
        "name": "graine"
      },
      "sampling_mode_temperature": {
        "name": "température"
      },
      "sampling_mode_top_k": {
        "name": "top_k"
      },
      "sampling_mode_top_p": {
        "name": "top_p"
      },
      "thinking": {
        "name": "réflexion",
        "tooltip": "Fonctionner en mode réflexion si le modèle le permet."
      },
      "use_default_template": {
        "name": "utiliser le modèle par défaut",
        "tooltip": "Utiliser l'invite/le modèle système intégré si le modèle en possède un."
      },
      "video": {
        "name": "vidéo",
        "tooltip": "Images extraites de la vidéo en lot. Supposé à 24 FPS ; sous-échantillonné à 1 FPS en interne."
      }
    },
    "outputs": {
      "0": {
        "name": "texte_généré",
        "tooltip": null
      }
    }
  },
  "TextToLowercase": {
    "display_name": "Texte en minuscules",
    "inputs": {
      "texts": {
        "name": "textes",
        "tooltip": "Texte à traiter."
      }
    },
    "outputs": {
      "0": {
        "name": "textes",
        "tooltip": "Textes traités"
      }
    }
  },
  "TextToUppercase": {
    "display_name": "Texte en majuscules",
    "inputs": {
      "texts": {
        "name": "textes",
        "tooltip": "Texte à traiter."
      }
    },
    "outputs": {
      "0": {
        "name": "textes",
        "tooltip": "Textes traités"
      }
    }
  },
  "ThresholdMask": {
    "display_name": "SeuilMasque",
    "inputs": {
      "mask": {
        "name": "masque"
      },
      "value": {
        "name": "valeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TomePatchModel": {
    "display_name": "ModèlePatchTome",
    "inputs": {
      "model": {
        "name": "modèle"
      },
      "ratio": {
        "name": "ratio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazImageEnhance": {
    "description": "Agrandissement et amélioration d'image de référence dans l'industrie.",
    "display_name": "Topaz Amélioration d'image",
    "inputs": {
      "color_preservation": {
        "name": "préservation des couleurs",
        "tooltip": "Préserver les couleurs d'origine."
      },
      "creativity": {
        "name": "créativité"
      },
      "crop_to_fill": {
        "name": "rogner pour remplir",
        "tooltip": "Par défaut, l'image est encadrée si le format de sortie diffère. Activez pour rogner l'image afin de remplir les dimensions de sortie."
      },
      "face_enhancement": {
        "name": "amélioration du visage",
        "tooltip": "Améliorer les visages (si présents) lors du traitement."
      },
      "face_enhancement_creativity": {
        "name": "créativité de l'amélioration du visage",
        "tooltip": "Définir le niveau de créativité pour l'amélioration du visage."
      },
      "face_enhancement_strength": {
        "name": "intensité de l'amélioration du visage",
        "tooltip": "Contrôle la netteté des visages améliorés par rapport à l'arrière-plan."
      },
      "face_preservation": {
        "name": "préservation du visage",
        "tooltip": "Préserver l'identité faciale des sujets."
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "modèle"
      },
      "output_height": {
        "name": "hauteur de sortie",
        "tooltip": "Une valeur de zéro signifie conserver la hauteur d'origine ou la largeur de sortie."
      },
      "output_width": {
        "name": "largeur de sortie",
        "tooltip": "Une valeur de zéro signifie calcul automatique (généralement la taille d'origine ou la hauteur de sortie si spécifiée)."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite textuelle optionnelle pour guider l'agrandissement créatif."
      },
      "subject_detection": {
        "name": "détection du sujet"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazVideoEnhance": {
    "description": "Redonnez vie à vos vidéos grâce à une technologie puissante d’upscaling et de restauration.",
    "display_name": "Topaz Video Enhance",
    "inputs": {
      "dynamic_compression_level": {
        "name": "dynamic_compression_level",
        "tooltip": "Niveau CQP."
      },
      "interpolation_duplicate": {
        "name": "interpolation_duplicate",
        "tooltip": "Analyse la vidéo d’entrée pour détecter et supprimer les images dupliquées."
      },
      "interpolation_duplicate_threshold": {
        "name": "interpolation_duplicate_threshold",
        "tooltip": "Sensibilité de détection des images dupliquées."
      },
      "interpolation_enabled": {
        "name": "interpolation_enabled"
      },
      "interpolation_frame_rate": {
        "name": "interpolation_frame_rate",
        "tooltip": "Fréquence d’images de sortie."
      },
      "interpolation_model": {
        "name": "interpolation_model"
      },
      "interpolation_slowmo": {
        "name": "interpolation_slowmo",
        "tooltip": "Facteur de ralenti appliqué à la vidéo d’entrée. Par exemple, 2 rend la sortie deux fois plus lente et double la durée."
      },
      "upscaler_creativity": {
        "name": "upscaler_creativity",
        "tooltip": "Niveau de créativité (s’applique uniquement à Starlight (Astra) Creative)."
      },
      "upscaler_enabled": {
        "name": "upscaler_enabled"
      },
      "upscaler_model": {
        "name": "upscaler_model"
      },
      "upscaler_resolution": {
        "name": "upscaler_resolution"
      },
      "video": {
        "name": "vidéo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazVideoEnhanceV2": {
    "description": "Redonnez vie à vos vidéos grâce à une technologie puissante d’agrandissement et de restauration.",
    "display_name": "Topaz Video Enhance",
    "inputs": {
      "dynamic_compression_level": {
        "name": "niveau de compression dynamique",
        "tooltip": "Niveau CQP."
      },
      "interpolation_model": {
        "name": "modèle d’interpolation"
      },
      "upscaler_model": {
        "name": "modèle d’agrandissement"
      },
      "upscaler_model_creativity": {
        "name": "créativité"
      },
      "upscaler_model_prompt": {
        "name": "invite"
      },
      "upscaler_model_realism": {
        "name": "réalisme"
      },
      "upscaler_model_sharp": {
        "name": "netteté"
      },
      "upscaler_model_upscaler_resolution": {
        "name": "résolution d’agrandissement"
      },
      "video": {
        "name": "vidéo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TorchCompileModel": {
    "display_name": "ModèleCompilationTorch",
    "inputs": {
      "backend": {
        "name": "backend"
      },
      "model": {
        "name": "modèle"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TrainLoraNode": {
    "display_name": "Entraîner LoRA",
    "inputs": {
      "algorithm": {
        "name": "algorithme",
        "tooltip": "L'algorithme à utiliser pour l'entraînement."
      },
      "batch_size": {
        "name": "taille_du_lot",
        "tooltip": "La taille du lot à utiliser pour l'entraînement."
      },
      "bucket_mode": {
        "name": "bucket_mode",
        "tooltip": "Activer le mode de résolution par compartiments. Lorsqu’il est activé, attend des latents pré-triés depuis le nœud ResolutionBucket."
      },
      "bypass_mode": {
        "name": "bypass_mode",
        "tooltip": "Activer le mode bypass pour l'entraînement. Lorsqu'il est activé, les adaptateurs sont appliqués via des hooks forward au lieu de la modification des poids. Utile pour les modèles quantifiés dont les poids ne peuvent pas être modifiés directement."
      },
      "checkpoint_depth": {
        "name": "checkpoint_depth",
        "tooltip": "Niveau de profondeur pour le gradient checkpointing."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "existing_lora": {
        "name": "lora_existant",
        "tooltip": "Le LoRA existant à ajouter. Définir sur Aucun pour un nouveau LoRA."
      },
      "grad_accumulation_steps": {
        "name": "étapes_accumulation_gradient",
        "tooltip": "Le nombre d'étapes d'accumulation de gradient à utiliser pour l'entraînement."
      },
      "gradient_checkpointing": {
        "name": "point de contrôle de gradient",
        "tooltip": "Utiliser le point de contrôle de gradient pour l'entraînement."
      },
      "latents": {
        "name": "latents",
        "tooltip": "Les latents à utiliser pour l'entraînement, servent de jeu de données/entrée du modèle."
      },
      "learning_rate": {
        "name": "taux_apprentissage",
        "tooltip": "Le taux d'apprentissage à utiliser pour l'entraînement."
      },
      "lora_dtype": {
        "name": "type_données_lora",
        "tooltip": "Le type de données à utiliser pour le LoRA."
      },
      "loss_function": {
        "name": "fonction_perte",
        "tooltip": "La fonction de perte à utiliser pour l'entraînement."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle sur lequel entraîner le LoRA."
      },
      "offloading": {
        "name": "offloading",
        "tooltip": "Niveau de profondeur pour le gradient checkpointing."
      },
      "optimizer": {
        "name": "optimiseur",
        "tooltip": "L'optimiseur à utiliser pour l'entraînement."
      },
      "positive": {
        "name": "positif",
        "tooltip": "Le conditionnement positif à utiliser pour l'entraînement."
      },
      "quantized_backward": {
        "name": "quantized_backward",
        "tooltip": "Lorsque le paramètre training_dtype est défini sur 'none' et que l'entraînement se fait sur un modèle quantifié, effectue la rétropropagation avec une multiplication matricielle quantifiée si activé."
      },
      "rank": {
        "name": "rang",
        "tooltip": "Le rang des couches LoRA."
      },
      "seed": {
        "name": "graine",
        "tooltip": "La graine à utiliser pour l'entraînement (utilisée dans le générateur pour l'initialisation des poids LoRA et l'échantillonnage du bruit)."
      },
      "steps": {
        "name": "étapes",
        "tooltip": "Le nombre d'étapes pour entraîner le LoRA."
      },
      "training_dtype": {
        "name": "type_données_entraînement",
        "tooltip": "Le type de données à utiliser pour l'entraînement."
      }
    },
    "outputs": {
      "0": {
        "name": "lora",
        "tooltip": "Modèle avec LoRA appliqué"
      },
      "1": {
        "name": "carte_de_perte",
        "tooltip": "Poids LoRA"
      },
      "2": {
        "name": "étapes",
        "tooltip": "Historique de la perte"
      }
    }
  },
  "TrimAudioDuration": {
    "description": "Tronquer le tenseur audio dans la plage de temps choisie.",
    "display_name": "Régler la Durée Audio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "duration": {
        "name": "durée",
        "tooltip": "Durée en secondes"
      },
      "start_index": {
        "name": "index_début",
        "tooltip": "Heure de début en secondes, peut être négative pour compter depuis la fin (prend en charge les sous-secondes)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TrimVideoLatent": {
    "display_name": "TrimVideoLatent",
    "inputs": {
      "samples": {
        "name": "échantillons"
      },
      "trim_amount": {
        "name": "quantité de découpe"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripleCLIPLoader": {
    "description": "[Recettes]\n\nsd3: clip-l, clip-g, t5",
    "display_name": "ChargeurTripleCLIP",
    "inputs": {
      "clip_name1": {
        "name": "nom_clip1"
      },
      "clip_name2": {
        "name": "nom_clip2"
      },
      "clip_name3": {
        "name": "nom_clip3"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripoConversionNode": {
    "display_name": "Tripo : Convertir le modèle",
    "inputs": {
      "animate_in_place": {
        "name": "animate_in_place"
      },
      "bake": {
        "name": "bake"
      },
      "export_orientation": {
        "name": "export_orientation"
      },
      "export_vertex_colors": {
        "name": "export_vertex_colors"
      },
      "face_limit": {
        "name": "limite_faces"
      },
      "fbx_preset": {
        "name": "fbx_preset"
      },
      "flatten_bottom": {
        "name": "flatten_bottom"
      },
      "flatten_bottom_threshold": {
        "name": "flatten_bottom_threshold"
      },
      "force_symmetry": {
        "name": "force_symmetry"
      },
      "format": {
        "name": "format"
      },
      "original_model_task_id": {
        "name": "id_tâche_modèle_original"
      },
      "pack_uv": {
        "name": "pack_uv"
      },
      "part_names": {
        "name": "part_names"
      },
      "pivot_to_center_bottom": {
        "name": "pivot_to_center_bottom"
      },
      "quad": {
        "name": "quad"
      },
      "scale_factor": {
        "name": "scale_factor"
      },
      "texture_format": {
        "name": "format_texture"
      },
      "texture_size": {
        "name": "taille_texture"
      },
      "with_animation": {
        "name": "with_animation"
      }
    }
  },
  "TripoImageToModelNode": {
    "display_name": "Tripo : Image vers Modèle",
    "inputs": {
      "face_limit": {
        "name": "limite_faces"
      },
      "geometry_quality": {
        "name": "geometry_quality"
      },
      "image": {
        "name": "image"
      },
      "model_seed": {
        "name": "graine_modèle"
      },
      "model_version": {
        "name": "version_modèle",
        "tooltip": "La version du modèle à utiliser pour la génération"
      },
      "orientation": {
        "name": "orientation"
      },
      "pbr": {
        "name": "pbr"
      },
      "quad": {
        "name": "quad"
      },
      "style": {
        "name": "style"
      },
      "texture": {
        "name": "texture"
      },
      "texture_alignment": {
        "name": "alignement_texture"
      },
      "texture_quality": {
        "name": "qualité_texture"
      },
      "texture_seed": {
        "name": "graine_texture"
      }
    },
    "outputs": {
      "0": {
        "name": "fichier_modèle",
        "tooltip": null
      },
      "1": {
        "name": "modèle task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoMultiviewToModelNode": {
    "display_name": "Tripo : Multivue vers Modèle",
    "inputs": {
      "face_limit": {
        "name": "limite_visage"
      },
      "geometry_quality": {
        "name": "geometry_quality"
      },
      "image": {
        "name": "image"
      },
      "image_back": {
        "name": "image_arrière"
      },
      "image_left": {
        "name": "image_gauche"
      },
      "image_right": {
        "name": "image_droite"
      },
      "model_seed": {
        "name": "graine_modèle"
      },
      "model_version": {
        "name": "version_modèle",
        "tooltip": "La version du modèle à utiliser pour la génération"
      },
      "orientation": {
        "name": "orientation"
      },
      "pbr": {
        "name": "pbr"
      },
      "quad": {
        "name": "quad",
        "tooltip": "Ce paramètre est obsolète et n'a aucun effet."
      },
      "texture": {
        "name": "texture"
      },
      "texture_alignment": {
        "name": "alignement_texture"
      },
      "texture_quality": {
        "name": "qualité_texture"
      },
      "texture_seed": {
        "name": "graine_texture"
      }
    },
    "outputs": {
      "0": {
        "name": "fichier_modèle",
        "tooltip": null
      },
      "1": {
        "name": "modèle task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRefineNode": {
    "description": "Affinez un modèle d'ébauche créé uniquement par les modèles Tripo v1.4.",
    "display_name": "Tripo : Modèle de raffinement d'ébauche",
    "inputs": {
      "model_task_id": {
        "name": "ID_tâche_modèle",
        "tooltip": "Doit être un modèle Tripo v1.4"
      }
    },
    "outputs": {
      "0": {
        "name": "fichier_modèle",
        "tooltip": null
      },
      "1": {
        "name": "modèle task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRetargetNode": {
    "display_name": "Tripo : Modèle squeletté redirigé",
    "inputs": {
      "animation": {
        "name": "animation"
      },
      "original_model_task_id": {
        "name": "ID_tâche_modèle_original"
      }
    },
    "outputs": {
      "0": {
        "name": "retarget task_id",
        "tooltip": null
      },
      "1": {
        "name": "retarget task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRigNode": {
    "display_name": "Tripo : Modèle squeletté",
    "inputs": {
      "original_model_task_id": {
        "name": "ID_tâche_modèle_original"
      }
    },
    "outputs": {
      "0": {
        "name": "fichier_modèle",
        "tooltip": null
      },
      "1": {
        "name": "rig task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoTextToModelNode": {
    "display_name": "Tripo : Texte vers Modèle",
    "inputs": {
      "face_limit": {
        "name": "limite_visage"
      },
      "geometry_quality": {
        "name": "geometry_quality"
      },
      "image_seed": {
        "name": "graine_image"
      },
      "model_seed": {
        "name": "modèle_graine"
      },
      "model_version": {
        "name": "version_modèle"
      },
      "negative_prompt": {
        "name": "invite_négative"
      },
      "pbr": {
        "name": "pbr"
      },
      "prompt": {
        "name": "invite"
      },
      "quad": {
        "name": "quad"
      },
      "style": {
        "name": "style"
      },
      "texture": {
        "name": "texture"
      },
      "texture_quality": {
        "name": "qualité_texture"
      },
      "texture_seed": {
        "name": "texture_graine"
      }
    },
    "outputs": {
      "0": {
        "name": "fichier_modèle",
        "tooltip": null
      },
      "1": {
        "name": "modèle task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoTextureNode": {
    "display_name": "Tripo : Modèle de texture",
    "inputs": {
      "model_task_id": {
        "name": "modèle_id_tâche"
      },
      "pbr": {
        "name": "pbr"
      },
      "texture": {
        "name": "texture"
      },
      "texture_alignment": {
        "name": "alignement_texture"
      },
      "texture_quality": {
        "name": "qualité_texture"
      },
      "texture_seed": {
        "name": "texture_graine"
      }
    },
    "outputs": {
      "0": {
        "name": "fichier_modèle",
        "tooltip": null
      },
      "1": {
        "name": "modèle task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TruncateText": {
    "display_name": "Tronquer le texte",
    "inputs": {
      "max_length": {
        "name": "longueur_maximale",
        "tooltip": "Longueur maximale du texte."
      },
      "texts": {
        "name": "textes",
        "tooltip": "Texte à traiter."
      }
    },
    "outputs": {
      "0": {
        "name": "textes",
        "tooltip": "Textes traités"
      }
    }
  },
  "UNETLoader": {
    "display_name": "Charger Modèle Diffusion",
    "inputs": {
      "unet_name": {
        "name": "nom_unet"
      },
      "weight_dtype": {
        "name": "dtype_poids"
      }
    }
  },
  "UNetCrossAttentionMultiply": {
    "display_name": "UNetMultiplicationAttentionCroisée",
    "inputs": {
      "k": {
        "name": "k"
      },
      "model": {
        "name": "modèle"
      },
      "out": {
        "name": "sortie"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "UNetSelfAttentionMultiply": {
    "display_name": "UNetMultiplicationAutoAttention",
    "inputs": {
      "k": {
        "name": "k"
      },
      "model": {
        "name": "modèle"
      },
      "out": {
        "name": "sortie"
      },
      "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": "modèle"
      },
      "self_structural": {
        "name": "self_structural"
      },
      "self_temporal": {
        "name": "self_temporal"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "USOStyleReference": {
    "display_name": "USOStyleReference",
    "inputs": {
      "clip_vision_output": {
        "name": "sortie_vision_clip"
      },
      "model": {
        "name": "modèle"
      },
      "model_patch": {
        "name": "correctif_modèle"
      }
    }
  },
  "UpscaleModelLoader": {
    "display_name": "Charger le modèle de mise à l'échelle",
    "inputs": {
      "model_name": {
        "name": "nom_du_modèle"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecode": {
    "description": "Décode les images latentes en images d'espace de pixels.",
    "display_name": "VAE Decode",
    "inputs": {
      "samples": {
        "name": "échantillons",
        "tooltip": "Le latent à décoder."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Le modèle VAE utilisé pour le décodage du latent."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "L'image décodée."
      }
    }
  },
  "VAEDecodeAudio": {
    "display_name": "VAEDecodeAudio",
    "inputs": {
      "samples": {
        "name": "échantillons"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeAudioTiled": {
    "display_name": "Décoder Audio VAE (par tuiles)",
    "inputs": {
      "overlap": {
        "name": "chevauchement"
      },
      "samples": {
        "name": "échantillons"
      },
      "tile_size": {
        "name": "taille de tuile"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeHunyuan3D": {
    "display_name": "VAEDecodeHunyuan3D",
    "inputs": {
      "num_chunks": {
        "name": "nombre_de_morceaux"
      },
      "octree_resolution": {
        "name": "résolution_octree"
      },
      "samples": {
        "name": "échantillons"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeTiled": {
    "display_name": "VAE Decode (Tiled)",
    "inputs": {
      "overlap": {
        "name": "chevauchement"
      },
      "samples": {
        "name": "échantillons"
      },
      "temporal_overlap": {
        "name": "chevauchement_temporel",
        "tooltip": "Uniquement utilisé pour les VAE vidéo : Nombre de trames à chevaucher."
      },
      "temporal_size": {
        "name": "taille_temporelle",
        "tooltip": "Uniquement utilisé pour les VAE vidéo : Nombre de trames à décoder à la fois."
      },
      "tile_size": {
        "name": "taille_de_tuile"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEEncode": {
    "display_name": "VAE Encode",
    "inputs": {
      "pixels": {
        "name": "pixels"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEEncodeAudio": {
    "display_name": "VAEEncodeAudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEEncodeForInpaint": {
    "display_name": "VAE Encode (pour Inpainting)",
    "inputs": {
      "grow_mask_by": {
        "name": "agrandir_masque_par"
      },
      "mask": {
        "name": "masque"
      },
      "pixels": {
        "name": "pixels"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEEncodeTiled": {
    "display_name": "VAE Encode (Tiled)",
    "inputs": {
      "overlap": {
        "name": "chevauchement"
      },
      "pixels": {
        "name": "pixels"
      },
      "temporal_overlap": {
        "name": "chevauchement_temporel",
        "tooltip": "Uniquement utilisé pour les VAE vidéo : Nombre de trames à chevaucher."
      },
      "temporal_size": {
        "name": "taille_temporelle",
        "tooltip": "Uniquement utilisé pour les VAE vidéo : Nombre de trames à encoder à la fois."
      },
      "tile_size": {
        "name": "taille_de_tuile"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAELoader": {
    "display_name": "Charger VAE",
    "inputs": {
      "vae_name": {
        "name": "nom_vae"
      }
    }
  },
  "VAESave": {
    "display_name": "VAESauvegarder",
    "inputs": {
      "filename_prefix": {
        "name": "préfixe_de_fichier"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VOIDInpaintConditioning": {
    "display_name": "VOIDInpaintConditioning",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length",
        "tooltip": "Nombre d’images pixels à traiter. Pour CogVideoX-Fun-V1.5 (patch_size_t=2), latent_t doit être pair — les longueurs produisant un latent_t impair sont arrondies à l’inférieur (ex. 49 → 45)."
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "quadmask": {
        "name": "quadmask",
        "tooltip": "Quadmask prétraité depuis VOIDQuadmaskPreprocess [T, H, L]"
      },
      "vae": {
        "name": "vae"
      },
      "video": {
        "name": "video",
        "tooltip": "Images vidéo source [T, H, L, 3]"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "VOIDQuadmaskPreprocess": {
    "display_name": "VOIDQuadmaskPreprocess",
    "inputs": {
      "dilate_width": {
        "name": "dilate_width",
        "tooltip": "Rayon de dilatation pour la région principale du masque (0 = pas de dilatation)"
      },
      "mask": {
        "name": "mask"
      }
    },
    "outputs": {
      "0": {
        "name": "quadmask",
        "tooltip": null
      }
    }
  },
  "VOIDSampler": {
    "display_name": "VOIDSampler",
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VOIDWarpedNoise": {
    "display_name": "VOIDWarpedNoise",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length",
        "tooltip": "Nombre d’images pixels. Arrondi à l’inférieur pour rendre latent_t pair (exigence patch_size_t=2), ex. 49 → 45."
      },
      "optical_flow": {
        "name": "optical_flow",
        "tooltip": "Modèle de flux optique depuis OpticalFlowLoader (RAFT-large)."
      },
      "video": {
        "name": "video",
        "tooltip": "Images vidéo de sortie du passage 1 [T, H, L, 3]"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "warped_noise",
        "tooltip": null
      }
    }
  },
  "VOIDWarpedNoiseSource": {
    "display_name": "VOIDWarpedNoiseSource",
    "inputs": {
      "warped_noise": {
        "name": "warped_noise",
        "tooltip": "Latent de bruit déformé depuis VOIDWarpedNoise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VPScheduler": {
    "display_name": "PlanificateurVP",
    "inputs": {
      "beta_d": {
        "name": "beta_d"
      },
      "beta_min": {
        "name": "beta_min"
      },
      "eps_s": {
        "name": "eps_s"
      },
      "steps": {
        "name": "étapes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Veo3FirstLastFrameNode": {
    "description": "Générer une vidéo à l'aide d'un prompt et des images de début et de fin.",
    "display_name": "Google Veo 3 Première-Dernière-Image vers Vidéo",
    "inputs": {
      "aspect_ratio": {
        "name": "rapport d'aspect",
        "tooltip": "Rapport d'aspect de la vidéo générée"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "Durée de la vidéo générée en secondes"
      },
      "first_frame": {
        "name": "première image",
        "tooltip": "Image de début"
      },
      "generate_audio": {
        "name": "générer audio",
        "tooltip": "Générer l'audio pour la vidéo."
      },
      "last_frame": {
        "name": "dernière image",
        "tooltip": "Image de fin"
      },
      "model": {
        "name": "modèle"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt négatif pour guider ce qu'il faut éviter dans la vidéo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Description textuelle de la vidéo"
      },
      "resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed pour la génération de la vidéo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Veo3VideoGenerationNode": {
    "description": "Génère des vidéos à partir de descriptions textuelles en utilisant l'API Google Veo 3",
    "display_name": "Génération vidéo Google Veo 3",
    "inputs": {
      "aspect_ratio": {
        "name": "ratio_d'aspect",
        "tooltip": "Ratio d'aspect de la vidéo en sortie"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration_seconds": {
        "name": "durée_secondes",
        "tooltip": "Durée de la vidéo en sortie en secondes (Veo 3 ne prend en charge que 8 secondes)"
      },
      "enhance_prompt": {
        "name": "améliorer_invite",
        "tooltip": "Indique s'il faut améliorer l'invite avec une assistance IA"
      },
      "generate_audio": {
        "name": "générer_audio",
        "tooltip": "Générer l'audio pour la vidéo. Pris en charge par tous les modèles Veo 3."
      },
      "image": {
        "name": "image",
        "tooltip": "Image de référence optionnelle pour guider la génération vidéo"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle Veo 3 à utiliser pour la génération vidéo"
      },
      "negative_prompt": {
        "name": "invite_négative",
        "tooltip": "Invite textuelle négative pour guider ce qu'il faut éviter dans la vidéo"
      },
      "person_generation": {
        "name": "génération_personnes",
        "tooltip": "Indique s'il faut autoriser la génération de personnes dans la vidéo"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Description textuelle de la vidéo"
      },
      "resolution": {
        "name": "résolution",
        "tooltip": "Résolution vidéo de sortie. La 4K n’est pas disponible pour les modèles veo-3.1-lite et veo-3.0."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour la génération vidéo (0 pour aléatoire)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VeoVideoGenerationNode": {
    "description": "Génère des vidéos à partir de prompts textuels en utilisant l'API Veo de Google",
    "display_name": "Génération de vidéo Google Veo2",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Format d'image de la vidéo générée"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration_seconds": {
        "name": "duration_seconds",
        "tooltip": "Durée de la vidéo générée en secondes"
      },
      "enhance_prompt": {
        "name": "enhance_prompt",
        "tooltip": "Améliorer le prompt avec l'aide de l'IA"
      },
      "image": {
        "name": "image",
        "tooltip": "Image de référence optionnelle pour guider la génération vidéo"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle Veo 2 à utiliser pour la génération vidéo"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt négatif pour indiquer ce qu'il faut éviter dans la vidéo"
      },
      "person_generation": {
        "name": "person_generation",
        "tooltip": "Autoriser la génération de personnes dans la vidéo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Description textuelle de la vidéo"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine pour la génération vidéo (0 pour aléatoire)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Video Slice": {
    "display_name": "Découpage Vidéo",
    "inputs": {
      "duration": {
        "name": "durée",
        "tooltip": "Durée en secondes, ou 0 pour une durée illimitée"
      },
      "start_time": {
        "name": "heure_de_début",
        "tooltip": "Heure de début en secondes"
      },
      "strict_duration": {
        "name": "durée_stricte",
        "tooltip": "Si vrai, lorsqu’il n’est pas possible de respecter la durée spécifiée, une erreur sera générée."
      },
      "video": {
        "name": "vidéo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VideoLinearCFGGuidance": {
    "display_name": "Guidance VideoLinearCFG",
    "inputs": {
      "min_cfg": {
        "name": "min_cfg"
      },
      "model": {
        "name": "modèle"
      }
    }
  },
  "VideoTriangleCFGGuidance": {
    "display_name": "Guidance VideoTriangleCFG",
    "inputs": {
      "min_cfg": {
        "name": "min_cfg"
      },
      "model": {
        "name": "modèle"
      }
    }
  },
  "Vidu2ImageToVideoNode": {
    "description": "Génère une vidéo à partir d’une image et d’une invite optionnelle.",
    "display_name": "Génération d’image vers vidéo Vidu2",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée"
      },
      "image": {
        "name": "image",
        "tooltip": "Une image à utiliser comme première image de la vidéo générée."
      },
      "model": {
        "name": "modèle"
      },
      "movement_amplitude": {
        "name": "amplitude du mouvement",
        "tooltip": "L’amplitude du mouvement des objets dans l’image."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Une invite textuelle optionnelle pour la génération vidéo (max 2000 caractères)."
      },
      "resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2ReferenceVideoNode": {
    "description": "Génère une vidéo à partir de plusieurs images de référence et d’une invite.",
    "display_name": "Génération de vidéo à partir de références Vidu2",
    "inputs": {
      "aspect_ratio": {
        "name": "rapport d’aspect"
      },
      "audio": {
        "name": "audio",
        "tooltip": "Si activé, la vidéo contiendra une voix générée et une musique de fond basée sur l’invite."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée"
      },
      "model": {
        "name": "modèle"
      },
      "movement_amplitude": {
        "name": "amplitude du mouvement",
        "tooltip": "L’amplitude du mouvement des objets dans l’image."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Si activé, la vidéo inclura une voix générée et une musique de fond basée sur l’invite."
      },
      "resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine"
      },
      "subjects": {
        "name": "sujets",
        "tooltip": "Pour chaque sujet, fournissez jusqu’à 3 images de référence (7 images au total pour tous les sujets). Référencez-les dans les invites via @subject{subject_id}."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2StartEndToVideoNode": {
    "description": "Générez une vidéo à partir d'une image de départ, d'une image de fin et d'une invite.",
    "display_name": "Génération vidéo Vidu2 à partir d'une image de début/fin",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée"
      },
      "end_frame": {
        "name": "image de fin"
      },
      "first_frame": {
        "name": "image de début"
      },
      "model": {
        "name": "modèle"
      },
      "movement_amplitude": {
        "name": "amplitude du mouvement",
        "tooltip": "L'amplitude du mouvement des objets dans l'image."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Description de l'invite (2000 caractères maximum)."
      },
      "resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2TextToVideoNode": {
    "description": "Générez une vidéo à partir d'une invite textuelle",
    "display_name": "Génération vidéo Vidu2 à partir d'un texte",
    "inputs": {
      "aspect_ratio": {
        "name": "rapport d'aspect"
      },
      "background_music": {
        "name": "musique de fond",
        "tooltip": "Ajouter ou non une musique de fond à la vidéo générée."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée"
      },
      "model": {
        "name": "modèle"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Une description textuelle pour la génération vidéo, longueur maximale de 2000 caractères."
      },
      "resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3ImageToVideoNode": {
    "description": "Générez une vidéo à partir d’une image et d’une invite optionnelle.",
    "display_name": "Génération d’image en vidéo Vidu Q3",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image": {
        "name": "image",
        "tooltip": "Une image à utiliser comme première image de la vidéo générée."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser pour la génération de vidéo."
      },
      "model_audio": {
        "name": "audio"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Une invite textuelle optionnelle pour la génération de vidéo (max. 2000 caractères)."
      },
      "seed": {
        "name": "graine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3StartEndToVideoNode": {
    "description": "Générez une vidéo à partir d'une image de début, d'une image de fin et d'une invite.",
    "display_name": "Génération vidéo Vidu Q3 à partir d'une image de début/fin",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "end_frame": {
        "name": "image de fin"
      },
      "first_frame": {
        "name": "image de début"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser pour la génération vidéo."
      },
      "model_audio": {
        "name": "audio"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Description de l'invite (2000 caractères max)."
      },
      "seed": {
        "name": "graine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3TextToVideoNode": {
    "description": "Générez une vidéo à partir d’une invite textuelle.",
    "display_name": "Génération de vidéo à partir de texte Vidu Q3",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser pour la génération de vidéo."
      },
      "model_aspect_ratio": {
        "name": "rapport d’aspect"
      },
      "model_audio": {
        "name": "audio"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Description textuelle pour la génération de vidéo, longueur maximale de 2000 caractères."
      },
      "seed": {
        "name": "graine"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduExtendVideoNode": {
    "description": "Prolongez une vidéo existante en générant des images supplémentaires.",
    "display_name": "Extension de vidéo Vidu",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "end_frame": {
        "name": "image_finale"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser pour l’extension de la vidéo."
      },
      "model_duration": {
        "name": "durée"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Une invite textuelle optionnelle pour la vidéo étendue (max. 2000 caractères)."
      },
      "seed": {
        "name": "graine"
      },
      "video": {
        "name": "vidéo",
        "tooltip": "La vidéo source à prolonger."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduImageToVideoNode": {
    "description": "Générer une vidéo à partir d'une image et d'un éventuel prompt",
    "display_name": "Génération vidéo Vidu à partir d'image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "Durée de la vidéo de sortie en secondes"
      },
      "image": {
        "name": "image",
        "tooltip": "Une image à utiliser comme image de départ pour la vidéo générée"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Nom du modèle"
      },
      "movement_amplitude": {
        "name": "amplitude_mouvement",
        "tooltip": "L'amplitude de mouvement des objets dans le cadre"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Une description textuelle pour la génération vidéo"
      },
      "resolution": {
        "name": "résolution",
        "tooltip": "Les valeurs prises en charge peuvent varier selon le modèle et la durée"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour la génération vidéo (0 pour aléatoire)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduMultiFrameVideoNode": {
    "description": "Générez une vidéo avec plusieurs transitions d’images clés.",
    "display_name": "Génération de vidéo multi-images Vidu",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "frames": {
        "name": "images",
        "tooltip": "Nombre de transitions d’images clés (2-9)."
      },
      "frames_duration1": {
        "name": "durée1"
      },
      "frames_duration2": {
        "name": "durée2"
      },
      "frames_prompt1": {
        "name": "invite1"
      },
      "frames_prompt2": {
        "name": "invite2"
      },
      "model": {
        "name": "modèle"
      },
      "resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine"
      },
      "start_image": {
        "name": "image_de_départ",
        "tooltip": "L’image de départ. Le rapport d’aspect doit être compris entre 1:4 et 4:1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduReferenceVideoNode": {
    "description": "Générer une vidéo à partir de plusieurs images et d'un prompt",
    "display_name": "Génération vidéo Vidu à partir de référence",
    "inputs": {
      "aspect_ratio": {
        "name": "ratio_aspect",
        "tooltip": "Le ratio d'aspect de la vidéo de sortie"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "Durée de la vidéo de sortie en secondes"
      },
      "images": {
        "name": "images",
        "tooltip": "Images à utiliser comme références pour générer une vidéo avec des sujets cohérents (max 7 images)."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Nom du modèle"
      },
      "movement_amplitude": {
        "name": "amplitude_mouvement",
        "tooltip": "L'amplitude de mouvement des objets dans le cadre"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Une description textuelle pour la génération vidéo"
      },
      "resolution": {
        "name": "résolution",
        "tooltip": "Les valeurs prises en charge peuvent varier selon le modèle et la durée"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour la génération vidéo (0 pour aléatoire)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduStartEndToVideoNode": {
    "description": "Générer une vidéo à partir d'images de début et de fin et d'une description",
    "display_name": "Génération vidéo Vidu de début à fin",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "Durée de la vidéo de sortie en secondes"
      },
      "end_frame": {
        "name": "image_fin",
        "tooltip": "Image de fin"
      },
      "first_frame": {
        "name": "première_image",
        "tooltip": "Image de début"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Nom du modèle"
      },
      "movement_amplitude": {
        "name": "amplitude_mouvement",
        "tooltip": "L'amplitude du mouvement des objets dans l'image"
      },
      "prompt": {
        "name": "description",
        "tooltip": "Description textuelle pour la génération vidéo"
      },
      "resolution": {
        "name": "résolution",
        "tooltip": "Les valeurs prises en charge peuvent varier selon le modèle et la durée"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour la génération vidéo (0 pour aléatoire)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduTextToVideoNode": {
    "description": "Générer une vidéo à partir d'une description textuelle",
    "display_name": "Génération vidéo Vidu à partir de texte",
    "inputs": {
      "aspect_ratio": {
        "name": "ratio_aspect",
        "tooltip": "Le ratio d'aspect de la vidéo de sortie"
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "Durée de la vidéo de sortie en secondes"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Nom du modèle"
      },
      "movement_amplitude": {
        "name": "amplitude_mouvement",
        "tooltip": "L'amplitude du mouvement des objets dans l'image"
      },
      "prompt": {
        "name": "description",
        "tooltip": "Description textuelle pour la génération vidéo"
      },
      "resolution": {
        "name": "résolution",
        "tooltip": "Les valeurs prises en charge peuvent varier selon le modèle et la durée"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine pour la génération vidéo (0 pour aléatoire)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VoxelToMesh": {
    "display_name": "VoxelToMesh",
    "inputs": {
      "algorithm": {
        "name": "algorithme"
      },
      "threshold": {
        "name": "seuil"
      },
      "voxel": {
        "name": "voxel"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VoxelToMeshBasic": {
    "display_name": "VoxelToMeshBasic",
    "inputs": {
      "threshold": {
        "name": "seuil"
      },
      "voxel": {
        "name": "voxel"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan22FunControlToVideo": {
    "display_name": "Wan22FunControlToVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "control_video": {
        "name": "vidéo_de_contrôle"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "ref_image": {
        "name": "image_de_référence"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "Wan22ImageToVideoLatent": {
    "display_name": "Wan22ImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2ImageToVideoApi": {
    "description": "Générez une vidéo à partir d'une image de première image, avec une image de dernière image et un audio optionnels.",
    "display_name": "Wan 2.7 Image vers Vidéo",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio pour guider la génération vidéo (ex : synchronisation labiale, mouvement sur le rythme). Durée : 2s-30s. Si non fourni, le modèle génère automatiquement une musique de fond ou des effets sonores adaptés."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "first_frame": {
        "name": "première image",
        "tooltip": "Image de la première image. Le format de sortie est dérivé de cette image."
      },
      "last_frame": {
        "name": "dernière image",
        "tooltip": "Image de la dernière image. Le modèle génère une vidéo passant de la première à la dernière image."
      },
      "model": {
        "name": "modèle"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_negative_prompt": {
        "name": "prompt négatif"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "prompt_extend": {
        "name": "extension de prompt",
        "tooltip": "Permet d'améliorer le prompt avec l'aide de l'IA."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter ou non un filigrane généré par IA au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2ReferenceVideoApi": {
    "description": "Générez une vidéo mettant en scène une personne ou un objet à partir de références. Prend en charge les performances à un personnage et les interactions multi-personnages.",
    "display_name": "Wan 2.7 Référence vers Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_negative_prompt": {
        "name": "prompt négatif"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter ou non un filigrane généré par IA au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2TextToVideoApi": {
    "description": "Génère une vidéo à partir d'une invite textuelle en utilisant le modèle Wan 2.7.",
    "display_name": "Wan 2.7 Texte en Vidéo",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio pour guider la génération vidéo (ex : synchronisation labiale, mouvement sur le rythme). Durée : 3s-30s. Si non fourni, le modèle génère automatiquement une musique de fond ou des effets sonores adaptés."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_negative_prompt": {
        "name": "invite négative"
      },
      "model_prompt": {
        "name": "invite"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "prompt_extend": {
        "name": "extension d'invite",
        "tooltip": "Améliorer l'invite avec l'assistance de l'IA."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter un filigrane généré par IA au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2VideoContinuationApi": {
    "description": "Continue une vidéo à partir de l'endroit où elle s'est arrêtée, avec un contrôle optionnel de la dernière image.",
    "display_name": "Wan 2.7 Continuation Vidéo",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "first_clip": {
        "name": "premier clip",
        "tooltip": "Vidéo d'entrée à continuer. Durée : 2s-10s. Le ratio de sortie est dérivé de cette vidéo."
      },
      "last_frame": {
        "name": "dernière image",
        "tooltip": "Image de la dernière frame. La continuation effectuera une transition vers cette image."
      },
      "model": {
        "name": "modèle"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_negative_prompt": {
        "name": "invite négative"
      },
      "model_prompt": {
        "name": "invite"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "prompt_extend": {
        "name": "extension d'invite",
        "tooltip": "Améliorer l'invite avec l'assistance de l'IA."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter un filigrane généré par IA au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2VideoEditApi": {
    "description": "Éditez une vidéo à l'aide d'instructions textuelles, d'images de référence ou de transfert de style.",
    "display_name": "Wan 2.7 Édition Vidéo",
    "inputs": {
      "audio_setting": {
        "name": "paramètre audio",
        "tooltip": "'auto' : le modèle décide de régénérer ou non l'audio selon l'invite. 'origin' : préserve l'audio original de la vidéo d'entrée."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "model": {
        "name": "modèle"
      },
      "model_duration": {
        "name": "durée"
      },
      "model_prompt": {
        "name": "invite"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "video": {
        "name": "vidéo",
        "tooltip": "La vidéo à éditer."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Ajouter un filigrane généré par IA au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanAnimateToVideo": {
    "display_name": "WanAnimateToVideo",
    "inputs": {
      "background_video": {
        "name": "vidéo_arrière_plan"
      },
      "batch_size": {
        "name": "taille_du_lot"
      },
      "character_mask": {
        "name": "masque_personnage"
      },
      "clip_vision_output": {
        "name": "sortie_vision_clip"
      },
      "continue_motion": {
        "name": "poursuite_mouvement"
      },
      "continue_motion_max_frames": {
        "name": "images_max_poursuite_mouvement"
      },
      "face_video": {
        "name": "vidéo_visage"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "pose_video": {
        "name": "vidéo_pose"
      },
      "positive": {
        "name": "positif"
      },
      "reference_image": {
        "name": "image_de_référence"
      },
      "vae": {
        "name": "vae"
      },
      "video_frame_offset": {
        "name": "décalage_image_vidéo",
        "tooltip": "Le nombre d'images à avancer dans toutes les vidéos d'entrée. Utilisé pour générer des vidéos plus longues par segments. Connectez à la sortie video_frame_offset du nœud précédent pour étendre une vidéo."
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      },
      "3": {
        "name": "latent_rogné",
        "tooltip": null
      },
      "4": {
        "name": "image_rognée",
        "tooltip": null
      },
      "5": {
        "name": "décalage de trame vidéo",
        "tooltip": null
      }
    }
  },
  "WanCameraEmbedding": {
    "display_name": "Intégration de caméra Wan",
    "inputs": {
      "camera_pose": {
        "name": "pose de caméra"
      },
      "cx": {
        "name": "cx"
      },
      "cy": {
        "name": "cy"
      },
      "fx": {
        "name": "fx"
      },
      "fy": {
        "name": "fy"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "speed": {
        "name": "vitesse"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "intégration de caméra",
        "tooltip": null
      },
      "1": {
        "name": "largeur",
        "tooltip": null
      },
      "2": {
        "name": "hauteur",
        "tooltip": null
      },
      "3": {
        "name": "longueur",
        "tooltip": null
      }
    }
  },
  "WanCameraImageToVideo": {
    "display_name": "Image vers vidéo WanCamera",
    "inputs": {
      "batch_size": {
        "name": "taille du lot"
      },
      "camera_conditions": {
        "name": "conditions de caméra"
      },
      "clip_vision_output": {
        "name": "sortie de vision de clip"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "start_image": {
        "name": "image de départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanContextWindowsManual": {
    "description": "Définir manuellement les fenêtres de contexte pour les modèles de type WAN (dim=2).",
    "display_name": "Fenêtres de contexte WAN (Manuel)",
    "inputs": {
      "closed_loop": {
        "name": "boucle_fermée",
        "tooltip": "Indique si la boucle de la fenêtre contextuelle doit être fermée ; applicable uniquement aux échéanciers en boucle."
      },
      "context_length": {
        "name": "longueur de contexte",
        "tooltip": "La longueur de la fenêtre de contexte."
      },
      "context_overlap": {
        "name": "chevauchement de contexte",
        "tooltip": "Le chevauchement de la fenêtre de contexte."
      },
      "context_schedule": {
        "name": "planification de contexte",
        "tooltip": "Le pas de la fenêtre de contexte."
      },
      "context_stride": {
        "name": "pas de contexte",
        "tooltip": "La progression de la fenêtre contextuelle ; applicable uniquement aux échéanciers uniformes."
      },
      "freenoise": {
        "name": "freenoise",
        "tooltip": "Appliquer ou non le mélange de bruit FreeNoise, améliore la fusion des fenêtres."
      },
      "fuse_method": {
        "name": "méthode_de_fusion",
        "tooltip": "La méthode à utiliser pour fusionner les fenêtres contextuelles."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Le modèle auquel appliquer les fenêtres de contexte pendant l'échantillonnage."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Le modèle avec fenêtres contextuelles appliquées pendant l'échantillonnage."
      }
    }
  },
  "WanDancerEncodeAudio": {
    "display_name": "WanDancerEncodeAudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audio_inject_scale": {
        "name": "audio_inject_scale",
        "tooltip": "L'échelle des caractéristiques audio lors de leur injection dans le modèle vidéo."
      },
      "video_frames": {
        "name": "video_frames"
      }
    },
    "outputs": {
      "0": {
        "name": "audio_encoder_output",
        "tooltip": null
      },
      "1": {
        "name": "fps_string",
        "tooltip": "Le nombre d'images par seconde calculé en fonction de la durée de l'audio et du nombre d'images vidéo. Utilisé dans l'invite."
      }
    }
  },
  "WanDancerPadKeyframes": {
    "display_name": "WanDancerPadKeyframes",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio pour calculer le nombre total d'images de sortie et extraire l'audio du segment."
      },
      "images": {
        "name": "images"
      },
      "segment_index": {
        "name": "segment_index",
        "tooltip": "Quel segment est-ce (0 pour le premier, 1 pour le second, etc.)"
      },
      "segment_length": {
        "name": "segment_length",
        "tooltip": "Longueur de ce segment (généralement 149 images)"
      }
    },
    "outputs": {
      "0": {
        "name": "keyframes_sequence",
        "tooltip": "Séquence de keyframes complétée"
      },
      "1": {
        "name": "keyframes_mask",
        "tooltip": "Masque indiquant les images valides"
      },
      "2": {
        "name": "audio_segment",
        "tooltip": "Segment audio pour ce segment vidéo"
      }
    }
  },
  "WanDancerPadKeyframesList": {
    "display_name": "WanDancerPadKeyframesList",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Audio à découper pour chaque segment émis."
      },
      "images": {
        "name": "images"
      },
      "num_segments": {
        "name": "num_segments",
        "tooltip": "Combien de segments complétés à émettre sous forme de listes."
      },
      "segment_length": {
        "name": "segment_length",
        "tooltip": "Longueur de chaque segment (généralement 149 images)"
      }
    },
    "outputs": {
      "0": {
        "name": "keyframes_sequence",
        "tooltip": "Séquences de keyframes complétées"
      },
      "1": {
        "name": "keyframes_mask",
        "tooltip": "Masques indiquant les images valides"
      },
      "2": {
        "name": "audio_segment",
        "tooltip": "Segment audio pour chaque segment vidéo"
      }
    }
  },
  "WanDancerVideo": {
    "display_name": "WanDancerVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "audio_encoder_output"
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "Les embeddings CLIP vision pour la première image."
      },
      "clip_vision_output_ref": {
        "name": "clip_vision_output_ref",
        "tooltip": "Les embeddings CLIP vision pour l’image de référence."
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur",
        "tooltip": "Le nombre d’images dans la vidéo générée. Doit rester à 149 pour WanDancer."
      },
      "mask": {
        "name": "masque",
        "tooltip": "Masque de conditionnement d’image pour l’image ou les images de départ. Le blanc est conservé, le noir est généré. Utilisé pour les générations locales."
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "start_image": {
        "name": "image_de_départ",
        "tooltip": "L’image ou les images initiales à encoder, peut contenir n’importe quel nombre d’images."
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": "Latent vide."
      }
    }
  },
  "WanFirstLastFrameToVideo": {
    "display_name": "WanFirstLastFrameToVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "clip_vision_end_image": {
        "name": "clip_vision_image_de_fin"
      },
      "clip_vision_start_image": {
        "name": "clip_vision_image_de_départ"
      },
      "end_image": {
        "name": "image_de_fin"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanFunControlToVideo": {
    "display_name": "WanFunControlToVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "control_video": {
        "name": "contrôler_la_vidéo"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanFunInpaintToVideo": {
    "display_name": "WanFunInpaintToVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "end_image": {
        "name": "image_de_fin"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanHuMoImageToVideo": {
    "display_name": "WanHuMoImageToVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "sortie_encodeur_audio"
      },
      "batch_size": {
        "name": "taille_du_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "ref_image": {
        "name": "image_référence"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanImageToImageApi": {
    "description": "Génère une image à partir d'une ou deux images d'entrée et d'une invite texte. L'image de sortie est actuellement fixée à 1,6 MP ; son rapport d'aspect correspond à l'image/aux images d'entrée.",
    "display_name": "Wan Image vers Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "image": {
        "name": "image",
        "tooltip": "Édition d'image unique ou fusion d'images multiples, maximum 2 images."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser."
      },
      "negative_prompt": {
        "name": "invite_négative",
        "tooltip": "Invite texte négative pour guider ce qu'il faut éviter."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite utilisée pour décrire les éléments et caractéristiques visuelles, prend en charge l'anglais/le chinois."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Indique s'il faut ajouter un filigrane \"Généré par IA\" au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanImageToVideo": {
    "display_name": "WanImageVersVidéo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "clip_vision_output": {
        "name": "sortie_vision_clip"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positive"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanImageToVideoApi": {
    "description": "Génère une vidéo basée sur la première image et l'invite texte.",
    "display_name": "Wan Image vers Vidéo",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "L'audio doit contenir une voix claire et forte, sans bruit parasite ni musique de fond."
      },
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "duration": {
        "name": "durée",
        "tooltip": "Durées disponibles : 5 et 10 secondes"
      },
      "generate_audio": {
        "name": "générer_audio",
        "tooltip": "S'il n'y a pas d'entrée audio, générer automatiquement l'audio."
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser."
      },
      "negative_prompt": {
        "name": "invite_négative",
        "tooltip": "Invite textuelle négative pour guider ce qu'il faut éviter."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite utilisée pour décrire les éléments et les caractéristiques visuelles, prend en charge l'anglais/le chinois."
      },
      "prompt_extend": {
        "name": "extension_invite",
        "tooltip": "S'il faut améliorer l'invite avec l'assistance de l'IA."
      },
      "resolution": {
        "name": "résolution"
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "shot_type": {
        "name": "type de plan",
        "tooltip": "Spécifie le type de plan pour la vidéo générée, c'est-à-dire si la vidéo est un plan continu unique ou plusieurs plans avec coupures. Ce paramètre n'est effectif que lorsque prompt_extend est True."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "S'il faut ajouter un filigrane \"Généré par IA\" au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanInfiniteTalkToVideo": {
    "display_name": "WanInfiniteTalkToVideo",
    "inputs": {
      "audio_encoder_output_1": {
        "name": "sortie encodeur audio 1"
      },
      "audio_scale": {
        "name": "échelle audio"
      },
      "clip_vision_output": {
        "name": "sortie vision clip"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "mode": {
        "name": "mode"
      },
      "model": {
        "name": "modèle"
      },
      "model_patch": {
        "name": "correctif du modèle"
      },
      "motion_frame_count": {
        "name": "nombre d’images de mouvement",
        "tooltip": "Nombre d’images précédentes à utiliser comme contexte de mouvement."
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "previous_frames": {
        "name": "images précédentes"
      },
      "start_image": {
        "name": "image de départ"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "modèle",
        "tooltip": null
      },
      "1": {
        "name": "positif",
        "tooltip": null
      },
      "2": {
        "name": "négatif",
        "tooltip": null
      },
      "3": {
        "name": "latent",
        "tooltip": null
      },
      "4": {
        "name": "image rognée",
        "tooltip": null
      }
    }
  },
  "WanMoveConcatTrack": {
    "display_name": "WanMoveConcatTrack",
    "inputs": {
      "tracks_1": {
        "name": "pistes_1"
      },
      "tracks_2": {
        "name": "pistes_2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanMoveTrackToVideo": {
    "display_name": "WanMoveTrackToVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "start_image": {
        "name": "image_de_départ"
      },
      "strength": {
        "name": "force",
        "tooltip": "Intensité du conditionnement de la piste."
      },
      "tracks": {
        "name": "pistes"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanMoveTracksFromCoords": {
    "display_name": "WanMoveTracksFromCoords",
    "inputs": {
      "track_coords": {
        "name": "coordonnées_piste"
      },
      "track_mask": {
        "name": "masque_piste"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "longueur_piste",
        "tooltip": null
      }
    }
  },
  "WanMoveVisualizeTracks": {
    "display_name": "WanMoveVisualizeTracks",
    "inputs": {
      "circle_size": {
        "name": "taille_du_cercle"
      },
      "images": {
        "name": "images"
      },
      "line_resolution": {
        "name": "résolution_de_ligne"
      },
      "line_width": {
        "name": "largeur_de_ligne"
      },
      "opacity": {
        "name": "opacité"
      },
      "tracks": {
        "name": "pistes"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanPhantomSubjectToVideo": {
    "display_name": "WanPhantomSubjectToVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_lot"
      },
      "height": {
        "name": "hauteur"
      },
      "images": {
        "name": "images"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "texte_négatif",
        "tooltip": null
      },
      "2": {
        "name": "texte_img_négative",
        "tooltip": null
      },
      "3": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanReferenceVideoApi": {
    "description": "Utilisez le personnage et la voix des vidéos d'entrée, combinés à une invite, pour générer une nouvelle vidéo qui maintient la cohérence du personnage.",
    "display_name": "Wan Reference to Video",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle_après_génération"
      },
      "duration": {
        "name": "durée"
      },
      "model": {
        "name": "modèle"
      },
      "negative_prompt": {
        "name": "invite_négative",
        "tooltip": "Invite négative décrivant ce qu'il faut éviter."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite décrivant les éléments et les caractéristiques visuelles. Prend en charge l'anglais et le chinois. Utilisez des identifiants tels que `character1` et `character2` pour faire référence aux personnages de référence."
      },
      "reference_videos": {
        "name": "vidéos_de_référence"
      },
      "seed": {
        "name": "graine"
      },
      "shot_type": {
        "name": "type_de_plan",
        "tooltip": "Spécifie le type de plan pour la vidéo générée, c'est-à-dire si la vidéo est un plan continu unique ou plusieurs plans avec coupures."
      },
      "size": {
        "name": "taille"
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Indique s'il faut ajouter un filigrane généré par l'IA au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanSCAILToVideo": {
    "display_name": "WanSCAILToVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_du_lot"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "pose_end": {
        "name": "fin_de_pose",
        "tooltip": "Étape de fin pour utiliser le conditionnement de pose."
      },
      "pose_start": {
        "name": "début_de_pose",
        "tooltip": "Étape de début pour utiliser le conditionnement de pose."
      },
      "pose_strength": {
        "name": "force_de_pose",
        "tooltip": "Force du latent de pose."
      },
      "pose_video": {
        "name": "vidéo_de_pose",
        "tooltip": "Vidéo utilisée pour le conditionnement de pose. Sera réduite à la moitié de la résolution de la vidéo principale."
      },
      "positive": {
        "name": "positif"
      },
      "reference_image": {
        "name": "image_de_référence"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": "Latent vide de la taille de génération."
      }
    }
  },
  "WanSoundImageToVideo": {
    "display_name": "WanSoundImageToVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "sortie_encodeur_audio"
      },
      "batch_size": {
        "name": "taille_lot"
      },
      "control_video": {
        "name": "vidéo de contrôle"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "ref_image": {
        "name": "image_référence"
      },
      "ref_motion": {
        "name": "mouvement de référence"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanSoundImageToVideoExtend": {
    "display_name": "Extension WanSoundImageToVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "sortie de l'encodeur audio"
      },
      "control_video": {
        "name": "vidéo de contrôle"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "ref_image": {
        "name": "image de référence"
      },
      "vae": {
        "name": "vae"
      },
      "video_latent": {
        "name": "latent vidéo"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanTextToImageApi": {
    "description": "Génère une image basée sur une invite textuelle.",
    "display_name": "Wan Texte vers Image",
    "inputs": {
      "control_after_generate": {
        "name": "contrôle après génération"
      },
      "height": {
        "name": "hauteur"
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser."
      },
      "negative_prompt": {
        "name": "invite négative",
        "tooltip": "Invite textuelle négative pour guider ce qu'il faut éviter."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite utilisée pour décrire les éléments et caractéristiques visuelles, prend en charge l'anglais/le chinois."
      },
      "prompt_extend": {
        "name": "extension d'invite",
        "tooltip": "Indique s'il faut améliorer l'invite avec une assistance IA."
      },
      "seed": {
        "name": "graine",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "watermark": {
        "name": "filigrane",
        "tooltip": "Indique s'il faut ajouter un filigrane \"Généré par IA\" au résultat."
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanTextToVideoApi": {
    "description": "Génère une vidéo basée sur une invite textuelle.",
    "display_name": "Wan Texte vers Vidéo",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "L'audio doit contenir une voix claire et forte, sans bruit parasite ni musique de fond."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "durée",
        "tooltip": "Durées disponibles : 5 et 10 secondes"
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "S'il n'y a pas d'entrée audio, générer automatiquement l'audio."
      },
      "model": {
        "name": "modèle",
        "tooltip": "Modèle à utiliser."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Invite de texte négative pour guider ce qu'il faut éviter."
      },
      "prompt": {
        "name": "invite",
        "tooltip": "Invite utilisée pour décrire les éléments et caractéristiques visuelles, prend en charge l'anglais/le chinois."
      },
      "prompt_extend": {
        "name": "prompt_extend",
        "tooltip": "Indique s'il faut améliorer l'invite avec l'assistance de l'IA."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Graine à utiliser pour la génération."
      },
      "shot_type": {
        "name": "type_de_plan",
        "tooltip": "Spécifie le type de plan pour la vidéo générée, c'est-à-dire si la vidéo est un plan continu unique ou plusieurs plans avec coupures. Ce paramètre prend effet uniquement lorsque prompt_extend est True."
      },
      "size": {
        "name": "taille"
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Indique s'il faut ajouter un filigrane \"Généré par IA\" au résultat."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanTrackToVideo": {
    "display_name": "WanTrackToVideo",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "start_image": {
        "name": "start_image"
      },
      "temperature": {
        "name": "température"
      },
      "topk": {
        "name": "topk"
      },
      "tracks": {
        "name": "tracks"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanVaceToVideo": {
    "display_name": "WanVaceToVideo",
    "inputs": {
      "batch_size": {
        "name": "taille_lot"
      },
      "control_masks": {
        "name": "masques_de_contrôle"
      },
      "control_video": {
        "name": "contrôle_vidéo"
      },
      "height": {
        "name": "hauteur"
      },
      "length": {
        "name": "longueur"
      },
      "negative": {
        "name": "négatif"
      },
      "positive": {
        "name": "positif"
      },
      "reference_image": {
        "name": "image_de_référence"
      },
      "strength": {
        "name": "intensité"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largeur"
      }
    },
    "outputs": {
      "0": {
        "name": "positif",
        "tooltip": null
      },
      "1": {
        "name": "négatif",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      },
      "3": {
        "name": "latent_coupé",
        "tooltip": null
      }
    }
  },
  "WavespeedFlashVSRNode": {
    "description": "Upscaler vidéo rapide et de haute qualité qui augmente la résolution et restaure la clarté des séquences basse résolution ou floues.",
    "display_name": "FlashVSR Upscale Vidéo",
    "inputs": {
      "target_resolution": {
        "name": "résolution cible"
      },
      "video": {
        "name": "vidéo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WavespeedImageUpscaleNode": {
    "description": "Augmentez la résolution et la qualité de l'image, en upscalant les photos en 4K ou 8K pour des résultats nets et détaillés.",
    "display_name": "WaveSpeed Upscale Image",
    "inputs": {
      "image": {
        "name": "image"
      },
      "model": {
        "name": "modèle"
      },
      "target_resolution": {
        "name": "résolution cible"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WebcamCapture": {
    "display_name": "Capture Webcam",
    "inputs": {
      "capture_on_queue": {
        "name": "capture_en_file_d'attente"
      },
      "height": {
        "name": "hauteur"
      },
      "image": {
        "name": "image"
      },
      "waiting for camera___": {},
      "width": {
        "name": "largeur"
      }
    }
  },
  "ZImageFunControlnet": {
    "display_name": "ZImageFunControlnet",
    "inputs": {
      "image": {
        "name": "image"
      },
      "inpaint_image": {
        "name": "image_de_repeinture"
      },
      "mask": {
        "name": "mask"
      },
      "model": {
        "name": "modèle"
      },
      "model_patch": {
        "name": "modèle_patch"
      },
      "strength": {
        "name": "force"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "unCLIPCheckpointLoader": {
    "display_name": "ChargeurPointContrôleunCLIP",
    "inputs": {
      "ckpt_name": {
        "name": "nom_ckpt"
      }
    }
  },
  "unCLIPConditioning": {
    "display_name": "ConditionnementunCLIP",
    "inputs": {
      "clip_vision_output": {
        "name": "sortie_vision_clip"
      },
      "conditioning": {
        "name": "conditionnement"
      },
      "noise_augmentation": {
        "name": "augmentation_bruit"
      },
      "strength": {
        "name": "force"
      }
    }
  },
  "wanBlockSwap": {
    "description": "NOP",
    "display_name": "wanBlockSwap",
    "inputs": {
      "model": {
        "name": "modèle"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  }
}
