{
  "APG": {
    "display_name": "Адаптивное проекционное управление",
    "inputs": {
      "eta": {
        "name": "эта",
        "tooltip": "Управляет масштабом вектора параллельного управления. Стандартное поведение CFG при значении 1."
      },
      "model": {
        "name": "модель"
      },
      "momentum": {
        "name": "импульс",
        "tooltip": "Управляет скользящим средним управления во время диффузии, отключено при значении 0."
      },
      "norm_threshold": {
        "name": "порог_нормализации",
        "tooltip": "Нормализовать вектор управления до этого значения, нормализация отключена при значении 0."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ARVideoI2V": {
    "display_name": "ARVideoI2V",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "model": {
        "name": "model"
      },
      "start_image": {
        "name": "start_image"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "AddNoise": {
    "display_name": "Добавить шум",
    "inputs": {
      "latent_image": {
        "name": "латентное_изображение"
      },
      "model": {
        "name": "модель"
      },
      "noise": {
        "name": "шум"
      },
      "sigmas": {
        "name": "сигмы"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AddTextPrefix": {
    "display_name": "Добавить префикс к тексту",
    "inputs": {
      "prefix": {
        "name": "префикс",
        "tooltip": "Префикс для добавления."
      },
      "texts": {
        "name": "тексты",
        "tooltip": "Текст для обработки."
      }
    },
    "outputs": {
      "0": {
        "name": "тексты",
        "tooltip": "Обработанные тексты"
      }
    }
  },
  "AddTextSuffix": {
    "display_name": "Добавить суффикс к тексту",
    "inputs": {
      "suffix": {
        "name": "суффикс",
        "tooltip": "Суффикс для добавления."
      },
      "texts": {
        "name": "тексты",
        "tooltip": "Текст для обработки."
      }
    },
    "outputs": {
      "0": {
        "name": "тексты",
        "tooltip": "Обработанные тексты"
      }
    }
  },
  "AdjustBrightness": {
    "description": "Регулирует яркость изображения.",
    "display_name": "Регулировка яркости",
    "inputs": {
      "factor": {
        "name": "коэффициент",
        "tooltip": "Коэффициент яркости. 1.0 = без изменений, <1.0 = темнее, >1.0 = ярче."
      },
      "images": {
        "name": "изображения",
        "tooltip": "Изображение для обработки."
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": "Обработанные изображения"
      }
    }
  },
  "AdjustContrast": {
    "description": "Регулирует контраст изображения.",
    "display_name": "Регулировка контрастности",
    "inputs": {
      "factor": {
        "name": "коэффициент",
        "tooltip": "Коэффициент контрастности. 1.0 = без изменений, <1.0 = меньше контраст, >1.0 = больше контраст."
      },
      "images": {
        "name": "изображения",
        "tooltip": "Изображение для обработки."
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": "Обработанные изображения"
      }
    }
  },
  "AlignYourStepsScheduler": {
    "display_name": "Scheduler выравнивания шагов",
    "inputs": {
      "denoise": {
        "name": "шумоподавление"
      },
      "model_type": {
        "name": "тип_модели"
      },
      "steps": {
        "name": "шаги"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AnimaLLLiteApply": {
    "display_name": "Применить Anima LLLite",
    "inputs": {
      "end_percent": {
        "name": "конечный процент"
      },
      "image": {
        "name": "изображение"
      },
      "mask": {
        "name": "маска"
      },
      "model": {
        "name": "model"
      },
      "model_patch": {
        "name": "model_patch"
      },
      "start_percent": {
        "name": "начальный процент"
      },
      "strength": {
        "name": "интенсивность"
      }
    }
  },
  "AudioAdjustVolume": {
    "description": "Регулирует громкость аудио на заданное значение в децибелах (дБ).",
    "display_name": "Аудио - Настроить громкость",
    "inputs": {
      "audio": {
        "name": "аудио"
      },
      "volume": {
        "name": "громкость",
        "tooltip": "Корректировка громкости в децибелах (дБ). 0 = без изменений, +6 = удвоение, -6 = половина и т.д."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioConcat": {
    "description": "Соединяет audio1 с audio2 в указанном направлении.",
    "display_name": "Аудио - Конкатенация",
    "inputs": {
      "audio1": {
        "name": "audio1"
      },
      "audio2": {
        "name": "audio2"
      },
      "direction": {
        "name": "направление",
        "tooltip": "Добавлять audio2 после или перед audio1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEncoderEncode": {
    "display_name": "Аудиоэнкодер - Кодирование",
    "inputs": {
      "audio": {
        "name": "аудио"
      },
      "audio_encoder": {
        "name": "аудио_энкодер"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEncoderLoader": {
    "display_name": "Аудиоэнкодер - Загрузчик",
    "inputs": {
      "audio_encoder_name": {
        "name": "имя_аудио_энкодера"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEqualizer3Band": {
    "display_name": "Эквалайзер (3-полосный)",
    "inputs": {
      "audio": {
        "name": "аудио"
      },
      "high_freq": {
        "name": "высокая_частота",
        "tooltip": "Частота среза для высоких частот"
      },
      "high_gain_dB": {
        "name": "усиление_высоких_dB",
        "tooltip": "Усиление высоких частот (требл)"
      },
      "low_freq": {
        "name": "низкая_частота",
        "tooltip": "Частота среза для низких частот"
      },
      "low_gain_dB": {
        "name": "усиление_низких_dB",
        "tooltip": "Усиление низких частот (бас)"
      },
      "mid_freq": {
        "name": "средняя_частота",
        "tooltip": "Центральная частота для средних"
      },
      "mid_gain_dB": {
        "name": "усиление_средних_dB",
        "tooltip": "Усиление средних частот"
      },
      "mid_q": {
        "name": "средний_q",
        "tooltip": "Q-фактор (полоса пропускания) для средних"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioMerge": {
    "description": "Объединить две аудиодорожки путем наложения их волновых форм.",
    "display_name": "Аудио - Слияние",
    "inputs": {
      "audio1": {
        "name": "audio1"
      },
      "audio2": {
        "name": "audio2"
      },
      "merge_method": {
        "name": "метод_слияния",
        "tooltip": "Метод, используемый для объединения аудиоволн."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BasicGuider": {
    "display_name": "Основной гид",
    "inputs": {
      "conditioning": {
        "name": "кондиционирование"
      },
      "model": {
        "name": "модель"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BasicScheduler": {
    "display_name": "Основной scheduler",
    "inputs": {
      "denoise": {
        "name": "шумоподавление"
      },
      "model": {
        "name": "модель"
      },
      "scheduler": {
        "name": "scheduler"
      },
      "steps": {
        "name": "шаги"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchImagesNode": {
    "display_name": "Пакет изображений",
    "inputs": {
      "images": {
        "name": "изображения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchLatentsNode": {
    "display_name": "Пакет латентных",
    "inputs": {
      "latents": {
        "name": "латентные"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchMasksNode": {
    "display_name": "Пакет масок",
    "inputs": {
      "masks": {
        "name": "маски"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BeebleSwitchXImageEdit": {
    "description": "Редактируйте отдельное изображение с помощью Beeble SwitchX. Меняет любые элементы сцены (фон, освещение, костюм), сохраняя исходные пиксели объекта. Укажите референс-изображение и/или текстовый промпт для описания нового вида. Макс. ~2,77 МП.",
    "display_name": "Beeble SwitchX Редактирование изображения",
    "inputs": {
      "alpha_mode": {
        "name": "alpha_mode",
        "tooltip": "Определяет, как SwitchX решает, что сохранить, а что сгенерировать заново. 'auto' автоматически изолирует основной объект. 'fill' регенерирует весь кадр, сохраняя геометрию. 'select' распространяет ключевой кадр первого кадра по всему clip. 'custom' использует предоставленную вами альфа-маску для каждого кадра."
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "image": {
        "name": "изображение"
      },
      "max_resolution": {
        "name": "максимальное разрешение",
        "tooltip": "Максимальное разрешение результата."
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Текстовое описание желаемого результата (макс. 2000 символов). Требуется хотя бы один из параметров: 'prompt' или 'reference_image'."
      },
      "reference_image": {
        "name": "референс-изображение",
        "tooltip": "Референс-изображение, внешний вид которого (фон, освещение, костюм) должен быть применён к результату. Требуется хотя бы один из параметров: 'reference_image' или 'prompt'."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, нужно ли заново запускать node; результаты всегда недетерминированы, независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "name": "изображение",
        "tooltip": null
      },
      "1": {
        "name": "alpha",
        "tooltip": "Альфа-маска, использованная Beeble. Пусто для режима 'fill', в котором отдельная маска не используется."
      }
    }
  },
  "BeebleSwitchXVideoEdit": {
    "description": "Редактируйте видео с помощью Beeble SwitchX. Меняет любые элементы сцены (фон, освещение, костюм), сохраняя исходные пиксели и движение объекта. Укажите референс-изображение и/или текстовый промпт для описания нового вида. Макс. 240 кадров, макс. ~2,77 МП на кадр.",
    "display_name": "Beeble SwitchX Редактирование видео",
    "inputs": {
      "alpha_mode": {
        "name": "alpha_mode",
        "tooltip": "Определяет, как SwitchX решает, что сохранить, а что сгенерировать заново. 'auto' автоматически изолирует основной объект. 'fill' регенерирует весь кадр, сохраняя геометрию. 'select' распространяет ключевой кадр первого кадра по всему clip. 'custom' использует предоставленную вами альфа-маску для каждого кадра."
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "max_resolution": {
        "name": "максимальное разрешение",
        "tooltip": "Максимальное разрешение результата."
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Текстовое описание желаемого результата (макс. 2000 символов). Требуется хотя бы один из параметров: 'prompt' или 'reference_image'."
      },
      "reference_image": {
        "name": "референс-изображение",
        "tooltip": "Референс-изображение, внешний вид которого (фон, освещение, костюм) должен быть применён к результату. Требуется хотя бы один из параметров: 'reference_image' или 'prompt'."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, нужно ли заново запускать node; результаты всегда недетерминированы, независимо от seed."
      },
      "video": {
        "name": "видео"
      }
    },
    "outputs": {
      "0": {
        "name": "видео",
        "tooltip": null
      },
      "1": {
        "name": "alpha",
        "tooltip": "Альфа-маска, использованная Beeble. Пусто для режима 'fill', в котором отдельная маска не используется."
      }
    }
  },
  "BerniniConditioning": {
    "description": "Узел кондиционирования для Bernini для контекстного кондиционирования видео/изображений. Может использоваться для следующих задач: t2v (текст-видео), v2v (видео-видео), rv2v (редактирование видео с помощью референса), r2v (референс-видео), ads2v (вставка изображения/видео в видео). Референсные изображения, внедрённые как контекстные токены (r2v, rv2v), кодируются независимо с их собственным исходным соотношением сторон (длинная сторона ограничена ref_max_size).",
    "display_name": "Bernini Conditioning",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "ref_max_size": {
        "name": "ref_max_size",
        "tooltip": "Максимальный размер длинной стороны для reference_video и reference_images. Изменяется с сохранением пропорций и округляется до 16 пикселей."
      },
      "reference_images": {
        "name": "reference_images"
      },
      "reference_video": {
        "name": "reference_video",
        "tooltip": "Видео для вставки в исходное видео (ads2v)."
      },
      "source_video": {
        "name": "source_video",
        "tooltip": "Исходное видео для редактирования или изменения стиля (v2v, rv2v). Изменяется до ширины/высоты и обрезается до длины."
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "BetaSamplingScheduler": {
    "display_name": "Scheduler выборки Бета",
    "inputs": {
      "alpha": {
        "name": "альфа"
      },
      "beta": {
        "name": "бета"
      },
      "model": {
        "name": "модель"
      },
      "steps": {
        "name": "шаги"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaImageEditNode": {
    "description": "Редактирование изображений с помощью новейшей модели Bria",
    "display_name": "Bria Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "guidance_scale": {
        "name": "guidance_scale",
        "tooltip": "Большее значение заставляет изображение точнее следовать промпту."
      },
      "image": {
        "name": "изображение"
      },
      "mask": {
        "name": "маска",
        "tooltip": "Если не указано, редактирование применяется ко всему изображению."
      },
      "model": {
        "name": "model"
      },
      "moderation": {
        "name": "модерация",
        "tooltip": "Настройки модерации"
      },
      "negative_prompt": {
        "name": "негативный_промпт"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Инструкция для редактирования изображения"
      },
      "seed": {
        "name": "seed"
      },
      "steps": {
        "name": "шаги"
      },
      "structured_prompt": {
        "name": "структурированный_промпт",
        "tooltip": "Строка, содержащая структурированный промпт для редактирования в формате JSON. Используйте вместо обычного промпта для точного, программного управления."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "структурированный_промпт",
        "tooltip": null
      }
    }
  },
  "BriaRemoveImageBackground": {
    "description": "Удалите фон с изображения с помощью Bria RMBG 2.0.",
    "display_name": "Bria Удалить фон изображения",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "image": {
        "name": "изображение"
      },
      "moderation": {
        "name": "модерация",
        "tooltip": "Настройки модерации"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, должен ли узел выполняться повторно; результаты всегда недетерминированы независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaRemoveVideoBackground": {
    "description": "Удалите фон с видео с помощью Bria.",
    "display_name": "Bria Удалить фон видео",
    "inputs": {
      "background_color": {
        "name": "цвет фона",
        "tooltip": "Цвет фона для выходного видео."
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, должен ли узел выполняться повторно; результаты всегда недетерминированы независимо от seed."
      },
      "video": {
        "name": "видео"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaTransparentVideoBackground": {
    "description": "Удалите фон с видео с помощью Bria и получите вырезанные кадры плюс альфа-маску. Подключите оба к узлу компоновки или передайте их в Save WEBM для записи прозрачного видео.",
    "display_name": "Bria Удаление фона видео (прозрачный)",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, должен ли узел запускаться повторно; результаты всегда недетерминированы независимо от seed."
      },
      "video": {
        "name": "видео"
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": null
      },
      "1": {
        "name": "маска",
        "tooltip": null
      }
    }
  },
  "BriaVideoGreenScreen": {
    "description": "Замените фон видео на однотонный хромакей с помощью Bria.",
    "display_name": "Bria Video Green Screen",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "green_shade": {
        "name": "оттенок зелёного",
        "tooltip": "Однородный оттенок хромакея, применяемый за передним планом: broadcast_green (#00B140), chroma_green (#00FF00) или blue_screen (#0000FF)."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, должен ли узел выполняться повторно; результаты всегда недетерминированы, независимо от seed."
      },
      "video": {
        "name": "видео"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaVideoReplaceBackground": {
    "description": "Заменяет фон видео на предоставленное изображение или видео с помощью Bria. Выходное видео сохраняет разрешение и частоту кадров переднего плана; фон с другим соотношением сторон будет растянут для соответствия, поэтому для отсутствия искажений используйте совпадающее соотношение.",
    "display_name": "Bria Video Замена Фона",
    "inputs": {
      "background_image": {
        "name": "фон-изображение",
        "tooltip": "Изображение для фона, которое будет размещено за передним планом. Укажите либо изображение, либо видео для фона, не оба одновременно."
      },
      "background_video": {
        "name": "фон-видео",
        "tooltip": "Видео для фона, которое будет размещено за передним планом. Укажите либо изображение, либо видео для фона, не оба одновременно."
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет необходимостью повторного запуска узла; результат всегда недетерминированный, независимо от seed."
      },
      "video": {
        "name": "видео",
        "tooltip": "Видео с передним планом, у которого будет заменён фон."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BuildJsonPromptIdeogram": {
    "description": "Создайте JSON-промпт для модели Ideogram 4.",
    "display_name": "Создать JSON-промпт (Ideogram)",
    "inputs": {
      "aesthetics": {
        "name": "эстетика",
        "tooltip": "Обязательные эстетические ключевые слова (например, мрачный, кинематографичный, обесцвеченный)."
      },
      "background": {
        "name": "фон",
        "tooltip": "Обязательное описание фона или окружения изображения."
      },
      "color_palette": {
        "name": "цветовая_палитра",
        "tooltip": "Hex-коды цветов, определяющие доминирующие цвета изображения. До 16 значений."
      },
      "element": {
        "name": "элемент",
        "tooltip": "Элементы промпта из узла Create Bounding Boxes."
      },
      "high_level_description": {
        "name": "высокоуровневое_описание",
        "tooltip": "Необязательное описание изображения в одном-двух предложениях. Настоятельно рекомендуется."
      },
      "lighting": {
        "name": "освещение",
        "tooltip": "Обязательное описание освещения (например, золотой час, контровой свет, драматичные тени)."
      },
      "medium": {
        "name": "носитель",
        "tooltip": "Обязательный тип носителя (например, фотография, иллюстрация, 3d_render, живопись, graphic_design). Если стиль = фото, установить как фотография."
      },
      "style": {
        "name": "стиль"
      }
    },
    "outputs": {
      "0": {
        "name": "промпт",
        "tooltip": null
      }
    }
  },
  "ByteDance2FirstLastFrameNode": {
    "description": "Генерируйте видео с помощью Seedance 2.0, используя изображение первого кадра и, при необходимости, последнего кадра.",
    "display_name": "ByteDance Seedance 2.0: от первого и последнего кадра к видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "first_frame": {
        "name": "первый кадр",
        "tooltip": "Изображение первого кадра для видео."
      },
      "first_frame_asset_id": {
        "name": "first_frame_asset_id",
        "tooltip": "Seedance asset_id для использования в качестве первого кадра. Взаимно исключается с вводом изображения first_frame."
      },
      "last_frame": {
        "name": "последний кадр",
        "tooltip": "Изображение последнего кадра для видео."
      },
      "last_frame_asset_id": {
        "name": "last_frame_asset_id",
        "tooltip": "Seedance asset_id для использования в качестве последнего кадра. Взаимно исключается с вводом изображения last_frame."
      },
      "model": {
        "name": "модель",
        "tooltip": "Seedance 2.0 для максимального качества; Seedance 2.0 Fast для оптимизации скорости."
      },
      "model_duration": {
        "name": "длительность"
      },
      "model_generate_audio": {
        "name": "генерировать аудио"
      },
      "model_prompt": {
        "name": "промпт"
      },
      "model_ratio": {
        "name": "соотношение сторон"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от seed."
      },
      "watermark": {
        "name": "водяной знак",
        "tooltip": "Добавлять ли водяной знак к видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDance2ReferenceNode": {
    "description": "Генерируйте, редактируйте или расширяйте видео с помощью Seedance 2.0, используя референсные изображения, видео и аудио. Поддерживает мультимодальные референсы, видеомонтаж и расширение видео.",
    "display_name": "ByteDance Seedance 2.0: референс в видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model": {
        "name": "модель",
        "tooltip": "Seedance 2.0 для максимального качества; Seedance 2.0 Fast для оптимизации скорости."
      },
      "model_auto_downscale": {
        "name": "автоматическое уменьшение масштаба"
      },
      "model_auto_upscale": {
        "name": "auto_upscale"
      },
      "model_duration": {
        "name": "длительность"
      },
      "model_generate_audio": {
        "name": "генерировать аудио"
      },
      "model_prompt": {
        "name": "промпт"
      },
      "model_ratio": {
        "name": "соотношение сторон"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от seed."
      },
      "watermark": {
        "name": "водяной знак",
        "tooltip": "Добавлять ли водяной знак к видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDance2TextToVideoNode": {
    "description": "Генерируйте видео с помощью моделей Seedance 2.0 на основе текстового промпта.",
    "display_name": "ByteDance Seedance 2.0: текст в видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model": {
        "name": "модель",
        "tooltip": "Seedance 2.0 для максимального качества; Seedance 2.0 Fast для оптимизации скорости."
      },
      "model_duration": {
        "name": "длительность"
      },
      "model_generate_audio": {
        "name": "генерировать аудио"
      },
      "model_prompt": {
        "name": "промпт"
      },
      "model_ratio": {
        "name": "соотношение сторон"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от seed."
      },
      "watermark": {
        "name": "водяной знак",
        "tooltip": "Добавлять ли водяной знак к видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceCreateImageAsset": {
    "description": "Создайте персональный актив изображения Seedance 2.0. Загружает входное изображение и регистрирует его в указанной группе активов. Если group_id не указан, запускается процесс H5-аутентификации реального человека для создания новой группы перед добавлением актива.",
    "display_name": "ByteDance Создать Изображение-Актив",
    "inputs": {
      "group_id": {
        "name": "group_id",
        "tooltip": "Используйте существующий идентификатор группы активов Seedance, чтобы избежать повторной проверки для одного и того же человека. Оставьте пустым, чтобы пройти аутентификацию реального человека в браузере и создать новую группу."
      },
      "image": {
        "name": "image",
        "tooltip": "Изображение для регистрации в качестве персонального актива."
      }
    },
    "outputs": {
      "0": {
        "name": "asset_id",
        "tooltip": null
      },
      "1": {
        "name": "group_id",
        "tooltip": null
      }
    }
  },
  "ByteDanceCreateVideoAsset": {
    "description": "Создайте персональный видео-актив Seedance 2.0. Загружает входное видео и регистрирует его в указанной группе активов. Если group_id не указан, запускается процесс H5-аутентификации реального человека для создания новой группы перед добавлением актива.",
    "display_name": "ByteDance Создать Видео-Актив",
    "inputs": {
      "group_id": {
        "name": "group_id",
        "tooltip": "Используйте существующий идентификатор группы активов Seedance, чтобы избежать повторной проверки для одного и того же человека. Оставьте пустым, чтобы пройти аутентификацию реального человека в браузере и создать новую группу."
      },
      "video": {
        "name": "video",
        "tooltip": "Видео для регистрации в качестве персонального актива."
      }
    },
    "outputs": {
      "0": {
        "name": "asset_id",
        "tooltip": null
      },
      "1": {
        "name": "group_id",
        "tooltip": null
      }
    }
  },
  "ByteDanceFirstLastFrameNode": {
    "description": "Создать видео с использованием промпта и первого и последнего кадров.",
    "display_name": "ByteDance - Преобразование первого-последнего кадра в видео",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон выходного видео."
      },
      "camera_fixed": {
        "name": "camera_fixed",
        "tooltip": "Определяет, следует ли фиксировать камеру. Платформа добавляет инструкцию по фиксации камеры к вашему промпту, но не гарантирует фактический эффект."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Продолжительность выходного видео в секундах."
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Первый кадр, который будет использоваться для видео."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Этот параметр игнорируется для всех моделей, кроме seedance-1-5-pro."
      },
      "last_frame": {
        "name": "last_frame",
        "tooltip": "Последний кадр, который будет использоваться для видео."
      },
      "model": {
        "name": "модель"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Текстовый промпт, используемый для создания видео."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Разрешение выходного видео."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для использования при генерации."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли водяной знак \"Сгенерировано ИИ\" на видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageNode": {
    "description": "Генерация изображений с использованием моделей ByteDance через API на основе промпта",
    "display_name": "Изображение ByteDance",
    "inputs": {
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "guidance_scale": {
        "name": "коэффициент_направленности",
        "tooltip": "Более высокое значение заставляет изображение точнее следовать промпту"
      },
      "height": {
        "name": "высота",
        "tooltip": "Пользовательская высота изображения. Значение работает только если `размер_пресет` установлен в `Пользовательский`"
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Текстовый промпт, используемый для генерации изображения"
      },
      "seed": {
        "name": "сид",
        "tooltip": "Сид для использования при генерации"
      },
      "size_preset": {
        "name": "размер_пресет",
        "tooltip": "Выберите рекомендуемый размер. Выберите 'Пользовательский', чтобы использовать ширину и высоту ниже"
      },
      "watermark": {
        "name": "водяной_знак",
        "tooltip": "Добавлять ли водяной знак \"Сгенерировано ИИ\" на изображение"
      },
      "width": {
        "name": "ширина",
        "tooltip": "Пользовательская ширина изображения. Значение работает только если `размер_пресет` установлен в `Пользовательский`"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageReferenceNode": {
    "description": "Сгенерировать видео с использованием промпта и референсных изображений.",
    "display_name": "ByteDance Reference Images to Video",
    "inputs": {
      "aspect_ratio": {
        "name": "соотношение_сторон",
        "tooltip": "Соотношение сторон выходного видео."
      },
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "duration": {
        "name": "длительность",
        "tooltip": "Длительность выходного видео в секундах."
      },
      "images": {
        "name": "изображения",
        "tooltip": "От одного до четырёх изображений."
      },
      "model": {
        "name": "модель"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Текстовый промпт, используемый для генерации видео."
      },
      "resolution": {
        "name": "разрешение",
        "tooltip": "Разрешение выходного видео."
      },
      "seed": {
        "name": "сид",
        "tooltip": "Сид для использования при генерации."
      },
      "watermark": {
        "name": "водяной_знак",
        "tooltip": "Добавлять ли водяной знак \"Сгенерировано ИИ\" на видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageToVideoNode": {
    "description": "Создание видео с использованием моделей ByteDance через API на основе изображения и промпта",
    "display_name": "ByteDance Image to Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон выходного видео."
      },
      "camera_fixed": {
        "name": "camera_fixed",
        "tooltip": "Определяет, следует ли фиксировать камеру. Платформа добавляет инструкцию по фиксации камеры к вашему промпту, но не гарантирует фактический эффект."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Продолжительность видео в секундах."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Этот параметр игнорируется для всех моделей, кроме seedance-1-5-pro."
      },
      "image": {
        "name": "image",
        "tooltip": "Первый кадр, который будет использоваться для видео."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый промпт, используемый для создания видео."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Разрешение выходного видео."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для использования при генерации."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли водяной знак \"Создано ИИ\" на видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedAudio": {
    "description": "Генерируйте речь, музыку, звуковые эффекты и многоголосый диалог по одному промпту с помощью ByteDance Seed Audio 1.0. Опишите голос(а), эмоции, атмосферу, фоновую музыку и звуковые эффекты в промпте, а также включите реплики для озвучивания. Дополнительно можно выбрать встроенный пресет голоса, клонировать голоса с до 3 референсных клипов (отмеченных как @Audio1-3 в промпте) или получить голос из изображения персонажа. До 2 минут аудио за запуск.",
    "display_name": "ByteDance Seed Audio 1.0",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "loudness_rate": {
        "name": "loudness_rate",
        "tooltip": "Громкость. 0 = нормально, 100 = 2.0x, -50 = 0.5x."
      },
      "model": {
        "name": "model",
        "tooltip": "seed-audio-1.0-multilingual: 20 языков (английский, китайский, японский, корейский, мексиканский и кастильский испанский, индонезийский, немецкий, бразильский португальский, французский, тайский, вьетнамский, малайский, филиппинский, итальянский, русский, нидерландский, польский, турецкий, шведский) плюс покадровое управление таймингом через временные метки вида \"[5.5s:8.0s] ...\". seed-audio-1.0: только английский и китайский, без управления таймингом."
      },
      "pitch_rate": {
        "name": "pitch_rate",
        "tooltip": "Сдвиг высоты тона в полутонах (-12 до 12)."
      },
      "reference_mode": {
        "name": "reference_mode",
        "tooltip": "Как задать голос: 'text only' (всё описывается в промпте), 'audio reference' (клонировать до 3 голосов, отмеченных @Audio1-3), 'image reference' (получить голос из изображения одного персонажа) или 'preset voice' (выбрать встроенный голос для чтения промпта)."
      },
      "sample_rate": {
        "name": "sample_rate",
        "tooltip": "Частота дискретизации на выходе в Гц."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, будет ли узел перезапущен; результат всегда недетерминированный независимо от seed."
      },
      "speech_rate": {
        "name": "speech_rate",
        "tooltip": "Скорость речи. 0 = нормально, 100 = 2.0x, -50 = 0.5x."
      },
      "text_prompt": {
        "name": "text_prompt",
        "tooltip": "Опишите голос(а), эмоции, темп, атмосферу, фоновую музыку и звуковые эффекты, а также включите реплики для озвучивания (имена персонажей указывайте в тексте для диалога). В режиме 'audio reference' ссылайтесь на подключённые клипы по порядку как @Audio1, @Audio2, @Audio3. Максимум 3000 символов."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedNode": {
    "description": "Генерируйте текстовые ответы с помощью моделей Seed 2.0 от ByteDance. Введите текстовый запрос и при необходимости одно или несколько изображений или видео для мультимодального контекста.",
    "display_name": "ByteDance Seed",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель Seed, используемая для генерации ответа."
      },
      "model_temperature": {
        "name": "temperature"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый ввод для модели."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, должен ли узел выполняться повторно; результаты всегда недетерминированы, независимо от значения seed."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Базовые инструкции, определяющие поведение модели."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedreamNode": {
    "description": "Унифицированная генерация изображений из текста и точное редактирование одним предложением с разрешением до 4K.",
    "display_name": "ByteDance Seedream 4",
    "inputs": {
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "fail_on_partial": {
        "name": "прерывать_при_частичном",
        "tooltip": "Если включено, прерывать выполнение при отсутствии любых запрошенных изображений или ошибке."
      },
      "height": {
        "name": "height",
        "tooltip": "Пользовательская высота изображения. Значение работает только если `size_preset` установлен в `Custom`"
      },
      "image": {
        "name": "image",
        "tooltip": "Входные изображения для генерации из изображения в изображение. Список из 1-10 изображений для одиночной или многократной генерации."
      },
      "max_images": {
        "name": "максимум_изображений",
        "tooltip": "Максимальное количество изображений для генерации при sequential_image_generation='auto'. Общее количество изображений (входные + сгенерированные) не может превышать 15."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый промпт для создания или редактирования изображения."
      },
      "seed": {
        "name": "сид",
        "tooltip": "Сид для использования при генерации."
      },
      "sequential_image_generation": {
        "name": "последовательная_генерация_изображений",
        "tooltip": "Режим групповой генерации изображений. 'disabled' создаёт одно изображение. 'auto' позволяет модели решить, генерировать ли несколько связанных изображений (например, сцены истории, вариации персонажей)."
      },
      "size_preset": {
        "name": "size_preset",
        "tooltip": "Выберите рекомендуемый размер. Выберите \"Custom\", чтобы использовать ширину и высоту ниже."
      },
      "watermark": {
        "name": "водяной_знак",
        "tooltip": "Добавлять ли водяной знак \"Сгенерировано ИИ\" на изображение."
      },
      "width": {
        "name": "width",
        "tooltip": "Пользовательская ширина изображения. Значение работает только если `size_preset` установлен в `Custom`"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedreamNodeV2": {
    "description": "Унифицированная генерация изображений по тексту и точное редактирование по одному предложению с разрешением до 4K.",
    "display_name": "ByteDance Seedream 4.5 & 5.0",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "model_height": {
        "name": "height"
      },
      "model_size_preset": {
        "name": "size_preset"
      },
      "model_width": {
        "name": "width"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос для создания или редактирования изображения."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для генерации."
      },
      "thinking": {
        "name": "thinking",
        "tooltip": "Включить оптимизацию промпта модели («мышление») для лучшего соответствия. Может значительно увеличить время генерации — особенно на Seedream 5.0 Pro. Может быть отключено только для текст-в-изображение (не работает при наличии референсных изображений)."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли водяной знак «AI generated» на изображение."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceTextToVideoNode": {
    "description": "Создать видео с использованием моделей ByteDance через API на основе промпта",
    "display_name": "ByteDance Текст в Видео",
    "inputs": {
      "aspect_ratio": {
        "name": "соотношение_сторон",
        "tooltip": "Соотношение сторон выходного видео."
      },
      "camera_fixed": {
        "name": "камера_зафиксирована",
        "tooltip": "Определяет, следует ли фиксировать камеру. Платформа добавляет инструкцию по фиксации камеры к вашему промпту, но не гарантирует фактический эффект."
      },
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "duration": {
        "name": "длительность",
        "tooltip": "Длительность выходного видео в секундах."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Этот параметр игнорируется для всех моделей, кроме seedance-1-5-pro."
      },
      "model": {
        "name": "модель"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Текстовый промпт, используемый для генерации видео."
      },
      "resolution": {
        "name": "разрешение",
        "tooltip": "Разрешение выходного видео."
      },
      "seed": {
        "name": "сид",
        "tooltip": "Сид для использования при генерации."
      },
      "watermark": {
        "name": "водяной_знак",
        "tooltip": "Добавлять ли водяной знак \"Сгенерировано ИИ\" на видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGGuider": {
    "display_name": "CFG Гид",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "model": {
        "name": "модель"
      },
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGNorm": {
    "display_name": "CFGNorm",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "pre_cfg": {
        "name": "pre_cfg",
        "tooltip": "Если включено, пересчитывает объединённый шум ДО объединения CFG сэмплера, без ограничения (может усиливать). Соответствует нормализованному CFG, используемому в моделях, таких как Lens. По умолчанию (false) сохраняется исходное поведение с ослаблением только после CFG в x0-пространстве."
      },
      "strength": {
        "name": "интенсивность"
      }
    },
    "outputs": {
      "0": {
        "name": "исправленная_модель",
        "tooltip": null
      }
    }
  },
  "CFGOverride": {
    "description": "Переопределить cfg на фиксированное значение в диапазоне [start, end] процентов шагов. При нескольких переопределениях при пересечении выигрывает ближайшее к сэмплеру.",
    "display_name": "Переопределение CFG",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "end_percent": {
        "name": "конечный_процент"
      },
      "model": {
        "name": "модель"
      },
      "start_percent": {
        "name": "начальный_процент"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGZeroStar": {
    "display_name": "CFGZeroStar",
    "inputs": {
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "name": "patched_model",
        "tooltip": null
      }
    }
  },
  "CLIPAttentionMultiply": {
    "display_name": "Умножение внимания CLIP",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "k": {
        "name": "k"
      },
      "out": {
        "name": "выход"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPLoader": {
    "description": "[Рецепты]\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": "Загрузить CLIP",
    "inputs": {
      "clip_name": {
        "name": "название_clip"
      },
      "device": {
        "name": "устройство"
      },
      "type": {
        "name": "тип"
      }
    }
  },
  "CLIPMergeAdd": {
    "display_name": "Сложение CLIP",
    "inputs": {
      "clip1": {
        "name": "clip1"
      },
      "clip2": {
        "name": "clip2"
      }
    }
  },
  "CLIPMergeSimple": {
    "display_name": "Простое слияние CLIP",
    "inputs": {
      "clip1": {
        "name": "clip1"
      },
      "clip2": {
        "name": "clip2"
      },
      "ratio": {
        "name": "соотношение"
      }
    }
  },
  "CLIPMergeSubtract": {
    "display_name": "Вычитание CLIP",
    "inputs": {
      "clip1": {
        "name": "clip1"
      },
      "clip2": {
        "name": "clip2"
      },
      "multiplier": {
        "name": "множитель"
      }
    }
  },
  "CLIPSave": {
    "display_name": "Сохранить CLIP",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "filename_prefix": {
        "name": "префикс_названия_файла"
      }
    }
  },
  "CLIPSetLastLayer": {
    "display_name": "Установить последний слой CLIP",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "stop_at_clip_layer": {
        "name": "остановиться_на_clip_слое"
      }
    }
  },
  "CLIPTextEncode": {
    "description": "Кодирует текстовый запрос с помощью модели CLIP в вектор, который можно использовать для управления моделью диффузии для генерации конкретных изображений.",
    "display_name": "Кодирование текста CLIP (Запрос)",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Модель CLIP, используемая для кодирования текста."
      },
      "text": {
        "name": "текст",
        "tooltip": "Текст для кодирования."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Условие, содержащее встроенный текст, используемое для управления моделью диффузии."
      }
    }
  },
  "CLIPTextEncodeControlnet": {
    "display_name": "Кодирование текста CLIP для Controlnet",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "conditioning": {
        "name": "кондиционирование"
      },
      "text": {
        "name": "текст"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeFlux": {
    "display_name": "Кодирование текста CLIP Flux",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "guidance": {
        "name": "руководство"
      },
      "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": "Кодирование текста CLIP HunyuanDiT",
    "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": "Кодирует системный запрос и запрос пользователя с помощью модели CLIP во встраиваемый элемент, который можно использовать для направления модели диффузии на генерацию конкретных изображений.",
    "display_name": "CLIP Text Encode для Lumina2",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Модель CLIP, используемая для кодирования текста."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Lumina2 предоставляет два типа системных запросов: Высший: Вы - помощник, разработанный для генерации высококачественных изображений с наивысшей степенью соответствия текста и изображения на основе текстовых запросов или запросов пользователя. Соответствие: Вы - помощник, разработанный для генерации высококачественных изображений с наивысшей степенью соответствия текста и изображения на основе текстовых запросов."
      },
      "user_prompt": {
        "name": "user_prompt",
        "tooltip": "Текст для кодирования."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Условие, содержащее встроенный текст, используемый для направления модели диффузии."
      }
    }
  },
  "CLIPTextEncodePixArtAlpha": {
    "description": "Кодирует текст и устанавливает условие разрешения для PixArt Alpha. Не применяется к PixArt Sigma.",
    "display_name": "CLIPTextEncodePixArtAlpha",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "высота"
      },
      "text": {
        "name": "текст"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSD3": {
    "display_name": "Кодирование текста CLIP SD3",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_g": {
        "name": "clip_g"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "empty_padding": {
        "name": "пустое_заполнение"
      },
      "t5xxl": {
        "name": "t5xxl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSDXL": {
    "display_name": "Кодирование текста CLIP SDXL",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "crop_h": {
        "name": "обрезка_высоты"
      },
      "crop_w": {
        "name": "обрезка_ширины"
      },
      "height": {
        "name": "высота"
      },
      "target_height": {
        "name": "целевая_высота"
      },
      "target_width": {
        "name": "целевая_ширина"
      },
      "text_g": {
        "name": "текст_g"
      },
      "text_l": {
        "name": "текст_l"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSDXLRefiner": {
    "display_name": "Кодирование текста CLIP SDXL Refinement",
    "inputs": {
      "ascore": {
        "name": "ascore"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "высота"
      },
      "text": {
        "name": "текст"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPVisionEncode": {
    "display_name": "Кодирование видения CLIP",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "crop": {
        "name": "обрезка"
      },
      "image": {
        "name": "изображение"
      }
    }
  },
  "CLIPVisionLoader": {
    "display_name": "Загрузить видение CLIP",
    "inputs": {
      "clip_name": {
        "name": "название_clip"
      }
    }
  },
  "Canny": {
    "display_name": "Canny",
    "inputs": {
      "high_threshold": {
        "name": "верхний_порог"
      },
      "image": {
        "name": "изображение"
      },
      "low_threshold": {
        "name": "нижний_порог"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CaseConverter": {
    "display_name": "Конвертер регистра",
    "inputs": {
      "mode": {
        "name": "режим"
      },
      "string": {
        "name": "строка"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CenterCropImages": {
    "description": "Выполняет центральное кадрирование изображения до указанных размеров.",
    "display_name": "Обрезка по центру",
    "inputs": {
      "height": {
        "name": "высота",
        "tooltip": "Высота обрезки."
      },
      "images": {
        "name": "изображения",
        "tooltip": "Изображение для обработки."
      },
      "width": {
        "name": "ширина",
        "tooltip": "Ширина обрезки."
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": "Обработанные изображения"
      }
    }
  },
  "CheckpointLoader": {
    "display_name": "Загрузить сheckpoint с конфигурацией (УСТАРЕЛО)",
    "inputs": {
      "ckpt_name": {
        "name": "название_точки_проверки"
      },
      "config_name": {
        "name": "название_конфигурации"
      }
    }
  },
  "CheckpointLoaderSimple": {
    "description": "Загружает сheckpoint-модели диффузии, модели диффузии используются для удаления шума из латентов.",
    "display_name": "Загрузить сheckpoint",
    "inputs": {
      "ckpt_name": {
        "name": "название_точки_проверки",
        "tooltip": "Название сheckpoint (модели) для загрузки."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Модель, используемая для шумоподавления латентов."
      },
      "1": {
        "tooltip": "Модель CLIP, используемая для кодирования текстовых подсказок."
      },
      "2": {
        "tooltip": "Модель VAE, используемая для кодирования и декодирования изображений из и в латентное пространство."
      }
    }
  },
  "CheckpointSave": {
    "display_name": "Сохранить сheckpoint",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "filename_prefix": {
        "name": "префикс_названия_файла"
      },
      "model": {
        "name": "модель"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "ChromaRadianceOptions": {
    "description": "Позволяет задать расширенные настройки для модели Chroma Radiance.",
    "display_name": "ChromaRadianceOptions",
    "inputs": {
      "end_sigma": {
        "name": "конечная_сигма",
        "tooltip": "Последняя сигма, для которой эти настройки вступят в силу."
      },
      "force_sequential_txt_ids": {
        "name": "force_sequential_txt_ids",
        "tooltip": "Принудительно использовать последовательные идентификаторы текстовых токенов вместо нулей. Следует использовать для контрольных точек с 22.05.2026 по 01.06.2026, которые обучались таким образом, но не содержат ключ __sequential__ в state dict."
      },
      "model": {
        "name": "модель"
      },
      "nerf_tile_size": {
        "name": "размер_плитки_nerf",
        "tooltip": "Позволяет переопределить размер плитки NeRF по умолчанию. -1 означает использование значения по умолчанию (32). 0 означает использование режима без разбиения на плитки (может потребовать много видеопамяти)."
      },
      "preserve_wrapper": {
        "name": "сохранить_обёртку",
        "tooltip": "При включении делегирует существующей обёртке функции модели, если она существует. Обычно следует оставлять включённым."
      },
      "start_sigma": {
        "name": "начальная_сигма",
        "tooltip": "Первая сигма, для которой эти настройки вступят в силу."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ClaudeNode": {
    "description": "Генерируйте текстовые ответы с помощью моделей Claude от Anthropic. Введите текстовый запрос и при необходимости одно или несколько изображений для мультимодального контекста.",
    "display_name": "Anthropic Claude",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "images": {
        "name": "images",
        "tooltip": "Необязательные изображения для использования в качестве контекста для модели. До 20 изображений."
      },
      "model": {
        "name": "model",
        "tooltip": "Модель Claude, используемая для генерации ответа."
      },
      "model_max_tokens": {
        "name": "max_tokens"
      },
      "model_reasoning_effort": {
        "name": "reasoning_effort"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый ввод для модели."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, должен ли узел выполняться повторно; результаты всегда недетерминированы, независимо от значения seed."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Базовые инструкции, определяющие поведение модели."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ColorToRGBInt": {
    "description": "Преобразовать цвет в целочисленное значение RGB.",
    "display_name": "Преобразование цвета в RGB Int",
    "inputs": {
      "color": {
        "name": "цвет"
      }
    },
    "outputs": {
      "0": {
        "name": "rgb_int",
        "tooltip": null
      },
      "1": {
        "name": "hex",
        "tooltip": null
      },
      "2": {
        "name": "alpha",
        "tooltip": null
      }
    }
  },
  "ColorTransfer": {
    "description": "Сопоставьте цвета одного изображения с другим с помощью различных алгоритмов.",
    "display_name": "ColorTransfer",
    "inputs": {
      "image_ref": {
        "name": "image_ref",
        "tooltip": "Референсное изображение(я), с которым нужно сопоставить цвета. Если не указано, обработка пропускается"
      },
      "image_target": {
        "name": "image_target",
        "tooltip": "Изображение(я), к которым будет применено преобразование цвета."
      },
      "method": {
        "name": "method"
      },
      "source_stats": {
        "name": "source_stats",
        "tooltip": "per_frame: каждый кадр сопоставляется с image_ref отдельно. uniform: статистика всех исходных кадров объединяется как базовая, сопоставляется с image_ref. target_frame: выбранный кадр используется как базовая линия для преобразования к image_ref, применяется ко всем кадрам (сохраняет относительные различия)"
      },
      "strength": {
        "name": "strength"
      }
    },
    "outputs": {
      "0": {
        "name": "image",
        "tooltip": null
      }
    }
  },
  "CombineHooks2": {
    "display_name": "Объединить хуки [2]",
    "inputs": {
      "hooks_A": {
        "name": "hooks_A"
      },
      "hooks_B": {
        "name": "hooks_B"
      }
    }
  },
  "CombineHooks4": {
    "display_name": "Объединить хуки [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": "Объединить хуки [8]",
    "inputs": {
      "hooks_A": {
        "name": "hooks_A"
      },
      "hooks_B": {
        "name": "hooks_B"
      },
      "hooks_C": {
        "name": "hooks_C"
      },
      "hooks_D": {
        "name": "hooks_D"
      },
      "hooks_E": {
        "name": "hooks_E"
      },
      "hooks_F": {
        "name": "hooks_F"
      },
      "hooks_G": {
        "name": "hooks_G"
      },
      "hooks_H": {
        "name": "hooks_H"
      }
    }
  },
  "ComfyAndNode": {
    "description": "Логическая операция И. Возвращает true, если все значения истинны. Использует правила истинности Python.",
    "display_name": "И",
    "inputs": {
      "values": {
        "name": "значения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ComfyMathExpression": {
    "display_name": "Математическое выражение",
    "inputs": {
      "expression": {
        "name": "выражение"
      },
      "values": {
        "name": "значения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "BOOL",
        "tooltip": null
      }
    }
  },
  "ComfyNotNode": {
    "description": "Логическая операция НЕ. Возвращает true, если значение ложно. Использует правила истинности Python.",
    "display_name": "Не",
    "inputs": {
      "value": {
        "name": "значение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ComfyNumberConvert": {
    "display_name": "Преобразование числа",
    "inputs": {
      "value": {
        "name": "значение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "ComfyOrNode": {
    "description": "Логическая операция ИЛИ. Возвращает true, если хотя бы одно из значений истинно. Использует правила истинности Python.",
    "display_name": "ИЛИ",
    "inputs": {
      "values": {
        "name": "значения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ComfySwitchNode": {
    "display_name": "Переключатель",
    "inputs": {
      "on_false": {
        "name": "если_ложь"
      },
      "on_true": {
        "name": "если_истина"
      },
      "switch": {
        "name": "переключатель"
      }
    },
    "outputs": {
      "0": {
        "name": "выход",
        "tooltip": null
      }
    }
  },
  "ConditioningAverage": {
    "display_name": "Среднее кондиционирование",
    "inputs": {
      "conditioning_from": {
        "name": "условие_от"
      },
      "conditioning_to": {
        "name": "условие_к"
      },
      "conditioning_to_strength": {
        "name": "сила_условия_к"
      }
    }
  },
  "ConditioningCombine": {
    "display_name": "Кондиционирование (Объединение)",
    "inputs": {
      "conditioning_1": {
        "name": "условие_1"
      },
      "conditioning_2": {
        "name": "условие_2"
      }
    }
  },
  "ConditioningConcat": {
    "display_name": "Кондиционирование (Конкатенация)",
    "inputs": {
      "conditioning_from": {
        "name": "условие_от"
      },
      "conditioning_to": {
        "name": "условие_к"
      }
    }
  },
  "ConditioningMultiply": {
    "display_name": "Conditioning (Multiply)",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "multiplier": {
        "name": "multiplier"
      }
    }
  },
  "ConditioningSetArea": {
    "display_name": "Кондиционирование (Установить область)",
    "inputs": {
      "conditioning": {
        "name": "условие"
      },
      "height": {
        "name": "высота"
      },
      "strength": {
        "name": "сила"
      },
      "width": {
        "name": "ширина"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "ConditioningSetAreaPercentage": {
    "display_name": "Кондиционирование (Установить область с процентом)",
    "inputs": {
      "conditioning": {
        "name": "условие"
      },
      "height": {
        "name": "высота"
      },
      "strength": {
        "name": "сила"
      },
      "width": {
        "name": "ширина"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "ConditioningSetAreaPercentageVideo": {
    "display_name": "УсловныйНаборПроцентПлощадиВидео",
    "inputs": {
      "conditioning": {
        "name": "условие"
      },
      "height": {
        "name": "высота"
      },
      "strength": {
        "name": "сила"
      },
      "temporal": {
        "name": "временной"
      },
      "width": {
        "name": "ширина"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      },
      "z": {
        "name": "z"
      }
    }
  },
  "ConditioningSetAreaStrength": {
    "display_name": "Сила установки области кондиционирования",
    "inputs": {
      "conditioning": {
        "name": "условие"
      },
      "strength": {
        "name": "сила"
      }
    }
  },
  "ConditioningSetDefaultCombine": {
    "display_name": "Установить значение по умолчанию для объединения кондиционирования",
    "inputs": {
      "cond": {
        "name": "условие"
      },
      "cond_DEFAULT": {
        "name": "условие_ПО_УМОЛЧАНИЮ"
      },
      "hooks": {
        "name": "hooks"
      }
    }
  },
  "ConditioningSetMask": {
    "display_name": "Кондиционирование (Установить маску)",
    "inputs": {
      "conditioning": {
        "name": "условие"
      },
      "mask": {
        "name": "маска"
      },
      "set_cond_area": {
        "name": "установить_область_условия"
      },
      "strength": {
        "name": "сила"
      }
    }
  },
  "ConditioningSetProperties": {
    "display_name": "Установить свойства кондиционирования",
    "inputs": {
      "cond_NEW": {
        "name": "новое_условие"
      },
      "hooks": {
        "name": "хуки"
      },
      "mask": {
        "name": "маска"
      },
      "set_cond_area": {
        "name": "установить_область_условия"
      },
      "strength": {
        "name": "сила"
      },
      "timesteps": {
        "name": "временные_шаги"
      }
    }
  },
  "ConditioningSetPropertiesAndCombine": {
    "display_name": "Установить свойства кондиционирования и объединить",
    "inputs": {
      "cond": {
        "name": "условие"
      },
      "cond_NEW": {
        "name": "новое_условие"
      },
      "hooks": {
        "name": "хуки"
      },
      "mask": {
        "name": "маска"
      },
      "set_cond_area": {
        "name": "установить_область_условия"
      },
      "strength": {
        "name": "сила"
      },
      "timesteps": {
        "name": "временные_шаги"
      }
    }
  },
  "ConditioningSetTimestepRange": {
    "display_name": "Установить диапазон временных шагов кондиционирования",
    "inputs": {
      "conditioning": {
        "name": "условие"
      },
      "end": {
        "name": "конец"
      },
      "start": {
        "name": "начало"
      }
    }
  },
  "ConditioningStableAudio": {
    "display_name": "ConditioningStableAudio",
    "inputs": {
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      },
      "seconds_start": {
        "name": "секунды_начала"
      },
      "seconds_total": {
        "name": "всего_секунд"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      }
    }
  },
  "ConditioningTimestepsRange": {
    "display_name": "Диапазон временных шагов",
    "inputs": {
      "end_percent": {
        "name": "процент_конца"
      },
      "start_percent": {
        "name": "процент_начала"
      }
    },
    "outputs": {
      "1": {
        "name": "ДО_ДИАПАЗОНА"
      },
      "2": {
        "name": "ПОСЛЕ_ДИАПАЗОНА"
      }
    }
  },
  "ConditioningZeroOut": {
    "display_name": "Обнуление кондиционирования",
    "inputs": {
      "conditioning": {
        "name": "условие"
      }
    }
  },
  "ContextWindowsManual": {
    "description": "Ручная установка контекстных окон.",
    "display_name": "Контекстные окна (Ручная настройка)",
    "inputs": {
      "causal_window_fix": {
        "name": "causal_window_fix",
        "tooltip": "Добавлять ли причинно-следственный корректирующий кадр к окнам контекста с индексом, отличным от 0."
      },
      "closed_loop": {
        "name": "замкнутый_цикл",
        "tooltip": "Замыкать ли цикл контекстного окна; применимо только к циклическим расписаниям."
      },
      "cond_retain_index_list": {
        "name": "cond_retain_index_list",
        "tooltip": "Список индексов латентных пространств, которые нужно сохранить в тензорах кондиционирования для каждого окна. Например, если указать '0', для каждого окна будет использоваться исходное стартовое изображение."
      },
      "context_length": {
        "name": "длина_контекста",
        "tooltip": "Длина контекстного окна."
      },
      "context_overlap": {
        "name": "перекрытие_контекста",
        "tooltip": "Перекрытие контекстных окон."
      },
      "context_schedule": {
        "name": "расписание_контекста",
        "tooltip": "Шаг контекстного окна."
      },
      "context_stride": {
        "name": "шаг_контекста",
        "tooltip": "Шаг контекстного окна; применимо только к равномерным расписаниям."
      },
      "dim": {
        "name": "измерение",
        "tooltip": "Измерение, к которому применяются контекстные окна."
      },
      "freenoise": {
        "name": "свободный_шум",
        "tooltip": "Применять ли перемешивание шума FreeNoise, улучшает смешивание окон."
      },
      "fuse_method": {
        "name": "метод_объединения",
        "tooltip": "Метод объединения контекстных окон."
      },
      "latent_retain_index_list": {
        "name": "latent_retain_index_list",
        "tooltip": "Список индексов латентного пространства, которые нужно сохранить непосредственно в латентном шуме для каждого окна. Используется в рабочих процессах, где референсный контент (например, стартовое изображение) находится прямо в латентном шуме, а не в отдельных каналах кондиционирования (например, I2V в стиле inplace, как LTXV, AnimateDiff). Не зависит от cond_retain_index_list."
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель, к которой применяются контекстные окна во время сэмплирования."
      },
      "split_conds_to_windows": {
        "name": "split_conds_to_windows",
        "tooltip": "Разделять ли несколько кондиционирований (созданных с помощью ConditionCombine) по каждому окну на основе индекса региона."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Модель с применёнными контекстными окнами во время сэмплирования."
      }
    }
  },
  "ControlNetApply": {
    "display_name": "Применить ControlNet (УСТАРЕЛО)",
    "inputs": {
      "conditioning": {
        "name": "условие"
      },
      "control_net": {
        "name": "control_net"
      },
      "image": {
        "name": "изображение"
      },
      "strength": {
        "name": "сила"
      }
    }
  },
  "ControlNetApplyAdvanced": {
    "display_name": "Применить ControlNet",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "процент_конца"
      },
      "image": {
        "name": "изображение"
      },
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      },
      "start_percent": {
        "name": "процент_начала"
      },
      "strength": {
        "name": "сила"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный"
      },
      "1": {
        "name": "отрицательный"
      }
    }
  },
  "ControlNetApplySD3": {
    "display_name": "Применить ControlNet с VAE",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "процент_конца"
      },
      "image": {
        "name": "изображение"
      },
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      },
      "start_percent": {
        "name": "процент_начала"
      },
      "strength": {
        "name": "сила"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      }
    }
  },
  "ControlNetInpaintingAliMamaApply": {
    "display_name": "Применить ControlNet для инпейнтинга AliMama",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "процент_конца"
      },
      "image": {
        "name": "изображение"
      },
      "mask": {
        "name": "маска"
      },
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      },
      "start_percent": {
        "name": "процент_начала"
      },
      "strength": {
        "name": "сила"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      }
    }
  },
  "ControlNetLoader": {
    "display_name": "Загрузить модель ControlNet",
    "inputs": {
      "control_net_name": {
        "name": "название_control_net"
      }
    }
  },
  "ConvertArrayToString": {
    "display_name": "Преобразовать массив в строку",
    "inputs": {
      "array": {
        "name": "массив"
      },
      "indent": {
        "name": "отступ",
        "tooltip": "Количество пробелов на уровень отступа. 0 — компактная однострочная строка."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ConvertDictionaryToString": {
    "display_name": "Преобразовать словарь в строку",
    "inputs": {
      "dictionary": {
        "name": "словарь"
      },
      "indent": {
        "name": "отступ",
        "tooltip": "Количество пробелов на уровень отступа. 0 — компактная однострочная строка."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CosmosImageToVideoLatent": {
    "display_name": "CosmosImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "end_image": {
        "name": "конечное_изображение"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "start_image": {
        "name": "начальное_изображение"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CosmosPredict2ImageToVideoLatent": {
    "display_name": "CosmosPredict2ImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "end_image": {
        "name": "конечное_изображение"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "start_image": {
        "name": "начальное_изображение"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CreateBoundingBoxes": {
    "description": "Нарисуйте ограничивающие рамки на холсте. Выходные данные: элементы промпта Ideogram, ограничивающие рамки в пикселях и изображение предпросмотра.",
    "display_name": "Создать ограничивающие рамки",
    "inputs": {
      "background": {
        "name": "фон",
        "tooltip": "Необязательное изображение, используемое как фон на холсте и в предпросмотре."
      },
      "bboxes": {
        "name": "bboxes",
        "tooltip": "Границы (bounding boxes), элементы или JSON-строка для инициализации холста. Новое входящее значение инициализирует холст; изменения, внесённые на холсте, имеют приоритет и сохраняются до следующего изменения входящего значения."
      },
      "editor_state": {
        "name": "состояние_редактора",
        "tooltip": "Нарисуйте ограничивающие рамки и задайте для каждой рамки тип, текст, описание, цветовую палитру. Начинайте с фонового элемента, затем передний план."
      },
      "height": {
        "name": "высота",
        "tooltip": "Высота холста и пиксельной сетки для ограничивающих рамок."
      },
      "last_incoming": {
        "name": "last_incoming",
        "tooltip": "Внутреннее состояние, управляемое холстом: последнее входящее значение bboxes, которым он был инициализирован. Оставьте пустым, чтобы переинициализировать холст из входа bboxes при следующем запуске."
      },
      "width": {
        "name": "ширина",
        "tooltip": "Ширина холста и пиксельной сетки для ограничивающих рамок."
      }
    },
    "outputs": {
      "0": {
        "name": "предпросмотр",
        "tooltip": null
      },
      "1": {
        "name": "рамки",
        "tooltip": null
      },
      "2": {
        "name": "элементы",
        "tooltip": null
      }
    }
  },
  "CreateCameraInfo": {
    "description": "Создаёт camera_info. Режим 'orbit' наводит с помощью углов yaw/pitch/distance вокруг цели; 'look_at' размещает камеру в мировой позиции. Координаты — в мировой системе координат наблюдателя (правосторонняя, Y-вверх).",
    "display_name": "Создать информацию о камере",
    "inputs": {
      "camera_type": {
        "name": "camera_type",
        "tooltip": "Проекция, используемая Render Splat: перспективная (с искажением) или ортографическая (параллельная)."
      },
      "fov": {
        "name": "fov",
        "tooltip": "Вертикальный угол обзора в градусах."
      },
      "mode": {
        "name": "mode",
        "tooltip": "Как определить камеру: углы орбиты, явная позиция или позиция + кватернион."
      },
      "mode_distance": {
        "name": "distance"
      },
      "mode_pitch": {
        "name": "pitch"
      },
      "mode_yaw": {
        "name": "yaw"
      },
      "roll": {
        "name": "roll",
        "tooltip": "Крен камеры вокруг оси взгляда, в градусах."
      },
      "target_x": {
        "name": "target_x",
        "tooltip": "Точка взгляда (центр орбиты / цель). В режиме orbit перемещайте для панорамирования/трансляции всей камеры. Игнорируется в режиме кватерниона. По умолчанию — начало координат."
      },
      "target_y": {
        "name": "target_y"
      },
      "target_z": {
        "name": "target_z"
      },
      "zoom": {
        "name": "zoom",
        "tooltip": "Цифровой зум (множитель фокусного расстояния). >1 увеличивает без перемещения камеры."
      }
    },
    "outputs": {
      "0": {
        "name": "camera_info",
        "tooltip": null
      }
    }
  },
  "CreateHookKeyframe": {
    "display_name": "Создать ключевой кадр хука",
    "inputs": {
      "prev_hook_kf": {
        "name": "предыдущий_hook_kf"
      },
      "start_percent": {
        "name": "процент_начала"
      },
      "strength_mult": {
        "name": "множитель_силы"
      }
    },
    "outputs": {
      "0": {
        "name": "КЛЮЧЕВОЙ_КАДР"
      }
    }
  },
  "CreateHookKeyframesFromFloats": {
    "display_name": "Создать ключевые кадры хука из чисел с плавающей запятой",
    "inputs": {
      "end_percent": {
        "name": "процент_конца"
      },
      "floats_strength": {
        "name": "сила_в_виде_чисел"
      },
      "prev_hook_kf": {
        "name": "предыдущий_hook_kf"
      },
      "print_keyframes": {
        "name": "печать_ключевых_кадров"
      },
      "start_percent": {
        "name": "процент_начала"
      }
    },
    "outputs": {
      "0": {
        "name": "КЛЮЧЕВОЙ_КАДР"
      }
    }
  },
  "CreateHookKeyframesInterpolated": {
    "display_name": "Создать интерполированные ключевые кадры хука",
    "inputs": {
      "end_percent": {
        "name": "конечный_процент"
      },
      "interpolation": {
        "name": "интерполяция"
      },
      "keyframes_count": {
        "name": "количество_ключевых_кадров"
      },
      "prev_hook_kf": {
        "name": "предыдущий_хук_kf"
      },
      "print_keyframes": {
        "name": "печать_ключевых_кадров"
      },
      "start_percent": {
        "name": "начальный_процент"
      },
      "strength_end": {
        "name": "конечная_сила"
      },
      "strength_start": {
        "name": "начальная_сила"
      }
    },
    "outputs": {
      "0": {
        "name": "КЛЮЧЕВОЙ_КАДР"
      }
    }
  },
  "CreateHookLora": {
    "display_name": "Создать хук LoRA",
    "inputs": {
      "lora_name": {
        "name": "название_lora"
      },
      "prev_hooks": {
        "name": "предыдущие_хуки"
      },
      "strength_clip": {
        "name": "сила_клипа"
      },
      "strength_model": {
        "name": "сила_модели"
      }
    }
  },
  "CreateHookLoraModelOnly": {
    "display_name": "Создать хук LoRA (Только модель)",
    "inputs": {
      "lora_name": {
        "name": "название_lora"
      },
      "prev_hooks": {
        "name": "предыдущие_хуки"
      },
      "strength_model": {
        "name": "сила_модели"
      }
    }
  },
  "CreateHookModelAsLora": {
    "display_name": "Создать хук модели как LoRA",
    "inputs": {
      "ckpt_name": {
        "name": "название_ckpt"
      },
      "prev_hooks": {
        "name": "предыдущие_хуки"
      },
      "strength_clip": {
        "name": "сила_клипа"
      },
      "strength_model": {
        "name": "сила_модели"
      }
    }
  },
  "CreateHookModelAsLoraModelOnly": {
    "display_name": "Создать хук модели как LoRA (Только модель)",
    "inputs": {
      "ckpt_name": {
        "name": "название_ckpt"
      },
      "prev_hooks": {
        "name": "предыдущие_хуки"
      },
      "strength_model": {
        "name": "сила_модели"
      }
    }
  },
  "CreateList": {
    "display_name": "Создать список",
    "inputs": {
      "inputs": {
        "name": "входные данные"
      }
    },
    "outputs": {
      "0": {
        "name": "список",
        "tooltip": null
      }
    }
  },
  "CreateVideo": {
    "description": "Создайте видео из изображений.",
    "display_name": "Создать видео",
    "inputs": {
      "audio": {
        "name": "аудио",
        "tooltip": "Аудио, которое будет добавлено к видео."
      },
      "bit_depth": {
        "name": "bit_depth",
        "tooltip": "Глубина цвета создаваемого видео. 10-бит обеспечивает более плавные градиенты с меньшим количеством полос, но некоторые проигрыватели и последующие узлы могут не поддерживать этот формат."
      },
      "fps": {
        "name": "кадров в секунду"
      },
      "images": {
        "name": "изображения",
        "tooltip": "Изображения, из которых будет создано видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CropByBBoxes": {
    "description": "Обрезать и изменить размер областей из входного пакета изображений на основе предоставленных ограничивающих рамок.",
    "display_name": "CropByBBoxes",
    "inputs": {
      "bboxes": {
        "name": "bboxes"
      },
      "image": {
        "name": "image"
      },
      "keep_aspect": {
        "name": "keep_aspect",
        "tooltip": "Растягивать ли обрезку до нужного размера или добавлять чёрные поля для сохранения соотношения сторон."
      },
      "output_height": {
        "name": "output_height",
        "tooltip": "Высота, до которой изменяется каждый обрезанный фрагмент."
      },
      "output_width": {
        "name": "output_width",
        "tooltip": "Ширина, до которой изменяется каждый обрезанный фрагмент."
      },
      "padding": {
        "name": "padding",
        "tooltip": "Дополнительный отступ в пикселях, добавляемый с каждой стороны ограничивающей рамки перед обрезкой."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Все обрезанные фрагменты объединены в один пакет изображений."
      }
    }
  },
  "CropMask": {
    "display_name": "Обрезать маску",
    "inputs": {
      "height": {
        "name": "высота"
      },
      "mask": {
        "name": "маска"
      },
      "width": {
        "name": "ширина"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CurveEditor": {
    "display_name": "Редактор кривых",
    "inputs": {
      "curve": {
        "name": "кривая"
      },
      "histogram": {
        "name": "гистограмма"
      }
    },
    "outputs": {
      "0": {
        "name": "кривая",
        "tooltip": null
      }
    }
  },
  "CustomCombo": {
    "display_name": "Пользовательская комбинация",
    "inputs": {
      "choice": {
        "name": "выбор"
      },
      "index": {},
      "option1": {}
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "ИНДЕКС",
        "tooltip": null
      }
    }
  },
  "DA3GeometryToMesh": {
    "description": "Преобразовать карту глубины в триангулированную 3D-модель (mesh).",
    "display_name": "Преобразовать DA3 Geometry в Mesh",
    "inputs": {
      "batch_index": {
        "name": "batch_index",
        "tooltip": "Какое изображение из батча конвертировать. Количество вершин на изображение различается, поэтому батчи не могут быть объединены."
      },
      "confidence_threshold": {
        "name": "confidence_threshold",
        "tooltip": "Исключать пиксели, у которых нормализованная уверенность ниже этого значения (0 = оставить все, 1 = оставить только самый уверенный пиксель). Используется, если в geometry есть карта уверенности (Small/Base модели)."
      },
      "da3_geometry": {
        "name": "da3_geometry"
      },
      "decimation": {
        "name": "decimation",
        "tooltip": "Шаг по вершинам. 1 = полное разрешение, 2 = половина и т.д."
      },
      "discontinuity_threshold": {
        "name": "discontinuity_threshold",
        "tooltip": "Удалять треугольники, у которых диапазон глубины 3x3 превышает эту долю. 0 = отключено."
      },
      "texture": {
        "name": "texture",
        "tooltip": "Использовать исходное изображение как текстуру базового цвета."
      },
      "use_sky_mask": {
        "name": "use_sky_mask",
        "tooltip": "Исключать пиксели с вероятностью неба (sky >= 0.5) из mesh. Используется, если в geometry есть карта неба (Mono/Metric модели)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DA3Inference": {
    "description": "Запустить Depth Anything 3 на изображении. В режиме multi-view каждое изображение рассматривается как отдельный вид одной сцены.",
    "display_name": "Запустить Depth Anything 3",
    "inputs": {
      "da3_model": {
        "name": "da3_model"
      },
      "image": {
        "name": "image"
      },
      "mode": {
        "name": "mode",
        "tooltip": "mono: одновидовое изображение (работает с любым вариантом модели).\nmultiview: все изображения обрабатываются вместе для геометрической согласованности + позы камеры (только для Small/Base моделей)."
      },
      "resize_method": {
        "name": "resize_method",
        "tooltip": "upper_bound_resize: масштабировать так, чтобы длинная сторона = resolution (ограничивает память, по умолчанию).\nlower_bound_resize: масштабировать так, чтобы короткая сторона = resolution (сохраняет больше деталей на высоких/широких изображениях, требует больше памяти)."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Разрешение, на котором работает модель (длинная сторона, кратно 14).\nМеньше = быстрее / меньше VRAM.\nБольше = больше деталей.\nРезультат увеличивается до исходного размера."
      }
    },
    "outputs": {
      "0": {
        "name": "da3_geometry",
        "tooltip": "Словарь ненормализованных тензоров.\nВсегда содержит ключи: depth, image, mode.\nДополнительные ключи: sky (для Mono/Metric), confidence (для Small/Base), extrinsics + intrinsics (для multi-view)."
      }
    }
  },
  "DA3Render": {
    "description": "Визуализировать карту глубины, карту уверенности или sky mask из данных geometry Depth Anything 3.",
    "display_name": "Визуализировать Depth Anything 3",
    "inputs": {
      "da3_geometry": {
        "name": "da3_geometry"
      },
      "output": {
        "name": "output",
        "tooltip": "- depth: нормализованное изображение глубины в оттенках серого.\n- depth_colored: глубина, отображённая через Turbo colormap.\n- sky_mask: вероятность неба в диапазоне [0, 1] (только для Mono/Metric моделей).\n- confidence: нормализованная уверенность глубины (только для Small/Base моделей)."
      },
      "output_apply_sky_clip": {
        "name": "apply_sky_clip"
      },
      "output_normalization": {
        "name": "normalization"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DiffControlNetLoader": {
    "display_name": "Загрузить модель ControlNet (дифф)",
    "inputs": {
      "control_net_name": {
        "name": "название_control_net"
      },
      "model": {
        "name": "модель"
      }
    }
  },
  "DifferentialDiffusion": {
    "display_name": "Дифференциальная диффузия",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "strength": {
        "name": "интенсивность"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DiffusersLoader": {
    "display_name": "Загрузчик диффузоров",
    "inputs": {
      "model_path": {
        "name": "путь_модели"
      }
    }
  },
  "DisableNoise": {
    "display_name": "Отключить шум",
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DrawBBoxes": {
    "display_name": "Нарисовать BBoxes",
    "inputs": {
      "bboxes": {
        "name": "bboxes"
      },
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "name": "out_image",
        "tooltip": null
      }
    }
  },
  "DualCFGGuider": {
    "display_name": "Двойной CFG Гид",
    "inputs": {
      "cfg_cond2_negative": {
        "name": "cfg_cond2_negative"
      },
      "cfg_conds": {
        "name": "cfg_conds"
      },
      "cond1": {
        "name": "cond1"
      },
      "cond2": {
        "name": "cond2"
      },
      "model": {
        "name": "модель"
      },
      "negative": {
        "name": "отрицательный"
      },
      "style": {
        "name": "стиль"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DualCLIPLoader": {
    "description": "[Рецепты]\n\nsdxl: clip-l, clip-g\nsd3: clip-l, clip-g / clip-l, t5 / clip-g, t5\nflux: clip-l, t5",
    "display_name": "Двойной загрузчик CLIP",
    "inputs": {
      "clip_name1": {
        "name": "clip_name1"
      },
      "clip_name2": {
        "name": "clip_name2"
      },
      "device": {
        "name": "устройство"
      },
      "type": {
        "name": "тип"
      }
    }
  },
  "DualModelGuider": {
    "display_name": "Двойной CFG-гуидер модели",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель, используемая для положительного (условного) прохода."
      },
      "model_negative": {
        "name": "отрицательная_модель",
        "tooltip": "Модель, используемая для отрицательного (безусловного) прохода. Используйте ту же модель для обычного CFG."
      },
      "negative": {
        "name": "отрицательный",
        "tooltip": "Отрицательная настройка для отрицательной модели. Оставьте неподключённым для безтекстового (только изображение) безусловного прохода."
      },
      "positive": {
        "name": "положительный"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EasyCache": {
    "description": "Нативная реализация EasyCache.",
    "display_name": "EasyCache",
    "inputs": {
      "end_percent": {
        "name": "конечный_процент",
        "tooltip": "Относительный шаг выборки для завершения использования EasyCache."
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель, к которой добавляется EasyCache."
      },
      "reuse_threshold": {
        "name": "порог_повторного_использования",
        "tooltip": "Порог для повторного использования кэшированных шагов."
      },
      "start_percent": {
        "name": "начальный_процент",
        "tooltip": "Относительный шаг выборки для начала использования EasyCache."
      },
      "verbose": {
        "name": "подробный",
        "tooltip": "Следует ли выводить подробную информацию."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Модель с EasyCache."
      }
    }
  },
  "ElevenLabsAudioIsolation": {
    "description": "Удаляет фоновый шум из аудио, изолируя вокал или речь.",
    "display_name": "ElevenLabs Voice Isolation",
    "inputs": {
      "audio": {
        "name": "аудио",
        "tooltip": "Аудио для обработки и удаления фонового шума."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsInstantVoiceClone": {
    "description": "Создайте клон голоса на основе аудиосэмплов. Предоставьте 1-8 аудиозаписей голоса для клонирования.",
    "display_name": "ElevenLabs Instant Voice Clone",
    "inputs": {
      "files": {
        "name": "файлы",
        "tooltip": "Аудиозаписи для клонирования голоса."
      },
      "remove_background_noise": {
        "name": "удалить_фоновый_шум",
        "tooltip": "Удалить фоновый шум из голосовых сэмплов с помощью изоляции аудио."
      }
    },
    "outputs": {
      "0": {
        "name": "голос",
        "tooltip": null
      }
    }
  },
  "ElevenLabsSpeechToSpeech": {
    "description": "Преобразуйте речь из одного голоса в другой, сохраняя оригинальное содержание и эмоции.",
    "display_name": "ElevenLabs Speech to Speech",
    "inputs": {
      "audio": {
        "name": "аудио",
        "tooltip": "Исходное аудио для преобразования."
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель для преобразования речи в речь."
      },
      "model_similarity_boost": {
        "name": "повышение_сходства"
      },
      "model_speed": {
        "name": "скорость"
      },
      "model_style": {
        "name": "стиль"
      },
      "model_use_speaker_boost": {
        "name": "использовать_усиление_голоса"
      },
      "output_format": {
        "name": "формат_выхода",
        "tooltip": "Формат выходного аудио."
      },
      "remove_background_noise": {
        "name": "удалить_фоновый_шум",
        "tooltip": "Удалить фоновый шум из входного аудио с помощью изоляции аудио."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для воспроизводимости."
      },
      "stability": {
        "name": "стабильность",
        "tooltip": "Стабильность голоса. Низкие значения дают более широкий эмоциональный диапазон, высокие значения обеспечивают более последовательную, но возможно монотонную речь."
      },
      "voice": {
        "name": "голос",
        "tooltip": "Целевой голос для преобразования. Подключите из Voice Selector или Instant Voice Clone."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsSpeechToText": {
    "description": "Преобразование аудио в текст. Поддерживает автоматическое определение языка, диаризацию по говорящим и тегирование аудио событий.",
    "display_name": "ElevenLabs Распознавание речи",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Аудио для расшифровки."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "language_code": {
        "name": "language_code",
        "tooltip": "Код языка по ISO-639-1 или ISO-639-3 (например, 'en', 'es', 'fra'). Оставьте пустым для автоматического определения."
      },
      "model": {
        "name": "model",
        "tooltip": "Модель для расшифровки."
      },
      "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": "Максимальное количество говорящих для распознавания. Установите 0 для автоматического определения."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Зерно для воспроизводимости (детерминированность не гарантируется)."
      }
    },
    "outputs": {
      "0": {
        "name": "text",
        "tooltip": null
      },
      "1": {
        "name": "language_code",
        "tooltip": null
      },
      "2": {
        "name": "words_json",
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToDialogue": {
    "description": "Генерация диалога с несколькими говорящими на основе текста. Каждая реплика имеет свой текст и голос.",
    "display_name": "ElevenLabs Текст в диалог",
    "inputs": {
      "apply_text_normalization": {
        "name": "apply_text_normalization",
        "tooltip": "Режим нормализации текста. 'auto' — система выбирает автоматически, 'on' — всегда применять нормализацию, 'off' — не применять."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "inputs": {
        "name": "inputs",
        "tooltip": "Количество реплик в диалоге."
      },
      "inputs_text1": {
        "name": "text1"
      },
      "language_code": {
        "name": "language_code",
        "tooltip": "Код языка по ISO-639-1 или ISO-639-3 (например, 'en', 'es', 'fra'). Оставьте пустым для автоматического определения."
      },
      "model": {
        "name": "model",
        "tooltip": "Модель для генерации диалога."
      },
      "output_format": {
        "name": "output_format",
        "tooltip": "Формат аудиовыхода."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Зерно для воспроизводимости."
      },
      "stability": {
        "name": "stability",
        "tooltip": "Стабильность голоса. Низкие значения дают более широкий эмоциональный диапазон, высокие — более стабильную, но возможно монотонную речь."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToSoundEffects": {
    "description": "Генерация звуковых эффектов по текстовому описанию.",
    "display_name": "ElevenLabs Текст в звуковые эффекты",
    "inputs": {
      "model": {
        "name": "model",
        "tooltip": "Модель для генерации звукового эффекта."
      },
      "model_duration": {
        "name": "duration"
      },
      "model_loop": {
        "name": "loop"
      },
      "model_prompt_influence": {
        "name": "prompt_influence"
      },
      "output_format": {
        "name": "output_format",
        "tooltip": "Формат аудиовыхода."
      },
      "text": {
        "name": "text",
        "tooltip": "Текстовое описание звукового эффекта для генерации."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToSpeech": {
    "description": "Преобразование текста в речь.",
    "display_name": "ElevenLabs Text to Speech",
    "inputs": {
      "apply_text_normalization": {
        "name": "apply_text_normalization",
        "tooltip": "Режим нормализации текста. 'auto' — система выбирает автоматически, 'on' — всегда применять нормализацию, 'off' — не применять."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "language_code": {
        "name": "language_code",
        "tooltip": "Код языка по ISO-639-1 или ISO-639-3 (например, 'en', 'es', 'fra'). Оставьте пустым для автоматического определения."
      },
      "model": {
        "name": "model",
        "tooltip": "Модель для преобразования текста в речь."
      },
      "model_similarity_boost": {
        "name": "similarity_boost"
      },
      "model_speed": {
        "name": "speed"
      },
      "model_style": {
        "name": "style"
      },
      "model_use_speaker_boost": {
        "name": "use_speaker_boost"
      },
      "output_format": {
        "name": "output_format",
        "tooltip": "Формат аудиовыхода."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для воспроизводимости (детерминированность не гарантируется)."
      },
      "stability": {
        "name": "stability",
        "tooltip": "Стабильность голоса. Низкие значения дают более широкий эмоциональный диапазон, высокие значения обеспечивают более стабильную, но потенциально монотонную речь."
      },
      "text": {
        "name": "text",
        "tooltip": "Текст для преобразования в речь."
      },
      "voice": {
        "name": "voice",
        "tooltip": "Голос для синтеза речи. Подключите из Voice Selector или Instant Voice Clone."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsVoiceSelector": {
    "description": "Выбор предустановленного голоса ElevenLabs для генерации речи.",
    "display_name": "ElevenLabs Voice Selector",
    "inputs": {
      "voice": {
        "name": "voice",
        "tooltip": "Выберите голос из предустановленных голосов ElevenLabs."
      }
    },
    "outputs": {
      "0": {
        "name": "voice",
        "tooltip": null
      }
    }
  },
  "EmptyARVideoLatent": {
    "display_name": "EmptyARVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAceStep1_5LatentAudio": {
    "display_name": "Empty Ace Step 1.5 Latent Audio",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета",
        "tooltip": "Количество латентных изображений в пакете."
      },
      "seconds": {
        "name": "секунды"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAceStepLatentAudio": {
    "display_name": "EmptyAceStepLatentAudio",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета",
        "tooltip": "Количество скрытых изображений в пакете."
      },
      "seconds": {
        "name": "секунды"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAudio": {
    "display_name": "Пустой аудио",
    "inputs": {
      "channels": {
        "name": "каналы",
        "tooltip": "Количество аудиоканалов (1 для моно, 2 для стерео)."
      },
      "duration": {
        "name": "длительность",
        "tooltip": "Длительность пустого аудиоклипа в секундах."
      },
      "sample_rate": {
        "name": "частота_дискретизации",
        "tooltip": "Частота дискретизации пустого аудиоклипа."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyChromaRadianceLatentImage": {
    "display_name": "EmptyChromaRadianceLatentImage",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyCosmosLatentVideo": {
    "display_name": "EmptyCosmosLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyFlux2LatentImage": {
    "display_name": "Пустой Flux 2 latent",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHiDreamO1LatentImage": {
    "description": "Пустое латентное пространство пикселей для HiDream-O1-Image. Модель обучалась на разрешении около 4 мегапикселей; при меньших разрешениях качество заметно ухудшается и выходит за пределы распределения. Обученные разрешения: 2048x2048, 2304x1728, 1728x2304, 2560x1440, 1440x2560, 2496x1664, 1664x2496, 3104x1312, 1312x3104, 2304x1792, 1792x2304.",
    "display_name": "Пустое HiDream-O1 латентное изображение",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanImageLatent": {
    "display_name": "EmptyHunyuanImageLatent",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanLatentVideo": {
    "display_name": "Пустой HunyuanLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanVideo15Latent": {
    "display_name": "Пустой HunyuanVideo 1.5 latent",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyImage": {
    "display_name": "Пустое изображение",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "color": {
        "name": "цвет"
      },
      "height": {
        "name": "высота"
      },
      "width": {
        "name": "ширина"
      }
    }
  },
  "EmptyLTXVLatentVideo": {
    "display_name": "Пустой LTXVLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentAudio": {
    "display_name": "Пустой LatentAudio",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета",
        "tooltip": "Количество латентных изображений в партии."
      },
      "seconds": {
        "name": "секунды"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentHunyuan3Dv2": {
    "display_name": "EmptyLatentHunyuan3Dv2",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета",
        "tooltip": "Количество скрытых изображений в пакете."
      },
      "resolution": {
        "name": "разрешение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentImage": {
    "description": "Создаёт новую партию пустых латентных изображений для удаления шума через выборку.",
    "display_name": "Пустое латентное изображение",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета",
        "tooltip": "Количество латентных изображений в партии."
      },
      "height": {
        "name": "высота",
        "tooltip": "Высота латентных изображений в пикселях."
      },
      "width": {
        "name": "ширина",
        "tooltip": "Ширина латентных изображений в пикселях."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Пустая партия латентных изображений."
      }
    }
  },
  "EmptyMiniMaxH3LatentAV": {
    "description": "Совмещённый видео+аудио латент для MiniMax H3. Длительность подгоняется под сетку модели 17k+5 кадров при 24 кадрах/с.",
    "display_name": "Пустой MiniMax H3 AV латент",
    "inputs": {
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина",
        "tooltip": "Количество кадров при 24 кадрах/с, округляется вверх до сетки модели 17k+5 (124 = ~5с; обученный диапазон ~124-362, больше — не тестировалось)"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyMochiLatentVideo": {
    "display_name": "Пустой MochiLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyQwenImageLayeredLatentImage": {
    "display_name": "Пустой Qwen Image Layered latent",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "layers": {
        "name": "слои"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptySD3LatentImage": {
    "display_name": "Пустой SD3LatentImage",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Epsilon Scaling": {
    "display_name": "Масштабирование эпсилон",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "scaling_factor": {
        "name": "коэффициент_масштабирования"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ExponentialScheduler": {
    "display_name": "Экспоненциальный scheduler",
    "inputs": {
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "шаги"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ExtendIntermediateSigmas": {
    "display_name": "ExtendIntermediateSigmas",
    "inputs": {
      "end_at_sigma": {
        "name": "закончить_на_sigma"
      },
      "sigmas": {
        "name": "sigmas"
      },
      "spacing": {
        "name": "интервал"
      },
      "start_at_sigma": {
        "name": "начать_с_sigma"
      },
      "steps": {
        "name": "шаги"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FeatherMask": {
    "display_name": "Пернатая маска",
    "inputs": {
      "bottom": {
        "name": "снизу"
      },
      "left": {
        "name": "слева"
      },
      "mask": {
        "name": "маска"
      },
      "right": {
        "name": "справа"
      },
      "top": {
        "name": "сверху"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "File3DToSplat": {
    "description": "Преобразует файл File3D splat в гауссов splat. Обратная операция к Создать 3D файл (из Splat). Поддерживаемые форматы: PLY, SPLAT, KSPLAT, SPZ. PLY содержит полные сферические гармоники, остальные форматы — только базовый цвет. Формат определяется автоматически по содержимому файла.",
    "display_name": "Получить Splat",
    "inputs": {
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Файл 3D с гауссовым splat"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "FlipSigmas": {
    "display_name": "Перевернуть сигмы",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2ImageNode": {
    "description": "Генерация изображений с помощью Flux.2 [pro] или Flux.2 [max] по текстовому запросу и, при необходимости, референсным изображениям.",
    "display_name": "Flux.2 Image",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "model_height": {
        "name": "height"
      },
      "model_width": {
        "name": "width"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Запрос для генерации или редактирования изображения"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайный сид, используемый для создания шума."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2MaxImageNode": {
    "description": "Генерирует изображения синхронно на основе запроса и разрешения.",
    "display_name": "Flux.2 [max] Image",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "height": {
        "name": "height"
      },
      "images": {
        "name": "images",
        "tooltip": "До 9 изображений, которые могут быть использованы в качестве референсов."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Запрос для генерации или редактирования изображения"
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Выполнять ли апсемплинг запроса. Если включено, автоматически модифицирует запрос для более креативной генерации."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно, используемое для создания шума."
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2ProImageNode": {
    "description": "Генерирует изображения синхронно на основе запроса и разрешения.",
    "display_name": "Flux.2 [pro] Image",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "height": {
        "name": "height"
      },
      "images": {
        "name": "images",
        "tooltip": "До 9 изображений, которые могут быть использованы в качестве референсов."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Запрос для генерации или редактирования изображения"
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Выполнять ли апсемплинг запроса. Если включено, автоматически модифицирует запрос для более креативной генерации."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно, используемое для создания шума."
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2Scheduler": {
    "display_name": "Flux2Scheduler",
    "inputs": {
      "height": {
        "name": "height"
      },
      "steps": {
        "name": "steps"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux3ImageToVideoNode": {
    "description": "Анимирует от 1 до 10 изображений с помощью FLUX 3. Каждое изображение становится кадром клипа: одно изображение открывает клип, два изображения плавно переходят друг в друга, а большее количество распределяются по клипу или закрепляются на выбранных вами моментах времени.",
    "display_name": "Flux 3: Изображение в видео",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон на выходе. «auto» выбирает его из prompt и входных данных."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Длина клипа в секундах. «auto» подбирает длину под содержимое."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Генерировать синхронизированный звук (фон, речь, эффекты). Если выключено — видео будет без аудиодорожки."
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "От 1 до 10 изображений в порядке воспроизведения. Минимум 256x256 пикселей каждое."
      },
      "placement": {
        "name": "placement",
        "tooltip": "«Распределить по клипу» позволяет FLUX 3 самостоятельно разместить изображения (одно открывает клип, два становятся началом и концом); «по времени» закрепляет каждое изображение на выбранной вами секунде."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Как должна двигаться и звучать сцена; prompt интерпретируется и расширяется перед генерацией."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Разрешение на выходе."
      },
      "safety_tolerance": {
        "name": "safety_tolerance",
        "tooltip": "Толерантность модерации, 0 — самый строгий режим. Запросы, отправляющие изображения или видео, ограничены 2, независимо от выбранного значения."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать node; FLUX 3 выбирает свой собственный seed, поэтому результаты всегда недетерминированы независимо от этого значения."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux3TextToVideoNode": {
    "description": "Генерирует видео с синхронизированным звуком по текстовому prompt через FLUX 3.",
    "display_name": "Flux 3: Текст в видео",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон на выходе. «auto» выбирает его из prompt и входных данных."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Длина клипа в секундах. «auto» подбирает длину под содержимое."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Генерировать синхронизированный звук (фон, речь, эффекты). Если выключено — видео будет без аудиодорожки."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Что вы хотите, простым языком; prompt интерпретируется и расширяется перед генерацией. Опишите отдельно фоновые звуки, музыку и речь для многослойного аудио."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Разрешение на выходе."
      },
      "safety_tolerance": {
        "name": "safety_tolerance",
        "tooltip": "Толерантность модерации, 0 — самый строгий режим. Запросы, отправляющие изображения или видео, ограничены 2, независимо от выбранного значения."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать node; FLUX 3 выбирает свой собственный seed, поэтому результаты всегда недетерминированы независимо от этого значения."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux3VideoContinuationNode": {
    "description": "Продолжает видео с помощью FLUX 3: новый клип продолжается с последних кадров предоставленного вами клипа.",
    "display_name": "Flux 3 Продолжение Видео",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон на выходе. 'auto' выбирает одно из подсказки и входных данных."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Длина клипа в секундах. 'auto' подбирает длину под содержимое."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Генерировать синхронизированный звук (фон, речь, эффекты). Если выключено — видео будет без аудиодорожки."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Что должно быть показано в продолжении; подсказка интерпретируется и расширяется перед генерацией."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Разрешение на выходе."
      },
      "safety_tolerance": {
        "name": "safety_tolerance",
        "tooltip": "Толерантность модерации, 0 — самый строгий режим. Запросы, отправляющие изображения или видео, ограничены 2 независимо от этого значения."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; FLUX 3 выбирает свой собственный сид, поэтому фактические результаты недетерминированы независимо от этого значения."
      },
      "video": {
        "name": "video",
        "tooltip": "Клип для продолжения."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxDisableGuidance": {
    "description": "Этот узел полностью отключает встраиваемое руководство на Flux и подобных моделях Flux",
    "display_name": "FluxDisableGuidance",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxEraseNode": {
    "description": "Удаляет замаскированный объект с изображения и восстанавливает фон. Нарисуйте маску поверх того, что хотите удалить.",
    "display_name": "Flux Удалить объект с изображения",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "dilate_pixels": {
        "name": "dilate_pixels",
        "tooltip": "Расширяет границы маски для чистого покрытия краёв объекта."
      },
      "image": {
        "name": "image"
      },
      "mask": {
        "name": "mask",
        "tooltip": "Белые области будут удалены; чёрные области сохраняются."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайный seed, используемый для создания шума."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxGuidance": {
    "display_name": "Направление Flux",
    "inputs": {
      "conditioning": {
        "name": "условие"
      },
      "guidance": {
        "name": "руководство"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKVCache": {
    "description": "Включает оптимизацию KV Cache для эталонных изображений в моделях семейства Flux.",
    "display_name": "Flux KV Cache",
    "inputs": {
      "model": {
        "name": "model",
        "tooltip": "Модель, для которой будет использоваться KV Cache."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Патченная модель с включённым KV Cache."
      }
    }
  },
  "FluxKontextImageScale": {
    "description": "Этот узел изменяет размер изображения до более оптимального для flux kontext.",
    "display_name": "FluxKontextImageScale",
    "inputs": {
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextMaxImageNode": {
    "description": "Редактирует изображения с помощью Flux.1 Kontext [max] через API на основе промпта и соотношения сторон.",
    "display_name": "Flux.1 Kontext [max] Изображение",
    "inputs": {
      "aspect_ratio": {
        "name": "соотношение_сторон",
        "tooltip": "Соотношение сторон изображения; должно быть между 1:4 и 4:1."
      },
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "guidance": {
        "name": "направление",
        "tooltip": "Сила направленности для процесса генерации изображения"
      },
      "input_image": {
        "name": "входное_изображение"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Промпт для генерации изображения - укажите что и как редактировать."
      },
      "prompt_upsampling": {
        "name": "апсемплинг_промпта",
        "tooltip": "Выполнять ли апсемплинг промпта. Если активно, автоматически модифицирует промпт для более креативной генерации, но результаты недетерминированы (одинаковый сид не даст точно такого же результата)."
      },
      "seed": {
        "name": "сид",
        "tooltip": "Случайное начальное значение, используемое для создания шума."
      },
      "steps": {
        "name": "шаги",
        "tooltip": "Количество шагов для процесса генерации изображения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextMultiReferenceLatentMethod": {
    "display_name": "FluxKontextMultiReferenceLatentMethod",
    "inputs": {
      "conditioning": {
        "name": "кондиционирование"
      },
      "reference_latents_method": {
        "name": "метод_референтных_латентов"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextProImageNode": {
    "description": "Редактирует изображения с помощью Flux.1 Kontext [pro] через API на основе промпта и соотношения сторон.",
    "display_name": "Flux.1 Kontext [pro] Изображение",
    "inputs": {
      "aspect_ratio": {
        "name": "соотношение_сторон",
        "tooltip": "Соотношение сторон изображения; должно быть между 1:4 и 4:1."
      },
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "guidance": {
        "name": "guidance",
        "tooltip": "Сила направляющего воздействия для процесса генерации изображения"
      },
      "input_image": {
        "name": "input_image"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Промпт для генерации изображения - укажите что и как редактировать."
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Выполнять ли апсемплинг промпта. Если активно, автоматически модифицирует промпт для более креативной генерации, но результаты недетерминированы (тот же сид не даст точно такого же результата)."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное начальное значение, используемое для создания шума."
      },
      "steps": {
        "name": "steps",
        "tooltip": "Количество шагов для процесса генерации изображения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProExpandNode": {
    "description": "Дорисовывает изображение на основе запроса.",
    "display_name": "Flux.1 Расширить изображение",
    "inputs": {
      "bottom": {
        "name": "низ",
        "tooltip": "Количество пикселей для расширения снизу изображения"
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "guidance": {
        "name": "направление",
        "tooltip": "Сила направляющего сигнала для процесса генерации изображения"
      },
      "image": {
        "name": "изображение"
      },
      "left": {
        "name": "слева",
        "tooltip": "Количество пикселей для расширения слева изображения"
      },
      "prompt": {
        "name": "запрос",
        "tooltip": "Запрос для генерации изображения"
      },
      "prompt_upsampling": {
        "name": "апсемплинг запроса",
        "tooltip": "Выполнять ли апсемплинг запроса. Если включено, запрос автоматически модифицируется для более креативной генерации, но результаты будут недетерминированными (одинаковое зерно не даст точно такой же результат)."
      },
      "right": {
        "name": "справа",
        "tooltip": "Количество пикселей для расширения справа изображения"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно, используемое для создания шума."
      },
      "steps": {
        "name": "шаги",
        "tooltip": "Количество шагов для процесса генерации изображения"
      },
      "top": {
        "name": "верх",
        "tooltip": "Количество пикселей для расширения сверху изображения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProFillNode": {
    "description": "Дорисовывает изображение на основе mask и prompt.",
    "display_name": "Flux.1 Заполнение изображения",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "guidance": {
        "name": "направление",
        "tooltip": "Сила направляющего сигнала для процесса генерации изображения"
      },
      "image": {
        "name": "image"
      },
      "mask": {
        "name": "mask"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Промпт для генерации изображения"
      },
      "prompt_upsampling": {
        "name": "повышение разрешения промпта",
        "tooltip": "Выполнять ли повышение разрешения промпта. Если активно, автоматически изменяет промпт для более креативной генерации, но результаты будут недетерминированными (одинаковое значение seed не даст точно такой же результат)."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное значение seed, используемое для создания шума."
      },
      "steps": {
        "name": "шаги",
        "tooltip": "Количество шагов для процесса генерации изображения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProUltraImageNode": {
    "description": "Генерирует изображения с помощью Flux Pro 1.1 Ultra через API на основе запроса и разрешения.",
    "display_name": "Flux 1.1 [pro] Ultra Image",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон изображения; должно быть между 1:4 и 4:1."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image_prompt": {
        "name": "image_prompt"
      },
      "image_prompt_strength": {
        "name": "image_prompt_strength",
        "tooltip": "Смешивание между текстовым запросом и image prompt."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Запрос для генерации изображения"
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Выполнять ли апсемплинг запроса. Если включено, автоматически изменяет запрос для более креативной генерации, но результаты будут недетерминированными (одинаковое зерно не даст точно такой же результат)."
      },
      "raw": {
        "name": "raw",
        "tooltip": "Если True, генерирует менее обработанные, более естественные изображения."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно, используемое для создания шума."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxVTONode": {
    "description": "Виртуальная примерка: одевает человека в предоставленную одежду.",
    "display_name": "Flux Виртуальная примерка",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "garment": {
        "name": "garment",
        "tooltip": "Изображение одежды для примерки."
      },
      "person": {
        "name": "person",
        "tooltip": "Изображение человека, которого нужно одеть."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Необязательная инструкция на естественном языке (например, как должна сидеть одежда)."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно для генерации шума."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FrameInterpolate": {
    "display_name": "Интерполяция кадров",
    "inputs": {
      "images": {
        "name": "изображения"
      },
      "interp_model": {
        "name": "модель интерполяции"
      },
      "multiplier": {
        "name": "множитель"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FrameInterpolationModelLoader": {
    "display_name": "Загрузка модели интерполяции кадров",
    "inputs": {
      "model_name": {
        "name": "название модели",
        "tooltip": "Выберите модель интерполяции кадров для загрузки. Модели должны быть размещены в папке 'frame_interpolation'."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FreSca": {
    "description": "Применяет масштабирование, зависящее от частоты, к управлению",
    "display_name": "FreSca",
    "inputs": {
      "freq_cutoff": {
        "name": "freq_cutoff",
        "tooltip": "Количество частотных индексов вокруг центра, считающихся низкочастотными"
      },
      "model": {
        "name": "model"
      },
      "scale_high": {
        "name": "scale_high",
        "tooltip": "Масштабный коэффициент для высокочастотных компонентов"
      },
      "scale_low": {
        "name": "scale_low",
        "tooltip": "Масштабный коэффициент для низкочастотных компонентов"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FreeU": {
    "display_name": "FreeU",
    "inputs": {
      "b1": {
        "name": "b1"
      },
      "b2": {
        "name": "b2"
      },
      "model": {
        "name": "модель"
      },
      "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": "модель"
      },
      "s1": {
        "name": "s1"
      },
      "s2": {
        "name": "s2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GITSScheduler": {
    "display_name": "GITSScheduler",
    "inputs": {
      "coeff": {
        "name": "коэфф"
      },
      "denoise": {
        "name": "шумоподавление"
      },
      "steps": {
        "name": "шаги"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GLIGENLoader": {
    "display_name": "Загрузчик GLIGEN",
    "inputs": {
      "gligen_name": {
        "name": "название_gligen"
      }
    }
  },
  "GLIGENTextBoxApply": {
    "display_name": "Применить текстовое поле GLIGEN",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "conditioning_to": {
        "name": "условие_для"
      },
      "gligen_textbox_model": {
        "name": "модель_текстового_поля_gligen"
      },
      "height": {
        "name": "высота"
      },
      "text": {
        "name": "текст"
      },
      "width": {
        "name": "ширина"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "GLSLShader": {
    "description": "Применяет фрагментные шейдеры GLSL ES к изображениям. u_resolution (vec2) всегда доступен.",
    "display_name": "GLSL Shader",
    "inputs": {
      "bools": {
        "name": "булевы",
        "tooltip": "Булевы значения доступны как u_bool0-9 (bool) в коде шейдера"
      },
      "curves": {
        "name": "кривые",
        "tooltip": "Кривые доступны как u_curve0-3 (sampler2D, 1D LUT) в коде шейдера. Используйте sample с texture(u_curve0, vec2(x, 0.5)).r"
      },
      "floats": {
        "name": "floats",
        "tooltip": "Числа с плавающей точкой доступны как u_float0-4 в коде шейдера"
      },
      "fragment_shader": {
        "name": "fragment_shader",
        "tooltip": "Исходный код фрагментного шейдера GLSL (совместим с GLSL ES 3.00 / WebGL 2.0)"
      },
      "images": {
        "name": "images",
        "tooltip": "Изображения доступны как u_image0-4 (sampler2D) в коде шейдера"
      },
      "ints": {
        "name": "ints",
        "tooltip": "Целые числа доступны как u_int0-4 в коде шейдера"
      },
      "size_mode": {
        "name": "size_mode",
        "tooltip": "Размер вывода: 'from_input' использует размеры первого входного изображения, 'custom' позволяет задать размер вручную"
      }
    },
    "outputs": {
      "0": {
        "name": "IMAGE0",
        "tooltip": "Доступно через layout(location = 0) out vec4 fragColor0 в коде шейдера"
      },
      "1": {
        "name": "IMAGE1",
        "tooltip": "Доступно через layout(location = 1) out vec4 fragColor1 в коде шейдера"
      },
      "2": {
        "name": "IMAGE2",
        "tooltip": "Доступно через layout(location = 2) out vec4 fragColor2 в коде шейдера"
      },
      "3": {
        "name": "IMAGE3",
        "tooltip": "Доступно через layout(location = 3) out vec4 fragColor3 в коде шейдера"
      }
    }
  },
  "GeminiImage2Node": {
    "description": "Генерируйте или редактируйте изображения синхронно через Google Vertex API.",
    "display_name": "Nano Banana Pro (Google Gemini Image)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Если установлено значение 'auto', используется соотношение сторон вашего входного изображения; если изображение не предоставлено, обычно генерируется квадрат 16:9."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "Необязательные файлы для использования в качестве контекста для модели. Принимает входные данные от узла Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Необязательное(ые) референсное(ые) изображение(я). Для добавления нескольких изображений используйте узел Batch Images (до 14)."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос, описывающий изображение для генерации или редактирования. Укажите любые ограничения, стили или детали, которым должна следовать модель."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Целевое разрешение вывода. Для 2K/4K используется собственный Gemini upscaler."
      },
      "response_modalities": {
        "name": "response_modalities",
        "tooltip": "Выберите 'IMAGE' для вывода только изображения или 'IMAGE+TEXT', чтобы получить как сгенерированное изображение, так и текстовый ответ."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Когда seed зафиксирован на определённом значении, модель старается выдавать одинаковый ответ при повторных запросах. Детерминированный результат не гарантируется. Также изменение модели или параметров, таких как температура, может привести к различиям в ответе даже при одинаковом seed. По умолчанию используется случайное значение seed."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Базовые инструкции, определяющие поведение ИИ."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GeminiImageNode": {
    "description": "Редактировать изображения синхронно через Google API.",
    "display_name": "Google Gemini Image",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "По умолчанию соответствует размеру выходного изображения размеру входного изображения, в противном случае генерирует квадраты 1:1."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "Опциональный файл(ы) для использования в качестве контекста для модели. Принимает входные данные из узла Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Опциональное изображение(я) для использования в качестве контекста для модели. Чтобы включить несколько изображений, можно использовать узел Batch Images."
      },
      "model": {
        "name": "model",
        "tooltip": "Модель Gemini для генерации ответов."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый промпт для генерации"
      },
      "response_modalities": {
        "name": "response_modalities",
        "tooltip": "Выберите 'IMAGE' для вывода только изображения или 'IMAGE+TEXT', чтобы получить как сгенерированное изображение, так и текстовый ответ."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Когда сид зафиксирован на определённом значении, модель прилагает все усилия, чтобы предоставить одинаковый ответ при повторных запросах. Детерминированный вывод не гарантируется. Также изменение модели или параметров, таких как температура, может вызвать вариации в ответе даже при использовании того же значения сида. По умолчанию используется случайное значение сида."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Базовые инструкции, определяющие поведение ИИ."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GeminiInputFiles": {
    "description": "Загружает и подготавливает входные файлы для включения в качестве входных данных для узлов Gemini LLM. Файлы будут прочитаны моделью Gemini при генерации ответа. Содержимое текстового файла учитывается в лимите токенов. 🛈 СОВЕТ: Можно объединять в цепочку с другими узлами Gemini Input File.",
    "display_name": "Gemini Input Files",
    "inputs": {
      "GEMINI_INPUT_FILES": {
        "name": "GEMINI_INPUT_FILES",
        "tooltip": "Опциональный дополнительный файл(ы) для объединения в пакет с файлом, загруженным из этого узла. Позволяет объединять входные файлы в цепочку, чтобы одно сообщение могло включать несколько входных файлов."
      },
      "file": {
        "name": "file",
        "tooltip": "Входные файлы для включения в качестве контекста для модели. Пока принимаются только текстовые (.txt) и PDF (.pdf) файлы."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiNanoBanana2": {
    "description": "Генерируйте или редактируйте изображения синхронно через Google Vertex API.",
    "display_name": "Nano Banana 2",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Если установлено значение 'auto', используется соотношение сторон вашего входного изображения; если изображение не предоставлено, обычно генерируется квадрат 16:9."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "Необязательные файлы для использования в качестве контекста для модели. Принимает входные данные из узла Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Необязательное изображение(я) для ссылки. Чтобы добавить несколько изображений, используйте узел Batch Images (до 14)."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос, описывающий изображение для генерации или редактирования. Укажите любые ограничения, стили или детали, которым должна следовать модель."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Целевое разрешение вывода. Для 2K/4K используется собственный Gemini upscaler."
      },
      "response_modalities": {
        "name": "response_modalities"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Когда seed фиксирован на определённом значении, модель старается выдавать одинаковый результат при повторных запросах. Детерминированный результат не гарантируется. Также изменение модели или параметров, например, температуры, может привести к различиям в ответе даже при одинаковом seed. По умолчанию используется случайное значение seed."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Базовые инструкции, определяющие поведение ИИ."
      },
      "thinking_level": {
        "name": "thinking_level"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "thought_image",
        "tooltip": "Первое изображение из процесса мышления модели. Доступно только при уровне мышления HIGH и модальности IMAGE+TEXT."
      }
    }
  },
  "GeminiNanoBanana2V2": {
    "description": "Генерируйте или редактируйте изображения синхронно через Google Vertex API.",
    "display_name": "Nano Banana 2",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "model_thinking_level": {
        "name": "thinking_level"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос, описывающий изображение для генерации или редактирования. Укажите любые ограничения, стили или детали, которым должна следовать модель."
      },
      "response_modalities": {
        "name": "response_modalities"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Когда seed фиксирован на определённом значении, модель старается выдавать одинаковый результат при повторных запросах. Детерминированный результат не гарантируется. Также изменение модели или параметров, таких как temperature, может привести к различиям в ответе даже при одинаковом seed. По умолчанию используется случайное значение seed."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Базовые инструкции, определяющие поведение ИИ."
      },
      "temperature": {
        "name": "temperature",
        "tooltip": "Управляет случайностью генерации. Меньшее значение — более сфокусировано/детерминировано."
      },
      "top_p": {
        "name": "top_p",
        "tooltip": "Порог ядерной выборки. Меньше — более сфокусировано, больше — более разнообразно."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "thought_image",
        "tooltip": "Первое изображение из процесса мышления модели. Доступно только при thinking_level HIGH и модальности IMAGE+TEXT."
      }
    }
  },
  "GeminiNode": {
    "description": "Генерируйте текстовые ответы с помощью модели ИИ Google Gemini. Вы можете предоставить несколько типов входных данных (текст, изображения, аудио, видео) в качестве контекста для генерации более релевантных и осмысленных ответов.",
    "display_name": "Google Gemini",
    "inputs": {
      "audio": {
        "name": "аудио",
        "tooltip": "Необязательное аудио для использования в качестве контекста для модели."
      },
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "files": {
        "name": "файлы",
        "tooltip": "Необязательные файлы для использования в качестве контекста для модели. Принимает входные данные из узла Gemini Generate Content Input Files."
      },
      "images": {
        "name": "изображения",
        "tooltip": "Необязательные изображения для использования в качестве контекста для модели. Чтобы включить несколько изображений, можно использовать узел Batch Images."
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель Gemini для генерации ответов."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовые входные данные для модели, используемые для генерации ответа. Вы можете включить подробные инструкции, вопросы или контекст для модели."
      },
      "seed": {
        "name": "сид",
        "tooltip": "Когда сид зафиксирован на определённом значении, модель прилагает все усилия, чтобы предоставить одинаковый ответ для повторных запросов. Детерминированный вывод не гарантируется. Также изменение модели или параметров, таких как температура, может вызвать вариации в ответе даже при использовании того же значения сида. По умолчанию используется случайное значение сида."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Базовые инструкции, определяющие поведение ИИ."
      },
      "video": {
        "name": "видео",
        "tooltip": "Необязательное видео для использования в качестве контекста для модели."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiNodeV2": {
    "description": "Генерируйте текстовые ответы с помощью моделей Gemini от Google. Введите текстовый запрос и, при необходимости, одно или несколько изображений, аудиоклипов, видео или файлов в качестве мультимодального контекста.",
    "display_name": "Google Gemini",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель Gemini, используемая для генерации ответа."
      },
      "model_max_output_tokens": {
        "name": "максимум токенов вывода"
      },
      "model_temperature": {
        "name": "temperature"
      },
      "model_thinking_level": {
        "name": "уровень мышления"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "prompt": {
        "name": "запрос",
        "tooltip": "Текстовый ввод для модели. Включите подробные инструкции, вопросы или контекст."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для сэмплирования. Установите 0 для случайного seed. Детерминированный вывод не гарантируется."
      },
      "system_prompt": {
        "name": "системный запрос",
        "tooltip": "Базовые инструкции, определяющие поведение модели."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiVideoOmni": {
    "description": "Генерируйте видео со звуком по текстовому промпту с помощью модели Google Gemini Omni Flash. Дополнительно можно добавить референсные изображения и/или видео для направления или редактирования результата. Опишите желаемую длительность (3-10 сек) и соотношение сторон (16:9 или 9:16) прямо в промпте.",
    "display_name": "Google Gemini Omni (Video)",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель Gemini video, используемая для генерации видео."
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_temperature": {
        "name": "temperature"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, будет ли узел перезапущен; результат всегда недетерминированный независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GenerateTracks": {
    "display_name": "GenerateTracks",
    "inputs": {
      "bezier": {
        "name": "bezier",
        "tooltip": "Включить путь по кривой Безье, используя среднюю точку как управляющую."
      },
      "end_x": {
        "name": "end_x",
        "tooltip": "Нормализованная X-координата (0-1) для конечной позиции."
      },
      "end_y": {
        "name": "end_y",
        "tooltip": "Нормализованная Y-координата (0-1) для конечной позиции."
      },
      "height": {
        "name": "height"
      },
      "interpolation": {
        "name": "interpolation",
        "tooltip": "Управляет таймингом/скоростью движения вдоль пути."
      },
      "mid_x": {
        "name": "mid_x",
        "tooltip": "Нормализованная X-координата управляющей точки для кривой Безье. Используется только при включённом 'bezier'."
      },
      "mid_y": {
        "name": "mid_y",
        "tooltip": "Нормализованная Y-координата управляющей точки для кривой Безье. Используется только при включённом 'bezier'."
      },
      "num_frames": {
        "name": "num_frames"
      },
      "num_tracks": {
        "name": "num_tracks"
      },
      "start_x": {
        "name": "start_x",
        "tooltip": "Нормализованная X-координата (0-1) для начальной позиции."
      },
      "start_y": {
        "name": "start_y",
        "tooltip": "Нормализованная Y-координата (0-1) для начальной позиции."
      },
      "track_mask": {
        "name": "track_mask",
        "tooltip": "Необязательная маска для указания видимых кадров."
      },
      "track_spread": {
        "name": "track_spread",
        "tooltip": "Нормализованное расстояние между треками. Треки распределяются перпендикулярно направлению движения."
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "track_length",
        "tooltip": null
      }
    }
  },
  "GetICLoRAParameters": {
    "description": "Извлекает параметры IC-LoRA из метаданных safetensors модели, загруженной через LoRA, и выводит их для LTXVAddGuide (например, reference_downscale_factor).",
    "display_name": "Получить параметры IC-LoRA",
    "inputs": {
      "iclora_model": {
        "name": "iclora_model",
        "tooltip": "Прямой вывод из LoRA Loader для конкретной IC-LoRA, из которой нужно извлечь метаданные."
      }
    },
    "outputs": {
      "0": {
        "name": "iclora_parameters",
        "tooltip": "Параметры IC-LoRA, извлечённые из метаданных LoRA (например, reference_downscale_factor). Подключите к LTXVAddGuide, если для LoRA требуется специальная обработка направляющих."
      }
    }
  },
  "GetImageSize": {
    "description": "Возвращает ширину и высоту изображения и передаёт его без изменений.",
    "display_name": "Получить размер изображения",
    "inputs": {
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "name": "width",
        "tooltip": null
      },
      "1": {
        "name": "height",
        "tooltip": null
      },
      "2": {
        "name": "batch_size",
        "tooltip": null
      }
    }
  },
  "GetSplatCount": {
    "description": "Возвращает количество сплатов, суммированных по всему батчу.",
    "display_name": "Получить количество сплатов",
    "inputs": {
      "splat": {
        "name": "splat"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      },
      "1": {
        "name": "count",
        "tooltip": null
      }
    }
  },
  "GetVideoComponents": {
    "description": "Извлекает все компоненты из видео: кадры, аудио и частоту кадров.",
    "display_name": "Извлечь компоненты видео",
    "inputs": {
      "video": {
        "name": "видео",
        "tooltip": "Видео, из которого нужно извлечь компоненты."
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": null
      },
      "1": {
        "name": "аудио",
        "tooltip": null
      },
      "2": {
        "name": "fps",
        "tooltip": null
      },
      "3": {
        "name": "bit_depth",
        "tooltip": null
      }
    }
  },
  "GrokImageEditNode": {
    "description": "Изменить существующее изображение на основе текстового запроса",
    "display_name": "Grok Image Edit",
    "inputs": {
      "aspect_ratio": {
        "name": "соотношение сторон",
        "tooltip": "Разрешено только при подключении нескольких изображений к входу изображения."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "number_of_images": {
        "name": "number_of_images",
        "tooltip": "Количество редактируемых изображений для генерации"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос, используемый для генерации изображения"
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokImageEditNodeV2": {
    "description": "Изменение существующего изображения на основе текстового запроса",
    "display_name": "Grok Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_number_of_images": {
        "name": "number_of_images"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос, используемый для генерации изображения"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты не детерминированы независимо от сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokImageNode": {
    "description": "Генерировать изображения с помощью Grok на основе текстового запроса",
    "display_name": "Grok Image",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "number_of_images": {
        "name": "number_of_images",
        "tooltip": "Количество изображений для генерации"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос, используемый для генерации изображения"
      },
      "resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoEditNode": {
    "description": "Редактировать существующее видео на основе текстового запроса.",
    "display_name": "Grok Video Edit",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание желаемого видео."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от сида."
      },
      "video": {
        "name": "video",
        "tooltip": "Максимальная поддерживаемая длительность — 8,7 секунд и размер файла 50 МБ."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoExtendNode": {
    "description": "Расширьте существующее видео с плавным продолжением на основе текстового запроса.",
    "display_name": "Grok Video Extend",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель, используемая для расширения видео."
      },
      "model_duration": {
        "name": "длительность"
      },
      "prompt": {
        "name": "запрос",
        "tooltip": "Текстовое описание того, что должно произойти дальше в видео."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от seed."
      },
      "video": {
        "name": "видео",
        "tooltip": "Исходное видео для расширения. Формат MP4, 2-15 секунд."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoNode": {
    "description": "Генерировать видео по запросу или изображению",
    "display_name": "Grok Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон выходного видео."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Длительность выходного видео в секундах."
      },
      "image": {
        "name": "image",
        "tooltip": "Необязательное начальное изображение для grok-imagine-video. Обязательно для grok-imagine-video-1.5."
      },
      "model": {
        "name": "model",
        "tooltip": "grok-imagine-video-1.5 в настоящее время всегда требует входное изображение."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание желаемого видео."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Разрешение выходного видео."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoReferenceNode": {
    "description": "Генерируйте видео, используя референсные изображения в качестве стиля и содержания.",
    "display_name": "Grok Reference-to-Video",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель, используемая для генерации видео."
      },
      "model_aspect_ratio": {
        "name": "соотношение сторон"
      },
      "model_duration": {
        "name": "длительность"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "model_voice_1": {
        "name": "voice_1"
      },
      "model_voice_2": {
        "name": "voice_2"
      },
      "model_voice_3": {
        "name": "voice_3"
      },
      "prompt": {
        "name": "запрос",
        "tooltip": "Текстовое описание желаемого видео."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrowMask": {
    "display_name": "Увеличить маску",
    "inputs": {
      "expand": {
        "name": "расширить"
      },
      "mask": {
        "name": "маска"
      },
      "tapered_corners": {
        "name": "заостренные_углы"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseImageToVideoApi": {
    "description": "Создайте видео из изображения первого кадра с помощью модели HappyHorse.",
    "display_name": "HappyHorse: изображение в видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Изображение первого кадра. Соотношение сторон результата определяется этим изображением."
      },
      "model": {
        "name": "model"
      },
      "model_duration": {
        "name": "длительность"
      },
      "model_prompt": {
        "name": "промпт"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Зерно для генерации."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли AI-водяной знак к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseReferenceVideoApi": {
    "description": "Создайте видео с человеком или объектом по референсным материалам с помощью модели HappyHorse. Поддерживаются одиночные персонажи и взаимодействие нескольких персонажей.",
    "display_name": "HappyHorse: референс в видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model": {
        "name": "model"
      },
      "model_duration": {
        "name": "длительность"
      },
      "model_prompt": {
        "name": "промпт"
      },
      "model_ratio": {
        "name": "соотношение"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Зерно для генерации."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли AI-водяной знак к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseTextToVideoApi": {
    "description": "Создаёт видео по текстовому промпту с помощью модели HappyHorse.",
    "display_name": "HappyHorse: текст в видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model": {
        "name": "model"
      },
      "model_duration": {
        "name": "длительность"
      },
      "model_prompt": {
        "name": "промпт"
      },
      "model_ratio": {
        "name": "соотношение"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Зерно для генерации."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли AI-водяной знак к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseVideoEditApi": {
    "description": "Редактируйте видео с помощью текстовых инструкций или референсных изображений в модели HappyHorse. Длительность результата — 3-15 секунд и соответствует входному видео; входные видео длиннее 15 секунд будут обрезаны.",
    "display_name": "HappyHorse: редактирование видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model": {
        "name": "model"
      },
      "model_prompt": {
        "name": "промпт"
      },
      "model_ratio": {
        "name": "соотношение"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Зерно для генерации."
      },
      "video": {
        "name": "video",
        "tooltip": "Видео для редактирования."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли AI-водяной знак к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenAvatarVideoNode": {
    "description": "Создайте видео с говорящим ведущим на основе аватара HeyGen. Включает самые популярные публичные аватары HeyGen; можно указать любой look ID для замены.",
    "display_name": "HeyGen Аватар Видео",
    "inputs": {
      "aspect_ratio": {
        "name": "соотношение сторон",
        "tooltip": "Соотношение сторон выходного видео. 'auto' соответствует исходному видео аватара."
      },
      "background_color": {
        "name": "цвет фона",
        "tooltip": "Необязательный сплошной цвет фона в hex-коде (например, '#00ff00'). Оставьте пустым для фонового изображения аватара."
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "custom_avatar_id": {
        "name": "custom_avatar_id",
        "tooltip": "Необязательный look ID аватара HeyGen. При указании заменяет выбранного выше аватара. Можно использовать любой из 3000+ публичных образов HeyGen (или ваши приватные аватары)."
      },
      "engine": {
        "name": "движок",
        "tooltip": "Рендеринг-движок; для каждого варианта отображаются только поддерживаемые аватары. 'auto' предлагает все аватары и выбирает лучший движок (предпочтительно Avatar IV). Avatar V — наивысшее качество, Avatar III — самый доступный."
      },
      "engine_avatar": {
        "name": "аватар"
      },
      "resolution": {
        "name": "разрешение",
        "tooltip": "Разрешение выходного видео."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Не отправляется в HeyGen; измените для принудительного повторного запуска."
      },
      "speech": {
        "name": "речь",
        "tooltip": "Управляйте аватаром с помощью текстового сценария (HeyGen text-to-speech) или собственного аудио."
      },
      "speech_custom_voice_id": {
        "name": "custom_voice_id"
      },
      "speech_text": {
        "name": "текст"
      },
      "speech_voice": {
        "name": "голос"
      },
      "speech_voice_speed": {
        "name": "скорость голоса"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenCreateAvatarNode": {
    "description": "Создайте собственного аватара HeyGen из фотографии человека или текстового запроса (сгенерированный персонаж). Передайте полученный avatar_id в custom_avatar_id узла HeyGen Avatar Video — и сохраните ID для повторного использования аватара в будущих рабочих процессах.",
    "display_name": "HeyGen Создать Аватар",
    "inputs": {
      "source": {
        "name": "источник",
        "tooltip": "Создайте нового персонажа по текстовому запросу или создайте аватара из подключённой фотографии человека."
      },
      "source_prompt": {
        "name": "промпт"
      }
    },
    "outputs": {
      "0": {
        "name": "avatar_id",
        "tooltip": "Look ID аватара. Передайте его в custom_avatar_id HeyGen Avatar Video; сохраните для повторного использования аватара."
      },
      "1": {
        "name": "превью",
        "tooltip": null
      }
    }
  },
  "HeyGenTalkingPhotoNode": {
    "description": "Анимируйте любое изображение человека в синхронизированное с губами говорящee видео (HeyGen Avatar IV). Управляйте им с помощью текстового сценария или собственного аудио.",
    "display_name": "HeyGen Talking Photo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон выходного видео. 'auto' соответствует входному изображению."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "expressiveness": {
        "name": "expressiveness",
        "tooltip": "Насколько выразительны анимированные лицо и жесты."
      },
      "image": {
        "name": "image",
        "tooltip": "Изображение человека для анимации. Автоматически уменьшается, если больше 2K."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Разрешение выходного видео."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Не отправляется в HeyGen; измените для принудительного повторного запуска."
      },
      "speech": {
        "name": "speech",
        "tooltip": "Управляйте аватаром с помощью текстового сценария (HeyGen text-to-speech) или собственного аудио."
      },
      "speech_custom_voice_id": {
        "name": "custom_voice_id"
      },
      "speech_text": {
        "name": "text"
      },
      "speech_voice": {
        "name": "voice"
      },
      "speech_voice_speed": {
        "name": "voice_speed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenTextToSpeechNode": {
    "description": "Генерируйте аудио речи из текста с помощью движка HeyGen Starfish TTS. Включает самые популярные голоса HeyGen на 17 языках.",
    "display_name": "HeyGen Text to Speech",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "custom_voice_id": {
        "name": "custom_voice_id",
        "tooltip": "Необязательный ID голоса HeyGen. При указании переопределяет выбранный выше голос. Голос должен поддерживать движок Starfish."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Не отправляется в HeyGen; измените для принудительного повторного запуска."
      },
      "speed": {
        "name": "speed",
        "tooltip": "Множитель скорости речи."
      },
      "ssml": {
        "name": "ssml",
        "tooltip": "Обрабатывать текст как SSML-разметку (для пауз, акцентов и управления произношением)."
      },
      "text": {
        "name": "text",
        "tooltip": "Текст для синтеза (до 5000 символов). Сгенерированная речь должна быть не менее 1 секунды."
      },
      "voice": {
        "name": "voice",
        "tooltip": "Голос для использования (отобран из самых популярных голосов, совместимых с HeyGen Starfish)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenVideoTranslateNode": {
    "description": "Переводит видео с речью на другой язык. Клонирует голос оригинального говорящего и повторно анимирует рот в соответствии с переведённой речью.",
    "display_name": "HeyGen Перевод Видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "mode": {
        "name": "режим",
        "tooltip": "'speed' — быстрее; 'precision' обеспечивает более качественную синхронизацию губ, но в два раза дороже."
      },
      "output_language": {
        "name": "язык_перевода",
        "tooltip": "Целевой язык для переведённого видео."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Не отправляется в HeyGen; измените для принудительного повторного запуска."
      },
      "speaker_count": {
        "name": "количество_говорящих",
        "tooltip": "Количество говорящих в видео. 0 = определить автоматически."
      },
      "translate_audio_only": {
        "name": "только_аудио",
        "tooltip": "Заменить только аудиодорожку, сохраняя оригинальные движения рта (без синхронизации губ)."
      },
      "video": {
        "name": "видео",
        "tooltip": "Видео с речью для перевода."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HiDreamO1PatchSeamSmoothing": {
    "description": "Усредняет выход модели по нескольким смещённым позициям сетки патчей на поздних этапах сэмплирования. Устраняет швы.",
    "display_name": "Сглаживание швов патчей HiDream-O1",
    "inputs": {
      "blend": {
        "name": "смешивание",
        "tooltip": "average: среднее арифметическое. window: взвешивание по окну Ханна, отдавая предпочтение проходам вдали от границ патчей. median: медиана по каждому пикселю, отбрасывает выбросы на границах."
      },
      "end_percent": {
        "name": "конечный_процент",
        "tooltip": "Прогресс сэмплирования, при котором смешивание выключается."
      },
      "model": {
        "name": "модель"
      },
      "passes": {
        "name": "проходы",
        "tooltip": "Количество проходов на каждом этапе. 2/4 = фиксировано. ramp_*: количество проходов увеличивается к концу сэмплирования (больше сглаживания там, где швы заметнее)."
      },
      "pattern": {
        "name": "шаблон",
        "tooltip": "Схема смещения. single_shift: один проход по естественной сетке патчей + другие со смещением. symmetric: все проходы вне сетки, смещения симметричны относительно центра."
      },
      "start_percent": {
        "name": "начальный_процент",
        "tooltip": "Прогресс сэмплирования (0=начало, 1=конец), при котором включается смешивание."
      },
      "strength": {
        "name": "интенсивность",
        "tooltip": "Интерполяция между предсказанием по естественной сетке (0) и усреднённым результатом (1)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HiDreamO1ReferenceImages": {
    "description": "Прикрепите 1-10 референсных изображений для кондиционирования: одно для редактирования по инструкции или несколько для персонализации по объекту.",
    "display_name": "Референсные изображения HiDream-O1",
    "inputs": {
      "images": {
        "name": "изображения",
        "tooltip": "Референсные изображения. 1 изображение = редактирование по инструкции; 2-10 изображений = мульти-референс."
      },
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      }
    }
  },
  "HitPawGeneralImageEnhance": {
    "description": "Увеличение разрешения низкокачественных изображений до сверхвысокого, устранение артефактов и шума. Максимальный выход: 32 мегапикселя.",
    "display_name": "HitPaw General Image Enhance",
    "inputs": {
      "auto_downscale": {
        "name": "авто_понижение_разрешения",
        "tooltip": "Автоматически понижать разрешение входного изображения, если выход превышает лимит."
      },
      "image": {
        "name": "изображение"
      },
      "model": {
        "name": "модель"
      },
      "upscale_factor": {
        "name": "коэффициент_масштабирования"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HitPawVideoEnhance": {
    "description": "Увеличение разрешения низкокачественных видео до высокого, устранение артефактов и шума. Цена указана за секунду видео.",
    "display_name": "HitPaw Video Enhance",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "video": {
        "name": "видео"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Hunyuan3Dv2Conditioning": {
    "display_name": "Hunyuan3Dv2Conditioning",
    "inputs": {
      "clip_vision_output": {
        "name": "выход_clip_vision"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      }
    }
  },
  "Hunyuan3Dv2ConditioningMultiView": {
    "display_name": "Hunyuan3Dv2ConditioningMultiView",
    "inputs": {
      "back": {
        "name": "сзади"
      },
      "front": {
        "name": "фронт"
      },
      "left": {
        "name": "слева"
      },
      "right": {
        "name": "справа"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      }
    }
  },
  "HunyuanImageToVideo": {
    "display_name": "HunyuanImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "размер пакета"
      },
      "guidance_type": {
        "name": "тип руководства"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "positive": {
        "name": "положительный"
      },
      "start_image": {
        "name": "начальное изображение"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "скрытое пространство",
        "tooltip": null
      }
    }
  },
  "HunyuanRefinerLatent": {
    "display_name": "HunyuanRefinerLatent",
    "inputs": {
      "latent": {
        "name": "латент"
      },
      "negative": {
        "name": "негатив"
      },
      "noise_augmentation": {
        "name": "шумовое_усиление"
      },
      "positive": {
        "name": "позитив"
      }
    },
    "outputs": {
      "0": {
        "name": "позитив",
        "tooltip": null
      },
      "1": {
        "name": "негатив",
        "tooltip": null
      },
      "2": {
        "name": "латент",
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15ImageToVideo": {
    "display_name": "HunyuanVideo15ImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "start_image": {
        "name": "start_image"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15LatentUpscaleWithModel": {
    "display_name": "Hunyuan Video 15 Latent Upscale With Model",
    "inputs": {
      "crop": {
        "name": "crop"
      },
      "height": {
        "name": "height"
      },
      "model": {
        "name": "model"
      },
      "samples": {
        "name": "samples"
      },
      "upscale_method": {
        "name": "upscale_method"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15SuperResolution": {
    "display_name": "HunyuanVideo15SuperResolution",
    "inputs": {
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "latent": {
        "name": "латентный"
      },
      "negative": {
        "name": "отрицательный"
      },
      "noise_augmentation": {
        "name": "добавление шума"
      },
      "positive": {
        "name": "положительный"
      },
      "start_image": {
        "name": "начальное изображение"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": null
      }
    }
  },
  "HyperTile": {
    "display_name": "Гиперплитка",
    "inputs": {
      "max_depth": {
        "name": "максимальная_глубина"
      },
      "model": {
        "name": "модель"
      },
      "scale_depth": {
        "name": "масштаб_глубины"
      },
      "swap_size": {
        "name": "размер_замены"
      },
      "tile_size": {
        "name": "размер_плитки"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HypernetworkLoader": {
    "display_name": "Загрузчик hypernetwork",
    "inputs": {
      "hypernetwork_name": {
        "name": "название_hypernetwork"
      },
      "model": {
        "name": "модель"
      },
      "strength": {
        "name": "сила"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Ideogram4Scheduler": {
    "display_name": "Планировщик Ideogram 4",
    "inputs": {
      "height": {
        "name": "высота"
      },
      "mu": {
        "name": "mu"
      },
      "std": {
        "name": "std"
      },
      "steps": {
        "name": "шаги"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "IdeogramPImage": {
    "description": "Генерирует изображения с помощью P-Image, быстрого текст-в-изображение модели от Ideogram. Сильная типографика и фотореализм; поддерживает структурированные JSON-подписи Ideogram 4.0 для точного текста, цветов и макета.",
    "display_name": "Ideogram P-Image",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон для генерации изображения."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос. Также принимает структурированную JSON-подпись Ideogram 4.0 (точные цвета в формате #RRGGBB, точные текстовые строки, макет с ограничивающими рамками) — установите prompt_upsampling в OFF, чтобы использовать дословно."
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Расширяет короткие запросы в подробную структурированную подпись перед генерацией (переписанный запрос возвращается как final_prompt). Установите OFF при использовании собственного JSON или точной формулировки."
      },
      "quality": {
        "name": "quality",
        "tooltip": "Уровень скорости/цены/качества. MEDIUM — стандарт по умолчанию; HIGH — для сложных запросов, мелких деталей и трудного текста; VERY_LOW/LOW — для черновиков в большом объёме. Сложный текст плохо отображается ниже MEDIUM."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Класс размера вывода (точные пиксели соответствуют соотношению сторон, например, 16:9 даёт 1280x720 при 1K и 2560x1440 при 2K). Рекомендуется HIGH + 2K для чёткой типографики."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для воспроизводимой генерации. При prompt_upsampling OFF одинаковый сид и настройки возвращают то же изображение; при ON/AUTO переписанный запрос меняется при каждом запуске — воспроизведите результат, повторно используя его final_prompt с prompt_upsampling OFF и тем же сидом."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "final_prompt",
        "tooltip": "Запрос, по которому фактически было сгенерировано изображение (переписанная структурированная подпись при работе prompt_upsampling, иначе ваш запрос). Используйте его с prompt_upsampling OFF и тем же сидом для воспроизведения этого изображения."
      }
    }
  },
  "IdeogramV3": {
    "description": "Генерирует изображения синхронно с использованием модели Ideogram V3.\n\nПоддерживает как обычную генерацию изображений по текстовым подсказкам, так и редактирование изображений с маской.\nСсылки на изображения доступны ограниченное время; если вы хотите сохранить изображение, его необходимо скачать.",
    "display_name": "Ideogram V3",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон для генерации изображения. Игнорируется, если разрешение не установлено в Авто."
      },
      "character_image": {
        "name": "изображение_персонажа",
        "tooltip": "Изображение для использования в качестве референса персонажа."
      },
      "character_mask": {
        "name": "маска_персонажа",
        "tooltip": "Необязательная маска для референсного изображения персонажа."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image",
        "tooltip": "Необязательное референсное изображение для редактирования."
      },
      "magic_prompt_option": {
        "name": "magic_prompt_option",
        "tooltip": "Определяет, использовать ли MagicPrompt при генерации"
      },
      "mask": {
        "name": "mask",
        "tooltip": "Необязательная маска для дорисовки (белые области будут заменены)"
      },
      "num_images": {
        "name": "num_images"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Подсказка для генерации или редактирования изображения"
      },
      "rendering_speed": {
        "name": "rendering_speed",
        "tooltip": "Управляет балансом между скоростью генерации и качеством"
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Разрешение для генерации изображения. Если не установлено в Авто, этот параметр переопределяет aspect_ratio."
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "IdeogramV4": {
    "description": "Генерирует изображения с помощью модели Ideogram 4.0 по текстовому запросу.",
    "display_name": "Ideogram V4",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "prompt": {
        "name": "запрос",
        "tooltip": "Текстовый запрос для генерации изображения."
      },
      "rendering_speed": {
        "name": "скорость_рендеринга",
        "tooltip": "Управляет балансом между скоростью генерации и качеством."
      },
      "resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageAddNoise": {
    "display_name": "ImageAddNoise",
    "inputs": {
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "image": {
        "name": "изображение"
      },
      "seed": {
        "name": "сид",
        "tooltip": "Случайный сид, используемый для создания шума."
      },
      "strength": {
        "name": "сила"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageBatch": {
    "display_name": "Партия изображений",
    "inputs": {
      "image1": {
        "name": "изображение1"
      },
      "image2": {
        "name": "изображение2"
      }
    }
  },
  "ImageBlend": {
    "display_name": "Смешивание изображений",
    "inputs": {
      "blend_factor": {
        "name": "фактор_смешивания"
      },
      "blend_mode": {
        "name": "режим_смешивания"
      },
      "image1": {
        "name": "изображение1"
      },
      "image2": {
        "name": "изображение2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageBlur": {
    "display_name": "Размытие изображения",
    "inputs": {
      "blur_radius": {
        "name": "радиус_размытия"
      },
      "image": {
        "name": "изображение"
      },
      "sigma": {
        "name": "сигма"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageColorToMask": {
    "display_name": "Цвет изображения в маску",
    "inputs": {
      "color": {
        "name": "цвет"
      },
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCompare": {
    "description": "Сравнивает два изображения бок о бок с помощью ползунка.",
    "display_name": "Сравнение изображений",
    "inputs": {
      "compare_view": {
        "name": "compare_view"
      },
      "image_a": {
        "name": "image_a"
      },
      "image_b": {
        "name": "image_b"
      }
    }
  },
  "ImageCompositeMasked": {
    "display_name": "Составное изображение с маской",
    "inputs": {
      "destination": {
        "name": "назначение"
      },
      "mask": {
        "name": "маска"
      },
      "resize_source": {
        "name": "изменить_размер_источника"
      },
      "source": {
        "name": "источник"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCrop": {
    "display_name": "Обрезка изображения",
    "inputs": {
      "height": {
        "name": "высота"
      },
      "image": {
        "name": "изображение"
      },
      "width": {
        "name": "ширина"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCropV2": {
    "description": "Обрезает изображение до указанных размеров.",
    "display_name": "Обрезка изображения",
    "inputs": {
      "crop_region": {
        "name": "область_обрезки"
      },
      "height": {},
      "image": {
        "name": "изображение"
      },
      "width": {},
      "x": {},
      "y": {}
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageDeduplication": {
    "description": "Удаляет дубликаты или очень похожие изображения из списка.",
    "display_name": "Удаление дубликатов изображений",
    "inputs": {
      "images": {
        "name": "изображения",
        "tooltip": "Список изображений для обработки."
      },
      "similarity_threshold": {
        "name": "порог сходства",
        "tooltip": "Порог сходства (0-1). Чем выше значение, тем больше сходство. Изображения выше этого порога считаются дубликатами."
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": "Обработанные изображения"
      }
    }
  },
  "ImageFlip": {
    "display_name": "Переворот изображения",
    "inputs": {
      "flip_method": {
        "name": "метод переворота"
      },
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageFromBatch": {
    "display_name": "Изображение из партии",
    "inputs": {
      "batch_index": {
        "name": "индекс_пакета"
      },
      "image": {
        "name": "изображение"
      },
      "length": {
        "name": "длина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageGrid": {
    "description": "Располагает несколько изображений в виде сетки.",
    "display_name": "Сетка изображений",
    "inputs": {
      "cell_height": {
        "name": "высота ячейки",
        "tooltip": "Высота каждой ячейки в сетке."
      },
      "cell_width": {
        "name": "ширина ячейки",
        "tooltip": "Ширина каждой ячейки в сетке."
      },
      "columns": {
        "name": "колонки",
        "tooltip": "Количество колонок в сетке."
      },
      "images": {
        "name": "изображения",
        "tooltip": "Список изображений для обработки."
      },
      "padding": {
        "name": "отступ",
        "tooltip": "Отступ между изображениями."
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": "Обработанные изображения"
      }
    }
  },
  "ImageHistogram": {
    "display_name": "Гистограмма изображения",
    "inputs": {
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "name": "rgb",
        "tooltip": null
      },
      "1": {
        "name": "яркость",
        "tooltip": null
      },
      "2": {
        "name": "красный",
        "tooltip": null
      },
      "3": {
        "name": "зелёный",
        "tooltip": null
      },
      "4": {
        "name": "синий",
        "tooltip": null
      }
    }
  },
  "ImageInvert": {
    "display_name": "Инвертировать изображение",
    "inputs": {
      "image": {
        "name": "изображение"
      }
    }
  },
  "ImageMergeTileList": {
    "display_name": "Объединить список тайлов в изображение",
    "inputs": {
      "final_height": {
        "name": "final_height"
      },
      "final_width": {
        "name": "final_width"
      },
      "image_list": {
        "name": "image_list"
      },
      "overlap": {
        "name": "overlap"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageOnlyCheckpointLoader": {
    "display_name": "Загрузчик checkpoint только для изображения (модель img2vid)",
    "inputs": {
      "ckpt_name": {
        "name": "название_ckpt"
      }
    }
  },
  "ImageOnlyCheckpointSave": {
    "display_name": "Сохранить только checkpoint изображения",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "filename_prefix": {
        "name": "префикс_названия_файла"
      },
      "model": {
        "name": "модель"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "ImagePadForOutpaint": {
    "display_name": "Добавить поля к изображению для выкрашивания",
    "inputs": {
      "bottom": {
        "name": "снизу"
      },
      "feathering": {
        "name": "смягчение"
      },
      "image": {
        "name": "изображение"
      },
      "left": {
        "name": "слева"
      },
      "right": {
        "name": "справа"
      },
      "top": {
        "name": "сверху"
      }
    }
  },
  "ImageQuantize": {
    "display_name": "Квантизация изображения",
    "inputs": {
      "colors": {
        "name": "цвета"
      },
      "dither": {
        "name": "дизеринг"
      },
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageRGBToYUV": {
    "display_name": "ImageRGBToYUV",
    "inputs": {
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "name": "Y",
        "tooltip": null
      },
      "1": {
        "name": "U",
        "tooltip": null
      },
      "2": {
        "name": "V",
        "tooltip": null
      }
    }
  },
  "ImageRotate": {
    "display_name": "Поворот изображения",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "rotation": {
        "name": "вращение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageScale": {
    "display_name": "Масштабировать изображение",
    "inputs": {
      "crop": {
        "name": "обрезка"
      },
      "height": {
        "name": "высота"
      },
      "image": {
        "name": "изображение"
      },
      "upscale_method": {
        "name": "метод_увеличения"
      },
      "width": {
        "name": "ширина"
      }
    }
  },
  "ImageScaleBy": {
    "display_name": "Масштабировать изображение на",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "scale_by": {
        "name": "увеличить_на"
      },
      "upscale_method": {
        "name": "метод_апскейла"
      }
    }
  },
  "ImageScaleToMaxDimension": {
    "display_name": "Масштабирование до максимального размера",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "largest_size": {
        "name": "максимальный размер"
      },
      "upscale_method": {
        "name": "метод увеличения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageScaleToTotalPixels": {
    "display_name": "Масштабировать изображение до общего количества пикселей",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "megapixels": {
        "name": "мегапиксели"
      },
      "resolution_steps": {
        "name": "шаги разрешения"
      },
      "upscale_method": {
        "name": "метод_апскейла"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageSharpen": {
    "display_name": "Резкость изображения",
    "inputs": {
      "alpha": {
        "name": "альфа"
      },
      "image": {
        "name": "изображение"
      },
      "sharpen_radius": {
        "name": "радиус_резкости"
      },
      "sigma": {
        "name": "сигма"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageStitch": {
    "description": "\nСшивает image2 с image1 в указанном направлении.\nЕсли image2 не предоставлено, возвращает image1 без изменений.\nМежду изображениями можно добавить отступ.\n",
    "display_name": "Сшивание изображений",
    "inputs": {
      "direction": {
        "name": "направление"
      },
      "image1": {
        "name": "изображение1"
      },
      "image2": {
        "name": "изображение2"
      },
      "match_image_size": {
        "name": "совпадение размера изображения"
      },
      "spacing_color": {
        "name": "цвет отступа"
      },
      "spacing_width": {
        "name": "ширина отступа"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageToMask": {
    "display_name": "Преобразовать изображение в маску",
    "inputs": {
      "channel": {
        "name": "канал"
      },
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageUpscaleWithModel": {
    "display_name": "Апскейл изображения (с использованием модели)",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "upscale_model": {
        "name": "модель_апскейла"
      }
    },
    "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": "Кондиционирование модели инпейнтинга",
    "inputs": {
      "mask": {
        "name": "маска"
      },
      "negative": {
        "name": "отрицательный"
      },
      "noise_mask": {
        "name": "шумовая_маска",
        "tooltip": "Добавьте маску шума к латентному изображению, чтобы выборка происходила только в пределах маски. Это может улучшить результаты или полностью испортить их в зависимости от модели."
      },
      "pixels": {
        "name": "пиксели"
      },
      "positive": {
        "name": "положительный"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный"
      },
      "1": {
        "name": "отрицательный"
      },
      "2": {
        "name": "латентный"
      }
    }
  },
  "InstructPixToPixConditioning": {
    "display_name": "Кондиционирование PixToPix",
    "inputs": {
      "negative": {
        "name": "отрицательный"
      },
      "pixels": {
        "name": "пиксели"
      },
      "positive": {
        "name": "положительный"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": null
      }
    }
  },
  "InvertMask": {
    "display_name": "Инвертировать маску",
    "inputs": {
      "mask": {
        "name": "маска"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "JoinAudioChannels": {
    "description": "Объединяет левый и правый моно аудиоканалы в стерео аудио.",
    "display_name": "Объединить аудиоканалы",
    "inputs": {
      "audio_left": {
        "name": "audio_left"
      },
      "audio_right": {
        "name": "audio_right"
      }
    },
    "outputs": {
      "0": {
        "name": "аудио",
        "tooltip": null
      }
    }
  },
  "JoinImageWithAlpha": {
    "display_name": "Объединить изображение с альфа-каналом",
    "inputs": {
      "alpha": {
        "name": "альфа"
      },
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "JsonExtractString": {
    "display_name": "Извлечь строку из JSON",
    "inputs": {
      "json_string": {
        "name": "json_string"
      },
      "key": {
        "name": "key"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KSampler": {
    "description": "Использует предоставленную модель, положительное и отрицательное кондиционирование для удаления шума из латентного изображения.",
    "display_name": "KSampler",
    "inputs": {
      "cfg": {
        "name": "cfg",
        "tooltip": "Масштаб без классификатора балансирует креативность и соблюдение запроса. Более высокие значения приводят к изображениям, более точно соответствующим запросу, однако слишком высокие значения негативно скажутся на качестве."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "denoise": {
        "name": "шумоподавление",
        "tooltip": "Количество уменьшения шума, более низкие значения сохранят структуру начального изображения, позволяя выборку изображений."
      },
      "latent_image": {
        "name": "латентное_изображение",
        "tooltip": "Латентное изображение для уменьшения шума."
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель, используемая для уменьшения шума входного латентного изображения."
      },
      "negative": {
        "name": "отрицательный",
        "tooltip": "Условие, описывающее атрибуты, которые вы хотите исключить из изображения."
      },
      "positive": {
        "name": "положительный",
        "tooltip": "Условие, описывающее атрибуты, которые вы хотите включить в изображение."
      },
      "sampler_name": {
        "name": "название_сэмплера",
        "tooltip": "Алгоритм, используемый при выборке, это может повлиять на качество, скорость и стиль сгенерированного вывода."
      },
      "scheduler": {
        "name": "scheduler",
        "tooltip": "Scheduler контролирует, как шум постепенно удаляется для формирования изображения."
      },
      "seed": {
        "name": "сид",
        "tooltip": "Случайный сид, используемый для создания шума."
      },
      "steps": {
        "name": "шаги",
        "tooltip": "Количество шагов, используемых в процессе уменьшения шума."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "шумоподавленный латент."
      }
    }
  },
  "KSamplerAdvanced": {
    "display_name": "KSampler (Расширенный)",
    "inputs": {
      "add_noise": {
        "name": "добавить_шум"
      },
      "cfg": {
        "name": "cfg"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "end_at_step": {
        "name": "закончить_на_шаге"
      },
      "latent_image": {
        "name": "латентное_изображение"
      },
      "model": {
        "name": "модель"
      },
      "negative": {
        "name": "отрицательный"
      },
      "noise_seed": {
        "name": "сид_шума"
      },
      "positive": {
        "name": "положительный"
      },
      "return_with_leftover_noise": {
        "name": "вернуться_с_оставшимся_шумом"
      },
      "sampler_name": {
        "name": "название_сэмплера"
      },
      "scheduler": {
        "name": "scheduler"
      },
      "start_at_step": {
        "name": "начать_с_шага"
      },
      "steps": {
        "name": "шаги"
      }
    }
  },
  "KSamplerSelect": {
    "display_name": "Выбор KSampler",
    "inputs": {
      "sampler_name": {
        "name": "название_сэмплера"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Kandinsky5ImageToVideo": {
    "display_name": "Kandinsky5ImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "негативный"
      },
      "positive": {
        "name": "позитивный"
      },
      "start_image": {
        "name": "стартовое_изображение"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "name": "негативный",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": "Пустое латентное видео"
      },
      "3": {
        "name": "cond_latent",
        "tooltip": "Очищенные закодированные стартовые изображения, используются для замены зашумленного старта латентов вывода модели"
      }
    }
  },
  "KarrasScheduler": {
    "display_name": "Scheduler Карраса",
    "inputs": {
      "rho": {
        "name": "ро"
      },
      "sigma_max": {
        "name": "максимальное_сигма"
      },
      "sigma_min": {
        "name": "минимальное_сигма"
      },
      "steps": {
        "name": "шаги"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingAvatarNode": {
    "description": "Создавайте видеоролики с цифровыми людьми в стиле телетрансляции из одной фотографии и аудиофайла.",
    "display_name": "Kling Avatar 2.0",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image",
        "tooltip": "Референсное изображение аватара. Ширина и высота должны быть не менее 300 пикселей. Соотношение сторон должно быть от 1:2.5 до 2.5:1."
      },
      "mode": {
        "name": "mode"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Необязательный prompt для задания действий, эмоций и движений камеры аватара."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от значения seed."
      },
      "sound_file": {
        "name": "sound_file",
        "tooltip": "Аудиофайл. Длительность должна быть от 2 до 300 секунд."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingFirstLastFrameNode": {
    "description": "Создавайте видео с помощью Kling V3, используя первый и последний кадры.",
    "display_name": "Kling 3.0: Видео по первому и последнему кадру",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "duration": {
        "name": "длительность"
      },
      "end_frame": {
        "name": "последний кадр"
      },
      "first_frame": {
        "name": "первый кадр"
      },
      "generate_audio": {
        "name": "создать аудио"
      },
      "model": {
        "name": "модель",
        "tooltip": "Настройки модели и генерации."
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "prompt": {
        "name": "prompt"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от 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": "Негативный текстовый запрос"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Положительный текстовый запрос"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Референсное изображение — URL или строка в формате Base64, не более 10 МБ, разрешение не менее 300×300 пикселей, соотношение сторон от 1:2.5 до 2.5:1. В Base64 не должно быть префикса data:image."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingImageGenerationNode": {
    "description": "Узел генерации изображений Kling. Генерирует изображение по текстовому запросу с необязательным референсным изображением.",
    "display_name": "Генерация изображений Kling",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "human_fidelity": {
        "name": "human_fidelity",
        "tooltip": "Сходство с референсом субъекта"
      },
      "image": {
        "name": "image"
      },
      "image_fidelity": {
        "name": "image_fidelity",
        "tooltip": "Интенсивность референса для загруженных пользователем изображений"
      },
      "image_type": {
        "name": "image_type"
      },
      "model_name": {
        "name": "model_name"
      },
      "n": {
        "name": "n",
        "tooltip": "Количество сгенерированных изображений"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Отрицательный текстовый запрос"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Положительный текстовый запрос"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingImageToVideoWithAudio": {
    "display_name": "Kling: изображение (первый кадр) в видео с аудио",
    "inputs": {
      "duration": {
        "name": "длительность"
      },
      "generate_audio": {
        "name": "создать_аудио"
      },
      "mode": {
        "name": "режим"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Положительный текстовый промпт."
      },
      "start_frame": {
        "name": "стартовый_кадр"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingLipSyncAudioToVideoNode": {
    "description": "Узел Kling Lip Sync Audio to Video. Синхронизирует движения рта на видео с аудиосодержимым аудиофайла.",
    "display_name": "Kling синхронизация губ в видео с аудио",
    "inputs": {
      "audio": {
        "name": "аудио"
      },
      "video": {
        "name": "видео"
      },
      "voice_language": {
        "name": "язык голоса"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "длительность",
        "tooltip": null
      }
    }
  },
  "KlingLipSyncTextToVideoNode": {
    "description": "Узел Kling Lip Sync Text to Video. Синхронизирует движения рта в видеофайле с текстовой подсказкой.",
    "display_name": "Kling Синхронизация губ в видео с текстом",
    "inputs": {
      "text": {
        "name": "текст",
        "tooltip": "Текст для генерации видео с синхронизацией губ. Обязательно при режиме text2video. Максимальная длина — 120 символов."
      },
      "video": {
        "name": "видео"
      },
      "voice": {
        "name": "голос"
      },
      "voice_speed": {
        "name": "скорость_голоса",
        "tooltip": "Скорость речи. Допустимый диапазон: 0.8~2.0, с точностью до одной десятой."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "длительность",
        "tooltip": null
      }
    }
  },
  "KlingMotionControl": {
    "display_name": "Kling: управление движением",
    "inputs": {
      "character_orientation": {
        "name": "ориентация_персонажа",
        "tooltip": "Управляет тем, откуда берется направление/ориентация персонажа.\nвидео: движения, выражения, движения камеры и ориентация следуют за референсным видео движения (остальные детали через промпт).\nизображение: движения и выражения также следуют за референсным видео, но ориентация персонажа соответствует референсному изображению (камера/другие детали через промпт)."
      },
      "keep_original_sound": {
        "name": "сохранить_оригинальный_звук"
      },
      "mode": {
        "name": "режим"
      },
      "model": {
        "name": "модель"
      },
      "prompt": {
        "name": "промпт"
      },
      "reference_image": {
        "name": "референсное_изображение"
      },
      "reference_video": {
        "name": "референсное_видео",
        "tooltip": "Референсное видео движения, используемое для управления движением/выражением.\nОграничения по длительности зависят от character_orientation:\n - изображение: 3–10с (максимум 10с)\n - видео: 3–30с (максимум 30с)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProEditVideoNode": {
    "description": "Редактируйте существующее видео с помощью последней модели от Kling.",
    "display_name": "Kling: Omni редактирование видео (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "keep_original_sound": {
        "name": "сохранить_оригинальный_звук"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Текстовый промпт, описывающий содержимое видео. Может включать как положительные, так и отрицательные описания."
      },
      "reference_images": {
        "name": "референсные_изображения",
        "tooltip": "До 4 дополнительных референсных изображений."
      },
      "resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от seed."
      },
      "video": {
        "name": "видео",
        "tooltip": "Видео для редактирования. Длина выходного видео будет такой же."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProFirstLastFrameNode": {
    "description": "Используйте начальный кадр, необязательный конечный кадр или референсные изображения с новейшей моделью Kling.",
    "display_name": "Kling Omni Первый-Последний Кадр в Видео (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "duration": {
        "name": "duration"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Необязательный конечный кадр для видео. Не может использоваться одновременно с 'reference_images'."
      },
      "first_frame": {
        "name": "first_frame"
      },
      "generate_audio": {
        "name": "создать аудио",
        "tooltip": "Создать аудио для видео. Поддерживается только для kling-v3-omni."
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос, описывающий содержимое видео. Может включать как положительные, так и отрицательные описания."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "До 6 дополнительных референсных изображений."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от seed."
      },
      "storyboards": {
        "name": "раскадровки",
        "tooltip": "Создайте серию видеосегментов с индивидуальными подсказками и длительностью. Поддерживается только для kling-v3-omni."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProImageNode": {
    "description": "Создавайте или редактируйте изображения с помощью новейшей модели Kling.",
    "display_name": "Kling Omni Изображение (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос, описывающий содержимое изображения. Может включать как положительные, так и отрицательные описания."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "До 10 дополнительных референсных изображений."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от seed."
      },
      "series_amount": {
        "name": "количество серий",
        "tooltip": "Создать серию изображений. Не поддерживается для kling-image-o1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProImageToVideoNode": {
    "description": "Используйте до 7 референсных изображений для генерации видео с помощью новейшей модели Kling.",
    "display_name": "Kling Omni Изображение в Видео (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "создать аудио",
        "tooltip": "Создать аудио для видео. Поддерживается только для kling-v3-omni."
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос, описывающий содержимое видео. Может включать как положительные, так и отрицательные описания."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "До 7 референсных изображений."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от seed."
      },
      "storyboards": {
        "name": "раскадровки",
        "tooltip": "Создайте серию видеосегментов с индивидуальными подсказками и длительностью. Поддерживается только для kling-v3-omni."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProTextToVideoNode": {
    "description": "Используйте текстовые запросы для генерации видео с помощью новейшей модели Kling.",
    "display_name": "Kling Omni Текст в Видео (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "создать аудио"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос, описывающий содержимое видео. Может включать как положительные, так и отрицательные описания."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от seed."
      },
      "storyboards": {
        "name": "раскадровки",
        "tooltip": "Создайте серию видеосегментов с индивидуальными подсказками и длительностью. Игнорируется для модели o1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProVideoToVideoNode": {
    "description": "Используйте видео и до 4 референсных изображений для генерации видео с помощью новейшей модели Kling.",
    "display_name": "Kling Omni Video to Video (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "duration": {
        "name": "duration"
      },
      "keep_original_sound": {
        "name": "keep_original_sound"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос, описывающий содержимое видео. Может включать как положительные, так и отрицательные описания."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "До 4 дополнительных референсных изображений."
      },
      "reference_video": {
        "name": "reference_video",
        "tooltip": "Видео для использования в качестве референса."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид управляет тем, должен ли узел выполняться повторно; результаты остаются недетерминированными независимо от значения сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingStartEndFrameNode": {
    "description": "Создайте видеопоследовательность, плавно переходящую между заданными начальными и конечными изображениями. Узел генерирует все промежуточные кадры, обеспечивая плавную трансформацию от первого кадра к последнему.",
    "display_name": "Kling: Кадры начала и конца в видео",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Референсное изображение — контроль конечного кадра. URL или строка в формате Base64, не более 10 МБ, разрешение не менее 300×300 пикселей. В Base64 не должно быть префикса data:image."
      },
      "mode": {
        "name": "mode",
        "tooltip": "Конфигурация для генерации видео в формате: режим / длительность / model_name."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Негативный текстовый промпт"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Положительный текстовый промпт"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Референсное изображение — URL или строка в формате Base64, не более 10 МБ, разрешение не менее 300×300 пикселей, соотношение сторон от 1:2.5 до 2.5:1. В Base64 не должно быть префикса data:image."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingTextToVideoNode": {
    "description": "Узел Kling: текст в видео",
    "display_name": "Kling: текст в видео",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "mode": {
        "name": "mode",
        "tooltip": "Конфигурация для генерации видео в формате: режим / длительность / имя_модели."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Отрицательный текстовый запрос"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Положительный текстовый запрос"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingTextToVideoWithAudio": {
    "display_name": "Kling Text to Video with 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": "Положительный текстовый запрос."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingVideoExtendNode": {
    "description": "Узел Kling Video Extend. Расширяет видео, созданные другими узлами Kling. video_id создаётся с помощью других узлов Kling.",
    "display_name": "Kling Video Extend",
    "inputs": {
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Отрицательный текстовый запрос для указания элементов, которых следует избегать в расширенном видео"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Положительный текстовый запрос для управления расширением видео"
      },
      "video_id": {
        "name": "video_id",
        "tooltip": "ID видео, которое нужно расширить. Поддерживаются видео, созданные с помощью text-to-video, image-to-video и предыдущих операций расширения видео. Общая продолжительность после расширения не может превышать 3 минуты."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingVideoNode": {
    "description": "Генерируйте видео с помощью Kling V3. Поддерживает текст-видео и изображение-видео с дополнительной раскадровкой, мультипромптом и генерацией аудио.",
    "display_name": "Kling 3.0 Видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "generate_audio": {
        "name": "генерировать аудио",
        "tooltip": "'kling-3.0-turbo' всегда генерирует собственное аудио, поэтому переключатель аудио игнорируется."
      },
      "model": {
        "name": "модель",
        "tooltip": "Настройки модели и генерации."
      },
      "model_aspect_ratio": {
        "name": "соотношение сторон"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "multi_shot": {
        "name": "мульти-шот",
        "tooltip": "Создайте серию видеосегментов с индивидуальными промптами и длительностью."
      },
      "multi_shot_duration": {
        "name": "длительность"
      },
      "multi_shot_negative_prompt": {
        "name": "негативный промпт"
      },
      "multi_shot_prompt": {
        "name": "промпт"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид управляет тем, должен ли узел выполняться повторно; результаты остаются недетерминированными независимо от значения сида."
      },
      "start_frame": {
        "name": "стартовый кадр",
        "tooltip": "Необязательное стартовое изображение кадра. При подключении переключается в режим изображение-видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Krea2ImageNode": {
    "description": "Генерируйте изображения с помощью Krea 2 — выберите Medium (выразительные иллюстрации) или Large (выразительный фотореализм). Поддерживает необязательную мудборд и до 10 связанных ссылок на стили изображений.",
    "display_name": "Krea 2 Image",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Krea 2 Medium лучше всего подходит для выразительных иллюстраций; Krea 2 Large — для выразительного фотореализма."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_creativity": {
        "name": "creativity"
      },
      "model_moodboard_id": {
        "name": "moodboard_id"
      },
      "model_moodboard_strength": {
        "name": "moodboard_strength"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос для изображения."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно для воспроизводимости."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Krea2StyleReferenceNode": {
    "description": "Добавьте ссылку на стиль изображения для генерации Krea 2. Связывайте несколько узлов Krea 2 Style Reference (максимум 10) и передайте итоговый выход style_reference в Krea 2 Image. Каждое изображение загружается в хранилище ComfyAPI и передается как URL.",
    "display_name": "Krea 2 Style Reference",
    "inputs": {
      "image": {
        "name": "image",
        "tooltip": "Референсное изображение, стиль которого влияет на генерацию."
      },
      "strength": {
        "name": "strength",
        "tooltip": "Сила влияния референса; отрицательные значения инвертируют влияние стиля."
      },
      "style_reference": {
        "name": "style_reference",
        "tooltip": "Необязательная входящая цепочка ссылок на стили; этот узел добавляет еще одну."
      }
    },
    "outputs": {
      "0": {
        "name": "style_reference",
        "tooltip": null
      }
    }
  },
  "LTXAVTextEncoderLoader": {
    "description": "[Рецепты]\n\nltxav: gemma 3 12B",
    "display_name": "LTXV Загрузчик аудио-текстового энкодера",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name"
      },
      "device": {
        "name": "device"
      },
      "text_encoder": {
        "name": "text_encoder"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVAddGuide": {
    "display_name": "LTXVAddGuide",
    "inputs": {
      "attention_mask": {
        "name": "attention_mask",
        "tooltip": "Необязательная пространственная маска в пиксельном пространстве. Управляет влиянием кондиционирования по регионам через self-attention, умноженным на силу."
      },
      "frame_idx": {
        "name": "индекс кадра",
        "tooltip": "Индекс кадра для начала условия. Для однокадровых изображений или видео с 1-8 кадрами любое значение frame_idx приемлемо. Для видео с 9+ кадрами, frame_idx должен быть кратен 8, в противном случае он будет округлен вниз до ближайшего кратного 8. Отрицательные значения считаются с конца видео."
      },
      "iclora_parameters": {
        "name": "iclora_parameters",
        "tooltip": "Необязательные параметры IC-LoRA из узла Get IC-LoRA Parameters. Используются для корректировки обработки направляющих, как требуется некоторыми IC-LoRA (например, если reference_downscale_factor > 1). При последовательном соединении каждый LTXVAddGuide использует только подключённые к нему параметры."
      },
      "image": {
        "name": "изображение",
        "tooltip": "Изображение или видео для условия скрытого видео. Должно быть 8*n + 1 кадров. Если видео не 8*n + 1 кадров, оно будет обрезано до ближайших 8*n + 1 кадров."
      },
      "latent": {
        "name": "скрытое пространство"
      },
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      },
      "strength": {
        "name": "сила"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      },
      "2": {
        "name": "скрытое пространство",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAEDecode": {
    "display_name": "LTXV Декодирование аудио VAE",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "Модель Audio VAE, используемая для декодирования латентного пространства."
      },
      "samples": {
        "name": "samples",
        "tooltip": "Латентное пространство для декодирования."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAEEncode": {
    "display_name": "LTXV Кодирование аудио VAE",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Аудио для кодирования."
      },
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "Модель Audio VAE для кодирования."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio Latent",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAELoader": {
    "display_name": "LTXV Загрузчик аудио VAE",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name",
        "tooltip": "Контрольная точка Audio VAE для загрузки."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio VAE",
        "tooltip": null
      }
    }
  },
  "LTXVConcatAVLatent": {
    "description": "Объединяет видео латент и аудио латент в совместный AV латент (любой AV-модель, например LTXV или MiniMax H3).",
    "display_name": "LTXVConcatAVLatent",
    "inputs": {
      "audio_latent": {
        "name": "audio_latent"
      },
      "video_latent": {
        "name": "video_latent"
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "LTXVConditioning": {
    "display_name": "Кондиционирование LTXV",
    "inputs": {
      "frame_rate": {
        "name": "частота_кадров"
      },
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      }
    }
  },
  "LTXVContextWindows": {
    "description": "Установить окна контекста для моделей, подобных LTXV.",
    "display_name": "Окна контекста LTXV",
    "inputs": {
      "closed_loop": {
        "name": "closed_loop",
        "tooltip": "Замыкать ли цикл окна контекста; применяется только к циклическим расписаниям."
      },
      "context_length": {
        "name": "context_length",
        "tooltip": "Длина окна контекста в реальных кадрах. Должна быть 8*n + 1."
      },
      "context_overlap": {
        "name": "context_overlap",
        "tooltip": "Перекрытие окна контекста в реальных кадрах."
      },
      "context_schedule": {
        "name": "context_schedule",
        "tooltip": "Зависимый от шага алгоритм планирования окон контекста."
      },
      "context_stride": {
        "name": "context_stride",
        "tooltip": "Шаг окна контекста; применяется только к равномерным расписаниям."
      },
      "freenoise": {
        "name": "freenoise",
        "tooltip": "Применять ли перемешивание шума FreeNoise, улучшает смешивание окон."
      },
      "fuse_method": {
        "name": "fuse_method",
        "tooltip": "Метод объединения окон контекста."
      },
      "model": {
        "name": "model",
        "tooltip": "Модель, к которой будут применяться окна контекста во время сэмплирования."
      },
      "retain_first_frame": {
        "name": "retain_first_frame",
        "tooltip": "Сохранять первый латентный кадр в каждом окне контекста (может помочь сохранить начальный референс)."
      },
      "split_conds_to_windows": {
        "name": "split_conds_to_windows",
        "tooltip": "Разделять ли несколько кондиционирований (созданных ConditionCombine) по каждому окну на основе индекса региона."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Модель с применёнными окнами контекста во время сэмплирования."
      }
    }
  },
  "LTXVCropGuides": {
    "display_name": "LTXVCropGuides",
    "inputs": {
      "latent": {
        "name": "скрытое пространство"
      },
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      },
      "2": {
        "name": "скрытое пространство",
        "tooltip": null
      }
    }
  },
  "LTXVEmptyLatentAudio": {
    "display_name": "LTXV Пустое латентное аудио",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "Модель Audio VAE для получения конфигурации."
      },
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Количество латентных аудиосэмплов в батче."
      },
      "frame_rate": {
        "name": "frame_rate",
        "tooltip": "Количество кадров в секунду."
      },
      "frames_number": {
        "name": "frames_number",
        "tooltip": "Количество кадров."
      }
    },
    "outputs": {
      "0": {
        "name": "Latent",
        "tooltip": null
      }
    }
  },
  "LTXVImgToVideo": {
    "display_name": "LTXVImgToVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "image": {
        "name": "изображение"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      },
      "strength": {
        "name": "интенсивность"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": null
      }
    }
  },
  "LTXVImgToVideoInplace": {
    "display_name": "LTXVImgToVideoInplace",
    "inputs": {
      "bypass": {
        "name": "обход",
        "tooltip": "Обойти кондиционирование."
      },
      "image": {
        "name": "изображение"
      },
      "latent": {
        "name": "latent"
      },
      "strength": {
        "name": "интенсивность"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "LTXVLatentUpsampler": {
    "display_name": "LTXVLatentUpsampler",
    "inputs": {
      "samples": {
        "name": "образцы"
      },
      "upscale_model": {
        "name": "модель увеличения"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVPreprocess": {
    "display_name": "LTXVPreprocess",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "img_compression": {
        "name": "сжатие изображения",
        "tooltip": "Степень сжатия, применяемая к изображению."
      }
    },
    "outputs": {
      "0": {
        "name": "выходное изображение",
        "tooltip": null
      }
    }
  },
  "LTXVReferenceAudio": {
    "description": "Установите эталонное аудио для переноса идентичности диктора с помощью ID-LoRA. Кодирует эталонный аудиоклип в conditioning и при необходимости вносит изменения в модель с помощью identity guidance (дополнительный прямой проход без эталона, усиливающий эффект идентичности диктора).",
    "display_name": "LTXV Reference Audio (ID-LoRA)",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "LTXV Audio VAE для кодирования."
      },
      "end_percent": {
        "name": "end_percent",
        "tooltip": "Конец диапазона сигмы, в котором активна identity guidance."
      },
      "identity_guidance_scale": {
        "name": "identity_guidance_scale",
        "tooltip": "Сила identity guidance. Выполняет дополнительный прямой проход без эталона на каждом шаге для усиления идентичности диктора. Установите 0 для отключения (без дополнительного прохода)."
      },
      "model": {
        "name": "model"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "reference_audio": {
        "name": "reference_audio",
        "tooltip": "Эталонный аудиоклип, идентичность диктора которого будет перенесена. Рекомендуется ~5 секунд (длительность обучения). Более короткие или длинные клипы могут ухудшить перенос голосовой идентичности."
      },
      "start_percent": {
        "name": "start_percent",
        "tooltip": "Начало диапазона сигмы, в котором активна identity guidance."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "positive",
        "tooltip": null
      },
      "2": {
        "name": "negative",
        "tooltip": null
      }
    }
  },
  "LTXVScheduler": {
    "display_name": "Scheduler LTXV",
    "inputs": {
      "base_shift": {
        "name": "базовое_смещение"
      },
      "latent": {
        "name": "скрытый"
      },
      "max_shift": {
        "name": "максимальное_смещение"
      },
      "steps": {
        "name": "шаги"
      },
      "stretch": {
        "name": "растяжение",
        "tooltip": "Растянуть сигмы, чтобы они находились в диапазоне [terminal, 1]."
      },
      "terminal": {
        "name": "терминал",
        "tooltip": "Конечное значение сигм после растяжения."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVSeparateAVLatent": {
    "description": "LTXV Separate AV Latent",
    "display_name": "LTXVSeparateAVLatent",
    "inputs": {
      "av_latent": {
        "name": "av_latent"
      }
    },
    "outputs": {
      "0": {
        "name": "video_latent",
        "tooltip": null
      },
      "1": {
        "name": "audio_latent",
        "tooltip": null
      }
    }
  },
  "LaplaceScheduler": {
    "display_name": "Scheduler Лапласа",
    "inputs": {
      "beta": {
        "name": "бета"
      },
      "mu": {
        "name": "мю"
      },
      "sigma_max": {
        "name": "максимальное_сигма"
      },
      "sigma_min": {
        "name": "минимальное_сигма"
      },
      "steps": {
        "name": "шаги"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentAdd": {
    "display_name": "Добавить латент",
    "inputs": {
      "samples1": {
        "name": "образцы1"
      },
      "samples2": {
        "name": "образцы2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentApplyOperation": {
    "display_name": "Применить операцию к латенту",
    "inputs": {
      "operation": {
        "name": "операция"
      },
      "samples": {
        "name": "образцы"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentApplyOperationCFG": {
    "display_name": "Применить операцию к латенту CFG",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "operation": {
        "name": "операция"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBatch": {
    "display_name": "Партия латентов",
    "inputs": {
      "samples1": {
        "name": "образцы1"
      },
      "samples2": {
        "name": "образцы2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBatchSeedBehavior": {
    "display_name": "Поведение сида партии латентов",
    "inputs": {
      "samples": {
        "name": "образцы"
      },
      "seed_behavior": {
        "name": "поведение_сида"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBlend": {
    "display_name": "Смешивание латентов",
    "inputs": {
      "blend_factor": {
        "name": "фактор_смешивания"
      },
      "samples1": {
        "name": "образцы1"
      },
      "samples2": {
        "name": "образцы2"
      }
    }
  },
  "LatentComposite": {
    "display_name": "Составной латент",
    "inputs": {
      "feather": {
        "name": "перо"
      },
      "samples_from": {
        "name": "образцы_из"
      },
      "samples_to": {
        "name": "образцы_для"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "LatentCompositeMasked": {
    "display_name": "Составной латент с маской",
    "inputs": {
      "destination": {
        "name": "назначение"
      },
      "mask": {
        "name": "маска"
      },
      "resize_source": {
        "name": "изменить_размер_источника"
      },
      "source": {
        "name": "источник"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentConcat": {
    "display_name": "Объединение латентов",
    "inputs": {
      "dim": {
        "name": "измерение"
      },
      "samples1": {
        "name": "сэмплы1"
      },
      "samples2": {
        "name": "сэмплы2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentCrop": {
    "display_name": "Обрезка латента",
    "inputs": {
      "height": {
        "name": "высота"
      },
      "samples": {
        "name": "образцы"
      },
      "width": {
        "name": "ширина"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "LatentCut": {
    "display_name": "Разрез латента",
    "inputs": {
      "amount": {
        "name": "количество"
      },
      "dim": {
        "name": "измерение"
      },
      "index": {
        "name": "индекс"
      },
      "samples": {
        "name": "сэмплы"
      }
    },
    "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": "Перевернуть латент",
    "inputs": {
      "flip_method": {
        "name": "метод_отражения"
      },
      "samples": {
        "name": "образцы"
      }
    }
  },
  "LatentFromBatch": {
    "display_name": "Латент из партии",
    "inputs": {
      "batch_index": {
        "name": "индекс_пакета"
      },
      "length": {
        "name": "длина"
      },
      "samples": {
        "name": "образцы"
      }
    }
  },
  "LatentInterpolate": {
    "display_name": "Интерполяция латента",
    "inputs": {
      "ratio": {
        "name": "соотношение"
      },
      "samples1": {
        "name": "образцы1"
      },
      "samples2": {
        "name": "образцы2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentMultiply": {
    "display_name": "Умножить латент",
    "inputs": {
      "multiplier": {
        "name": "множитель"
      },
      "samples": {
        "name": "образцы"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentOperationSharpen": {
    "display_name": "Операция латента: резкость",
    "inputs": {
      "alpha": {
        "name": "альфа"
      },
      "sharpen_radius": {
        "name": "радиус_резкости"
      },
      "sigma": {
        "name": "сигма"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentOperationTonemapReinhard": {
    "display_name": "Операция латента: тональная карта Рейнхарда",
    "inputs": {
      "multiplier": {
        "name": "множитель"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentRotate": {
    "display_name": "Повернуть латент",
    "inputs": {
      "rotation": {
        "name": "вращение"
      },
      "samples": {
        "name": "образцы"
      }
    }
  },
  "LatentSubtract": {
    "display_name": "Вычесть латент",
    "inputs": {
      "samples1": {
        "name": "образцы1"
      },
      "samples2": {
        "name": "образцы2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentUpscale": {
    "display_name": "Увеличить латент",
    "inputs": {
      "crop": {
        "name": "обрезка"
      },
      "height": {
        "name": "высота"
      },
      "samples": {
        "name": "образцы"
      },
      "upscale_method": {
        "name": "метод_апскейла"
      },
      "width": {
        "name": "ширина"
      }
    }
  },
  "LatentUpscaleBy": {
    "display_name": "Увеличить латент на",
    "inputs": {
      "samples": {
        "name": "образцы"
      },
      "scale_by": {
        "name": "масштабировать_по"
      },
      "upscale_method": {
        "name": "метод_апскейла"
      }
    }
  },
  "LatentUpscaleModelLoader": {
    "display_name": "Загрузить модель увеличения latent",
    "inputs": {
      "model_name": {
        "name": "model_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LazyCache": {
    "description": "Самодельная версия EasyCache - ещё более 'простая' версия EasyCache для реализации. В целом работает хуже, чем EasyCache, но лучше в некоторых редких случаях И имеет универсальную совместимость со всем в ComfyUI.",
    "display_name": "Ленивый кэш",
    "inputs": {
      "end_percent": {
        "name": "end_percent",
        "tooltip": "Относительный шаг сэмплирования для завершения использования LazyCache."
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель, к которой добавляется Ленивый кэш."
      },
      "reuse_threshold": {
        "name": "порог повторного использования",
        "tooltip": "Порог для повторного использования кэшированных шагов."
      },
      "start_percent": {
        "name": "start_percent",
        "tooltip": "Относительный шаг сэмплирования для начала использования LazyCache."
      },
      "verbose": {
        "name": "verbose",
        "tooltip": "Включить ли вывод подробной информации."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Модель с LazyCache."
      }
    }
  },
  "Load3D": {
    "display_name": "Загрузить 3D",
    "inputs": {
      "clear": {},
      "height": {
        "name": "высота"
      },
      "image": {
        "name": "изображение"
      },
      "model_file": {
        "name": "файл модели"
      },
      "upload 3d model": {},
      "upload extra resources": {},
      "width": {
        "name": "ширина"
      }
    },
    "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
      },
      "7": {
        "name": "model_3d_info",
        "tooltip": null
      }
    }
  },
  "Load3DAdvanced": {
    "display_name": "Загрузить 3D (расширено)",
    "inputs": {
      "height": {
        "name": "height"
      },
      "model_file": {
        "name": "model_file"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "LoadAudio": {
    "display_name": "Загрузить аудио",
    "inputs": {
      "audio": {
        "name": "аудио"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "upload": {
        "name": "выберите файл для загрузки"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadBackgroundRemovalModel": {
    "display_name": "Загрузить модель удаления фона",
    "inputs": {
      "bg_removal_name": {
        "name": "bg_removal_name",
        "tooltip": "Модель, используемая для удаления фона с изображений"
      }
    },
    "outputs": {
      "0": {
        "name": "bg_model",
        "tooltip": null
      }
    }
  },
  "LoadDA3Model": {
    "display_name": "Загрузить Depth Anything 3",
    "inputs": {
      "model_name": {
        "name": "model_name"
      },
      "weight_dtype": {
        "name": "weight_dtype"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadImage": {
    "display_name": "Загрузить изображение",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "upload": {
        "name": "выберите файл для загрузки"
      }
    }
  },
  "LoadImageDataSetFromFolder": {
    "description": "Загружает набор изображений из указанной папки и возвращает список изображений. Поддерживаемые форматы: PNG, JPG, JPEG, WEBP.",
    "display_name": "Загрузить набор изображений из папки",
    "inputs": {
      "folder": {
        "name": "folder",
        "tooltip": "Папка, из которой загружаются изображения."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Список загруженных изображений"
      }
    }
  },
  "LoadImageMask": {
    "display_name": "Загрузить изображение (как маску)",
    "inputs": {
      "channel": {
        "name": "канал"
      },
      "image": {
        "name": "изображение"
      },
      "upload": {
        "name": "выберите файл для загрузки"
      }
    }
  },
  "LoadImageOutput": {
    "description": "Загрузите изображение из папки вывода. При нажатии кнопки обновления, узел обновит список изображений и автоматически выберет первое изображение, что позволяет легко итерировать.",
    "display_name": "Загрузить изображение (из выходных данных)",
    "inputs": {
      "Auto-refresh after generation": {},
      "image": {
        "name": "изображение"
      },
      "refresh": {},
      "upload": {
        "name": "выберите файл для загрузки"
      }
    }
  },
  "LoadImageTextDataSetFromFolder": {
    "description": "Загружает набор пар изображений и текстовых подписей из указанной папки и возвращает их в виде списка. Поддерживаемые форматы: PNG, JPG, JPEG, WEBP.",
    "display_name": "Загрузить набор изображений и текстов из папки",
    "inputs": {
      "folder": {
        "name": "folder",
        "tooltip": "Папка, из которой загружаются изображения."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Список загруженных изображений"
      },
      "1": {
        "name": "texts",
        "tooltip": "Список текстовых подписей"
      }
    }
  },
  "LoadLatent": {
    "display_name": "Загрузить латент",
    "inputs": {
      "latent": {
        "name": "скрытый"
      }
    }
  },
  "LoadMediaPipeFaceLandmarker": {
    "display_name": "Загрузить MediaPipe Face Landmarker",
    "inputs": {
      "model_name": {
        "name": "model_name",
        "tooltip": "Face Landmarker safetensors из models/mediapipe/."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadMoGeModel": {
    "display_name": "Загрузить MoGe модель",
    "inputs": {
      "model_name": {
        "name": "model_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadTrainingDataset": {
    "description": "Загружает закодированный обучающий датасет (latents + conditioning) с диска для использования в обучении.",
    "display_name": "Загрузить обучающий набор данных",
    "inputs": {
      "folder_name": {
        "name": "folder_name",
        "tooltip": "Имя папки, содержащей сохранённый набор данных (внутри выходного каталога)."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "Список словарей латентных пространств"
      },
      "1": {
        "name": "conditioning",
        "tooltip": "Список списков условий"
      }
    }
  },
  "LoadVideo": {
    "display_name": "Загрузить видео",
    "inputs": {
      "file": {
        "name": "файл"
      },
      "upload": {
        "name": "выберите файл для загрузки"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadVideoDataSetFromFolder": {
    "description": "Загружает набор видео из указанной папки и возвращает список видео. Поддерживаемые форматы: MP4, AVI, MOV, WEBM, MKV, FLV.",
    "display_name": "Загрузить Видео (из папки)",
    "inputs": {
      "folder": {
        "name": "папка",
        "tooltip": "Папка, содержащая видеофайлы."
      }
    },
    "outputs": {
      "0": {
        "name": "видео",
        "tooltip": "Ленивые ссылки на видео; кадры декодируются только по мере необходимости далее по цепочке."
      }
    }
  },
  "LoadVideoTextDataSetFromFolder": {
    "description": "Загружает набор пар видео и текстовых подписей из указанной папки и возвращает их в виде списка. Поддерживаемые форматы: MP4, AVI, MOV, WEBM, MKV, FLV.",
    "display_name": "Загрузить Видео-Текст (из папки)",
    "inputs": {
      "folder": {
        "name": "папка",
        "tooltip": "Папка, содержащая видеофайлы и .txt подписи."
      }
    },
    "outputs": {
      "0": {
        "name": "видео",
        "tooltip": "Ленивые ссылки на видео; кадры декодируются только по мере необходимости далее по цепочке."
      },
      "1": {
        "name": "тексты",
        "tooltip": "Список текстовых подписей."
      }
    }
  },
  "LoraLoader": {
    "description": "LoRA используются для изменения моделей диффузии и CLIP, изменяя способ, которым латенты удаляются от шума, например, применяя стили. Несколько нод LoRA могут быть связаны вместе.",
    "display_name": "Загрузить LoRA",
    "inputs": {
      "clip": {
        "name": "клип",
        "tooltip": "Модель CLIP, к которой будет применена LoRA."
      },
      "lora_name": {
        "name": "название_lora",
        "tooltip": "Название LoRA."
      },
      "model": {
        "name": "модель",
        "tooltip": "Диффузионная модель, к которой будет применена LoRA."
      },
      "strength_clip": {
        "name": "сила_клипа",
        "tooltip": "Насколько сильно модифицировать модель CLIP. Это значение может быть отрицательным."
      },
      "strength_model": {
        "name": "сила_модели",
        "tooltip": "Насколько сильно модифицировать диффузионную модель. Это значение может быть отрицательным."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Модифицированная модель диффузии."
      },
      "1": {
        "tooltip": "Модифицированная модель CLIP."
      }
    }
  },
  "LoraLoaderBypass": {
    "description": "Применяет LoRA в режиме обхода. В отличие от обычной LoRA, веса модели не изменяются — вычисления LoRA внедряются во время прямого прохода. Полезно для сценариев обучения.",
    "display_name": "Загрузка LoRA (Обход) (для отладки)",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Модель CLIP, к которой будет применяться LoRA."
      },
      "lora_name": {
        "name": "lora_name",
        "tooltip": "Имя LoRA."
      },
      "model": {
        "name": "model",
        "tooltip": "Диффузионная модель, к которой будет применяться LoRA."
      },
      "strength_clip": {
        "name": "strength_clip",
        "tooltip": "Степень изменения модели CLIP. Может быть отрицательным значением."
      },
      "strength_model": {
        "name": "strength_model",
        "tooltip": "Степень изменения диффузионной модели. Может быть отрицательным значением."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Изменённая диффузионная модель."
      },
      "1": {
        "tooltip": "Изменённая модель CLIP."
      }
    }
  },
  "LoraLoaderBypassModelOnly": {
    "description": "Применяет LoRA в режиме обхода. В отличие от обычной LoRA, веса модели не изменяются — вычисления LoRA внедряются во время прямого прохода. Полезно для сценариев обучения.",
    "display_name": "Загрузка LoRA (Обход, только модель) (для отладки)",
    "inputs": {
      "lora_name": {
        "name": "lora_name"
      },
      "model": {
        "name": "model"
      },
      "strength_model": {
        "name": "strength_model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Изменённая диффузионная модель."
      }
    }
  },
  "LoraLoaderModelOnly": {
    "description": "LoRA используются для изменения моделей диффузии и CLIP, изменяя способ, которым латенты удаляются от шума, например, применяя стили. Несколько нод LoRA могут быть связаны вместе.",
    "display_name": "Загрузчик LoRA (Только модель)",
    "inputs": {
      "lora_name": {
        "name": "название_lora"
      },
      "model": {
        "name": "модель"
      },
      "strength_model": {
        "name": "сила_модели"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Модифицированная модель диффузии."
      }
    }
  },
  "LoraModelLoader": {
    "display_name": "Загрузить модель LoRA",
    "inputs": {
      "bypass": {
        "name": "bypass",
        "tooltip": "Если включено, LoRA применяется в режиме обхода без изменения весов базовой модели. Полезно для обучения и когда веса модели выгружаются."
      },
      "lora": {
        "name": "lora",
        "tooltip": "Модель LoRA для применения к диффузионной модели."
      },
      "model": {
        "name": "model",
        "tooltip": "Диффузионная модель, к которой будет применена LoRA."
      },
      "strength_model": {
        "name": "strength_model",
        "tooltip": "Степень модификации диффузионной модели. Это значение может быть отрицательным."
      }
    },
    "outputs": {
      "0": {
        "name": "model",
        "tooltip": "Модифицированная диффузионная модель."
      }
    }
  },
  "LoraSave": {
    "display_name": "Извлечь и сохранить LoRA",
    "inputs": {
      "bias_diff": {
        "name": "разница_смещения"
      },
      "filename_prefix": {
        "name": "префикс_названия_файла"
      },
      "lora_type": {
        "name": "тип_lora"
      },
      "model_diff": {
        "name": "разница_модели",
        "tooltip": "Вывод ModelSubtract, который будет преобразован в lora."
      },
      "rank": {
        "name": "ранг"
      },
      "text_encoder_diff": {
        "name": "разница_текстового_кодировщика",
        "tooltip": "Вывод CLIPSubtract, который будет преобразован в lora."
      }
    }
  },
  "LossGraphNode": {
    "display_name": "Построить график потерь",
    "inputs": {
      "filename_prefix": {
        "name": "префикс_имени_файла",
        "tooltip": "Префикс для сохранённого изображения графика потерь."
      },
      "loss": {
        "name": "потери",
        "tooltip": "Карта потерь из обучающего узла."
      }
    }
  },
  "LotusConditioning": {
    "display_name": "LotusConditioning",
    "outputs": {
      "0": {
        "name": "условие",
        "tooltip": null
      }
    }
  },
  "LtxvApiImageToVideo": {
    "description": "Видео профессионального качества с настраиваемой длительностью и разрешением на основе начального изображения.",
    "display_name": "LTXV Изображение в Видео",
    "inputs": {
      "duration": {
        "name": "длительность"
      },
      "fps": {
        "name": "кадров_в_секунду"
      },
      "generate_audio": {
        "name": "генерировать_аудио",
        "tooltip": "Если включено, сгенерированное видео будет включать ИИ-сгенерированный звук, соответствующий сцене."
      },
      "image": {
        "name": "изображение",
        "tooltip": "Первый кадр, который будет использоваться для видео."
      },
      "model": {
        "name": "модель"
      },
      "prompt": {
        "name": "промпт"
      },
      "resolution": {
        "name": "разрешение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LtxvApiTextToVideo": {
    "description": "Видео профессионального качества с настраиваемой длительностью и разрешением.",
    "display_name": "LTXV Текст в Видео",
    "inputs": {
      "duration": {
        "name": "длительность"
      },
      "fps": {
        "name": "кадров_в_секунду"
      },
      "generate_audio": {
        "name": "генерировать_аудио",
        "tooltip": "Если включено, сгенерированное видео будет включать ИИ-сгенерированный звук, соответствующий сцене."
      },
      "model": {
        "name": "модель"
      },
      "prompt": {
        "name": "промпт"
      },
      "resolution": {
        "name": "разрешение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaConceptsNode": {
    "description": "Содержит одну или несколько концепций камеры для использования с узлами Luma Text to Video и Luma Image to Video.",
    "display_name": "Luma Концепции",
    "inputs": {
      "concept1": {
        "name": "concept1"
      },
      "concept2": {
        "name": "concept2"
      },
      "concept3": {
        "name": "concept3"
      },
      "concept4": {
        "name": "concept4"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Необязательные концепции камеры для добавления к выбранным здесь."
      }
    },
    "outputs": {
      "0": {
        "name": "luma_concepts",
        "tooltip": null
      }
    }
  },
  "LumaImageEditNode2": {
    "description": "Редактирование существующего изображения с помощью текстового запроса, используя модель Luma UNI-1.",
    "display_name": "Luma UNI-1 Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель, используемая для редактирования."
      },
      "model_style": {
        "name": "style"
      },
      "model_web_search": {
        "name": "web_search"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Описание желаемого редактирования. 1–6000 символов."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от seed."
      },
      "source": {
        "name": "source",
        "tooltip": "Исходное изображение для редактирования."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageModifyNode": {
    "description": "Синхронно изменяет изображения на основе запроса и соотношения сторон.",
    "display_name": "Luma Image to Image",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "image": {
        "name": "изображение"
      },
      "image_weight": {
        "name": "вес изображения",
        "tooltip": "Вес изображения; чем ближе к 1.0, тем меньше будет изменено изображение."
      },
      "model": {
        "name": "модель"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Промпт для генерации изображения"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageNode": {
    "description": "Синхронно генерирует изображения на основе запроса и соотношения сторон.",
    "display_name": "Luma Текст в изображение",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "character_image": {
        "name": "character_image",
        "tooltip": "Референсные изображения персонажей; может быть пакет из нескольких, учитывается до 4 изображений."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image_luma_ref": {
        "name": "image_luma_ref",
        "tooltip": "Подключение к Luma Reference для влияния на генерацию с помощью входных изображений; может быть учтено до 4 изображений."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Запрос для генерации изображения"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты не являются детерминированными независимо от сида."
      },
      "style_image": {
        "name": "style_image",
        "tooltip": "Референсное изображение стиля; будет использовано только 1 изображение."
      },
      "style_image_weight": {
        "name": "style_image_weight",
        "tooltip": "Вес изображения стиля. Игнорируется, если style_image не предоставлено."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageNode2": {
    "description": "Генерация изображений по текстовому описанию с помощью модели Luma UNI-1.",
    "display_name": "Luma UNI-1 Image",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель, используемая для генерации."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_style": {
        "name": "style"
      },
      "model_web_search": {
        "name": "web_search"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание желаемого изображения. 1–6000 символов."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, нужно ли повторно запускать узел; результаты всегда недетерминированы, независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageToVideoNode": {
    "description": "Генерирует видео синхронно на основе запроса, входных изображений и output_size.",
    "display_name": "Luma Image to Video",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "duration": {
        "name": "длительность"
      },
      "first_image": {
        "name": "первое_изображение",
        "tooltip": "Первый кадр сгенерированного видео."
      },
      "last_image": {
        "name": "последнее_изображение",
        "tooltip": "Последний кадр сгенерированного видео."
      },
      "loop": {
        "name": "зацикливание"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Необязательные Camera Concepts для управления движением камеры через узел Luma Concepts."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Запрос для генерации видео"
      },
      "resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaRay32ExtendVideoNode": {
    "description": "Продлите ранее сгенерированное Ray 3.2 видео вперёд (продолжить после него) или назад (добавить перед ним). Подключите выход generation_id предыдущего узла Luma Ray 3.2. Продление всегда составляет 5 секунд.",
    "display_name": "Luma Ray 3.2 Продлить видео",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "direction": {
        "name": "direction",
        "tooltip": "Вперёд — продолжить после предыдущего clip; назад — добавить перед ним."
      },
      "direction_loop": {
        "name": "loop"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос для нового контента."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для определения необходимости повторного запуска узла; результат всегда недетерминированный, независимо от seed."
      },
      "source_generation_id": {
        "name": "source_generation_id",
        "tooltip": "generation_id предыдущего Ray 3.2 видео для продления. Подключите выход generation_id другого узла Luma Ray 3.2."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32ImageToVideoNode": {
    "description": "Создайте видео из начального и/или конечного кадра с помощью модели Ray 3.2 от Luma. Генерация с привязкой к изображению всегда длится 5 секунд.",
    "display_name": "Luma Ray 3.2 Изображение в видео",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Последний кадр сгенерированного видео."
      },
      "loop": {
        "name": "loop",
        "tooltip": "Сделать видео бесшовным по циклу. Недоступно, если задан end_frame."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос для генерации видео."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для определения необходимости повторного запуска узла; результат всегда недетерминированный, независимо от seed."
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Первый кадр сгенерированного видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32KeyframeNode": {
    "description": "Закрепите направляющее изображение на определённой позиции временной шкалы выходного видео Ray 3.2. Подключите этот узел к входу 'keyframes' узла Luma Ray 3.2 Keyframes to Video; объединяйте несколько узлов через дополнительный вход 'keyframes' ниже.",
    "display_name": "Luma Ray 3.2 Ключевой кадр",
    "inputs": {
      "image": {
        "name": "image",
        "tooltip": "Направляющее изображение для размещения в выбранный момент выходного видео."
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Необязательные предыдущие ключевые кадры для объединения с этим."
      },
      "position": {
        "name": "position",
        "tooltip": "Как разместить это изображение на временной шкале выходного видео."
      },
      "position_fraction": {
        "name": "fraction"
      }
    },
    "outputs": {
      "0": {
        "name": "keyframes",
        "tooltip": null
      }
    }
  },
  "LumaRay32KeyframesToVideoNode": {
    "description": "Создайте видео, интерполируя последовательность направляющих изображений, каждое из которых привязано к определённой позиции на временной шкале, с помощью Luma Ray 3.2. Постройте последовательность с помощью узлов Luma Ray 3.2 Keyframe (не менее 2).",
    "display_name": "Luma Ray 3.2: Ключевые кадры в видео",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Последовательность ключевых кадров из узлов Luma Ray 3.2 Keyframe (не менее 2)."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос для генерации видео."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; результат всегда недетерминирован, независимо от сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32TextToVideoNode": {
    "description": "Создайте видео по текстовому запросу с помощью модели Luma Ray 3.2.",
    "display_name": "Luma Ray 3.2: Текст в видео",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "loop": {
        "name": "loop",
        "tooltip": "Сделать видео бесшовно зацикленным. Доступно только для длительности 5 секунд."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос для генерации видео."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; результат всегда недетерминирован, независимо от сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32VideoEditNode": {
    "description": "Перегенерируйте существующее видео по новому запросу с помощью Luma Ray 3.2 (смена стиля, освещения, добавление или удаление элементов), сохраняя исходное движение. Исходное видео — до 18 секунд; длина отредактированного видео совпадает с исходным.",
    "display_name": "Luma Ray 3.2: Редактирование видео",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Опишите желаемое изменение."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; результат всегда недетерминирован, независимо от сида."
      },
      "strength": {
        "name": "strength",
        "tooltip": "Степень сохранения или переосмысления исходника. 'auto' — выбор Ray 3.2; adhere_* — максимальное сохранение, flex_* — баланс, reimagine_* — максимальные изменения."
      },
      "video": {
        "name": "video",
        "tooltip": "Исходное видео для редактирования. До 18 секунд."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32VideoReframeNode": {
    "description": "Измените соотношение сторон существующего видео, используя Luma Ray 3.2 для заполнения новых областей холста. Исходное видео до 30 секунд. Оплата за каждую секунду результата.",
    "display_name": "Luma Ray 3.2 Видео Переформатирование",
    "inputs": {
      "aspect_ratio": {
        "name": "соотношение сторон"
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Опишите, как должны быть заполнены новые области холста."
      },
      "resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для определения необходимости повторного запуска узла; результаты недетерминированы независимо от seed."
      },
      "video": {
        "name": "видео",
        "tooltip": "Исходное видео для изменения формата. До 30 секунд."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaReferenceNode": {
    "description": "Содержит изображение и вес для использования с узлом Luma Generate Image.",
    "display_name": "Luma Reference",
    "inputs": {
      "image": {
        "name": "image",
        "tooltip": "Изображение для использования в качестве эталона."
      },
      "luma_ref": {
        "name": "luma_ref"
      },
      "weight": {
        "name": "weight",
        "tooltip": "Вес эталонного изображения."
      }
    },
    "outputs": {
      "0": {
        "name": "luma_ref",
        "tooltip": null
      }
    }
  },
  "LumaVideoNode": {
    "description": "Синхронно генерирует видео на основе запроса и output_size.",
    "display_name": "Luma Текст в Видео",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "loop": {
        "name": "loop"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Необязательные Camera Concepts для управления движением камеры через узел Luma Concepts."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Запрос для генерации видео"
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для определения, нужно ли повторно запускать узел; фактические результаты всегда недетерминированы, независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageRelightNode": {
    "description": "Изменение освещения изображения с возможностью передачи света по ссылке.",
    "display_name": "Magnific: Пересвет изображения",
    "inputs": {
      "advanced_settings": {
        "name": "advanced_settings",
        "tooltip": "Тонкая настройка для продвинутого управления освещением."
      },
      "change_background": {
        "name": "change_background",
        "tooltip": "Изменяет фон на основе промпта или референса."
      },
      "image": {
        "name": "image",
        "tooltip": "Изображение для пересвета."
      },
      "interpolate_from_original": {
        "name": "interpolate_from_original",
        "tooltip": "Ограничивает свободу генерации для большего соответствия оригиналу."
      },
      "light_transfer_strength": {
        "name": "light_transfer_strength",
        "tooltip": "Интенсивность применения передачи света."
      },
      "preserve_details": {
        "name": "preserve_details",
        "tooltip": "Сохраняет текстуру и мелкие детали оригинала."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Описание для управления освещением. Поддерживает нотацию акцентов (1-1.4)."
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "Необязательное референсное изображение для передачи освещения."
      },
      "style": {
        "name": "style",
        "tooltip": "Предпочтительный стиль результата."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageSkinEnhancerNode": {
    "description": "Улучшение кожи на портретах с несколькими режимами обработки.",
    "display_name": "Magnific: Улучшение кожи на изображении",
    "inputs": {
      "image": {
        "name": "image",
        "tooltip": "Портрет для улучшения."
      },
      "mode": {
        "name": "mode",
        "tooltip": "Режим обработки: creative — для художественного улучшения, faithful — для сохранения оригинального вида, flexible — для целевой оптимизации."
      },
      "sharpen": {
        "name": "sharpen",
        "tooltip": "Уровень резкости."
      },
      "smart_grain": {
        "name": "smart_grain",
        "tooltip": "Уровень интеллектуального зерна."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageStyleTransferNode": {
    "description": "Переносите стиль с эталонного изображения на ваше входное изображение.",
    "display_name": "Magnific Перенос стиля изображения",
    "inputs": {
      "engine": {
        "name": "engine",
        "tooltip": "Выбор движка обработки."
      },
      "fixed_generation": {
        "name": "fixed_generation",
        "tooltip": "Если отключено, каждое новое поколение будет содержать элемент случайности, что приведёт к более разнообразным результатам."
      },
      "flavor": {
        "name": "flavor",
        "tooltip": "Вариант переноса стиля."
      },
      "image": {
        "name": "image",
        "tooltip": "Изображение, к которому будет применён перенос стиля."
      },
      "portrait_mode": {
        "name": "portrait_mode",
        "tooltip": "Включить портретный режим для улучшения лиц."
      },
      "prompt": {
        "name": "prompt"
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "Эталонное изображение, из которого будет извлекаться стиль."
      },
      "structure_strength": {
        "name": "structure_strength",
        "tooltip": "Сохраняет структуру исходного изображения."
      },
      "style_strength": {
        "name": "style_strength",
        "tooltip": "Процент силы стиля."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageUpscalerCreativeNode": {
    "description": "Улучшение по подсказке, стилизация и увеличение в 2x/4x/8x/16x. Максимальный выход: 25,3 мегапикселя.",
    "display_name": "Magnific Image Upscale (Creative)",
    "inputs": {
      "auto_downscale": {
        "name": "автоматическое уменьшение",
        "tooltip": "Автоматически уменьшать входное изображение, если выход превышает максимальный лимит пикселей."
      },
      "creativity": {
        "name": "креативность"
      },
      "engine": {
        "name": "движок"
      },
      "fractality": {
        "name": "фрактальность",
        "tooltip": "Сила промпта и сложность на квадратный пиксель."
      },
      "hdr": {
        "name": "HDR",
        "tooltip": "Уровень чёткости и детализации."
      },
      "image": {
        "name": "изображение"
      },
      "optimized_for": {
        "name": "оптимизировано для"
      },
      "prompt": {
        "name": "промпт"
      },
      "resemblance": {
        "name": "сходство",
        "tooltip": "Степень сходства с оригинальным изображением."
      },
      "scale_factor": {
        "name": "коэффициент увеличения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageUpscalerPreciseV2Node": {
    "description": "Высокоточное увеличение с тонкой настройкой резкости, зернистости и детализации. Максимальный выход: 10060×10060 пикселей.",
    "display_name": "Magnific Image Upscale (Precise V2)",
    "inputs": {
      "auto_downscale": {
        "name": "автоматическое уменьшение",
        "tooltip": "Автоматически уменьшать входное изображение, если выход превышает максимальное разрешение."
      },
      "flavor": {
        "name": "стиль обработки",
        "tooltip": "Стиль обработки: sublime — для общего использования, photo — для фотографий, photo_denoiser — для шумных фото."
      },
      "image": {
        "name": "изображение"
      },
      "scale_factor": {
        "name": "коэффициент увеличения"
      },
      "sharpen": {
        "name": "резкость",
        "tooltip": "Интенсивность резкости изображения. Более высокие значения увеличивают чёткость и контрастность краёв."
      },
      "smart_grain": {
        "name": "умная зернистость",
        "tooltip": "Интеллектуальное усиление текстуры/зернистости, чтобы изображение не выглядело слишком гладким или искусственным."
      },
      "ultra_detail": {
        "name": "ультра-детализация",
        "tooltip": "Управляет добавлением мелких деталей, текстур и микродеталей при увеличении."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Mahiro": {
    "description": "Измените руководство, чтобы оно больше масштабировалось в «направлении» положительной подсказки, а не разницы между отрицательной подсказкой.",
    "display_name": "Mahiro настолько мила, что заслуживает лучшей функции руководства!! (。・ω・。)",
    "inputs": {
      "model": {
        "name": "модель"
      }
    },
    "outputs": {
      "0": {
        "name": "исправленная_модель",
        "tooltip": null
      }
    }
  },
  "MakeTrainingDataset": {
    "description": "Кодирует изображения с помощью VAE и тексты с помощью CLIP для создания обучающего датасета latents и conditioning.",
    "display_name": "Создать обучающий датасет",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Модель CLIP для кодирования текста в кондиционирование."
      },
      "images": {
        "name": "изображения",
        "tooltip": "Список изображений для кодирования."
      },
      "texts": {
        "name": "тексты",
        "tooltip": "Список текстовых подписей. Может быть длиной n (соответствует изображениям), 1 (повторяется для всех) или отсутствовать (используется пустая строка)."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Модель VAE для кодирования изображений в latent."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "Список latent-словарей"
      },
      "1": {
        "name": "conditioning",
        "tooltip": "Список списков кондиционирования"
      }
    }
  },
  "ManualSigmas": {
    "display_name": "ManualSigmas",
    "inputs": {
      "sigmas": {
        "name": "сигмы"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MaskComposite": {
    "display_name": "Составная маска",
    "inputs": {
      "destination": {
        "name": "назначение"
      },
      "operation": {
        "name": "операция"
      },
      "source": {
        "name": "источник"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MaskPreview": {
    "description": "Сохраняет входные изображения в ваш выходной каталог ComfyUI.",
    "display_name": "MaskPreview",
    "inputs": {
      "mask": {
        "name": "mask"
      }
    },
    "outputs": {
      "0": {
        "name": "mask",
        "tooltip": null
      }
    }
  },
  "MaskToImage": {
    "display_name": "Преобразовать маску в изображение",
    "inputs": {
      "mask": {
        "name": "маска"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MediaPipeFaceLandmarker": {
    "description": "Обнаруживает лицевые ориентиры с помощью модели MediaPipe.",
    "display_name": "MediaPipe Face Landmarker",
    "inputs": {
      "detector_variant": {
        "name": "detector_variant",
        "tooltip": "Диапазон детектора лиц. 'short' оптимизирован для лиц крупным планом (до ~2 м от камеры); 'full' охватывает более дальние/мелкие лица (до ~5 м), но работает медленнее. 'both' запускает оба детектора и выбирает тот, который обнаружил больше лиц на кадре (~2× затрат на обнаружение)."
      },
      "face_detection_model": {
        "name": "face_detection_model"
      },
      "image": {
        "name": "image"
      },
      "min_confidence": {
        "name": "min_confidence",
        "tooltip": "Порог оценки BlazeFace. Уменьшите, чтобы находить маленькие/закрытые лица."
      },
      "missing_frame_fallback": {
        "name": "missing_frame_fallback",
        "tooltip": "Поведение для каждого кадра при неудачном обнаружении в батче. 'empty' — оставить кадр без лиц. 'previous' — скопировать последнее успешное обнаружение. 'interpolate' — интерполировать landmarks/bbox/blendshapes между ближайшими успешными кадрами. Для нескольких лиц: сопоставляет лица между кадрами по ближайшему центру bbox."
      },
      "num_faces": {
        "name": "num_faces",
        "tooltip": "Максимальное количество лиц на кадр. 0 = без ограничения (возвращать все обнаруженные)."
      }
    },
    "outputs": {
      "0": {
        "name": "face_landmarks",
        "tooltip": null
      },
      "1": {
        "name": "bboxes",
        "tooltip": null
      }
    }
  },
  "MediaPipeFaceMask": {
    "description": "Рисует маску по лицевым ориентирам.",
    "display_name": "MediaPipe Face Mask",
    "inputs": {
      "face_landmarks": {
        "name": "face_landmarks"
      },
      "regions": {
        "name": "regions",
        "tooltip": "'all' = объединение face_oval+lips+eyes+irises (что сводится к face_oval, так как он включает остальные). 'custom' = можно включать/выключать каждую область отдельно для комбинаций, например, lips+eyes."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MediaPipeFaceMeshVisualize": {
    "description": "Рисует сетку лицевых ориентиров на входном изображении.",
    "display_name": "MediaPipe Face Mesh Визуализация",
    "inputs": {
      "color": {
        "name": "color"
      },
      "connections": {
        "name": "connections",
        "tooltip": "'all' = овал+глаза+брови+губы+радужки+нос. 'fill' = залитый полигон face_oval (силуэтная маска). 'custom' = можно включать/выключать каждую особенность отдельно (включая 'tesselation', полный wireframe из 2547 рёбер)."
      },
      "face_landmarks": {
        "name": "face_landmarks"
      },
      "image": {
        "name": "image",
        "tooltip": "Если не подключено, будет использован чёрный холст."
      },
      "point_size": {
        "name": "point_size",
        "tooltip": "Радиус точек-ориентиров в пикселях. 0 — отключить отрисовку точек."
      },
      "thickness": {
        "name": "thickness",
        "tooltip": "Толщина линий в пикселях. 0 — отключить отрисовку линий."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MergeImageLists": {
    "description": "Объединяет несколько списков изображений в один.",
    "display_name": "Объединить списки изображений",
    "inputs": {
      "images": {
        "name": "изображения",
        "tooltip": "Список изображений для обработки."
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": "Обработанные изображения"
      }
    }
  },
  "MergeSplat": {
    "description": "Объединяет любое количество гауссовых сплатов в один. Объединение нескольких декодирований одного и того же latent с разными сидами уплотняет поверхность, что может улучшить качество поверхности при создании сетки.",
    "display_name": "Объединить сплаты",
    "inputs": {
      "splats": {
        "name": "splats"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "MergeTextLists": {
    "display_name": "Объединить списки текстов",
    "inputs": {
      "texts": {
        "name": "тексты",
        "tooltip": "Список текстов для обработки."
      }
    },
    "outputs": {
      "0": {
        "name": "тексты",
        "tooltip": "Обработанные тексты"
      }
    }
  },
  "MeshyAnimateModelNode": {
    "description": "Применить определённое анимационное действие к ранее скелетированной персонажу.",
    "display_name": "Meshy: Анимировать модель",
    "inputs": {
      "action_id": {
        "name": "action_id",
        "tooltip": "Посетите https://docs.meshy.ai/en/api/animation-library для списка доступных значений."
      },
      "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: Изображение в модель",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "pose_mode": {
        "name": "pose_mode",
        "tooltip": "Укажите режим позы для создаваемой модели."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, должен ли узел запускаться повторно; результаты недетерминированы независимо от seed."
      },
      "should_remesh": {
        "name": "should_remesh",
        "tooltip": "Если установлено в false, возвращается необработанная треугольная сетка."
      },
      "should_remesh_target_polycount": {
        "name": "target_polycount"
      },
      "should_remesh_topology": {
        "name": "topology"
      },
      "should_texture": {
        "name": "should_texture",
        "tooltip": "Определяет, будут ли сгенерированы текстуры. Если установить в false, этап текстурирования пропускается и возвращается сетка без текстур."
      },
      "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: Мульти-изображение в модель",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "images": {
        "name": "images"
      },
      "model": {
        "name": "model"
      },
      "pose_mode": {
        "name": "pose_mode",
        "tooltip": "Укажите режим позы для создаваемой модели."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, должен ли узел запускаться повторно; результаты недетерминированы независимо от seed."
      },
      "should_remesh": {
        "name": "should_remesh",
        "tooltip": "Если установлено в false, возвращается необработанная треугольная сетка."
      },
      "should_remesh_target_polycount": {
        "name": "target_polycount"
      },
      "should_remesh_topology": {
        "name": "topology"
      },
      "should_texture": {
        "name": "should_texture",
        "tooltip": "Определяет, будут ли сгенерированы текстуры. Если установить в false, этап текстурирования пропускается и возвращается сетка без текстур."
      },
      "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": "Улучшить ранее созданную черновую модель.",
    "display_name": "Meshy: Улучшить Черновую Модель",
    "inputs": {
      "enable_pbr": {
        "name": "enable_pbr",
        "tooltip": "Генерировать PBR-карты (металличность, шероховатость, нормали) в дополнение к базовому цвету. Важно: установите значение false при использовании стиля Sculpture, так как стиль Sculpture создает собственные PBR-карты."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "model": {
        "name": "model"
      },
      "texture_image": {
        "name": "texture_image",
        "tooltip": "Одновременно можно использовать только один из параметров: 'texture_image' или 'texture_prompt'."
      },
      "texture_prompt": {
        "name": "texture_prompt",
        "tooltip": "Введите текстовый запрос для управления процессом текстурирования. Максимум 600 символов. Не может использоваться одновременно с '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": "Предоставляет персонажа с риггингом в стандартных форматах. Автоматический риггинг в настоящее время не подходит для моделей без текстур, не-гуманоидных объектов или гуманоидов с нечеткой структурой конечностей и тела.",
    "display_name": "Meshy: Скелетная Анимация Модели",
    "inputs": {
      "height_meters": {
        "name": "height_meters",
        "tooltip": "Примерная высота модели персонажа в метрах. Это помогает для масштабирования и точности риггинга."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "texture_image": {
        "name": "texture_image",
        "tooltip": "UV-развернутая текстура базового цвета модели."
      }
    },
    "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: Текст в Модель",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "pose_mode": {
        "name": "pose_mode",
        "tooltip": "Укажите режим позы для создаваемой модели."
      },
      "prompt": {
        "name": "prompt"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, должен ли узел запускаться повторно; результаты всегда недетерминированы, независимо от seed."
      },
      "should_remesh": {
        "name": "should_remesh",
        "tooltip": "Если установлено значение false, возвращается необработанная треугольная сетка."
      },
      "should_remesh_target_polycount": {
        "name": "target_polycount"
      },
      "should_remesh_topology": {
        "name": "topology"
      },
      "style": {
        "name": "style"
      },
      "symmetry_mode": {
        "name": "symmetry_mode"
      }
    },
    "outputs": {
      "0": {
        "name": "файл модели",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyTextureNode": {
    "display_name": "Meshy: Модель текстуры",
    "inputs": {
      "enable_original_uv": {
        "name": "enable_original_uv",
        "tooltip": "Использовать оригинальные UV модели вместо генерации новых UV. При включении Meshy сохраняет существующие текстуры из загруженной модели. Если у модели нет оригинальных UV, качество результата может быть ниже."
      },
      "image_style": {
        "name": "image_style",
        "tooltip": "2D-изображение для направления процесса текстурирования. Нельзя использовать одновременно с 'text_style_prompt'."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "model": {
        "name": "model"
      },
      "pbr": {
        "name": "pbr"
      },
      "text_style_prompt": {
        "name": "text_style_prompt",
        "tooltip": "Опишите желаемый стиль текстуры объекта с помощью текста. Максимум 600 символов. Нельзя использовать одновременно с 'image_style'."
      }
    },
    "outputs": {
      "0": {
        "name": "файл модели",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MiniMaxH3ImageToVideo": {
    "display_name": "MiniMax H3: изображение в видео",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "first_frame": {
        "name": "первый_кадр"
      },
      "height": {
        "name": "высота"
      },
      "last_frame": {
        "name": "последний_кадр"
      },
      "length": {
        "name": "длина",
        "tooltip": "Количество кадров при 24 кадрах/с, округляется вверх до сетки модели 17k+5 (124 = ~5с; обученный диапазон ~124-362, больше — не тестировалось)"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "MiniMaxH3ReferenceToVideo": {
    "description": "<Picture i> / <Video k> / <Audio j> референс-условия для MiniMax H3. Используйте те же теги при генерации.",
    "display_name": "MiniMax H3: референс в видео",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина",
        "tooltip": "Количество кадров при 24 кадрах/с (124 = ~5с, обученный диапазон ~124-362)"
      },
      "prompt": {
        "name": "prompt"
      },
      "ref_audios": {
        "name": "реф_аудио"
      },
      "ref_image_size": {
        "name": "размер_реф_изображения",
        "tooltip": "Размер референс-изображения. 'match' масштабирует каждый референс (только уменьшение, с сохранением пропорций) до площади пикселей генерации; 'max' использует короткую сторону 2048px пайплайна референса для лучшей идентичности. Референс-токены проходят через каждый шаг сэмплинга, поэтому 'max' может быть значительно медленнее."
      },
      "ref_images": {
        "name": "реф_изображения"
      },
      "ref_video_audios": {
        "name": "реф_аудио_видео"
      },
      "ref_videos": {
        "name": "реф_видео"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "MiniMaxH3SigmaShift": {
    "description": "Установите смещения потоков видео/аудио.",
    "display_name": "MiniMax H3 Sigma Shift",
    "inputs": {
      "model": {
        "name": "model"
      },
      "shift_audio": {
        "name": "shift_audio"
      },
      "shift_video": {
        "name": "shift_video"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuo03FirstLastFrameNode": {
    "description": "Генерирует видео по изображению первого кадра и, при необходимости, последнего кадра с помощью модели MiniMax H3. Соотношение сторон видео соответствует предоставленным изображениям.",
    "display_name": "MiniMax H3: видео по первому и последнему кадру",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Изображение первого кадра для видео."
      },
      "last_frame": {
        "name": "last_frame",
        "tooltip": "Необязательное изображение последнего кадра для видео."
      },
      "model": {
        "name": "model",
        "tooltip": "Модель для генерации видео."
      },
      "model_duration": {
        "name": "duration"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайный сид. Один и тот же запрос с одинаковым сидом даёт схожие, но не гарантированно идентичные результаты."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли водяной знак AIGC к видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuo03ReferenceNode": {
    "description": "Генерируйте видео на основе референсных изображений, видео и аудио с помощью модели MiniMax H3. Ссылайтесь на референсы в промпте по их порядку: 'Image 1', 'Image 2', 'Video 1', 'Audio 1' и так далее.",
    "display_name": "MiniMax H3: Референс в видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель, используемая для генерации видео."
      },
      "model_duration": {
        "name": "длительность"
      },
      "model_prompt": {
        "name": "промпт"
      },
      "model_ratio": {
        "name": "соотношение сторон"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно. Один и тот же запрос с одинаковым seed дает схожие, но не гарантированно идентичные результаты."
      },
      "watermark": {
        "name": "водяной знак",
        "tooltip": "Добавлять ли водяной знак AIGC к видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuo03TextToVideoNode": {
    "description": "Генерируйте видео по текстовому промпту с помощью модели MiniMax H3.",
    "display_name": "MiniMax H3: Текст в видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель, используемая для генерации видео."
      },
      "model_duration": {
        "name": "длительность"
      },
      "model_prompt": {
        "name": "промпт"
      },
      "model_ratio": {
        "name": "соотношение сторон"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно. Один и тот же запрос с одинаковым seed дает схожие, но не гарантированно идентичные результаты."
      },
      "watermark": {
        "name": "водяной знак",
        "tooltip": "Добавлять ли водяной знак AIGC к видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuoVideoNode": {
    "description": "Создает видео из промпта с возможностью использования начального кадра с помощью новой модели MiniMax Hailuo-02.",
    "display_name": "MiniMax Hailuo Видео",
    "inputs": {
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "duration": {
        "name": "длительность",
        "tooltip": "Длина выходного видео в секундах."
      },
      "first_frame_image": {
        "name": "изображение_первого_кадра",
        "tooltip": "Необязательное изображение для использования в качестве первого кадра при генерации видео."
      },
      "prompt_optimizer": {
        "name": "оптимизатор_промпта",
        "tooltip": "Оптимизировать промпт для улучшения качества генерации при необходимости."
      },
      "prompt_text": {
        "name": "текстовый_промпт",
        "tooltip": "Текстовый промпт для управления генерацией видео."
      },
      "resolution": {
        "name": "разрешение",
        "tooltip": "Размеры видеоизображения. 1080p — это 1920x1080, 768p — это 1366x768."
      },
      "seed": {
        "name": "сид",
        "tooltip": "Случайное начальное значение, используемое для создания шума."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxImageToVideoNode": {
    "description": "Генерирует видео из изображения и подсказок с помощью API MiniMax",
    "display_name": "MiniMax: изображение в видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "image": {
        "name": "изображение",
        "tooltip": "Изображение, используемое в качестве первого кадра для генерации видео"
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель, используемая для генерации видео"
      },
      "prompt_text": {
        "name": "текстовый промпт",
        "tooltip": "Текстовая подсказка для управления генерацией видео"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно, используемое для создания шума."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxTextToVideoNode": {
    "description": "Генерирует видео по подсказкам с помощью API MiniMax",
    "display_name": "MiniMax: текст в видео",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель для генерации видео"
      },
      "prompt_text": {
        "name": "prompt_text",
        "tooltip": "Текстовая подсказка для управления генерацией видео"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно, используемое для создания шума."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MoGeInference": {
    "description": "Запускает MoGe на одном изображении для оценки глубины и геометрии.",
    "display_name": "MoGe инференс",
    "inputs": {
      "apply_mask": {
        "name": "apply_mask",
        "tooltip": "Устанавливает замаскированные (небо / невалидные) пиксели в inf в точках и глубине, чтобы при построении сетки они отбрасывались. Отключите, чтобы сохранить исходную предсказанную геометрию везде; маска всё равно возвращается отдельно."
      },
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Количество изображений за один инференс. Уменьшите, если возникает нехватка памяти при обработке длинного видео или набора изображений."
      },
      "force_projection": {
        "name": "force_projection"
      },
      "fov_x_degrees": {
        "name": "fov_x_degrees",
        "tooltip": "Горизонтальный угол обзора исходной камеры. Определяет фокусное расстояние, используемое для обратного проецирования карты глубины в 3D. 0 = автоматически восстанавливается по предсказанным точкам."
      },
      "image": {
        "name": "image"
      },
      "moge_model": {
        "name": "moge_model"
      },
      "resolution_level": {
        "name": "resolution_level",
        "tooltip": "0 = быстрее всего, 9 = максимальная детализация."
      }
    },
    "outputs": {
      "0": {
        "name": "moge_geometry",
        "tooltip": null
      }
    }
  },
  "MoGePanoramaInference": {
    "description": "Запускает MoGe на эквидистантной панораме, разделяя её на 12 перспективных видов, выполняет инференс на каждом и объединяет результаты в одну карту глубины.",
    "display_name": "MoGe инференс панорамы",
    "inputs": {
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Количество видов в одном инференс-батче (всего 12 сегментов)."
      },
      "image": {
        "name": "image",
        "tooltip": "Эквидистантная панорама (любое соотношение сторон)."
      },
      "merge_resolution": {
        "name": "merge_resolution",
        "tooltip": "Разрешение по длинной стороне объединённой эквидистантной карты расстояний."
      },
      "moge_model": {
        "name": "moge_model"
      },
      "resolution_level": {
        "name": "resolution_level",
        "tooltip": "Детализация для каждого вида (0 = быстрее всего, 9 = максимальная детализация)."
      },
      "split_resolution": {
        "name": "split_resolution",
        "tooltip": "Разрешение каждого перспективного сегмента."
      }
    },
    "outputs": {
      "0": {
        "name": "moge_geometry",
        "tooltip": null
      }
    }
  },
  "MoGePointMapToMesh": {
    "description": "Преобразует карту точек MoGe в 3D-меш.",
    "display_name": "MoGe Point Map to Mesh",
    "inputs": {
      "batch_index": {
        "name": "batch_index",
        "tooltip": "Какое изображение из пакета MoGe геометрии преобразовать в mesh. Количество вершин для каждого изображения различается, поэтому пакеты не могут быть объединены в один MESH."
      },
      "decimation": {
        "name": "decimation",
        "tooltip": "Шаг по вершинам; 1 = полное разрешение."
      },
      "discontinuity_threshold": {
        "name": "discontinuity_threshold",
        "tooltip": "Отбрасывать пиксели, если диапазон глубины 3x3 превышает эту долю. 0 = выкл."
      },
      "moge_geometry": {
        "name": "moge_geometry"
      },
      "texture": {
        "name": "texture",
        "tooltip": "Передавать исходное изображение как текстуру baseColor."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MoGeRender": {
    "description": "Выполняет рендеринг карты глубины или карты нормалей из геометрических данных",
    "display_name": "MoGe Render",
    "inputs": {
      "moge_geometry": {
        "name": "moge_geometry"
      },
      "output": {
        "name": "output",
        "tooltip": "DirectX и OpenGL управляют соглашением о зелёном канале normal-map. DirectX: зелёный = -Y вниз (Unreal). OpenGL: зелёный = +Y вверх (Blender, Substance, Unity, glTF)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ModelComputeDtype": {
    "display_name": "ModelComputeDtype",
    "inputs": {
      "dtype": {
        "name": "dtype"
      },
      "model": {
        "name": "модель"
      }
    }
  },
  "ModelMergeAdd": {
    "display_name": "Слияние моделей",
    "inputs": {
      "model1": {
        "name": "модель1"
      },
      "model2": {
        "name": "модель2"
      }
    }
  },
  "ModelMergeAuraflow": {
    "display_name": "Слияние моделей Auraflow",
    "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": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "positional_encoding": {
        "name": "позиционное кодирование"
      },
      "register_tokens": {
        "name": "регистрация токенов"
      },
      "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": "Слияние блоков моделей",
    "inputs": {
      "input": {
        "name": "вход"
      },
      "middle": {
        "name": "середина"
      },
      "model1": {
        "name": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "out": {
        "name": "выход"
      }
    }
  },
  "ModelMergeCosmos14B": {
    "display_name": "ModelMergeCosmos14B",
    "inputs": {
      "affline_norm_": {
        "name": "affline_norm."
      },
      "blocks_block0_": {
        "name": "blocks.block0."
      },
      "blocks_block10_": {
        "name": "blocks.block10."
      },
      "blocks_block11_": {
        "name": "blocks.block11."
      },
      "blocks_block12_": {
        "name": "blocks.block12."
      },
      "blocks_block13_": {
        "name": "blocks.block13."
      },
      "blocks_block14_": {
        "name": "blocks.block14."
      },
      "blocks_block15_": {
        "name": "blocks.block15."
      },
      "blocks_block16_": {
        "name": "blocks.block16."
      },
      "blocks_block17_": {
        "name": "blocks.block17."
      },
      "blocks_block18_": {
        "name": "blocks.block18."
      },
      "blocks_block19_": {
        "name": "blocks.block19."
      },
      "blocks_block1_": {
        "name": "blocks.block1."
      },
      "blocks_block20_": {
        "name": "blocks.block20."
      },
      "blocks_block21_": {
        "name": "blocks.block21."
      },
      "blocks_block22_": {
        "name": "blocks.block22."
      },
      "blocks_block23_": {
        "name": "blocks.block23."
      },
      "blocks_block24_": {
        "name": "blocks.block24."
      },
      "blocks_block25_": {
        "name": "blocks.block25."
      },
      "blocks_block26_": {
        "name": "blocks.block26."
      },
      "blocks_block27_": {
        "name": "blocks.block27."
      },
      "blocks_block28_": {
        "name": "blocks.block28."
      },
      "blocks_block29_": {
        "name": "blocks.block29."
      },
      "blocks_block2_": {
        "name": "blocks.block2."
      },
      "blocks_block30_": {
        "name": "blocks.block30."
      },
      "blocks_block31_": {
        "name": "blocks.block31."
      },
      "blocks_block32_": {
        "name": "blocks.block32."
      },
      "blocks_block33_": {
        "name": "blocks.block33."
      },
      "blocks_block34_": {
        "name": "blocks.block34."
      },
      "blocks_block35_": {
        "name": "blocks.block35."
      },
      "blocks_block3_": {
        "name": "blocks.block3."
      },
      "blocks_block4_": {
        "name": "blocks.block4."
      },
      "blocks_block5_": {
        "name": "blocks.block5."
      },
      "blocks_block6_": {
        "name": "blocks.block6."
      },
      "blocks_block7_": {
        "name": "blocks.block7."
      },
      "blocks_block8_": {
        "name": "blocks.block8."
      },
      "blocks_block9_": {
        "name": "blocks.block9."
      },
      "extra_pos_embedder_": {
        "name": "extra_pos_embedder."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "model1": {
        "name": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "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": "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": "блоки.25."
      },
      "blocks_26_": {
        "name": "блоки.26."
      },
      "blocks_27_": {
        "name": "блоки.27."
      },
      "blocks_28_": {
        "name": "блоки.28."
      },
      "blocks_29_": {
        "name": "блоки.29."
      },
      "blocks_2_": {
        "name": "blocks.2."
      },
      "blocks_30_": {
        "name": "блоки.30."
      },
      "blocks_31_": {
        "name": "блоки.31."
      },
      "blocks_32_": {
        "name": "блоки.32."
      },
      "blocks_33_": {
        "name": "блоки.33."
      },
      "blocks_34_": {
        "name": "блоки.34."
      },
      "blocks_35_": {
        "name": "блоки.35."
      },
      "blocks_3_": {
        "name": "blocks.3."
      },
      "blocks_4_": {
        "name": "blocks.4."
      },
      "blocks_5_": {
        "name": "blocks.5."
      },
      "blocks_6_": {
        "name": "blocks.6."
      },
      "blocks_7_": {
        "name": "blocks.7."
      },
      "blocks_8_": {
        "name": "blocks.8."
      },
      "blocks_9_": {
        "name": "blocks.9."
      },
      "final_layer_": {
        "name": "финальный_слой."
      },
      "model1": {
        "name": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "pos_embedder_": {
        "name": "pos_embedder."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "t_embedding_norm_": {
        "name": "t_embedding_norm."
      },
      "x_embedder_": {
        "name": "x_embedder."
      }
    }
  },
  "ModelMergeCosmosPredict2_2B": {
    "display_name": "ModelMergeCosmosPredict2_2B",
    "inputs": {
      "blocks_0_": {
        "name": "блоки.0."
      },
      "blocks_10_": {
        "name": "блоки.10."
      },
      "blocks_11_": {
        "name": "блоки.11."
      },
      "blocks_12_": {
        "name": "блоки.12."
      },
      "blocks_13_": {
        "name": "блоки.13."
      },
      "blocks_14_": {
        "name": "блоки.14."
      },
      "blocks_15_": {
        "name": "блоки.15."
      },
      "blocks_16_": {
        "name": "блоки.16."
      },
      "blocks_17_": {
        "name": "блоки.17."
      },
      "blocks_18_": {
        "name": "блоки.18."
      },
      "blocks_19_": {
        "name": "блоки.19."
      },
      "blocks_1_": {
        "name": "блоки.1."
      },
      "blocks_20_": {
        "name": "блоки.20."
      },
      "blocks_21_": {
        "name": "блоки.21."
      },
      "blocks_22_": {
        "name": "блоки.22."
      },
      "blocks_23_": {
        "name": "блоки.23."
      },
      "blocks_24_": {
        "name": "блоки.24."
      },
      "blocks_25_": {
        "name": "блоки.25."
      },
      "blocks_26_": {
        "name": "блоки.26."
      },
      "blocks_27_": {
        "name": "блоки.27."
      },
      "blocks_2_": {
        "name": "блоки.2."
      },
      "blocks_3_": {
        "name": "блоки.3."
      },
      "blocks_4_": {
        "name": "блоки.4."
      },
      "blocks_5_": {
        "name": "блоки.5."
      },
      "blocks_6_": {
        "name": "блоки.6."
      },
      "blocks_7_": {
        "name": "блоки.7."
      },
      "blocks_8_": {
        "name": "блоки.8."
      },
      "blocks_9_": {
        "name": "блоки.9."
      },
      "final_layer_": {
        "name": "финальный_слой."
      },
      "model1": {
        "name": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "pos_embedder_": {
        "name": "pos_embedder."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "t_embedding_norm_": {
        "name": "t_embedding_norm."
      },
      "x_embedder_": {
        "name": "x_embedder."
      }
    }
  },
  "ModelMergeFlux1": {
    "display_name": "Слияние моделей Flux1",
    "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": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "single_blocks_0_": {
        "name": "single_blocks.0."
      },
      "single_blocks_10_": {
        "name": "single_blocks.10."
      },
      "single_blocks_11_": {
        "name": "single_blocks.11."
      },
      "single_blocks_12_": {
        "name": "single_blocks.12."
      },
      "single_blocks_13_": {
        "name": "single_blocks.13."
      },
      "single_blocks_14_": {
        "name": "single_blocks.14."
      },
      "single_blocks_15_": {
        "name": "single_blocks.15."
      },
      "single_blocks_16_": {
        "name": "single_blocks.16."
      },
      "single_blocks_17_": {
        "name": "single_blocks.17."
      },
      "single_blocks_18_": {
        "name": "single_blocks.18."
      },
      "single_blocks_19_": {
        "name": "single_blocks.19."
      },
      "single_blocks_1_": {
        "name": "single_blocks.1."
      },
      "single_blocks_20_": {
        "name": "single_blocks.20."
      },
      "single_blocks_21_": {
        "name": "single_blocks.21."
      },
      "single_blocks_22_": {
        "name": "single_blocks.22."
      },
      "single_blocks_23_": {
        "name": "single_blocks.23."
      },
      "single_blocks_24_": {
        "name": "single_blocks.24."
      },
      "single_blocks_25_": {
        "name": "single_blocks.25."
      },
      "single_blocks_26_": {
        "name": "single_blocks.26."
      },
      "single_blocks_27_": {
        "name": "single_blocks.27."
      },
      "single_blocks_28_": {
        "name": "single_blocks.28."
      },
      "single_blocks_29_": {
        "name": "single_blocks.29."
      },
      "single_blocks_2_": {
        "name": "single_blocks.2."
      },
      "single_blocks_30_": {
        "name": "single_blocks.30."
      },
      "single_blocks_31_": {
        "name": "single_blocks.31."
      },
      "single_blocks_32_": {
        "name": "single_blocks.32."
      },
      "single_blocks_33_": {
        "name": "single_blocks.33."
      },
      "single_blocks_34_": {
        "name": "single_blocks.34."
      },
      "single_blocks_35_": {
        "name": "single_blocks.35."
      },
      "single_blocks_36_": {
        "name": "single_blocks.36."
      },
      "single_blocks_37_": {
        "name": "single_blocks.37."
      },
      "single_blocks_3_": {
        "name": "single_blocks.3."
      },
      "single_blocks_4_": {
        "name": "single_blocks.4."
      },
      "single_blocks_5_": {
        "name": "single_blocks.5."
      },
      "single_blocks_6_": {
        "name": "single_blocks.6."
      },
      "single_blocks_7_": {
        "name": "single_blocks.7."
      },
      "single_blocks_8_": {
        "name": "single_blocks.8."
      },
      "single_blocks_9_": {
        "name": "single_blocks.9."
      },
      "time_in_": {
        "name": "time_in."
      },
      "txt_in_": {
        "name": "txt_in."
      },
      "vector_in_": {
        "name": "vector_in."
      }
    }
  },
  "ModelMergeKrea2": {
    "display_name": "ModelMergeKrea2",
    "inputs": {
      "blocks_0_": {
        "name": "blocks.0."
      },
      "blocks_10_": {
        "name": "blocks.10."
      },
      "blocks_11_": {
        "name": "blocks.11."
      },
      "blocks_12_": {
        "name": "blocks.12."
      },
      "blocks_13_": {
        "name": "blocks.13."
      },
      "blocks_14_": {
        "name": "blocks.14."
      },
      "blocks_15_": {
        "name": "blocks.15."
      },
      "blocks_16_": {
        "name": "blocks.16."
      },
      "blocks_17_": {
        "name": "blocks.17."
      },
      "blocks_18_": {
        "name": "blocks.18."
      },
      "blocks_19_": {
        "name": "blocks.19."
      },
      "blocks_1_": {
        "name": "blocks.1."
      },
      "blocks_20_": {
        "name": "blocks.20."
      },
      "blocks_21_": {
        "name": "blocks.21."
      },
      "blocks_22_": {
        "name": "blocks.22."
      },
      "blocks_23_": {
        "name": "blocks.23."
      },
      "blocks_24_": {
        "name": "blocks.24."
      },
      "blocks_25_": {
        "name": "blocks.25."
      },
      "blocks_26_": {
        "name": "blocks.26."
      },
      "blocks_27_": {
        "name": "blocks.27."
      },
      "blocks_2_": {
        "name": "blocks.2."
      },
      "blocks_3_": {
        "name": "blocks.3."
      },
      "blocks_4_": {
        "name": "blocks.4."
      },
      "blocks_5_": {
        "name": "blocks.5."
      },
      "blocks_6_": {
        "name": "blocks.6."
      },
      "blocks_7_": {
        "name": "blocks.7."
      },
      "blocks_8_": {
        "name": "blocks.8."
      },
      "blocks_9_": {
        "name": "blocks.9."
      },
      "first_": {
        "name": "first."
      },
      "last_": {
        "name": "last."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "tmlp_": {
        "name": "tmlp."
      },
      "tproj_": {
        "name": "tproj."
      },
      "txtfusion_layerwise_blocks_0_": {
        "name": "txtfusion.layerwise_blocks.0."
      },
      "txtfusion_layerwise_blocks_1_": {
        "name": "txtfusion.layerwise_blocks.1."
      },
      "txtfusion_projector_": {
        "name": "txtfusion.projector."
      },
      "txtfusion_refiner_blocks_0_": {
        "name": "txtfusion.refiner_blocks.0."
      },
      "txtfusion_refiner_blocks_1_": {
        "name": "txtfusion.refiner_blocks.1."
      },
      "txtmlp_": {
        "name": "txtmlp."
      }
    }
  },
  "ModelMergeLTXV": {
    "display_name": "Слияние моделей LTXV",
    "inputs": {
      "adaln_single_": {
        "name": "adaln_single."
      },
      "caption_projection_": {
        "name": "caption_projection."
      },
      "model1": {
        "name": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "patchify_proj_": {
        "name": "patchify_proj."
      },
      "proj_out_": {
        "name": "proj_out."
      },
      "scale_shift_table": {
        "name": "scale_shift_table"
      },
      "transformer_blocks_0_": {
        "name": "transformer_blocks.0."
      },
      "transformer_blocks_10_": {
        "name": "transformer_blocks.10."
      },
      "transformer_blocks_11_": {
        "name": "transformer_blocks.11."
      },
      "transformer_blocks_12_": {
        "name": "transformer_blocks.12."
      },
      "transformer_blocks_13_": {
        "name": "transformer_blocks.13."
      },
      "transformer_blocks_14_": {
        "name": "transformer_blocks.14."
      },
      "transformer_blocks_15_": {
        "name": "transformer_blocks.15."
      },
      "transformer_blocks_16_": {
        "name": "transformer_blocks.16."
      },
      "transformer_blocks_17_": {
        "name": "transformer_blocks.17."
      },
      "transformer_blocks_18_": {
        "name": "transformer_blocks.18."
      },
      "transformer_blocks_19_": {
        "name": "transformer_blocks.19."
      },
      "transformer_blocks_1_": {
        "name": "transformer_blocks.1."
      },
      "transformer_blocks_20_": {
        "name": "transformer_blocks.20."
      },
      "transformer_blocks_21_": {
        "name": "transformer_blocks.21."
      },
      "transformer_blocks_22_": {
        "name": "transformer_blocks.22."
      },
      "transformer_blocks_23_": {
        "name": "transformer_blocks.23."
      },
      "transformer_blocks_24_": {
        "name": "transformer_blocks.24."
      },
      "transformer_blocks_25_": {
        "name": "transformer_blocks.25."
      },
      "transformer_blocks_26_": {
        "name": "transformer_blocks.26."
      },
      "transformer_blocks_27_": {
        "name": "transformer_blocks.27."
      },
      "transformer_blocks_2_": {
        "name": "transformer_blocks.2."
      },
      "transformer_blocks_3_": {
        "name": "transformer_blocks.3."
      },
      "transformer_blocks_4_": {
        "name": "transformer_blocks.4."
      },
      "transformer_blocks_5_": {
        "name": "transformer_blocks.5."
      },
      "transformer_blocks_6_": {
        "name": "transformer_blocks.6."
      },
      "transformer_blocks_7_": {
        "name": "transformer_blocks.7."
      },
      "transformer_blocks_8_": {
        "name": "transformer_blocks.8."
      },
      "transformer_blocks_9_": {
        "name": "transformer_blocks.9."
      }
    }
  },
  "ModelMergeMochiPreview": {
    "display_name": "Предварительный просмотр слияния моделей Mochi",
    "inputs": {
      "blocks_0_": {
        "name": "blocks.0."
      },
      "blocks_10_": {
        "name": "blocks.10."
      },
      "blocks_11_": {
        "name": "blocks.11."
      },
      "blocks_12_": {
        "name": "blocks.12."
      },
      "blocks_13_": {
        "name": "blocks.13."
      },
      "blocks_14_": {
        "name": "blocks.14."
      },
      "blocks_15_": {
        "name": "blocks.15."
      },
      "blocks_16_": {
        "name": "blocks.16."
      },
      "blocks_17_": {
        "name": "blocks.17."
      },
      "blocks_18_": {
        "name": "blocks.18."
      },
      "blocks_19_": {
        "name": "blocks.19."
      },
      "blocks_1_": {
        "name": "blocks.1."
      },
      "blocks_20_": {
        "name": "blocks.20."
      },
      "blocks_21_": {
        "name": "blocks.21."
      },
      "blocks_22_": {
        "name": "blocks.22."
      },
      "blocks_23_": {
        "name": "blocks.23."
      },
      "blocks_24_": {
        "name": "blocks.24."
      },
      "blocks_25_": {
        "name": "blocks.25."
      },
      "blocks_26_": {
        "name": "blocks.26."
      },
      "blocks_27_": {
        "name": "blocks.27."
      },
      "blocks_28_": {
        "name": "blocks.28."
      },
      "blocks_29_": {
        "name": "blocks.29."
      },
      "blocks_2_": {
        "name": "blocks.2."
      },
      "blocks_30_": {
        "name": "blocks.30."
      },
      "blocks_31_": {
        "name": "blocks.31."
      },
      "blocks_32_": {
        "name": "blocks.32."
      },
      "blocks_33_": {
        "name": "blocks.33."
      },
      "blocks_34_": {
        "name": "blocks.34."
      },
      "blocks_35_": {
        "name": "blocks.35."
      },
      "blocks_36_": {
        "name": "blocks.36."
      },
      "blocks_37_": {
        "name": "blocks.37."
      },
      "blocks_38_": {
        "name": "blocks.38."
      },
      "blocks_39_": {
        "name": "blocks.39."
      },
      "blocks_3_": {
        "name": "blocks.3."
      },
      "blocks_40_": {
        "name": "blocks.40."
      },
      "blocks_41_": {
        "name": "blocks.41."
      },
      "blocks_42_": {
        "name": "blocks.42."
      },
      "blocks_43_": {
        "name": "blocks.43."
      },
      "blocks_44_": {
        "name": "blocks.44."
      },
      "blocks_45_": {
        "name": "blocks.45."
      },
      "blocks_46_": {
        "name": "blocks.46."
      },
      "blocks_47_": {
        "name": "blocks.47."
      },
      "blocks_4_": {
        "name": "blocks.4."
      },
      "blocks_5_": {
        "name": "blocks.5."
      },
      "blocks_6_": {
        "name": "blocks.6."
      },
      "blocks_7_": {
        "name": "blocks.7."
      },
      "blocks_8_": {
        "name": "blocks.8."
      },
      "blocks_9_": {
        "name": "blocks.9."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "model1": {
        "name": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "pos_frequencies_": {
        "name": "pos_frequencies."
      },
      "t5_y_embedder_": {
        "name": "t5_y_embedder."
      },
      "t5_yproj_": {
        "name": "t5_yproj."
      },
      "t_embedder_": {
        "name": "t_embedder."
      }
    }
  },
  "ModelMergeQwenImage": {
    "display_name": "СлияниеМоделейQwenImage",
    "inputs": {
      "img_in_": {
        "name": "изображение_вход."
      },
      "model1": {
        "name": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "pos_embeds_": {
        "name": "позиционные_эмбеддинги."
      },
      "proj_out_": {
        "name": "proj_out."
      },
      "time_text_embed_": {
        "name": "временной_текст_эмбеддинг."
      },
      "transformer_blocks_0_": {
        "name": "трансформер_блоки.0."
      },
      "transformer_blocks_10_": {
        "name": "трансформер_блоки.10."
      },
      "transformer_blocks_11_": {
        "name": "трансформер_блоки.11."
      },
      "transformer_blocks_12_": {
        "name": "трансформер_блоки.12."
      },
      "transformer_blocks_13_": {
        "name": "трансформер_блоки.13."
      },
      "transformer_blocks_14_": {
        "name": "transformer_blocks.14."
      },
      "transformer_blocks_15_": {
        "name": "transformer_blocks.15."
      },
      "transformer_blocks_16_": {
        "name": "transformer_blocks.16."
      },
      "transformer_blocks_17_": {
        "name": "transformer_blocks.17."
      },
      "transformer_blocks_18_": {
        "name": "transformer_blocks.18."
      },
      "transformer_blocks_19_": {
        "name": "transformer_blocks.19."
      },
      "transformer_blocks_1_": {
        "name": "трансформер_блоки.1."
      },
      "transformer_blocks_20_": {
        "name": "transformer_blocks.20."
      },
      "transformer_blocks_21_": {
        "name": "transformer_blocks.21."
      },
      "transformer_blocks_22_": {
        "name": "transformer_blocks.22."
      },
      "transformer_blocks_23_": {
        "name": "transformer_blocks.23."
      },
      "transformer_blocks_24_": {
        "name": "transformer_blocks.24."
      },
      "transformer_blocks_25_": {
        "name": "transformer_blocks.25."
      },
      "transformer_blocks_26_": {
        "name": "transformer_blocks.26."
      },
      "transformer_blocks_27_": {
        "name": "transformer_blocks.27."
      },
      "transformer_blocks_28_": {
        "name": "transformer_blocks.28."
      },
      "transformer_blocks_29_": {
        "name": "transformer_blocks.29."
      },
      "transformer_blocks_2_": {
        "name": "трансформер_блоки.2."
      },
      "transformer_blocks_30_": {
        "name": "transformer_blocks.30."
      },
      "transformer_blocks_31_": {
        "name": "transformer_blocks.31."
      },
      "transformer_blocks_32_": {
        "name": "transformer_blocks.32."
      },
      "transformer_blocks_33_": {
        "name": "transformer_blocks.33."
      },
      "transformer_blocks_34_": {
        "name": "transformer_blocks.34."
      },
      "transformer_blocks_35_": {
        "name": "transformer_blocks.35."
      },
      "transformer_blocks_36_": {
        "name": "transformer_blocks.36."
      },
      "transformer_blocks_37_": {
        "name": "transformer_blocks.37."
      },
      "transformer_blocks_38_": {
        "name": "transformer_blocks.38."
      },
      "transformer_blocks_39_": {
        "name": "transformer_blocks.39."
      },
      "transformer_blocks_3_": {
        "name": "трансформер_блоки.3."
      },
      "transformer_blocks_40_": {
        "name": "transformer_blocks.40."
      },
      "transformer_blocks_41_": {
        "name": "transformer_blocks.41."
      },
      "transformer_blocks_42_": {
        "name": "transformer_blocks.42."
      },
      "transformer_blocks_43_": {
        "name": "transformer_blocks.43."
      },
      "transformer_blocks_44_": {
        "name": "transformer_blocks.44."
      },
      "transformer_blocks_45_": {
        "name": "transformer_blocks.45."
      },
      "transformer_blocks_46_": {
        "name": "transformer_blocks.46."
      },
      "transformer_blocks_47_": {
        "name": "transformer_blocks.47."
      },
      "transformer_blocks_48_": {
        "name": "transformer_blocks.48."
      },
      "transformer_blocks_49_": {
        "name": "transformer_blocks.49."
      },
      "transformer_blocks_4_": {
        "name": "трансформер_блоки.4."
      },
      "transformer_blocks_50_": {
        "name": "transformer_blocks.50."
      },
      "transformer_blocks_51_": {
        "name": "transformer_blocks.51."
      },
      "transformer_blocks_52_": {
        "name": "transformer_blocks.52."
      },
      "transformer_blocks_53_": {
        "name": "transformer_blocks.53."
      },
      "transformer_blocks_54_": {
        "name": "transformer_blocks.54."
      },
      "transformer_blocks_55_": {
        "name": "transformer_blocks.55."
      },
      "transformer_blocks_56_": {
        "name": "transformer_blocks.56."
      },
      "transformer_blocks_57_": {
        "name": "transformer_blocks.57."
      },
      "transformer_blocks_58_": {
        "name": "transformer_blocks.58."
      },
      "transformer_blocks_59_": {
        "name": "transformer_blocks.59."
      },
      "transformer_blocks_5_": {
        "name": "трансформер_блоки.5."
      },
      "transformer_blocks_6_": {
        "name": "трансформер_блоки.6."
      },
      "transformer_blocks_7_": {
        "name": "трансформер_блоки.7."
      },
      "transformer_blocks_8_": {
        "name": "трансформер_блоки.8."
      },
      "transformer_blocks_9_": {
        "name": "трансформер_блоки.9."
      },
      "txt_in_": {
        "name": "текст_вход."
      },
      "txt_norm_": {
        "name": "текст_нормализация."
      }
    }
  },
  "ModelMergeSD1": {
    "display_name": "Слияние моделей SD1",
    "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": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "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": "Слияние моделей SD2",
    "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": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "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": "Слияние моделей SD35_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": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "pos_embed_": {
        "name": "pos_embed."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "x_embedder_": {
        "name": "x_embedder."
      },
      "y_embedder_": {
        "name": "y_embedder."
      }
    }
  },
  "ModelMergeSD3_2B": {
    "display_name": "Слияние моделей SD3_2B",
    "inputs": {
      "context_embedder_": {
        "name": "context_embedder."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "joint_blocks_0_": {
        "name": "joint_blocks.0."
      },
      "joint_blocks_10_": {
        "name": "joint_blocks.10."
      },
      "joint_blocks_11_": {
        "name": "joint_blocks.11."
      },
      "joint_blocks_12_": {
        "name": "joint_blocks.12."
      },
      "joint_blocks_13_": {
        "name": "joint_blocks.13."
      },
      "joint_blocks_14_": {
        "name": "joint_blocks.14."
      },
      "joint_blocks_15_": {
        "name": "joint_blocks.15."
      },
      "joint_blocks_16_": {
        "name": "joint_blocks.16."
      },
      "joint_blocks_17_": {
        "name": "joint_blocks.17."
      },
      "joint_blocks_18_": {
        "name": "joint_blocks.18."
      },
      "joint_blocks_19_": {
        "name": "joint_blocks.19."
      },
      "joint_blocks_1_": {
        "name": "joint_blocks.1."
      },
      "joint_blocks_20_": {
        "name": "joint_blocks.20."
      },
      "joint_blocks_21_": {
        "name": "joint_blocks.21."
      },
      "joint_blocks_22_": {
        "name": "joint_blocks.22."
      },
      "joint_blocks_23_": {
        "name": "joint_blocks.23."
      },
      "joint_blocks_2_": {
        "name": "joint_blocks.2."
      },
      "joint_blocks_3_": {
        "name": "joint_blocks.3."
      },
      "joint_blocks_4_": {
        "name": "joint_blocks.4."
      },
      "joint_blocks_5_": {
        "name": "joint_blocks.5."
      },
      "joint_blocks_6_": {
        "name": "joint_blocks.6."
      },
      "joint_blocks_7_": {
        "name": "joint_blocks.7."
      },
      "joint_blocks_8_": {
        "name": "joint_blocks.8."
      },
      "joint_blocks_9_": {
        "name": "joint_blocks.9."
      },
      "model1": {
        "name": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "pos_embed_": {
        "name": "pos_embed."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "x_embedder_": {
        "name": "x_embedder."
      },
      "y_embedder_": {
        "name": "y_embedder."
      }
    }
  },
  "ModelMergeSDXL": {
    "display_name": "Слияние моделей SDXL",
    "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": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "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": "Простое слияние моделей",
    "inputs": {
      "model1": {
        "name": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "ratio": {
        "name": "соотношение"
      }
    }
  },
  "ModelMergeSubtract": {
    "display_name": "Вычитание моделей",
    "inputs": {
      "model1": {
        "name": "модель1"
      },
      "model2": {
        "name": "модель2"
      },
      "multiplier": {
        "name": "множитель"
      }
    }
  },
  "ModelMergeWAN2_1": {
    "description": "Модель 1.3B имеет 30 блоков, модель 14B — 40 блоков. Модель для преобразования изображения в видео имеет дополнительный 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": "Масштаб шума модели",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "noise_scale": {
        "name": "масштаб_шума",
        "tooltip": "Абсолютный масштаб шума обучения. Например, HiDream-O1 base: 8.0, dev: 7.5."
      }
    }
  },
  "ModelPatchLoader": {
    "display_name": "ModelPatchLoader",
    "inputs": {
      "name": {
        "name": "название"
      }
    }
  },
  "ModelSamplingAuraFlow": {
    "display_name": "Выборка модели AuraFlow",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "shift": {
        "name": "сдвиг"
      }
    }
  },
  "ModelSamplingContinuousEDM": {
    "display_name": "Выборка модели Continuous EDM",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "sampling": {
        "name": "выборка"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      }
    }
  },
  "ModelSamplingContinuousV": {
    "display_name": "Выборка модели Continuous V",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "sampling": {
        "name": "выборка"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      }
    }
  },
  "ModelSamplingDiscrete": {
    "display_name": "Дискретная выборка модели",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "sampling": {
        "name": "выборка"
      },
      "zsnr": {
        "name": "zsnr"
      }
    }
  },
  "ModelSamplingFlux": {
    "display_name": "Выборка модели Flux",
    "inputs": {
      "base_shift": {
        "name": "базовый_сдвиг"
      },
      "height": {
        "name": "высота"
      },
      "max_shift": {
        "name": "макс_сдвиг"
      },
      "model": {
        "name": "модель"
      },
      "width": {
        "name": "ширина"
      }
    }
  },
  "ModelSamplingLTXV": {
    "display_name": "Выборка модели LTXV",
    "inputs": {
      "base_shift": {
        "name": "базовый_сдвиг"
      },
      "latent": {
        "name": "скрытый"
      },
      "max_shift": {
        "name": "макс_сдвиг"
      },
      "model": {
        "name": "модель"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ModelSamplingSD3": {
    "display_name": "Выборка модели SD3",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "shift": {
        "name": "сдвиг"
      }
    }
  },
  "ModelSamplingStableCascade": {
    "display_name": "Выборка модели Stable Cascade",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "shift": {
        "name": "сдвиг"
      }
    }
  },
  "ModelSave": {
    "display_name": "Сохранить модель",
    "inputs": {
      "filename_prefix": {
        "name": "префикс_названия_файла"
      },
      "model": {
        "name": "модель"
      }
    }
  },
  "Morphology": {
    "display_name": "Морфология изображения",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "kernel_size": {
        "name": "размер_ядра"
      },
      "operation": {
        "name": "операция"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MultiGPU_WorkUnits": {
    "description": "Готовит модель к ускоренной генерации сэмплов путём разделения рабочих единиц.\n\nДолжен размещаться после узлов, которые изменяют сам объект модели, например, compile или attention-switch.\n\nЗа исключением этих случаев, этот узел можно размещать в любом порядке.",
    "display_name": "Мульти-GPU разделение CFG",
    "inputs": {
      "max_gpus": {
        "name": "max_gpus"
      },
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "NAGuidance": {
    "description": "Применяет нормализованное управление вниманием к моделям, позволяя использовать негативные подсказки на distilled/schnell моделях.",
    "display_name": "Нормализованное управление вниманием",
    "inputs": {
      "model": {
        "name": "model",
        "tooltip": "Модель, к которой применяется NAG."
      },
      "nag_alpha": {
        "name": "nag_alpha",
        "tooltip": "Коэффициент смешивания для нормализованного внимания. 1.0 — полная замена, 0.0 — без эффекта."
      },
      "nag_scale": {
        "name": "nag_scale",
        "tooltip": "Коэффициент масштаба управления. Более высокие значения сильнее отдаляют от негативной подсказки."
      },
      "nag_tau": {
        "name": "nag_tau"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Патченная модель с включённым NAG."
      }
    }
  },
  "NormalizeImages": {
    "description": "Нормализует изображения с использованием среднего значения и стандартного отклонения.",
    "display_name": "Нормализовать изображения",
    "inputs": {
      "images": {
        "name": "изображения",
        "tooltip": "Изображение для обработки."
      },
      "mean": {
        "name": "среднее",
        "tooltip": "Среднее значение для нормализации."
      },
      "std": {
        "name": "стандартное отклонение",
        "tooltip": "Стандартное отклонение для нормализации."
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": "Обработанные изображения"
      }
    }
  },
  "NormalizeVideoLatentStart": {
    "description": "Нормализует начальные кадры видео latent, чтобы их среднее значение и стандартное отклонение соответствовали последующим опорным кадрам. Помогает уменьшить различия между начальными кадрами и остальной частью видео.",
    "display_name": "NormalizeVideoLatentStart",
    "inputs": {
      "latent": {
        "name": "latent"
      },
      "reference_frame_count": {
        "name": "reference_frame_count",
        "tooltip": "Количество кадров latent после начальных, используемых в качестве опорных"
      },
      "start_frame_count": {
        "name": "start_frame_count",
        "tooltip": "Количество кадров latent для нормализации, начиная с первого"
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "OpenAIChatConfig": {
    "description": "Позволяет задать расширенные параметры конфигурации для узлов OpenAI Chat.",
    "display_name": "Расширенные настройки OpenAI ChatGPT",
    "inputs": {
      "instructions": {
        "name": "инструкции",
        "tooltip": "Инструкции для модели по генерации ответа"
      },
      "max_output_tokens": {
        "name": "макс_выходные_токены",
        "tooltip": "Верхняя граница количества токенов, которые могут быть сгенерированы для ответа, включая видимые выходные токены"
      },
      "truncation": {
        "name": "усечение",
        "tooltip": "Стратегия усечения для ответа модели. auto: Если контекст этого ответа и предыдущих превышает размер контекстного окна модели, модель усечет ответ, чтобы он поместился в контекстное окно, удаляя элементы ввода в середине разговора. disabled: Если ответ модели превысит размер контекстного окна, запрос завершится ошибкой 400"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIChatNode": {
    "description": "Генерация текстовых ответов от модели OpenAI.",
    "display_name": "OpenAI ChatGPT",
    "inputs": {
      "advanced_options": {
        "name": "расширенные_настройки",
        "tooltip": "Опциональная конфигурация для модели. Принимает входные данные из узла Расширенные настройки чата OpenAI."
      },
      "files": {
        "name": "файлы",
        "tooltip": "Опциональные файлы для использования в качестве контекста для модели. Принимает входные данные из узла Файлы ввода чата OpenAI."
      },
      "images": {
        "name": "изображения",
        "tooltip": "Опциональные изображения для использования в качестве контекста для модели. Чтобы включить несколько изображений, вы можете использовать узел Пакетные изображения."
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель, используемая для генерации ответа"
      },
      "persist_context": {
        "name": "сохранять_контекст",
        "tooltip": "Этот параметр устарел и не оказывает никакого эффекта."
      },
      "prompt": {
        "name": "запрос",
        "tooltip": "Текстовые входные данные для модели, используемые для генерации ответа."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIDalle2": {
    "description": "Генерирует изображения синхронно через конечную точку DALL·E 2 от OpenAI.",
    "display_name": "OpenAI DALL·E 2",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image",
        "tooltip": "Необязательное референсное изображение для редактирования."
      },
      "mask": {
        "name": "mask",
        "tooltip": "Необязательная маска для дорисовки (белые области будут заменены)"
      },
      "n": {
        "name": "n",
        "tooltip": "Сколько изображений сгенерировать"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос для DALL·E"
      },
      "seed": {
        "name": "seed",
        "tooltip": "ещё не реализовано на сервере"
      },
      "size": {
        "name": "size",
        "tooltip": "Размер изображения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIDalle3": {
    "description": "Генерирует изображения синхронно через конечную точку DALL·E 3 от OpenAI.",
    "display_name": "OpenAI DALL·E 3",
    "inputs": {
      "control_after_generate": {
        "name": "дополнительное управление"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос для DALL·E"
      },
      "quality": {
        "name": "качество",
        "tooltip": "Качество изображения"
      },
      "seed": {
        "name": "seed",
        "tooltip": "ещё не реализовано на сервере"
      },
      "size": {
        "name": "размер",
        "tooltip": "Размер изображения"
      },
      "style": {
        "name": "стиль",
        "tooltip": "Яркий стиль заставляет модель создавать более гиперреалистичные и драматичные изображения. Натуральный стиль приводит к более естественным, менее гиперреалистичным изображениям."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIGPTImage1": {
    "description": "Генерирует изображения синхронно через конечную точку OpenAI GPT Image 2.",
    "display_name": "OpenAI GPT Image 2",
    "inputs": {
      "background": {
        "name": "background",
        "tooltip": "Возвращать изображение с фоном или без него"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "custom_height": {
        "name": "custom_height",
        "tooltip": "Используется только если значение «size» — «Custom». Должно быть кратно 16 (только для GPT Image 2)."
      },
      "custom_width": {
        "name": "custom_width",
        "tooltip": "Используется только если значение «size» — «Custom». Должно быть кратно 16 (только для GPT Image 2)."
      },
      "image": {
        "name": "image",
        "tooltip": "Необязательное референсное изображение для редактирования."
      },
      "mask": {
        "name": "mask",
        "tooltip": "Необязательная маска для дорисовки (белые области будут заменены)"
      },
      "model": {
        "name": "model"
      },
      "n": {
        "name": "n",
        "tooltip": "Сколько изображений сгенерировать"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос для GPT Image 2"
      },
      "quality": {
        "name": "quality",
        "tooltip": "Качество изображения, влияет на стоимость и время генерации."
      },
      "seed": {
        "name": "seed",
        "tooltip": "ещё не реализовано на сервере"
      },
      "size": {
        "name": "size",
        "tooltip": "Размер изображения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIGPTImageNodeV2": {
    "description": "Генерирует изображения через конечную точку OpenAI GPT Image.",
    "display_name": "OpenAI GPT Image 2",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "model_background": {
        "name": "background"
      },
      "model_custom_height": {
        "name": "custom_height"
      },
      "model_custom_width": {
        "name": "custom_width"
      },
      "model_quality": {
        "name": "quality"
      },
      "model_size": {
        "name": "size"
      },
      "n": {
        "name": "n",
        "tooltip": "Сколько изображений сгенерировать"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос для GPT Image"
      },
      "seed": {
        "name": "seed",
        "tooltip": "еще не реализовано на сервере"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIInputFiles": {
    "description": "Загружает и подготавливает входные файлы (текст, pdf и т.д.) для включения в качестве входных данных для узла Чат OpenAI. Файлы будут прочитаны моделью OpenAI при генерации ответа. 🛈 СОВЕТ: Может быть объединен в цепочку с другими узлами Входных файлов OpenAI.",
    "display_name": "Файлы ввода OpenAI ChatGPT",
    "inputs": {
      "OPENAI_INPUT_FILES": {
        "name": "OPENAI_INPUT_FILES",
        "tooltip": "Опциональный дополнительный файл(ы) для объединения в пакет с файлом, загруженным из этого узла. Позволяет объединять входные файлы в цепочку, чтобы одно сообщение могло включать несколько входных файлов."
      },
      "file": {
        "name": "файл",
        "tooltip": "Входные файлы для включения в качестве контекста для модели. Пока принимает только текстовые (.txt) и PDF (.pdf) файлы."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIVideoSora2": {
    "description": "Генерация видео и аудио OpenAI.",
    "display_name": "OpenAI Sora - Видео",
    "inputs": {
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "duration": {
        "name": "длительность"
      },
      "image": {
        "name": "изображение"
      },
      "model": {
        "name": "модель"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Направляющий текст; может быть пустым, если присутствует входное изображение."
      },
      "seed": {
        "name": "сид",
        "tooltip": "Сид для определения, должен ли узел перезапускаться; фактические результаты недетерминированы независимо от сида."
      },
      "size": {
        "name": "размер"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenRouterLLMNode": {
    "description": "Генерирует текстовые ответы через OpenRouter. Использует подборку популярных моделей от xAI, DeepSeek, Qwen, Mistral, Z.AI (GLM), Moonshot (Kimi) и Perplexity Sonar.",
    "display_name": "OpenRouter LLM",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель OpenRouter, используемая для генерации ответа."
      },
      "model_reasoning_effort": {
        "name": "reasoning_effort"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый ввод для модели."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для сэмплирования. Установите 0, чтобы пропустить. Большинство моделей воспринимают это только как подсказку."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Базовые инструкции, определяющие поведение модели."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpticalFlowLoader": {
    "display_name": "Загрузка модели оптического потока",
    "inputs": {
      "model_name": {
        "name": "model_name",
        "tooltip": "Модель оптического потока для загрузки. Файлы должны быть размещены в папке 'optical_flow'. В настоящее время поддерживается только raft_large.pth из torchvision."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OptimalStepsScheduler": {
    "display_name": "OptimalStepsScheduler",
    "inputs": {
      "denoise": {
        "name": "шумоподавление"
      },
      "model_type": {
        "name": "model_type"
      },
      "steps": {
        "name": "шаги"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Painter": {
    "display_name": "Painter",
    "inputs": {
      "bg_color": {
        "name": "цвет_фона"
      },
      "height": {
        "name": "высота"
      },
      "image": {
        "name": "изображение",
        "tooltip": "Необязательное базовое изображение для рисования поверх"
      },
      "mask": {
        "name": "mask"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "PairConditioningCombine": {
    "display_name": "Объединение пар кондиционирования",
    "inputs": {
      "negative_A": {
        "name": "отрицательный_A"
      },
      "negative_B": {
        "name": "отрицательный_B"
      },
      "positive_A": {
        "name": "положительный_A"
      },
      "positive_B": {
        "name": "положительный_B"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный"
      },
      "1": {
        "name": "отрицательный"
      }
    }
  },
  "PairConditioningSetDefaultCombine": {
    "display_name": "Установить значение по умолчанию для объединения пар кондиционирования",
    "inputs": {
      "hooks": {
        "name": "хуки"
      },
      "negative": {
        "name": "отрицательный"
      },
      "negative_DEFAULT": {
        "name": "отрицательный_ПО_УМОЛЧАНИЮ"
      },
      "positive": {
        "name": "положительный"
      },
      "positive_DEFAULT": {
        "name": "положительный_ПО_УМОЛЧАНИЮ"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный"
      },
      "1": {
        "name": "отрицательный"
      }
    }
  },
  "PairConditioningSetProperties": {
    "display_name": "Установить свойства пар кондиционирования",
    "inputs": {
      "hooks": {
        "name": "хуки"
      },
      "mask": {
        "name": "маска"
      },
      "negative_NEW": {
        "name": "отрицательный_НОВЫЙ"
      },
      "positive_NEW": {
        "name": "положительный_НОВЫЙ"
      },
      "set_cond_area": {
        "name": "установить_область_условия"
      },
      "strength": {
        "name": "сила"
      },
      "timesteps": {
        "name": "временные_шаги"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный"
      },
      "1": {
        "name": "отрицательный"
      }
    }
  },
  "PairConditioningSetPropertiesAndCombine": {
    "display_name": "Установить свойства пар кондиционирования и объединить",
    "inputs": {
      "hooks": {
        "name": "хуки"
      },
      "mask": {
        "name": "маска"
      },
      "negative": {
        "name": "отрицательный"
      },
      "negative_NEW": {
        "name": "отрицательный_НОВЫЙ"
      },
      "positive": {
        "name": "положительный"
      },
      "positive_NEW": {
        "name": "положительный_НОВЫЙ"
      },
      "set_cond_area": {
        "name": "установить_область_условия"
      },
      "strength": {
        "name": "сила"
      },
      "timesteps": {
        "name": "временные_шаги"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный"
      },
      "1": {
        "name": "отрицательный"
      }
    }
  },
  "PatchModelAddDownscale": {
    "display_name": "Добавить уменьшение модели патча (Kohya Deep Shrink)",
    "inputs": {
      "block_number": {
        "name": "номер_блока"
      },
      "downscale_after_skip": {
        "name": "уменьшение_после_пропуска"
      },
      "downscale_factor": {
        "name": "коэффициент_уменьшения"
      },
      "downscale_method": {
        "name": "метод_уменьшения"
      },
      "end_percent": {
        "name": "конечный_процент"
      },
      "model": {
        "name": "модель"
      },
      "start_percent": {
        "name": "начальный_процент"
      },
      "upscale_method": {
        "name": "метод_увеличения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerpNeg": {
    "display_name": "PerpNeg (УСТАРЕЛО из-за PerpNegGuider)",
    "inputs": {
      "empty_conditioning": {
        "name": "пустое_условие"
      },
      "model": {
        "name": "модель"
      },
      "neg_scale": {
        "name": "масштаб_отриц"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerpNegGuider": {
    "display_name": "PerpNegGuider",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "empty_conditioning": {
        "name": "пустое_условие"
      },
      "model": {
        "name": "модель"
      },
      "neg_scale": {
        "name": "масштаб_отриц"
      },
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerturbedAttentionGuidance": {
    "display_name": "Направление с учётом возмущений",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "scale": {
        "name": "масштаб"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PhotoMakerEncode": {
    "display_name": "Кодирование PhotoMaker",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "изображение"
      },
      "photomaker": {
        "name": "photomaker"
      },
      "text": {
        "name": "текст"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PhotoMakerLoader": {
    "display_name": "Загрузчик PhotoMaker",
    "inputs": {
      "photomaker_model_name": {
        "name": "название_модели_photomaker"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PiDConditioning": {
    "description": "Прикрепляет latent и скаляр degrade_sigma к CONDITIONING для декодирования/апскейлинга PiD",
    "display_name": "PiD Conditioning",
    "inputs": {
      "degrade_sigma": {
        "name": "degrade_sigma",
        "tooltip": "0 = чистый latent. Увеличьте значение для удаления шума с поврежденных выходов latent."
      },
      "latent": {
        "name": "latent",
        "tooltip": "latent (из VAEEncode или KSampler)."
      },
      "latent_format": {
        "name": "latent_format",
        "tooltip": "Latents Flux1 и Flux2 определяются автоматически по размерности каналов, sd3 нужно выбирать вручную."
      },
      "positive": {
        "name": "positive"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseImageToVideoNode": {
    "description": "Синхронно генерирует видео на основе запроса и размера вывода.",
    "display_name": "PixVerse: изображение в видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "duration_seconds": {
        "name": "длительность_секунды"
      },
      "image": {
        "name": "изображение"
      },
      "motion_mode": {
        "name": "режим движения"
      },
      "negative_prompt": {
        "name": "негативный промпт",
        "tooltip": "Необязательное текстовое описание нежелательных элементов на изображении."
      },
      "pixverse_template": {
        "name": "pixverse_template",
        "tooltip": "Необязательный шаблон для влияния на стиль генерации, созданный узлом PixVerse Template."
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Промпт для генерации видео"
      },
      "quality": {
        "name": "качество"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для генерации видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseTemplateNode": {
    "display_name": "Шаблон PixVerse",
    "inputs": {
      "template": {
        "name": "шаблон"
      }
    },
    "outputs": {
      "0": {
        "name": "pixverse_template",
        "tooltip": null
      }
    }
  },
  "PixverseTextToVideoNode": {
    "description": "Синхронно генерирует видео на основе запроса и размера вывода.",
    "display_name": "PixVerse: текст в видео",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration_seconds": {
        "name": "duration_seconds"
      },
      "motion_mode": {
        "name": "motion_mode"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Необязательное текстовое описание нежелательных элементов на изображении."
      },
      "pixverse_template": {
        "name": "pixverse_template",
        "tooltip": "Необязательный шаблон для влияния на стиль генерации, созданный узлом PixVerse Template."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Запрос для генерации видео"
      },
      "quality": {
        "name": "quality"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для генерации видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseTransitionVideoNode": {
    "description": "Синхронно генерирует видео на основе запроса и размера вывода.",
    "display_name": "PixVerse Переходное Видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "duration_seconds": {
        "name": "длительность (секунды)"
      },
      "first_frame": {
        "name": "первый кадр"
      },
      "last_frame": {
        "name": "последний кадр"
      },
      "motion_mode": {
        "name": "режим движения"
      },
      "negative_prompt": {
        "name": "негативный промпт",
        "tooltip": "Необязательное текстовое описание нежелательных элементов на изображении."
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Промпт для генерации видео"
      },
      "quality": {
        "name": "качество"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для генерации видео."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PolyexponentialScheduler": {
    "display_name": "Полиэкспоненциальный scheduler",
    "inputs": {
      "rho": {
        "name": "ро"
      },
      "sigma_max": {
        "name": "макс_сигма"
      },
      "sigma_min": {
        "name": "мин_сигма"
      },
      "steps": {
        "name": "шаги"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PorterDuffImageComposite": {
    "display_name": "Составное изображение Портера-Даффа",
    "inputs": {
      "destination": {
        "name": "назначение"
      },
      "destination_alpha": {
        "name": "альфа_назначения"
      },
      "mode": {
        "name": "режим"
      },
      "source": {
        "name": "источник"
      },
      "source_alpha": {
        "name": "альфа_источника"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "Preview3D": {
    "description": "Просмотр 3D-модели без сохранения в выходной каталог ComfyUI.",
    "display_name": "Предварительный просмотр 3D",
    "inputs": {
      "bg_image": {
        "name": "bg_image"
      },
      "camera_info": {
        "name": "информация_камеры"
      },
      "image": {
        "name": "изображение"
      },
      "model_file": {
        "name": "файл_модели",
        "tooltip": "Файл 3D-модели или строка пути"
      }
    }
  },
  "Preview3DAdvanced": {
    "description": "Просмотр 3D-модели без сохранения в выходной каталог ComfyUI.",
    "display_name": "Просмотр 3D (расширенный)",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "3D-модель",
        "tooltip": "Файл 3D-модели из предыдущего 3D-узла."
      },
      "model_3d_info": {
        "name": "model_3d_info"
      },
      "viewport_state": {
        "name": "состояние области просмотра"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      },
      "1": {
        "name": "camera_info",
        "tooltip": null
      },
      "2": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "PreviewAny": {
    "description": "Просмотр любого входного значения в виде текста.",
    "display_name": "Предпросмотр любого",
    "inputs": {
      "preview_mode": {},
      "preview_text": {},
      "source": {
        "name": "источник"
      }
    }
  },
  "PreviewAudio": {
    "description": "Прослушать аудио без сохранения в выходной каталог ComfyUI.",
    "display_name": "Предварительное прослушивание аудио",
    "inputs": {
      "audio": {
        "name": "аудио"
      },
      "audioUI": {
        "name": "audioUI"
      }
    },
    "outputs": {
      "0": {
        "name": "аудио",
        "tooltip": null
      }
    }
  },
  "PreviewGaussianSplat": {
    "description": "Просмотр 3D-файла gaussian splat без сохранения в выходной каталог ComfyUI.",
    "display_name": "Предпросмотр Splat",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Файл 3D gaussian splat."
      },
      "model_3d_info": {
        "name": "model_3d_info"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "PreviewImage": {
    "description": "Сохраняет входные изображения в вашу директорию вывода ComfyUI.",
    "display_name": "Предварительный просмотр изображения",
    "inputs": {
      "images": {
        "name": "изображения"
      }
    },
    "outputs": {
      "0": {
        "name": "изображения"
      }
    }
  },
  "PreviewPointCloud": {
    "description": "Просмотр 3D-файла облака точек без сохранения в выходной каталог ComfyUI.",
    "display_name": "Предпросмотр облака точек",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Файл облака точек (.ply)"
      },
      "model_3d_info": {
        "name": "model_3d_info"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "PrimitiveBoolean": {
    "display_name": "Булево значение",
    "inputs": {
      "value": {
        "name": "значение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveBoundingBox": {
    "display_name": "Границы (Bounding Box)",
    "inputs": {
      "height": {
        "name": "высота"
      },
      "width": {
        "name": "ширина"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveFloat": {
    "display_name": "Число с плавающей запятой",
    "inputs": {
      "value": {
        "name": "значение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveInt": {
    "display_name": "Int",
    "inputs": {
      "fixed": {
        "name": "контроль после генерации"
      },
      "value": {
        "name": "значение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveString": {
    "display_name": "Строка",
    "inputs": {
      "value": {
        "name": "значение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveStringMultiline": {
    "display_name": "Строка (многострочная)",
    "inputs": {
      "value": {
        "name": "значение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QuadrupleCLIPLoader": {
    "description": "[Рецепты]\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": "Векторизация растрового изображения в SVG с помощью Quiver AI.",
    "display_name": "Quiver Image to SVG",
    "inputs": {
      "auto_crop": {
        "name": "auto_crop",
        "tooltip": "Автоматически обрезать по доминирующему объекту."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image",
        "tooltip": "Входное изображение для векторизации."
      },
      "model": {
        "name": "model",
        "tooltip": "Модель для векторизации 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": "Сид для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QuiverTextToSVGNode": {
    "description": "Генерация SVG по текстовому запросу с помощью Quiver AI.",
    "display_name": "Quiver Text to SVG",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "instructions": {
        "name": "instructions",
        "tooltip": "Дополнительные рекомендации по стилю или форматированию."
      },
      "model": {
        "name": "model",
        "tooltip": "Модель для генерации SVG."
      },
      "model_presence_penalty": {
        "name": "presence_penalty"
      },
      "model_temperature": {
        "name": "temperature"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание желаемого SVG-результата."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "До 4 референсных изображений для направления генерации."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QwenImageDiffsynthControlnet": {
    "display_name": "QwenImageDiffsynthControlnet",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "mask": {
        "name": "маска"
      },
      "model": {
        "name": "модель"
      },
      "model_patch": {
        "name": "патч_модели"
      },
      "strength": {
        "name": "интенсивность"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "RTDETR_detect": {
    "display_name": "RT-DETR Обнаружение",
    "inputs": {
      "class_name": {
        "name": "class_name",
        "tooltip": "Фильтровать обнаружения по классу. Установите 'all', чтобы отключить фильтрацию."
      },
      "image": {
        "name": "image"
      },
      "max_detections": {
        "name": "max_detections",
        "tooltip": "Максимальное количество обнаружений на изображение. В порядке убывания оценки уверенности."
      },
      "model": {
        "name": "model"
      },
      "threshold": {
        "name": "threshold"
      }
    },
    "outputs": {
      "0": {
        "name": "bboxes",
        "tooltip": null
      }
    }
  },
  "RandomCropImages": {
    "description": "Случайным образом обрезает изображение до указанных размеров.",
    "display_name": "Случайное кадрирование изображений",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "height": {
        "name": "height",
        "tooltip": "Высота кадра."
      },
      "images": {
        "name": "images",
        "tooltip": "Изображение для обработки."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно."
      },
      "width": {
        "name": "width",
        "tooltip": "Ширина кадра."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Обработанные изображения"
      }
    }
  },
  "RandomNoise": {
    "display_name": "Случайный шум",
    "inputs": {
      "control_after_generate": {
        "name": "контроль_после_генерации"
      },
      "noise_seed": {
        "name": "сид_шума"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RebatchImages": {
    "display_name": "Перепаковать изображения",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "images": {
        "name": "изображения"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RebatchLatents": {
    "display_name": "Перепаковать латенты",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "latents": {
        "name": "латенты"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecordAudio": {
    "display_name": "Запись аудио",
    "inputs": {
      "audio": {
        "name": "аудио"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftColorRGB": {
    "description": "Создайте Recraft Color, выбрав определённые значения RGB.",
    "display_name": "Recraft Color RGB",
    "inputs": {
      "b": {
        "name": "b",
        "tooltip": "Значение синего цвета."
      },
      "g": {
        "name": "g",
        "tooltip": "Значение зелёного цвета."
      },
      "r": {
        "name": "r",
        "tooltip": "Значение красного цвета."
      },
      "recraft_color": {
        "name": "recraft_color"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_color",
        "tooltip": null
      }
    }
  },
  "RecraftControls": {
    "description": "Создайте Recraft Controls для настройки генерации Recraft.",
    "display_name": "Recraft Controls",
    "inputs": {
      "background_color": {
        "name": "background_color"
      },
      "colors": {
        "name": "colors"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_controls",
        "tooltip": null
      }
    }
  },
  "RecraftCreateStyleNode": {
    "description": "Создайте пользовательский стиль на основе референсных изображений. Загрузите 1–5 изображений для использования в качестве референсов стиля. Общий размер всех изображений ограничен 5 МБ.",
    "display_name": "Recraft Создать стиль",
    "inputs": {
      "images": {
        "name": "изображения"
      },
      "style": {
        "name": "стиль",
        "tooltip": "Базовый стиль сгенерированных изображений."
      }
    },
    "outputs": {
      "0": {
        "name": "style_id",
        "tooltip": null
      }
    }
  },
  "RecraftCreativeUpscaleNode": {
    "description": "Масштабирует изображение синхронно.\nУлучшает заданное растровое изображение с помощью инструмента «creative upscale», повышая разрешение с акцентом на детализацию мелких элементов и лиц.",
    "display_name": "Recraft Creative Upscale Image",
    "inputs": {
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftCrispUpscaleNode": {
    "description": "Увеличивает изображение синхронно.\nУлучшает заданное растровое изображение с помощью инструмента «четкое увеличение», повышая разрешение, делая изображение более резким и чистым.",
    "display_name": "Recraft Четкое Увеличение Изображения",
    "inputs": {
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftImageInpaintingNode": {
    "description": "Изменить изображение на основе запроса и маски.",
    "display_name": "Восстановление изображения Recraft",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "image": {
        "name": "изображение"
      },
      "mask": {
        "name": "mask"
      },
      "n": {
        "name": "n",
        "tooltip": "Количество изображений для генерации."
      },
      "negative_prompt": {
        "name": "негативный запрос",
        "tooltip": "Необязательное текстовое описание нежелательных элементов на изображении."
      },
      "prompt": {
        "name": "запрос",
        "tooltip": "Запрос для генерации изображения."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftImageToImageNode": {
    "description": "Изменить изображение на основе запроса и степени изменения.",
    "display_name": "Recraft: Изображение в изображение",
    "inputs": {
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "image": {
        "name": "изображение"
      },
      "n": {
        "name": "n",
        "tooltip": "Количество изображений для генерации."
      },
      "negative_prompt": {
        "name": "негативный запрос",
        "tooltip": "Необязательное текстовое описание нежелательных элементов на изображении."
      },
      "prompt": {
        "name": "запрос",
        "tooltip": "Запрос для генерации изображения."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Необязательные дополнительные параметры управления генерацией через узел Recraft Controls."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от seed."
      },
      "strength": {
        "name": "степень изменения",
        "tooltip": "Определяет различие с оригинальным изображением, должно быть в диапазоне [0, 1], где 0 — почти идентично, а 1 — минимальное сходство."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftRemoveBackgroundNode": {
    "description": "Удаляет фон с изображения и возвращает обработанное изображение и маску.",
    "display_name": "Recraft Remove Background",
    "inputs": {
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "RecraftReplaceBackgroundNode": {
    "description": "Заменить фон на изображении на основе заданного промпта.",
    "display_name": "Recraft Замена Фона",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "image": {
        "name": "изображение"
      },
      "n": {
        "name": "n",
        "tooltip": "Количество изображений для генерации."
      },
      "negative_prompt": {
        "name": "негативный_промпт",
        "tooltip": "Необязательное текстовое описание нежелательных элементов на изображении."
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Промпт для генерации изображения."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты недетерминированы независимо от сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3DigitalIllustration": {
    "description": "Выберите стиль realistic_image и необязательный подстиль.",
    "display_name": "Recraft Стиль - Цифровая иллюстрация",
    "inputs": {
      "substyle": {
        "name": "подстиль"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3InfiniteStyleLibrary": {
    "description": "Выберите стиль на основе существующего UUID из Infinite Style Library Recraft.",
    "display_name": "Recraft Style - Infinite Style Library",
    "inputs": {
      "style_id": {
        "name": "style_id",
        "tooltip": "UUID стиля из Infinite Style Library."
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3LogoRaster": {
    "description": "Выберите стиль realistic_image и дополнительный подстиль (опционально).",
    "display_name": "Recraft Style - Логотип Растр",
    "inputs": {
      "substyle": {
        "name": "подстиль"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3RealisticImage": {
    "description": "Выберите стиль realistic_image и необязательный подстиль.",
    "display_name": "Recraft Style - Реалистичное изображение",
    "inputs": {
      "substyle": {
        "name": "подстиль"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftTextToImageNode": {
    "description": "Синхронно генерирует изображения на основе запроса и разрешения.",
    "display_name": "Recraft: текст в изображение",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "n": {
        "name": "n",
        "tooltip": "Количество изображений для генерации."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Необязательное текстовое описание нежелательных элементов на изображении."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Запрос для генерации изображения."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Необязательные дополнительные параметры управления генерацией через узел Recraft Controls."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты не являются детерминированными независимо от сида."
      },
      "size": {
        "name": "size",
        "tooltip": "Размер сгенерированного изображения."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftTextToVectorNode": {
    "description": "Синхронно генерирует SVG на основе запроса и разрешения.",
    "display_name": "Recraft: Текст в вектор",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "n": {
        "name": "n",
        "tooltip": "Количество изображений для генерации."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Необязательное текстовое описание нежелательных элементов на изображении."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Запрос для генерации изображения."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Необязательные дополнительные параметры управления генерацией через узел Recraft Controls."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты не являются детерминированными независимо от сида."
      },
      "size": {
        "name": "size",
        "tooltip": "Размер сгенерированного изображения."
      },
      "substyle": {
        "name": "substyle"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftV4TextToImageNode": {
    "description": "Генерирует изображения с помощью моделей Recraft V4 или V4 Pro.",
    "display_name": "Recraft V4: текст в изображение",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель, используемая для генерации."
      },
      "model_size": {
        "name": "size"
      },
      "n": {
        "name": "n",
        "tooltip": "Количество изображений для генерации."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Необязательное текстовое описание нежелательных элементов на изображении."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Подсказка для генерации изображения. Максимум 10 000 символов."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Необязательные дополнительные параметры управления генерацией через узел Recraft Controls."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты не детерминированы независимо от сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftV4TextToVectorNode": {
    "description": "Генерирует SVG с помощью моделей Recraft V4 или V4 Pro.",
    "display_name": "Recraft V4: текст в вектор",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель, используемая для генерации."
      },
      "model_size": {
        "name": "size"
      },
      "n": {
        "name": "n",
        "tooltip": "Количество изображений для генерации."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Необязательное текстовое описание нежелательных элементов на изображении."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Подсказка для генерации изображения. Максимум 10 000 символов."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Необязательные дополнительные параметры управления генерацией через узел Recraft Controls."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для определения необходимости повторного запуска узла; фактические результаты не детерминированы независимо от сида."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftVectorizeImageNode": {
    "description": "Генерирует SVG синхронно из входного изображения.",
    "display_name": "Recraft Векторизация Изображения",
    "inputs": {
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReferenceLatent": {
    "description": "Этот узел устанавливает направляющий латент для модели редактирования. Если модель поддерживает это, вы можете объединить несколько узлов для установки нескольких эталонных изображений.",
    "display_name": "Эталонный латент",
    "inputs": {
      "conditioning": {
        "name": "кондиционирование"
      },
      "latent": {
        "name": "латент"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReferenceTimbreAudio": {
    "description": "Этот узел задаёт эталонное аудио для тембра (для ace step 1.5)",
    "display_name": "ReferenceTimbreAudio",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "latent": {
        "name": "latent"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RegexExtract": {
    "display_name": "Извлечение по регулярному выражению",
    "inputs": {
      "case_insensitive": {
        "name": "без_учета_регистра"
      },
      "dotall": {
        "name": "dotall"
      },
      "group_index": {
        "name": "индекс_группы"
      },
      "mode": {
        "name": "режим"
      },
      "multiline": {
        "name": "многострочный"
      },
      "regex_pattern": {
        "name": "регулярное_выражение"
      },
      "string": {
        "name": "строка"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RegexMatch": {
    "display_name": "Совпадение по регулярному выражению",
    "inputs": {
      "case_insensitive": {
        "name": "без_учета_регистра"
      },
      "dotall": {
        "name": "dotall"
      },
      "multiline": {
        "name": "многострочный"
      },
      "regex_pattern": {
        "name": "регулярное_выражение"
      },
      "string": {
        "name": "строка"
      }
    },
    "outputs": {
      "0": {
        "name": "совпадения",
        "tooltip": null
      }
    }
  },
  "RegexReplace": {
    "description": "Поиск и замена текста с использованием регулярных выражений.",
    "display_name": "Замена по регулярному выражению",
    "inputs": {
      "case_insensitive": {
        "name": "без_учета_регистра"
      },
      "count": {
        "name": "количество",
        "tooltip": "Максимальное количество замен для выполнения. Установите 0 для замены всех вхождений (по умолчанию). Установите 1 для замены только первого совпадения, 2 для первых двух совпадений и т.д."
      },
      "dotall": {
        "name": "dotall",
        "tooltip": "Если включено, символ точки (.) будет соответствовать любому символу, включая символы новой строки. Если отключено, точки не будут соответствовать символам новой строки."
      },
      "multiline": {
        "name": "многострочный"
      },
      "regex_pattern": {
        "name": "регулярное_выражение"
      },
      "replace": {
        "name": "замена"
      },
      "string": {
        "name": "строка"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RemoveBackground": {
    "description": "Генерирует маску переднего плана для удаления фона с изображения с помощью модели удаления фона.",
    "display_name": "Удалить фон",
    "inputs": {
      "bg_removal_model": {
        "name": "bg_removal_model",
        "tooltip": "Модель удаления фона, используемая для создания маски"
      },
      "image": {
        "name": "изображение",
        "tooltip": "Входное изображение для удаления фона"
      }
    },
    "outputs": {
      "0": {
        "name": "mask",
        "tooltip": "Сгенерированная маска переднего плана"
      }
    }
  },
  "RenderSplat": {
    "description": "Визуализируйте гауссовский splat как изображение с анизотропным EWA-растеризатором (ориентированные эллиптические splat'ы, сглаженные, сортировка по глубине спереди назад). Камера берется из входа camera_info (Load / Preview 3D или узел Create Camera Info); оставьте пустым для автоматического кадрирования splat'а. Установите frames больше 1 для пакетной визуализации с поворотом (turntable), чтобы передать изображения в Video-узел.",
    "display_name": "Рендер Splat",
    "inputs": {
      "background": {
        "name": "фон"
      },
      "bg_image": {
        "name": "фон. изображение",
        "tooltip": "Необязательная фоновая пластина, компонуемая позади splat'а (заменяет сплошной цвет фона). Масштабируется под размер рендера; пакет используется для каждого кадра, одно изображение — для всех. Только для color/clay."
      },
      "camera_info": {
        "name": "camera_info",
        "tooltip": "Камера для рендера — камера Load3D / Preview3D или узел Create Camera Info. Если пусто, splat будет автоматически кадрирован с вида 3/4 по умолчанию."
      },
      "frames": {
        "name": "кадры",
        "tooltip": "-1, 0, 1 = одиночное статичное изображение; >1 = поворотная анимация, камера вращается на полный круг 360° (работает с любым camera_info). Отрицательное значение вращает в другую сторону."
      },
      "headlight_shading": {
        "name": "освещение от камеры",
        "tooltip": "Диффузное освещение от источника света в позиции камеры (headlight), используя нормали splat'ов: затемняет поверхности, отворачивающиеся от взгляда, чтобы подчеркнуть форму/кривизну. 0 = плоский альбедо, 1 = максимальное затенение."
      },
      "height": {
        "name": "высота"
      },
      "opacity_threshold": {
        "name": "порог непрозрачности",
        "tooltip": "Отсечь гауссианы с непрозрачностью ниже этого значения (удаляет слабые плавающие splat'ы)."
      },
      "render_style": {
        "name": "стиль рендера",
        "tooltip": "Что будет показано на выходном изображении: color (цвет), clay (нейтральное альбедо с затенением), depth (ближе = светлее), normal (OpenGL normal map)."
      },
      "sharpen": {
        "name": "резкость",
        "tooltip": "Увеличить резкость перекрывающихся splat'ов: 1.0 = физически корректное смешивание; больше — смещает каждый пиксель к доминирующему (ближайшему) splat'у для более четкой текстуры, не уменьшая splat'ы и не создавая разрывов. Не физически корректно при значениях выше 1."
      },
      "splat": {
        "name": "splat"
      },
      "splat_scale": {
        "name": "масштаб splat",
        "tooltip": "Множитель для проецируемой площади каждого splat'а (меньше = более четкие точки, больше = мягче/плотнее поверхность)."
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "изображение",
        "tooltip": null
      },
      "1": {
        "name": "маска",
        "tooltip": null
      }
    }
  },
  "RenormCFG": {
    "display_name": "RenormCFG",
    "inputs": {
      "cfg_trunc": {
        "name": "cfg_trunc"
      },
      "model": {
        "name": "модель"
      },
      "renorm_cfg": {
        "name": "renorm_cfg"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RepeatImageBatch": {
    "display_name": "Повторить партию изображений",
    "inputs": {
      "amount": {
        "name": "количество"
      },
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RepeatLatentBatch": {
    "display_name": "Повторить партию латентов",
    "inputs": {
      "amount": {
        "name": "количество"
      },
      "samples": {
        "name": "образцы"
      }
    }
  },
  "ReplaceText": {
    "display_name": "Заменить текст",
    "inputs": {
      "find": {
        "name": "find",
        "tooltip": "Текст для поиска."
      },
      "replace": {
        "name": "replace",
        "tooltip": "Текст для замены."
      },
      "texts": {
        "name": "texts",
        "tooltip": "Текст для обработки."
      }
    },
    "outputs": {
      "0": {
        "name": "texts",
        "tooltip": "Обработанные тексты"
      }
    }
  },
  "ReplaceVideoLatentFrames": {
    "display_name": "Заменить кадры видео latent",
    "inputs": {
      "destination": {
        "name": "destination",
        "tooltip": "Latent-назначение, в который будут заменены кадры."
      },
      "index": {
        "name": "index",
        "tooltip": "Начальный индекс кадра latent в latent-назначении, куда будут вставлены кадры из источника. Отрицательные значения считаются с конца."
      },
      "source": {
        "name": "source",
        "tooltip": "Latent-источник, предоставляющий кадры для вставки в latent-назначение. Если не указано, latent-назначение возвращается без изменений."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RescaleCFG": {
    "display_name": "Масштабировать CFG",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "multiplier": {
        "name": "множитель"
      }
    }
  },
  "ResizeAndPadImage": {
    "display_name": "Изменение размера и заполнение изображения",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "interpolation": {
        "name": "интерполяция"
      },
      "padding_color": {
        "name": "цвет_заполнения"
      },
      "target_height": {
        "name": "целевая_высота"
      },
      "target_width": {
        "name": "целевая_ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ResizeImageMaskNode": {
    "description": "Изменить размер изображения или mask с помощью различных методов масштабирования.",
    "display_name": "Изменить размер изображения/маски",
    "inputs": {
      "input": {
        "name": "input"
      },
      "resize_type": {
        "name": "resize_type",
        "tooltip": "Выберите способ изменения размера: по точным размерам, коэффициенту масштабирования, подгонке под другое изображение и т.д."
      },
      "resize_type_crop": {
        "name": "обрезка"
      },
      "resize_type_height": {
        "name": "высота"
      },
      "resize_type_width": {
        "name": "ширина"
      },
      "scale_method": {
        "name": "scale_method",
        "tooltip": "Алгоритм интерполяции. 'area' лучше всего подходит для уменьшения, 'lanczos' — для увеличения, 'nearest-exact' — для пиксель-арта."
      }
    },
    "outputs": {
      "0": {
        "name": "resized",
        "tooltip": null
      }
    }
  },
  "ResizeImagesByLongerEdge": {
    "description": "Изменяет размер изображений так, чтобы длинная сторона соответствовала указанному размеру с сохранением пропорций.",
    "display_name": "Изменить размер изображений по длинной стороне",
    "inputs": {
      "images": {
        "name": "images",
        "tooltip": "Изображение для обработки."
      },
      "longer_edge": {
        "name": "longer_edge",
        "tooltip": "Целевая длина для длинной стороны."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Обработанные изображения"
      }
    }
  },
  "ResizeImagesByShorterEdge": {
    "description": "Изменяет размер изображений так, чтобы короткая сторона соответствовала указанному размеру с сохранением пропорций.",
    "display_name": "Изменить размер изображений по короткой стороне",
    "inputs": {
      "images": {
        "name": "images",
        "tooltip": "Изображение для обработки."
      },
      "shorter_edge": {
        "name": "shorter_edge",
        "tooltip": "Целевая длина для короткой стороны."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Обработанные изображения"
      }
    }
  },
  "ResolutionBucket": {
    "description": "Группирует латенты и условия в корзины",
    "display_name": "Группировка по разрешению",
    "inputs": {
      "conditioning": {
        "name": "conditioning",
        "tooltip": "Список списков условий (должен соответствовать длине latents)."
      },
      "latents": {
        "name": "latents",
        "tooltip": "Список латентных словарей для группировки по разрешению."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "Список сгруппированных латентных словарей, по одному на каждую группу разрешения."
      },
      "1": {
        "name": "conditioning",
        "tooltip": "Список списков условий, по одному на каждую группу разрешения."
      }
    }
  },
  "ResolutionSelector": {
    "description": "Вычисляет ширину и высоту на основе соотношения сторон и целевого количества мегапикселей. Полезно для задания размеров пустого латентного изображения.",
    "display_name": "Выбор разрешения",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон для выходных размеров."
      },
      "megapixels": {
        "name": "megapixels",
        "tooltip": "Целевое количество мегапикселей. 1,0 МП ≈ 1024×1024 для квадрата."
      },
      "multiple": {
        "name": "кратность",
        "tooltip": "Ближайшая кратность результата для установки выбранного разрешения."
      }
    },
    "outputs": {
      "0": {
        "name": "width",
        "tooltip": "Вычисленная ширина в пикселях (кратна 8)."
      },
      "1": {
        "name": "height",
        "tooltip": "Вычисленная высота в пикселях (кратна 8)."
      }
    }
  },
  "ReveImageCreateNode": {
    "description": "Генерируйте изображения по текстовым описаниям с помощью Reve.",
    "display_name": "Reve Создание изображения",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Версия модели для генерации."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_test_time_scaling": {
        "name": "test_time_scaling"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание желаемого изображения. Максимум 2560 символов."
      },
      "remove_background": {
        "name": "remove_background",
        "tooltip": "Удалить фон с сгенерированного изображения. Может потребоваться дополнительная оплата."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, должен ли узел запускаться повторно; результаты не являются детерминированными независимо от seed."
      },
      "upscale": {
        "name": "upscale",
        "tooltip": "Увеличить разрешение сгенерированного изображения. Может потребоваться дополнительная оплата."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReveImageEditNode": {
    "description": "Редактируйте изображения с помощью естественно-языковых инструкций в Reve.",
    "display_name": "Reve Редактирование изображения",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "edit_instruction": {
        "name": "edit_instruction",
        "tooltip": "Текстовое описание того, как редактировать изображение. Максимум 2560 символов."
      },
      "image": {
        "name": "image",
        "tooltip": "Изображение для редактирования."
      },
      "model": {
        "name": "model",
        "tooltip": "Версия модели для редактирования."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_test_time_scaling": {
        "name": "test_time_scaling"
      },
      "remove_background": {
        "name": "remove_background",
        "tooltip": "Удалить фон с сгенерированного изображения. Может потребоваться дополнительная оплата."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, должен ли узел запускаться повторно; результаты не являются детерминированными независимо от seed."
      },
      "upscale": {
        "name": "upscale",
        "tooltip": "Увеличить разрешение сгенерированного изображения. Может потребоваться дополнительная оплата."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReveImageRemixNode": {
    "description": "Комбинируйте референсные изображения с текстовыми подсказками для создания новых изображений с помощью Reve.",
    "display_name": "Reve Ремикс изображения",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Версия модели для ремикса."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_test_time_scaling": {
        "name": "test_time_scaling"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание желаемого изображения. Можно использовать XML-теги img для ссылки на определённые изображения по индексу, например <img>0</img>, <img>1</img> и т.д."
      },
      "reference_images": {
        "name": "reference_images"
      },
      "remove_background": {
        "name": "remove_background",
        "tooltip": "Удалить фон с сгенерированного изображения. Может потребоваться дополнительная оплата."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed определяет, должен ли узел запускаться повторно; результаты не являются детерминированными независимо от seed."
      },
      "upscale": {
        "name": "upscale",
        "tooltip": "Увеличить разрешение сгенерированного изображения. Может потребоваться дополнительная оплата."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Rodin3D_Detail": {
    "description": "Создание 3D-объектов с помощью Rodin API",
    "display_name": "Rodin 3D Generate - Детальная генерация",
    "inputs": {
      "Images": {
        "name": "Изображения"
      },
      "Material_Type": {
        "name": "Тип_материала"
      },
      "Polygon_count": {
        "name": "Количество_полигонов"
      },
      "Seed": {
        "name": "Сид"
      }
    },
    "outputs": {
      "0": {
        "name": "Путь к 3D-модели",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen2": {
    "description": "Создание 3D-объектов с помощью Rodin API",
    "display_name": "Rodin 3D Generate - Gen-2 генерация",
    "inputs": {
      "Images": {
        "name": "Изображения"
      },
      "Material_Type": {
        "name": "Тип_материала"
      },
      "Polygon_count": {
        "name": "Количество_полигонов"
      },
      "Seed": {
        "name": "Сид"
      },
      "TAPose": {
        "name": "TAPose"
      }
    },
    "outputs": {
      "0": {
        "name": "Путь к 3D-модели",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen25_Image": {
    "description": "Создайте 3D-модель по 1-5 референсным изображениям с помощью Rodin Gen-2.5. Выберите режим (Быстрый / Обычный / Экстремально высокий) для настройки баланса качества и стоимости.",
    "display_name": "Rodin 3D Gen-2.5 - Изображение в 3D",
    "inputs": {
      "TAPose": {
        "name": "TAPose",
        "tooltip": "T/A поза для гуманоидных моделей."
      },
      "addon_highpack": {
        "name": "addon_highpack",
        "tooltip": "Дополнение HighPack: 4K текстуры и ~16x полигонов в Quad режиме."
      },
      "bbox_height": {
        "name": "bbox_height",
        "tooltip": "Высота ограничивающего прямоугольника (ось Z)."
      },
      "bbox_length": {
        "name": "bbox_length",
        "tooltip": "Длина ограничивающего прямоугольника (ось X)."
      },
      "bbox_width": {
        "name": "bbox_width",
        "tooltip": "Ширина ограничивающего прямоугольника (ось Y). Установите 0 вместе с остальными, чтобы пропустить bbox."
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "geometry_file_format": {
        "name": "формат_файла_геометрии"
      },
      "hd_texture": {
        "name": "hd_texture",
        "tooltip": "Улучшение качества текстуры."
      },
      "height_cm": {
        "name": "height_cm",
        "tooltip": "Примерная высота модели в сантиметрах (0 — чтобы пропустить)."
      },
      "images": {
        "name": "изображения",
        "tooltip": "1-5 изображений. Первое изображение используется для материалов при мульти-ракурсе."
      },
      "material": {
        "name": "материал"
      },
      "mode": {
        "name": "режим",
        "tooltip": "Режим генерации. Обычный = сбалансированный. Быстрый = 1K-20K полигонов для быстрого прототипирования. Экстремально высокий = 20K-2M полигонов с опциональными микро-деталями."
      },
      "mode_creative": {
        "name": "креативный"
      },
      "mode_polygon_count": {
        "name": "количество_полигонов"
      },
      "mode_tier": {
        "name": "уровень"
      },
      "seed": {
        "name": "seed"
      },
      "texture_delight": {
        "name": "texture_delight",
        "tooltip": "Удалить запечённое освещение с текстур."
      },
      "texture_mode": {
        "name": "режим_текстуры",
        "tooltip": "Пресет качества текстуры. 'По умолчанию' использует стандарт сервера для выбранного уровня."
      },
      "use_original_alpha": {
        "name": "use_original_alpha",
        "tooltip": "Сохранить прозрачность изображения."
      }
    },
    "outputs": {
      "0": {
        "name": "файл_модели",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen25_Text": {
    "description": "Создайте 3D-модель по текстовому запросу с помощью Rodin Gen-2.5. Выберите режим (Быстрый / Обычный / Экстремально высокий), чтобы настроить баланс между качеством и стоимостью.",
    "display_name": "Rodin 3D Gen-2.5 — Текст в 3D",
    "inputs": {
      "TAPose": {
        "name": "TAPose",
        "tooltip": "T/A-поза для гуманоидных моделей."
      },
      "addon_highpack": {
        "name": "addon_highpack",
        "tooltip": "Дополнение HighPack: 4K текстуры и ~16x полигонов в Quad-режиме."
      },
      "bbox_height": {
        "name": "bbox_height",
        "tooltip": "Высота ограничивающего прямоугольника (ось Z)."
      },
      "bbox_length": {
        "name": "bbox_length",
        "tooltip": "Длина ограничивающего прямоугольника (ось X)."
      },
      "bbox_width": {
        "name": "bbox_width",
        "tooltip": "Ширина ограничивающего прямоугольника (ось Y). Установите 0 вместе с остальными, чтобы пропустить bbox."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "geometry_file_format": {
        "name": "geometry_file_format"
      },
      "hd_texture": {
        "name": "hd_texture",
        "tooltip": "Улучшение текстуры высокого качества."
      },
      "height_cm": {
        "name": "height_cm",
        "tooltip": "Примерная высота модели в сантиметрах (0 — пропустить)."
      },
      "material": {
        "name": "material"
      },
      "mode": {
        "name": "mode",
        "tooltip": "Режим генерации. Обычный = сбалансированный. Быстрый = 1K-20K полигонов для быстрого прототипирования. Экстремально высокий = 20K-2M полигонов с возможностью микродетализации."
      },
      "mode_creative": {
        "name": "creative"
      },
      "mode_polygon_count": {
        "name": "polygon_count"
      },
      "mode_tier": {
        "name": "tier"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос для 3D-модели."
      },
      "seed": {
        "name": "seed"
      },
      "texture_delight": {
        "name": "texture_delight",
        "tooltip": "Удалить запечённое освещение с текстур."
      },
      "texture_mode": {
        "name": "texture_mode",
        "tooltip": "Пресет качества текстуры. 'По умолчанию' использует стандарт сервера для выбранного уровня."
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Regular": {
    "description": "Создание 3D-объектов с помощью Rodin API",
    "display_name": "Rodin 3D Generate - Обычная генерация",
    "inputs": {
      "Images": {
        "name": "Изображения"
      },
      "Material_Type": {
        "name": "Тип_материала"
      },
      "Polygon_count": {
        "name": "Количество_полигонов"
      },
      "Seed": {
        "name": "Сид"
      }
    },
    "outputs": {
      "0": {
        "name": "Путь к 3D-модели",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Sketch": {
    "description": "Создание 3D-объектов с помощью Rodin API",
    "display_name": "Rodin 3D Generate - Эскизная генерация",
    "inputs": {
      "Images": {
        "name": "Изображения"
      },
      "Seed": {
        "name": "Сид"
      }
    },
    "outputs": {
      "0": {
        "name": "Путь к 3D-модели",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Smooth": {
    "description": "Создание 3D-объектов с помощью Rodin API",
    "display_name": "Rodin 3D Generate - Сглаженная генерация",
    "inputs": {
      "Images": {
        "name": "Изображения"
      },
      "Material_Type": {
        "name": "Тип_материала"
      },
      "Polygon_count": {
        "name": "Количество_полигонов"
      },
      "Seed": {
        "name": "Сид"
      }
    },
    "outputs": {
      "0": {
        "name": "Путь к 3D-модели",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "RunwayAleph2KeyframeNode": {
    "description": "Привязывает управляющее изображение к определённому моменту исходного видео, чтобы Aleph2 направлял редактирование в этой точке. Подключите этот узел к входу 'keyframes' узла Runway Aleph2 Video to Video; объединяйте несколько таких узлов (до 5) через дополнительный вход 'keyframes' ниже.",
    "display_name": "Runway Aleph2 Ключевой Кадр",
    "inputs": {
      "image": {
        "name": "изображение",
        "tooltip": "Управляющее изображение, применяемое в выбранный момент исходного видео."
      },
      "keyframes": {
        "name": "ключевые кадры",
        "tooltip": "Необязательные предыдущие ключевые кадры для объединения с этим."
      },
      "timing": {
        "name": "тайминг",
        "tooltip": "Как разместить это изображение на временной шкале исходного видео."
      },
      "timing_seconds": {
        "name": "секунды"
      }
    },
    "outputs": {
      "0": {
        "name": "ключевые кадры",
        "tooltip": null
      }
    }
  },
  "RunwayAleph2PromptImageNode": {
    "description": "Привязывает управляющее изображение к определённому моменту итогового видео, чтобы направлять внешний вид отредактированного видео в этой точке. Подключите этот узел к входу 'prompt_images' узла Runway Aleph2 Video to Video; объединяйте несколько таких узлов (до 5) через дополнительный вход 'prompt_images' ниже.",
    "display_name": "Runway Aleph2 Управляющее Изображение",
    "inputs": {
      "image": {
        "name": "изображение",
        "tooltip": "Управляющее изображение, размещаемое в выбранный момент итогового видео."
      },
      "position": {
        "name": "позиция",
        "tooltip": "Как разместить это изображение на временной шкале итогового видео."
      },
      "position_seconds": {
        "name": "секунды"
      },
      "prompt_images": {
        "name": "управляющие изображения",
        "tooltip": "Необязательные предыдущие управляющие изображения для объединения с этим."
      }
    },
    "outputs": {
      "0": {
        "name": "управляющие изображения",
        "tooltip": null
      }
    }
  },
  "RunwayAleph2VideoToVideoNode": {
    "description": "Редактируйте видео с помощью текстового запроса, используя модель Runway Aleph2. Aleph2 преобразует ваш видеоматериал (смена стиля, освещения, добавление или удаление элементов, изменение точки обзора), сохраняя исходное движение и тайминг; разрешение результата соответствует входному видео, которое должно быть длиной от 2 до 30 секунд с частотой не выше 30 кадров в секунду. Дополнительно можно управлять редактированием с помощью ключевых кадров (привязанных к исходному видео) или изображений-подсказок (привязанных к выходному видео) — используйте только один из этих вариантов, не оба одновременно.",
    "display_name": "Runway Aleph2 Видео в Видео",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Изображения-направления, привязанные к исходному видео, из узлов Aleph2 Keyframe (до 5). Используйте ключевые кадры или изображения-подсказки, не оба одновременно."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Опишите, что должно появиться на выходе (от 1 до 1000 символов)."
      },
      "prompt_images": {
        "name": "prompt_images",
        "tooltip": "Изображения-направления, привязанные к выходному видео, из узлов Aleph2 Prompt Image (до 5). Используйте ключевые кадры или изображения-подсказки, не оба одновременно."
      },
      "public_figure_threshold": {
        "name": "public_figure_threshold",
        "tooltip": "Модерация контента для узнаваемых публичных лиц."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно для генерации"
      },
      "video": {
        "name": "video",
        "tooltip": "Входное видео для редактирования. Должно быть длиной от 2 до 30 секунд с частотой не выше 30 кадров в секунду."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayFirstLastFrameNode": {
    "description": "Загрузите первый и последний ключевые кадры, составьте промпт и создайте видео. Более сложные переходы, например, когда последний кадр полностью отличается от первого, могут выиграть от более длительной продолжительности в 10 секунд. Это даст генерации больше времени для плавного перехода между двумя входными данными. Прежде чем начать, ознакомьтесь с лучшими практиками, чтобы убедиться, что ваши входные данные обеспечат успешный результат: https://help.runwayml.com/hc/en-us/articles/34170748696595-Creating-with-Keyframes-on-Gen-3.",
    "display_name": "Runway: Первый-Последний кадр в видео",
    "inputs": {
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "duration": {
        "name": "продолжительность"
      },
      "end_frame": {
        "name": "конечный_кадр",
        "tooltip": "Конечный кадр для использования в видео. Поддерживается только для gen3a_turbo."
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Текстовый промпт для генерации"
      },
      "ratio": {
        "name": "соотношение"
      },
      "seed": {
        "name": "сид",
        "tooltip": "Случайное начальное значение для генерации"
      },
      "start_frame": {
        "name": "начальный_кадр",
        "tooltip": "Начальный кадр для использования в видео"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayImageToVideoNodeGen3a": {
    "description": "Создайте видео из одного начального кадра с использованием модели Gen3a Turbo. Прежде чем начать, ознакомьтесь с лучшими практиками, чтобы убедиться, что ваши входные данные обеспечат успешный результат: https://help.runwayml.com/hc/en-us/articles/33927968552339-Creating-with-Act-One-on-Gen-3-Alpha-and-Turbo.",
    "display_name": "Runway: Изображение в видео (Gen3a Turbo)",
    "inputs": {
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "duration": {
        "name": "продолжительность"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Текстовый промпт для генерации"
      },
      "ratio": {
        "name": "соотношение"
      },
      "seed": {
        "name": "сид",
        "tooltip": "Случайное начальное значение для генерации"
      },
      "start_frame": {
        "name": "начальный_кадр",
        "tooltip": "Начальный кадр для использования в видео"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayImageToVideoNodeGen4": {
    "description": "Создайте видео из одного начального кадра с использованием модели Gen4 Turbo. Прежде чем начать, ознакомьтесь с лучшими практиками, чтобы убедиться, что ваши входные данные обеспечат успешный результат: https://help.runwayml.com/hc/en-us/articles/37327109429011-Creating-with-Gen-4-Video.",
    "display_name": "Runway: Изображение в видео (Gen4 Turbo)",
    "inputs": {
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "duration": {
        "name": "продолжительность"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Текстовый промпт для генерации"
      },
      "ratio": {
        "name": "соотношение"
      },
      "seed": {
        "name": "сид",
        "tooltip": "Случайное начальное значение для генерации"
      },
      "start_frame": {
        "name": "начальный_кадр",
        "tooltip": "Начальный кадр для использования в видео"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayTextToImageNode": {
    "description": "Создайте изображение из текстового запроса с использованием модели Gen 4 от Runway. Вы также можете включить эталонное изображение для направления генерации.",
    "display_name": "Runway Текст в изображение",
    "inputs": {
      "prompt": {
        "name": "запрос",
        "tooltip": "Текстовый запрос для генерации"
      },
      "ratio": {
        "name": "соотношение"
      },
      "reference_image": {
        "name": "эталонное_изображение",
        "tooltip": "Опциональное эталонное изображение для направления генерации"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SAM3_Detect": {
    "display_name": "SAM3 Обнаружение",
    "inputs": {
      "bboxes": {
        "name": "границы",
        "tooltip": "Ограничивающие рамки для сегментации внутри"
      },
      "conditioning": {
        "name": "condition",
        "tooltip": "Текстовая настройка из CLIPTextEncode"
      },
      "image": {
        "name": "изображение"
      },
      "individual_masks": {
        "name": "отдельные_маски",
        "tooltip": "Выводить маски для каждого объекта вместо объединения"
      },
      "model": {
        "name": "model"
      },
      "negative_coords": {
        "name": "отрицательные_координаты",
        "tooltip": "Отрицательные точки-подсказки в формате JSON [{\"x\": int, \"y\": int}, ...] (пиксельные координаты)"
      },
      "positive_coords": {
        "name": "положительные_координаты",
        "tooltip": "Положительные точки-подсказки в формате JSON [{\"x\": int, \"y\": int}, ...] (пиксельные координаты)"
      },
      "refine_iterations": {
        "name": "итерации_уточнения",
        "tooltip": "Проходы уточнения декодера SAM (0=использовать исходные маски детектора)"
      },
      "threshold": {
        "name": "порог"
      }
    },
    "outputs": {
      "0": {
        "name": "маски",
        "tooltip": null
      },
      "1": {
        "name": "границы",
        "tooltip": null
      }
    }
  },
  "SAM3_TrackPreview": {
    "display_name": "SAM3 Предпросмотр Трека",
    "inputs": {
      "fps": {
        "name": "кадров_в_секунду"
      },
      "images": {
        "name": "изображения"
      },
      "opacity": {
        "name": "непрозрачность"
      },
      "track_data": {
        "name": "данные_трека"
      }
    }
  },
  "SAM3_TrackToMask": {
    "display_name": "SAM3 Трек в Маску",
    "inputs": {
      "object_indices": {
        "name": "индексы_объектов",
        "tooltip": "Индексы объектов через запятую для включения (например, '0,2,3'). Пусто = все объекты."
      },
      "track_data": {
        "name": "данные_трека"
      }
    },
    "outputs": {
      "0": {
        "name": "маски",
        "tooltip": null
      }
    }
  },
  "SAM3_VideoTrack": {
    "display_name": "SAM3 Видеотрек",
    "inputs": {
      "conditioning": {
        "name": "condition",
        "tooltip": "Текстовая настройка для обнаружения новых объектов во время трекинга"
      },
      "detect_interval": {
        "name": "интервал_обнаружения",
        "tooltip": "Запускать обнаружение каждые N кадров (1=каждый кадр). Большее значение экономит вычисления."
      },
      "detection_threshold": {
        "name": "порог_обнаружения",
        "tooltip": "Порог оценки для обнаружения по текстовой подсказке"
      },
      "images": {
        "name": "изображения",
        "tooltip": "Кадры видео в виде батчированных изображений"
      },
      "initial_mask": {
        "name": "начальная_маска",
        "tooltip": "Маска(и) для первого кадра для отслеживания (по одной на объект)"
      },
      "max_objects": {
        "name": "макс_объектов",
        "tooltip": "Максимум отслеживаемых объектов (0=без ограничений). Начальные маски учитываются в этом лимите."
      },
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "name": "данные_трека",
        "tooltip": null
      }
    }
  },
  "SCAIL2ColoredMask": {
    "display_name": "Создать цветную маску SCAIL-2",
    "inputs": {
      "driving_track_data": {
        "name": "driving_track_data",
        "tooltip": "Трек SAM3 для видео с движущейся позой. Будет отрисован в выходной pose_video_mask."
      },
      "object_indices": {
        "name": "object_indices",
        "tooltip": "Список индексов людей через запятую для включения (например, '0,2,3'). Применяется к маскам как референсного, так и позового видео. Пусто = все."
      },
      "ref_track_data": {
        "name": "ref_track_data",
        "tooltip": "Трек SAM3 для референсного изображения."
      },
      "replacement_mode": {
        "name": "replacement_mode",
        "tooltip": "False = mask_video с чёрным фоном (режим анимации). True = белый фон (режим замены). Установите соответствующий replacement_mode на WanSCAILToVideo. reference_image_mask всегда с чёрным фоном."
      },
      "sort_by": {
        "name": "sort_by",
        "tooltip": "Порядок, в котором палитра цветов назначается отслеживаемым объектам (применяется к обоим видео, чтобы каждая личность сохраняла свой цвет). left_to_right = самый левый объект (по центроиду первого кадра) получает первый цвет; area = самый большой объект (по площади маски первого кадра) получает первый цвет; none = сохранить порядок SAM3."
      }
    },
    "outputs": {
      "0": {
        "name": "pose_video_mask",
        "tooltip": null
      },
      "1": {
        "name": "reference_image_mask",
        "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"
      },
      "draw_head": {
        "name": "рисовать_голову"
      },
      "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": "Увеличить меньшую сторону рамки, чтобы область обрезки всегда была квадратной."
      },
      "keypoints": {
        "name": "keypoints"
      },
      "scale": {
        "name": "scale",
        "tooltip": "Множитель для области ограничивающей рамки вокруг каждого обнаруженного лица."
      }
    },
    "outputs": {
      "0": {
        "name": "bboxes",
        "tooltip": "Ограничивающие рамки лиц для каждого кадра, совместимы с входом bboxes SDPoseKeypointExtractor."
      }
    }
  },
  "SDPoseKeypointExtractor": {
    "description": "Извлекает ключевые точки позы из изображений с помощью модели SDPose: https://huggingface.co/Comfy-Org/SDPose/tree/main/checkpoints",
    "display_name": "SDPoseKeypointExtractor",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "bboxes": {
        "name": "bboxes",
        "tooltip": "Необязательные ограничивающие рамки для более точного обнаружения. Требуется для обнаружения нескольких людей."
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "keypoints",
        "tooltip": "Ключевые точки в формате OpenPose (canvas_width, canvas_height, people)"
      }
    }
  },
  "SDTurboScheduler": {
    "display_name": "Scheduler SDTurbo",
    "inputs": {
      "denoise": {
        "name": "шумоподавление"
      },
      "model": {
        "name": "модель"
      },
      "steps": {
        "name": "шаги"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SD_4XUpscale_Conditioning": {
    "display_name": "SD_4XUpscale_Conditioning",
    "inputs": {
      "images": {
        "name": "изображения"
      },
      "negative": {
        "name": "отрицательный"
      },
      "noise_augmentation": {
        "name": "шумовое_увеличение"
      },
      "positive": {
        "name": "положительный"
      },
      "scale_ratio": {
        "name": "коэффициент_масштабирования"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": null
      }
    }
  },
  "SUPIRApply": {
    "display_name": "SUPIRApply",
    "inputs": {
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "model_patch": {
        "name": "model_patch"
      },
      "restore_cfg": {
        "name": "restore_cfg",
        "tooltip": "Смещает денойз-выход к входному latent. Чем выше значение, тем сильнее сохраняется сходство с входом. 0 — отключить."
      },
      "restore_cfg_s_tmin": {
        "name": "restore_cfg_s_tmin",
        "tooltip": "Порог sigma, ниже которого restore_cfg отключается."
      },
      "strength_end": {
        "name": "strength_end",
        "tooltip": "Контроль силы на финальном этапе сэмплирования (низкое sigma). Линейная интерполяция от начального значения."
      },
      "strength_start": {
        "name": "strength_start",
        "tooltip": "Контроль силы на начальном этапе сэмплирования (высокое sigma)."
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SV3D_Conditioning": {
    "display_name": "SV3D_Кондиционирование",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "высота"
      },
      "height": {
        "name": "высота"
      },
      "init_image": {
        "name": "начальное_изображение"
      },
      "vae": {
        "name": "vae"
      },
      "video_frames": {
        "name": "кадры_видео"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": null
      }
    }
  },
  "SVD_img2vid_Conditioning": {
    "display_name": "SVD_img2vid_Кондиционирование",
    "inputs": {
      "augmentation_level": {
        "name": "уровень_аугментации"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "fps": {
        "name": "fps"
      },
      "height": {
        "name": "высота"
      },
      "init_image": {
        "name": "init_image"
      },
      "motion_bucket_id": {
        "name": "id_корзины_движения"
      },
      "vae": {
        "name": "vae"
      },
      "video_frames": {
        "name": "кадры_видео"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный"
      },
      "1": {
        "name": "отрицательный"
      },
      "2": {
        "name": "латентный"
      }
    }
  },
  "SamplerARVideo": {
    "display_name": "Sampler AR Video",
    "inputs": {
      "num_frame_per_block": {
        "name": "num_frame_per_block",
        "tooltip": "Кадров в каждом авторегрессионном блоке. 1 = покадрово, 3 = блоками. Должно соответствовать режиму обучения контрольной точки."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerCustom": {
    "display_name": "Пользовательский выборщик",
    "inputs": {
      "add_noise": {
        "name": "добавить_шум"
      },
      "cfg": {
        "name": "cfg"
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "latent_image": {
        "name": "латентное_изображение"
      },
      "model": {
        "name": "модель"
      },
      "negative": {
        "name": "отрицательный"
      },
      "noise_seed": {
        "name": "сид_шума"
      },
      "positive": {
        "name": "положительный"
      },
      "sampler": {
        "name": "сэмплер"
      },
      "sigmas": {
        "name": "сигмы"
      }
    },
    "outputs": {
      "0": {
        "name": "выход",
        "tooltip": null
      },
      "1": {
        "name": "выход без шума",
        "tooltip": null
      }
    }
  },
  "SamplerCustomAdvanced": {
    "display_name": "Пользовательский сэмплер (Расширенный)",
    "inputs": {
      "guider": {
        "name": "гид"
      },
      "latent_image": {
        "name": "латентное_изображение"
      },
      "noise": {
        "name": "шум"
      },
      "sampler": {
        "name": "сэмплер"
      },
      "sigmas": {
        "name": "сигмы"
      }
    },
    "outputs": {
      "0": {
        "name": "выход",
        "tooltip": null
      },
      "1": {
        "name": "выход без шума",
        "tooltip": null
      }
    }
  },
  "SamplerDPMAdaptative": {
    "display_name": "Адаптивный сэмплер DPM",
    "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": "порядок"
      },
      "pcoeff": {
        "name": "pcoeff"
      },
      "rtol": {
        "name": "rtol"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_2M_SDE": {
    "display_name": "Сэмплер DPMPP_2M_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "устройство_шума"
      },
      "s_noise": {
        "name": "s_noise"
      },
      "solver_type": {
        "name": "тип_решателя"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_2S_Ancestral": {
    "display_name": "Сэмплер DPMPP_2S_Ancestral",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_3M_SDE": {
    "display_name": "Сэмплер DPMPP_3M_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "устройство_шума"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_SDE": {
    "display_name": "Сэмплер DPMPP_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "устройство_шума"
      },
      "r": {
        "name": "r"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerER_SDE": {
    "display_name": "SamplerER_SDE",
    "inputs": {
      "eta": {
        "name": "эта",
        "tooltip": "Стохастическая сила обратно-временного СДУ.\nКогда eta=0, сводится к детерминированному ОДУ. Эта настройка не применяется к типу решателя ER-SDE."
      },
      "max_stage": {
        "name": "макс_этап"
      },
      "s_noise": {
        "name": "s_шум"
      },
      "solver_type": {
        "name": "тип_решателя"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerAncestral": {
    "display_name": "Сэмплер Эйлера (Анастр.)",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerAncestralCFGPP": {
    "display_name": "Сэмплер Эйлера (Анастр.) CFG++",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerCFGpp": {
    "display_name": "Сэмплер Эйлера CFG++",
    "inputs": {
      "version": {
        "name": "версия"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLCM": {
    "description": "LCM-семплер с настраиваемым уровнем шума на каждом шаге. s_noise — это множитель масштаба шума обучения модели",
    "display_name": "SamplerLCM",
    "inputs": {
      "noise_clip_std": {
        "name": "noise_clip_std",
        "tooltip": "Ограничить шум на каждом шаге до +/- N*std. 0 — отключить."
      },
      "s_noise": {
        "name": "s_noise",
        "tooltip": "Множитель шума на первом шаге (1.0 = соответствует обучению)."
      },
      "s_noise_end": {
        "name": "s_noise_end",
        "tooltip": "Множитель шума на последнем шаге. Установите равным s_noise для постоянного расписания."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLCMUpscale": {
    "display_name": "Сэмплер LCM Upscale",
    "inputs": {
      "scale_ratio": {
        "name": "коэффициент_масштабирования"
      },
      "scale_steps": {
        "name": "шаги_масштабирования"
      },
      "upscale_method": {
        "name": "метод_масштабирования"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLMS": {
    "display_name": "Сэмплер LMS",
    "inputs": {
      "order": {
        "name": "порядок"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerSASolver": {
    "display_name": "SamplerSASolver",
    "inputs": {
      "corrector_order": {
        "name": "порядок_корректора"
      },
      "eta": {
        "name": "эта"
      },
      "model": {
        "name": "модель"
      },
      "predictor_order": {
        "name": "порядок_предиктора"
      },
      "s_noise": {
        "name": "s_шум"
      },
      "sde_end_percent": {
        "name": "процент_окончания_sde"
      },
      "sde_start_percent": {
        "name": "процент_начала_sde"
      },
      "simple_order_2": {
        "name": "простой_порядок_2"
      },
      "use_pece": {
        "name": "использовать_pece"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerSEEDS2": {
    "description": "Этот узел сэмплера может представлять несколько сэмплеров:\n\nseeds_2\n- настройка по умолчанию\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": "Сила стохастичности"
      },
      "r": {
        "name": "r",
        "tooltip": "Относительный размер шага для промежуточной стадии (узел c2)"
      },
      "s_noise": {
        "name": "s_noise",
        "tooltip": "Множитель шума SDE"
      },
      "solver_type": {
        "name": "solver_type"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplingPercentToSigma": {
    "display_name": "SamplingPercentToSigma",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "return_actual_sigma": {
        "name": "возвращать_фактическую_сигму",
        "tooltip": "Возвращать фактическое значение сигмы вместо значения, используемого для проверки интервалов.\nЭто влияет только на результаты при 0.0 и 1.0."
      },
      "sampling_percent": {
        "name": "процент_дискретизации"
      }
    },
    "outputs": {
      "0": {
        "name": "значение сигмы",
        "tooltip": null
      }
    }
  },
  "Save3DAdvanced": {
    "display_name": "Сохранить 3D (расширенно)",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Файл 3D-модели от вышестоящего 3D-узла."
      },
      "model_3d_info": {
        "name": "model_3d_info"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "SaveAnimatedPNG": {
    "display_name": "Сохранить анимированный PNG",
    "inputs": {
      "compress_level": {
        "name": "уровень_сжатия"
      },
      "filename_prefix": {
        "name": "префикс_названия_файла"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "изображения"
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": null
      }
    }
  },
  "SaveAnimatedWEBP": {
    "display_name": "Сохранить анимированный WEBP",
    "inputs": {
      "filename_prefix": {
        "name": "префикс_названия_файла"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "изображения"
      },
      "lossless": {
        "name": "без_потерь"
      },
      "method": {
        "name": "метод"
      },
      "quality": {
        "name": "качество"
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": null
      }
    }
  },
  "SaveAudio": {
    "display_name": "Сохранить аудио",
    "inputs": {
      "audio": {
        "name": "аудио"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "префикс_названия_файла"
      }
    },
    "outputs": {
      "0": {
        "name": "аудио",
        "tooltip": null
      }
    }
  },
  "SaveAudioAdvanced": {
    "description": "Сохраняет входное аудио в выходной каталог ComfyUI.",
    "display_name": "Сохранить аудио (расширенно)",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Аудио для сохранения."
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "filename_prefix",
        "tooltip": "Префикс для сохраняемого файла. Может включать токены форматирования, например %date:yyyy-MM-dd%."
      },
      "format": {
        "name": "format",
        "tooltip": "Формат файла для сохранения аудио."
      }
    },
    "outputs": {
      "0": {
        "name": "аудио",
        "tooltip": null
      }
    }
  },
  "SaveAudioMP3": {
    "display_name": "Сохранить аудио (MP3)",
    "inputs": {
      "audio": {
        "name": "аудио"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "префикс_имени_файла"
      },
      "quality": {
        "name": "качество"
      }
    },
    "outputs": {
      "0": {
        "name": "аудио",
        "tooltip": null
      }
    }
  },
  "SaveAudioOpus": {
    "display_name": "Сохранить аудио (Opus)",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "префикс_имени_файла"
      },
      "quality": {
        "name": "качество"
      }
    },
    "outputs": {
      "0": {
        "name": "аудио",
        "tooltip": null
      }
    }
  },
  "SaveGLB": {
    "display_name": "SaveGLB",
    "inputs": {
      "filename_prefix": {
        "name": "префикс_имени_файла"
      },
      "image": {
        "name": "изображение"
      },
      "mesh": {
        "name": "сетка",
        "tooltip": "Меш или GLB-файл для сохранения"
      }
    }
  },
  "SaveGaussianSplat": {
    "display_name": "Сохранить Splat",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Файл 3D Gaussian Splat."
      },
      "model_3d_info": {
        "name": "model_3d_info"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "SaveImage": {
    "description": "Сохраняет входные изображения в вашу директорию вывода ComfyUI.",
    "display_name": "Сохранить изображение",
    "inputs": {
      "filename_prefix": {
        "name": "префикс_названия_файла",
        "tooltip": "Префикс для файла, который нужно сохранить. Это может включать информацию о форматировании, такую как %date:yyyy-MM-dd% или %Empty Latent Image.width%, чтобы включить значения из нод."
      },
      "images": {
        "name": "изображения",
        "tooltip": "Изображения_для_сохранения."
      }
    },
    "outputs": {
      "0": {
        "name": "изображения"
      }
    }
  },
  "SaveImageAdvanced": {
    "description": "Сохраняет входные изображения в вашу выходную директорию ComfyUI.",
    "display_name": "Сохранить изображение (расширенно)",
    "inputs": {
      "filename_prefix": {
        "name": "префикс_имени_файла",
        "tooltip": "Префикс для сохраняемого файла. Может включать токены форматирования, такие как %date:yyyy-MM-dd% или %Empty Latent Image.width%."
      },
      "format": {
        "name": "формат",
        "tooltip": "Формат файла для сохранения изображения."
      },
      "format_bit_depth": {
        "name": "глубина_цвета"
      },
      "format_input_color_space": {
        "name": "цветовое_пространство_входа"
      },
      "images": {
        "name": "изображения",
        "tooltip": "Изображения для сохранения."
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": null
      }
    }
  },
  "SaveImageDataSetToFolder": {
    "description": "Сохраняет набор изображений в указанную папку. Поддерживаемые форматы: PNG.",
    "display_name": "Сохранить набор изображений в папку",
    "inputs": {
      "filename_prefix": {
        "name": "filename_prefix",
        "tooltip": "Префикс для имен файлов сохранённых изображений."
      },
      "folder_name": {
        "name": "folder_name",
        "tooltip": "Имя папки для сохранения изображений (внутри выходного каталога)."
      },
      "images": {
        "name": "images",
        "tooltip": "Список изображений для сохранения."
      },
      "mode": {
        "name": "режим",
        "tooltip": "Перезаписывать существующие файлы или увеличивать имена файлов, чтобы избежать перезаписи."
      }
    }
  },
  "SaveImageTextDataSetToFolder": {
    "description": "Сохраняет набор пар изображений и текстовых подписей в указанную папку. Изображения сохраняются в формате PNG, подписи — в TXT-файлах с тем же префиксом имени файла.",
    "display_name": "Сохранить набор изображений и текстов в папку",
    "inputs": {
      "filename_prefix": {
        "name": "filename_prefix",
        "tooltip": "Префикс для имен файлов сохранённых изображений."
      },
      "folder_name": {
        "name": "folder_name",
        "tooltip": "Имя папки для сохранения изображений (внутри выходного каталога)."
      },
      "images": {
        "name": "images",
        "tooltip": "Список изображений для сохранения."
      },
      "mode": {
        "name": "режим",
        "tooltip": "Перезаписывать существующие файлы или увеличивать имена файлов, чтобы избежать перезаписи."
      },
      "texts": {
        "name": "texts",
        "tooltip": "Список текстовых подписей для сохранения."
      }
    }
  },
  "SaveImageWebsocket": {
    "display_name": "Сохранить изображение через веб-сокет",
    "inputs": {
      "images": {
        "name": "изображения"
      }
    }
  },
  "SaveLatent": {
    "display_name": "Сохранить латент",
    "inputs": {
      "filename_prefix": {
        "name": "префикс_названия_файла"
      },
      "samples": {
        "name": "образцы"
      }
    },
    "outputs": {
      "0": {
        "name": "samples"
      }
    }
  },
  "SaveLoRA": {
    "display_name": "Сохранить веса LoRA",
    "inputs": {
      "lora": {
        "name": "lora",
        "tooltip": "Модель LoRA для сохранения. Не используйте модель со слоями LoRA."
      },
      "prefix": {
        "name": "prefix",
        "tooltip": "Префикс для сохранённого файла LoRA."
      },
      "steps": {
        "name": "steps",
        "tooltip": "Необязательно: количество шагов, на которые обучалась LoRA, используется для имени файла."
      }
    }
  },
  "SavePointCloud": {
    "display_name": "Сохранить облако точек",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Файл облака точек (.ply)"
      },
      "model_3d_info": {
        "name": "model_3d_info"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "SaveSVGNode": {
    "description": "Сохранить SVG файлы на диске.",
    "display_name": "SaveSVGNode",
    "inputs": {
      "filename_prefix": {
        "name": "префикс_имени_файла",
        "tooltip": "Префикс для сохраняемого файла. Может включать информацию о форматировании, такую как %date:yyyy-MM-dd% или %Empty Latent Image.width% для включения значений из узлов."
      },
      "svg": {
        "name": "svg"
      }
    },
    "outputs": {
      "0": {
        "name": "svg",
        "tooltip": null
      }
    }
  },
  "SaveText": {
    "description": "Сохранить текстовое содержимое в файл в выходной директории.",
    "display_name": "Сохранить текст",
    "inputs": {
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "format": {
        "name": "format"
      },
      "preview_mode": {},
      "preview_text": {},
      "text": {
        "name": "text"
      }
    },
    "outputs": {
      "0": {
        "name": "text",
        "tooltip": null
      }
    }
  },
  "SaveTrainingDataset": {
    "description": "Сохраняет закодированный обучающий датасет (латенты + условия) на диск для эффективной загрузки во время обучения.",
    "display_name": "Сохранить обучающий набор данных",
    "inputs": {
      "conditioning": {
        "name": "conditioning",
        "tooltip": "Список списков conditioning из MakeTrainingDataset."
      },
      "folder_name": {
        "name": "folder_name",
        "tooltip": "Имя папки для сохранения набора данных (внутри выходного каталога)."
      },
      "latents": {
        "name": "latents",
        "tooltip": "Список словарей latent из MakeTrainingDataset."
      },
      "shard_size": {
        "name": "shard_size",
        "tooltip": "Количество образцов в каждом файле-части."
      }
    }
  },
  "SaveVideo": {
    "description": "Сохраняет входные изображения в вашу папку вывода ComfyUI.",
    "display_name": "Сохранить видео",
    "inputs": {
      "codec": {
        "name": "кодек",
        "tooltip": "Кодек для видео."
      },
      "filename_prefix": {
        "name": "префикс_имени_файла",
        "tooltip": "Префикс для сохраняемого файла. Может включать информацию о форматировании, такую как %date:yyyy-MM-dd% или %Empty Latent Image.width% для включения значений из узлов."
      },
      "format": {
        "name": "формат",
        "tooltip": "Формат, в котором сохранить видео."
      },
      "video": {
        "name": "видео",
        "tooltip": "Видео для сохранения."
      }
    },
    "outputs": {
      "0": {
        "name": "видео",
        "tooltip": null
      }
    }
  },
  "SaveWEBM": {
    "display_name": "SaveWEBM",
    "inputs": {
      "codec": {
        "name": "кодек"
      },
      "crf": {
        "name": "crf",
        "tooltip": "Большее значение crf означает нижнее качество с меньшим размером файла, меньшее значение crf означает высшее качество большего размера файла."
      },
      "filename_prefix": {
        "name": "префикс_имени_файла"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "изображения",
        "tooltip": "RGBA-изображения сохраняются с альфа-каналом как прозрачность (только кодек vp9)."
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": null
      }
    }
  },
  "ScaleROPE": {
    "description": "Масштабировать и сдвинуть ROPE модели.",
    "display_name": "ScaleROPE",
    "inputs": {
      "model": {
        "name": "model"
      },
      "scale_t": {
        "name": "масштаб_t"
      },
      "scale_x": {
        "name": "масштаб_x"
      },
      "scale_y": {
        "name": "масштаб_y"
      },
      "shift_t": {
        "name": "сдвиг_t"
      },
      "shift_x": {
        "name": "сдвиг_x"
      },
      "shift_y": {
        "name": "сдвиг_y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SeedNode": {
    "display_name": "Seed",
    "inputs": {
      "fixed": {
        "name": "контроль после генерации"
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "name": "seed",
        "tooltip": null
      }
    }
  },
  "SeedVR2Conditioning": {
    "description": "Создать положительное/отрицательное conditioning SeedVR2 из VAE latent.",
    "display_name": "Применить SeedVR2 Conditioning",
    "inputs": {
      "model": {
        "name": "model",
        "tooltip": "Модель SeedVR2."
      },
      "vae_conditioning": {
        "name": "vae_conditioning"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": "Положительное conditioning для сэмплирования."
      },
      "1": {
        "name": "negative",
        "tooltip": "Отрицательное conditioning для сэмплирования."
      }
    }
  },
  "SeedVR2PostProcessing": {
    "description": "Выровнять сгенерированное изображение с исходным изменённым по размеру изображением и применить цветокоррекцию.",
    "display_name": "Постобработка вывода SeedVR2",
    "inputs": {
      "color_correction_method": {
        "name": "color_correction_method",
        "tooltip": "Метод сопоставления цветов сгенерированного изображения с оригиналом. lab: перенос цвета в пространстве CIELAB с сохранением деталей (наиболее точный). wavelet: перенос низкочастотного цвета с сохранением высокочастотных деталей при увеличении. adain: сопоставление средних/стандартных отклонений по каналам (самый быстрый, глобальный оттенок). none: пропустить перенос цвета (только выравнивание геометрии)."
      },
      "images": {
        "name": "images",
        "tooltip": "Сгенерированное изображение для обработки."
      },
      "original_resized_images": {
        "name": "original_resized_images",
        "tooltip": "Исходное изменённое по размеру изображение до предобработки, используется как эталон."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Выровненное, цветокорректированное изображение."
      }
    }
  },
  "SeedVR2Preprocess": {
    "description": "Добавить отступы к изменённому по размеру изображению для модели SeedVR2. Альфа-канал удаляется. Узел 'Постобработка вывода SeedVR2' повторно применяет его из исходного изменённого по размеру изображения.",
    "display_name": "Предобработка входных данных SeedVR2",
    "inputs": {
      "resized_images": {
        "name": "resized_images",
        "tooltip": "Изменённое по размеру изображение для обработки."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Изображение с отступами для кодирования VAE."
      }
    }
  },
  "SeedVR2TemporalChunk": {
    "description": "Разделить видео latent SeedVR2 на перекрывающиеся временные фрагменты, достаточно маленькие, чтобы обрабатывать их по одному в VRAM. Выходы latent подключаются как к Apply SeedVR2 Conditioning, так и к входу sampler latent перед объединением с помощью Merge SeedVR2 Latents.",
    "display_name": "Разделить SeedVR2 latent",
    "inputs": {
      "chunking_mode": {
        "name": "chunking_mode",
        "tooltip": "manual = использовать frames_per_chunk точно; auto = подобрать максимальный фрагмент, который поместится в свободную VRAM."
      },
      "latent": {
        "name": "latent",
        "tooltip": "Закодированный VAE latent SeedVR2 для разделения."
      },
      "temporal_overlap": {
        "name": "temporal_overlap",
        "tooltip": "Кадры latent, общие для соседних фрагментов и смешиваемые при объединении; 0 = без перекрытия."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "Временные фрагменты в порядке следования."
      },
      "1": {
        "name": "temporal_overlap",
        "tooltip": "Фактическое перекрытие кадров latent между соседними фрагментами для Merge SeedVR2 Latents."
      }
    }
  },
  "SeedVR2TemporalMerge": {
    "description": "Объединить обработанные временные фрагменты latent SeedVR2 в один latent, смешивая каждое перекрытие с помощью окна Ханна, размер которого задаётся temporal_overlap, переданного из Split SeedVR2 Latent.",
    "display_name": "Объединить SeedVR2 latents",
    "inputs": {
      "latents": {
        "name": "latents",
        "tooltip": "Обработанные временные фрагменты в порядке следования."
      },
      "temporal_overlap": {
        "name": "temporal_overlap",
        "tooltip": "Выход temporal_overlap из Split SeedVR2 Latent. 0 = простая конкатенация."
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": "Объединённый latent полной длины."
      }
    }
  },
  "SelectCLIPDevice": {
    "description": "Размещает текстовый энкодер CLIP на определённом устройстве (default / cpu / gpu:N).\n\n- \"default\" возвращает устройство, назначенное загрузчиком.\n- \"cpu\" закрепляет загрузку и выгрузку на CPU.\n- \"gpu:N\" закрепляет загрузку на N-ой доступной GPU.\n\nЕсли выбранное устройство отсутствует на текущей машине\n(например, рабочий процесс создан на 2-GPU, а открыт на 1-GPU),\nузел пропускает CLIP без изменений и записывает сообщение\nвместо ошибки.",
    "display_name": "Выбор устройства для CLIP",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "device": {
        "name": "device"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelectModelDevice": {
    "description": "Размещает диффузионную модель на определённом устройстве (default / cpu / gpu:N).\n\n- \"default\" возвращает устройство, назначенное загрузчиком (даже после\n  предыдущего вызова Select Model Device).\n- \"cpu\" закрепляет загрузку и выгрузку на CPU.\n- \"gpu:N\" закрепляет загрузку на N-ой доступной GPU; выгрузка\n  возвращается к исходному выбору загрузчика.\n\nЕсли запрошенное устройство отличается от того, на котором уже находится\nвходная модель, создаётся новая модель через reload factory загрузчика\n(cached_patcher_init), чтобы новый patcher имел независимые веса на\nновом устройстве. Загрузчики без поддержки multigpu (без factory)\nпропускают узел без изменений с предупреждением.\n\nЕсли в рабочем процессе уже применено MultiGPU CFG Split и выбранная\nGPU совпадает с одной из существующих multigpu-копий, эта копия\nудаляется, чтобы два patcher не оказались на одном устройстве.\n\nЕсли выбранное устройство отсутствует на текущей машине\n(например, рабочий процесс создан на 2-GPU, а открыт на 1-GPU),\nузел пропускает модель без изменений и записывает сообщение\nвместо ошибки.\n\nПРИМЕЧАНИЕ: Размещать Select Model Device *после* узла, который уже\nиспользовал эту модель (например, KSampler, работавший с этой моделью\nна исходном устройстве), не рекомендуется — любые изменения состояния,\nвнесённые предыдущим потребителем, будут видны при совпадении выбранного\nустройства с исходным (быстрый путь). Размещайте Select Model Device\nперед любым потребителем модели.",
    "display_name": "Выбор устройства для модели",
    "inputs": {
      "device": {
        "name": "device"
      },
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelectVAEDevice": {
    "description": "Разместите VAE на определённом устройстве (по умолчанию / gpu:N).\n\n- \"default\" восстанавливает устройство, назначенное загрузчиком.\n- \"gpu:N\" закрепляет устройство загрузки за N-ой доступной GPU; устройство выгрузки\n  устанавливается на стандартное устройство выгрузки VAE.\n\nCPU намеренно не отображается в интерфейсе для VAE; если рабочий процесс\nвсё же указывает \"cpu\" (например, открыт с другого компьютера), запрос\nигнорируется с записью в журнале, а VAE передаётся без изменений.\n\nЕсли выбранное устройство отсутствует на текущем компьютере\n(например, рабочий процесс создан на машине с 2 GPU, а открыт на машине с 1 GPU),\nузел передаёт VAE без изменений и записывает сообщение в журнал,\nвместо того чтобы завершиться с ошибкой.",
    "display_name": "Выбор устройства для VAE",
    "inputs": {
      "device": {
        "name": "устройство"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelfAttentionGuidance": {
    "display_name": "Направление самовнимания",
    "inputs": {
      "blur_sigma": {
        "name": "сигма_размытия"
      },
      "model": {
        "name": "модель"
      },
      "scale": {
        "name": "масштаб"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SetClipHooks": {
    "display_name": "Установить хуки CLIP",
    "inputs": {
      "apply_to_conds": {
        "name": "применить_к_условиям"
      },
      "clip": {
        "name": "клип"
      },
      "hooks": {
        "name": "хуки"
      },
      "schedule_clip": {
        "name": "schedule_clip"
      }
    }
  },
  "SetFirstSigma": {
    "display_name": "SetFirstSigma",
    "inputs": {
      "sigma": {
        "name": "сигма"
      },
      "sigmas": {
        "name": "сигмы"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SetHookKeyframes": {
    "display_name": "Установить ключевые кадры хука",
    "inputs": {
      "hook_kf": {
        "name": "ключевые_кадры_хука"
      },
      "hooks": {
        "name": "хуки"
      }
    }
  },
  "SetLatentNoiseMask": {
    "display_name": "Установить маску шума латента",
    "inputs": {
      "mask": {
        "name": "маска"
      },
      "samples": {
        "name": "образцы"
      }
    }
  },
  "SetUnionControlNetType": {
    "display_name": "Установить тип объединенного ControlNet",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "type": {
        "name": "тип"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ShuffleDataset": {
    "description": "Случайным образом перемешивает порядок изображений в списке.",
    "display_name": "Перемешать набор изображений",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "images": {
        "name": "images",
        "tooltip": "Список изображений для обработки."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Обработанные изображения"
      }
    }
  },
  "ShuffleImageTextDataset": {
    "description": "Случайным образом перемешивает порядок пар изображение-текст в списке.",
    "display_name": "Перемешать набор изображений и текстов",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "images": {
        "name": "images",
        "tooltip": "Список изображений для перемешивания."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно."
      },
      "texts": {
        "name": "texts",
        "tooltip": "Список текстов для перемешивания."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Перемешанные изображения"
      },
      "1": {
        "name": "texts",
        "tooltip": "Перемешанные тексты"
      }
    }
  },
  "ShuffleVideoDataset": {
    "description": "Случайным образом перемешивает порядок видео в списке.",
    "display_name": "Перемешать Список Видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно."
      },
      "videos": {
        "name": "видео",
        "tooltip": "Список видео для перемешивания."
      }
    },
    "outputs": {
      "0": {
        "name": "видео",
        "tooltip": "Перемешанные видео"
      }
    }
  },
  "ShuffleVideoTextDataset": {
    "description": "Случайным образом перемешивает порядок пар видео и текста в списке.",
    "display_name": "Перемешать Пары Видео-Текст",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно."
      },
      "texts": {
        "name": "тексты",
        "tooltip": "Список текстов для перемешивания."
      },
      "videos": {
        "name": "видео",
        "tooltip": "Список видео для перемешивания."
      }
    },
    "outputs": {
      "0": {
        "name": "видео",
        "tooltip": "Перемешанные видео"
      },
      "1": {
        "name": "тексты",
        "tooltip": "Перемешанные тексты"
      }
    }
  },
  "SkipLayerGuidanceDiT": {
    "description": "Универсальная версия ноды SkipLayerGuidance, которую можно использовать на любой модели DiT.",
    "display_name": "Пропустить руководство по слоям DiT",
    "inputs": {
      "double_layers": {
        "name": "двойные_слои"
      },
      "end_percent": {
        "name": "конечный_процент"
      },
      "model": {
        "name": "модель"
      },
      "rescaling_scale": {
        "name": "масштаб_перемасштабирования"
      },
      "scale": {
        "name": "масштаб"
      },
      "single_layers": {
        "name": "одиночные_слои"
      },
      "start_percent": {
        "name": "начальный_процент"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SkipLayerGuidanceDiTSimple": {
    "description": "Упрощенная версия узла SkipLayerGuidanceDiT, которая изменяет только проход без условий.",
    "display_name": "SkipLayerGuidanceDiTSimple",
    "inputs": {
      "double_layers": {
        "name": "двойные_слои"
      },
      "end_percent": {
        "name": "конечный_процент"
      },
      "model": {
        "name": "model"
      },
      "single_layers": {
        "name": "одиночные_слои"
      },
      "start_percent": {
        "name": "начальный_процент"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SkipLayerGuidanceSD3": {
    "description": "Универсальная версия ноды SkipLayerGuidance, которую можно использовать на любой модели DiT.",
    "display_name": "Пропустить руководство по слоям SD3",
    "inputs": {
      "end_percent": {
        "name": "конечный_процент"
      },
      "layers": {
        "name": "слои"
      },
      "model": {
        "name": "модель"
      },
      "scale": {
        "name": "масштаб"
      },
      "start_percent": {
        "name": "начальный_процент"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SolidMask": {
    "display_name": "Сплошная маска",
    "inputs": {
      "height": {
        "name": "высота"
      },
      "value": {
        "name": "значение"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SoniloTextToMusic": {
    "description": "Генерируйте музыку по текстовому запросу с помощью AI-модели Sonilo. Оставьте длительность 0, чтобы модель определила её из запроса.",
    "display_name": "Sonilo: Текст в музыку",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Желаемая длительность в секундах. Установите 0, чтобы модель определила длительность из запроса. Максимум: 6 минут."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовый запрос, описывающий музыку для генерации."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для воспроизводимости. В настоящее время игнорируется сервисом Sonilo, но сохраняется для согласованности графа."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SoniloVideoToMusic": {
    "description": "Генерируйте музыку из видеоконтента с помощью AI-модели Sonilo. Анализирует видео и создает подходящую музыку.",
    "display_name": "Sonilo: Видео в музыку",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Необязательный текстовый запрос для направления генерации музыки. Оставьте пустым для наилучшего качества — модель полностью проанализирует содержимое видео."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed для воспроизводимости. В настоящее время игнорируется сервисом Sonilo, но сохраняется для согласованности графа."
      },
      "video": {
        "name": "video",
        "tooltip": "Входное видео для генерации музыки. Максимальная длительность: 6 минут."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SplatToFile3D": {
    "description": "Сериализует гауссовский splat в объект File3D для узлов Save / Preview 3D. Поддерживается только один элемент на пакет.",
    "display_name": "Создать 3D-файл (из Splat)",
    "inputs": {
      "format": {
        "name": "формат",
        "tooltip": "ply: стандартный 3D Gaussian Splat с полными сферическими гармониками. ksplat: mkkellogg SplatBuffer (уровень 0, без сжатия), только базовый цвет. spz: Niantic сжатие gzip (~10x меньше), только базовый цвет."
      },
      "splat": {
        "name": "splat"
      }
    },
    "outputs": {
      "0": {
        "name": "3D-модель",
        "tooltip": null
      }
    }
  },
  "SplatToMesh": {
    "description": "Извлечь цветную mesh из гауссового splat.",
    "display_name": "Извлечь Mesh из Splat",
    "inputs": {
      "color_sharpen": {
        "name": "резкость_цвета",
        "tooltip": "Улучшить чёткость текстуры вершин: 1.0 = физически корректное смешивание; выше смещает цвет каждого вокселя к доминирующему гауссиану вместо усреднения с соседями (убирает размытие текстуры). Только цвет — геометрия не меняется."
      },
      "kernel": {
        "name": "ядро",
        "tooltip": "Максимальная полу-ширина splat в вокселях. Каждый гауссиан растеризуется в окне, размер которого равен его собственным 3-сигма, ограниченным этим значением — маленькие surfel остаются дешёвыми, большие не обрезаются. Увеличьте, если разреженные splat оставляют пробелы."
      },
      "level": {
        "name": "уровень",
        "tooltip": "Уровень изо-поверхности. Автоматически выбирается методом Отсу; это смещает его (1.0 = авто, ниже = более толстая/связанная поверхность, выше = более тонкая/плотная)."
      },
      "min_component": {
        "name": "мин_компонент",
        "tooltip": "Удалять связанные компоненты меньше этого количества вершин (0 = оставить все). Удаляет отдельные плавающие фрагменты и внутреннюю оболочку двойной стены."
      },
      "min_opacity": {
        "name": "мин_непрозрачность",
        "tooltip": "Игнорировать гауссианы слабее этого значения перед построением mesh."
      },
      "resolution": {
        "name": "разрешение",
        "tooltip": "Разрешение плотностной сетки вдоль самой длинной оси. Выше = более детализированная поверхность, больше VRAM/времени (растёт как resolution^3)."
      },
      "smooth": {
        "name": "сглаживание",
        "tooltip": "Итерации сглаживания mesh по Таубину. Сглаживает поверхность без её уменьшения (с сохранением объёма), в отличие от размытия плотности. 0 = необработанная поверхность."
      },
      "splat": {
        "name": "splat"
      }
    },
    "outputs": {
      "0": {
        "name": "mesh",
        "tooltip": null
      }
    }
  },
  "SplitAudioChannels": {
    "description": "Разделяет аудио на левый и правый каналы.",
    "display_name": "Разделить аудиоканалы",
    "inputs": {
      "audio": {
        "name": "аудио"
      }
    },
    "outputs": {
      "0": {
        "name": "левый",
        "tooltip": null
      },
      "1": {
        "name": "правый",
        "tooltip": null
      }
    }
  },
  "SplitImageToTileList": {
    "description": "Разделяет изображение на пакетированный список тайлов с заданным перекрытием.",
    "display_name": "Разделить изображение на список тайлов",
    "inputs": {
      "image": {
        "name": "image"
      },
      "overlap": {
        "name": "overlap"
      },
      "tile_height": {
        "name": "tile_height"
      },
      "tile_width": {
        "name": "tile_width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SplitImageWithAlpha": {
    "display_name": "Разделить изображение с альфа-каналом",
    "inputs": {
      "image": {
        "name": "изображение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "SplitSigmas": {
    "display_name": "Разделить сигмы",
    "inputs": {
      "sigmas": {
        "name": "сигмы"
      },
      "step": {
        "name": "шаг"
      }
    },
    "outputs": {
      "0": {
        "name": "высокие сигмы",
        "tooltip": null
      },
      "1": {
        "name": "низкие сигмы",
        "tooltip": null
      }
    }
  },
  "SplitSigmasDenoise": {
    "display_name": "Разделить сигмы для удаления шума",
    "inputs": {
      "denoise": {
        "name": "шумоподавление"
      },
      "sigmas": {
        "name": "сигмы"
      }
    },
    "outputs": {
      "0": {
        "name": "высокие сигмы",
        "tooltip": null
      },
      "1": {
        "name": "низкие сигмы",
        "tooltip": null
      }
    }
  },
  "StableCascade_EmptyLatentImage": {
    "display_name": "StableCascade_Пустое латентное изображение",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "compression": {
        "name": "сжатие"
      },
      "height": {
        "name": "высота"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "этап_c",
        "tooltip": null
      },
      "1": {
        "name": "этап_b",
        "tooltip": null
      }
    }
  },
  "StableCascade_StageB_Conditioning": {
    "display_name": "StableCascade_Этап B_Кондиционирование",
    "inputs": {
      "conditioning": {
        "name": "кондиционирование"
      },
      "stage_c": {
        "name": "стадия_c"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StableCascade_StageC_VAEEncode": {
    "display_name": "StableCascade_Этап C_VAE Кодирование",
    "inputs": {
      "compression": {
        "name": "сжатие"
      },
      "image": {
        "name": "изображение"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "этап_c",
        "tooltip": null
      },
      "1": {
        "name": "этап_b",
        "tooltip": null
      }
    }
  },
  "StableCascade_SuperResolutionControlnet": {
    "display_name": "StableCascade_Суперразрешение Controlnet",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "вход_controlnet",
        "tooltip": null
      },
      "1": {
        "name": "этап_c",
        "tooltip": null
      },
      "2": {
        "name": "этап_b",
        "tooltip": null
      }
    }
  },
  "StableZero123_Conditioning": {
    "display_name": "StableZero123_Кондиционирование",
    "inputs": {
      "azimuth": {
        "name": "азимут"
      },
      "batch_size": {
        "name": "размер_пакета"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "высота"
      },
      "height": {
        "name": "высота"
      },
      "init_image": {
        "name": "начальное_изображение"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": null
      }
    }
  },
  "StableZero123_Conditioning_Batched": {
    "display_name": "StableZero123_Кондиционирование_Пакетное",
    "inputs": {
      "azimuth": {
        "name": "азимут"
      },
      "azimuth_batch_increment": {
        "name": "инкремент_азимута_пакета"
      },
      "batch_size": {
        "name": "размер_пакета"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "высота"
      },
      "elevation_batch_increment": {
        "name": "инкремент_высоты_пакета"
      },
      "height": {
        "name": "высота"
      },
      "init_image": {
        "name": "начальное_изображение"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": null
      }
    }
  },
  "StringCompare": {
    "display_name": "Сравнить",
    "inputs": {
      "case_sensitive": {
        "name": "с_учетом_регистра"
      },
      "mode": {
        "name": "режим"
      },
      "string_a": {
        "name": "строка_a"
      },
      "string_b": {
        "name": "строка_b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringConcatenate": {
    "display_name": "Объединить",
    "inputs": {
      "delimiter": {
        "name": "разделитель"
      },
      "string_a": {
        "name": "строка_a"
      },
      "string_b": {
        "name": "строка_b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringContains": {
    "display_name": "Содержит",
    "inputs": {
      "case_sensitive": {
        "name": "с_учетом_регистра"
      },
      "string": {
        "name": "строка"
      },
      "substring": {
        "name": "подстрока"
      }
    },
    "outputs": {
      "0": {
        "name": "содержит",
        "tooltip": null
      }
    }
  },
  "StringFormat": {
    "description": "Аналог метода форматирования строк в Python. Поддерживает все опции и возможности форматирования Python.",
    "display_name": "Форматировать текст",
    "inputs": {
      "f_string": {
        "name": "f_string"
      },
      "values": {
        "name": "values"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringLength": {
    "display_name": "Длина",
    "inputs": {
      "string": {
        "name": "строка"
      }
    },
    "outputs": {
      "0": {
        "name": "длина",
        "tooltip": null
      }
    }
  },
  "StringReplace": {
    "display_name": "Заменить",
    "inputs": {
      "find": {
        "name": "найти"
      },
      "replace": {
        "name": "заменить"
      },
      "string": {
        "name": "строка"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringSubstring": {
    "display_name": "Подстрока",
    "inputs": {
      "end": {
        "name": "конец"
      },
      "start": {
        "name": "начало"
      },
      "string": {
        "name": "строка"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringTrim": {
    "display_name": "Обрезать",
    "inputs": {
      "mode": {
        "name": "режим"
      },
      "string": {
        "name": "строка"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StripWhitespace": {
    "display_name": "Удалить пробелы",
    "inputs": {
      "texts": {
        "name": "тексты",
        "tooltip": "Текст для обработки."
      }
    },
    "outputs": {
      "0": {
        "name": "тексты",
        "tooltip": "Обработанные тексты"
      }
    }
  },
  "StyleModelApply": {
    "display_name": "Применить модель стиля",
    "inputs": {
      "clip_vision_output": {
        "name": "выход_clip_vision"
      },
      "conditioning": {
        "name": "кондиционирование"
      },
      "strength": {
        "name": "сила"
      },
      "strength_type": {
        "name": "тип_силы"
      },
      "style_model": {
        "name": "модель_стиля"
      }
    }
  },
  "StyleModelLoader": {
    "display_name": "Загрузить модель стиля",
    "inputs": {
      "style_model_name": {
        "name": "название_модели_стиля"
      }
    }
  },
  "SyncLipSyncNode": {
    "description": "Повторная синхронизация движения рта на видео с новой речевой дорожкой с помощью sync.so. Автоматически обрабатывает крупные планы, профиль и препятствия, сохраняя выражение лица говорящего. Стоимость зависит от продолжительности результата.",
    "display_name": "sync.so Lip Sync",
    "inputs": {
      "audio": {
        "name": "аудио",
        "tooltip": "Речевая аудиодорожка для синхронизации с движением рта."
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model": {
        "name": "модель",
        "tooltip": "Генеративная модель sync.so."
      },
      "model_speaker_frame": {
        "name": "speaker_frame"
      },
      "model_speaker_selection": {
        "name": "speaker_selection"
      },
      "model_speaker_x": {
        "name": "speaker_x"
      },
      "model_speaker_y": {
        "name": "speaker_y"
      },
      "model_sync_mode": {
        "name": "sync_mode"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет необходимостью повторного запуска узла; результаты всегда недетерминированы, независимо от значения seed."
      },
      "video": {
        "name": "видео",
        "tooltip": "Видеозапись говорящего для повторной синхронизации. До 4K (4096x2160); оптимально использовать постоянную частоту кадров 24/25/30 fps."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SyncTalkingImageNode": {
    "description": "Анимируйте статичный портрет в говорящее видео, управляемое речевой аудиодорожкой, с помощью модели sync-3 от sync.so. Длительность результата соответствует длительности аудио. Стоимость зависит от продолжительности результата.",
    "display_name": "sync.so Talking Image",
    "inputs": {
      "audio": {
        "name": "аудио",
        "tooltip": "Речевая аудиодорожка, управляющая говорящим видео; длительность результата будет соответствовать ей. Для анимации по тексту подключите сюда любой TTS-узел."
      },
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "image": {
        "name": "изображение",
        "tooltip": "Одиночное изображение с чётко видимым лицом, до 4K (4096x2160)."
      },
      "model": {
        "name": "модель",
        "tooltip": "Генеративная модель sync.so. Ввод изображения поддерживается только sync-3."
      },
      "model_auto_downscale": {
        "name": "auto_downscale"
      },
      "model_speaker_selection": {
        "name": "speaker_selection"
      },
      "model_speaker_x": {
        "name": "speaker_x"
      },
      "model_speaker_y": {
        "name": "speaker_y"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Необязательное указание, как должен оживать портрет, например: «заставьте персонажа улыбнуться и смотреть в камеру». Оставьте пустым для естественного движения при разговоре."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет необходимостью повторного запуска узла; результаты всегда недетерминированы, независимо от значения seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "T5TokenizerOptions": {
    "display_name": "T5TokenizerOptions",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "min_length": {
        "name": "минимальная_длина"
      },
      "min_padding": {
        "name": "минимальное_дополнение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TCFG": {
    "description": "TCFG – Тангенциальное демпфирование CFG (2503.18137)\n\nУточняет негативное условие для согласования с позитивным для улучшения качества.",
    "display_name": "Тангенциальное демпфирование CFG",
    "inputs": {
      "model": {
        "name": "модель"
      }
    },
    "outputs": {
      "0": {
        "name": "исправленная_модель",
        "tooltip": null
      }
    }
  },
  "TemporalScoreRescaling": {
    "description": "[Функция после CFG]\nTSR - Временное перемасштабирование оценки (2510.01184)\n\nПеремасштабирование оценки или шума модели для управления разнообразием сэмплирования.",
    "display_name": "TSR - Временное перемасштабирование оценки",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "tsr_k": {
        "name": "tsr_k",
        "tooltip": "Управляет силой перемасштабирования.\nМеньшее значение k дает более детализированные результаты; большее значение k дает более гладкие результаты при генерации изображений. Установка k = 1 отключает перемасштабирование."
      },
      "tsr_sigma": {
        "name": "tsr_sigma",
        "tooltip": "Управляет тем, насколько рано начинает действовать перемасштабирование.\nБольшие значения вступают в силу раньше."
      }
    },
    "outputs": {
      "0": {
        "name": "исправленная_модель",
        "tooltip": null
      }
    }
  },
  "Tencent3DPartNode": {
    "description": "Автоматически выполняет идентификацию и генерацию компонентов на основе структуры модели.",
    "display_name": "Hunyuan3D: 3D Part",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "3D-модель в формате FBX. Модель должна содержать менее 30000 граней."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет необходимостью повторного запуска узла; результаты не являются детерминированными независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "Tencent3DTextureEditNode": {
    "description": "После загрузки 3D-модели выполните перерисовку текстуры 3D-модели.",
    "display_name": "Hunyuan3D: Редактирование 3D-текстуры",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "3D-модель в формате FBX. Модель должна содержать менее 100000 полигонов."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Опишите редактирование текстуры. Поддерживается до 1024 символов UTF-8."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет необходимостью повторного запуска узла; результат всегда недетерминированный, независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "name": "GLB",
        "tooltip": null
      },
      "1": {
        "name": "OBJ",
        "tooltip": null
      },
      "2": {
        "name": "texture_image",
        "tooltip": null
      }
    }
  },
  "TencentImageToModelNode": {
    "display_name": "Hunyuan3D: Изображение(я) в модель (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "face_count": {
        "name": "количество граней"
      },
      "generate_type": {
        "name": "тип генерации"
      },
      "generate_type_pbr": {
        "name": "pbr"
      },
      "image": {
        "name": "изображение"
      },
      "image_back": {
        "name": "изображение сзади"
      },
      "image_left": {
        "name": "изображение слева"
      },
      "image_right": {
        "name": "изображение справа"
      },
      "model": {
        "name": "модель",
        "tooltip": "Опция LowPoly недоступна для модели `3.1`."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, будет ли узел запускаться повторно; результаты всегда недетерминированы, независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "name": "файл модели",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "OBJ",
        "tooltip": null
      },
      "3": {
        "name": "texture_image",
        "tooltip": null
      },
      "4": {
        "name": "optional_metallic",
        "tooltip": null
      },
      "5": {
        "name": "optional_normal",
        "tooltip": null
      },
      "6": {
        "name": "optional_roughness",
        "tooltip": null
      }
    }
  },
  "TencentModelTo3DUVNode": {
    "description": "Выполнить UV-развёртку 3D-модели для генерации UV-текстуры. Входная модель должна содержать менее 30000 граней.",
    "display_name": "Hunyuan3D: Модель в UV",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "model_3d": {
        "name": "3D-модель",
        "tooltip": "Входная 3D-модель (GLB, OBJ или FBX)"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет необходимостью повторного запуска узла; результаты всегда недетерминированы независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "name": "OBJ",
        "tooltip": null
      },
      "1": {
        "name": "FBX",
        "tooltip": null
      },
      "2": {
        "name": "uv_image",
        "tooltip": null
      }
    }
  },
  "TencentSmartTopologyNode": {
    "description": "Выполнить умную ретопологию 3D-модели. Поддерживаются форматы GLB/OBJ; максимум 200 МБ; рекомендуется для высокополигональных моделей.",
    "display_name": "Hunyuan3D: Умная топология",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "face_level": {
        "name": "уровень граней",
        "tooltip": "Уровень редукции полигонов."
      },
      "model_3d": {
        "name": "3D-модель",
        "tooltip": "Входная 3D-модель (GLB или OBJ)"
      },
      "polygon_type": {
        "name": "тип полигона",
        "tooltip": "Тип композиции поверхности."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет необходимостью повторного запуска узла; результаты всегда недетерминированы независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "name": "OBJ",
        "tooltip": null
      }
    }
  },
  "TencentTextToModelNode": {
    "display_name": "Hunyuan3D: Текст в модель (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "face_count": {
        "name": "количество граней"
      },
      "generate_type": {
        "name": "тип генерации"
      },
      "generate_type_pbr": {
        "name": "pbr"
      },
      "model": {
        "name": "модель",
        "tooltip": "Опция LowPoly недоступна для модели `3.1`."
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Поддерживается до 1024 символов."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed управляет тем, будет ли узел запускаться повторно; результаты всегда недетерминированы, независимо от seed."
      }
    },
    "outputs": {
      "0": {
        "name": "файл модели",
        "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": "текст_песни"
      },
      "lyrics_strength": {
        "name": "сила_текста_песни"
      },
      "tags": {
        "name": "теги"
      }
    },
    "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": "контроль после генерации"
      },
      "duration": {
        "name": "длительность"
      },
      "generate_audio_codes": {
        "name": "генерировать аудиокоды",
        "tooltip": "Включить LLM, который генерирует аудиокоды. Это может быть медленно, но повысит качество сгенерированного аудио. Отключите, если вы предоставляете модели аудиореференс."
      },
      "keyscale": {
        "name": "тональность"
      },
      "language": {
        "name": "язык"
      },
      "lyrics": {
        "name": "текст песни"
      },
      "min_p": {
        "name": "min_p"
      },
      "seed": {
        "name": "seed"
      },
      "tags": {
        "name": "теги"
      },
      "temperature": {
        "name": "температура"
      },
      "timesignature": {
        "name": "размер"
      },
      "top_k": {
        "name": "top_k"
      },
      "top_p": {
        "name": "top_p"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeBooguEdit": {
    "display_name": "TextEncodeBooguEdit",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "images": {
        "name": "images",
        "tooltip": "Референсное изображение(я) для редактирования. Boogu фокусируется на одном референсе на выборку; допускается больше."
      },
      "negative_prompt": {
        "name": "negative_prompt"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      }
    }
  },
  "TextEncodeHunyuanVideo_ImageToVideo": {
    "display_name": "TextEncodeHunyuanVideo_ImageToVideo",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_vision_output": {
        "name": "выход clip_vision"
      },
      "image_interleave": {
        "name": "перемежение изображения",
        "tooltip": "Насколько сильно изображение влияет на текстовую подсказку. Чем выше число, тем больше влияние от текстовой подсказки."
      },
      "prompt": {
        "name": "подсказка"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeJoyImageEdit": {
    "display_name": "TextEncodeJoyImageEdit",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "images": {
        "name": "изображения"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeMageFlowEdit": {
    "description": "Кодирует инструкцию редактирования с одним или несколькими референсными изображениями для Mage-Flow-Edit. Референсные латенты изменяются до выходного разрешения (ширина/высота, либо размер первого изображения при 0). Используйте выход латент для сэмплирования, чтобы размеры всегда совпадали.",
    "display_name": "TextEncodeMageFlowEdit",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "height",
        "tooltip": "Выходная высота. 0 = использовать размер первого референсного изображения."
      },
      "images": {
        "name": "images",
        "tooltip": "Референсное(ые) изображение(я) для редактирования. Все референсы изменяются до выходного разрешения перед кодированием."
      },
      "negative_prompt": {
        "name": "negative_prompt"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width",
        "tooltip": "Выходная ширина. 0 = использовать размер первого референсного изображения."
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "TextEncodeQwenImageEdit": {
    "display_name": "TextEncodeQwenImageEdit",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "изображение"
      },
      "prompt": {
        "name": "промпт"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeQwenImageEditPlus": {
    "display_name": "TextEncodeQwenImageEditPlus",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image1": {
        "name": "изображение1"
      },
      "image2": {
        "name": "изображение2"
      },
      "image3": {
        "name": "изображение3"
      },
      "prompt": {
        "name": "промпт"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeZImageOmni": {
    "display_name": "TextEncodeZImageOmni",
    "inputs": {
      "auto_resize_images": {
        "name": "автоматическое_изменение_размера_изображений"
      },
      "clip": {
        "name": "clip"
      },
      "image1": {
        "name": "изображение1"
      },
      "image2": {
        "name": "изображение2"
      },
      "image3": {
        "name": "изображение3"
      },
      "image_encoder": {
        "name": "кодировщик_изображения"
      },
      "prompt": {
        "name": "промпт"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextGenerate": {
    "display_name": "TextGenerate",
    "inputs": {
      "audio": {
        "name": "аудио"
      },
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "изображение"
      },
      "max_length": {
        "name": "максимальная длина"
      },
      "prompt": {
        "name": "запрос"
      },
      "sampling_mode": {
        "name": "режим выборки"
      },
      "sampling_mode_min_p": {
        "name": "min_p"
      },
      "sampling_mode_presence_penalty": {
        "name": "штраф за присутствие"
      },
      "sampling_mode_repetition_penalty": {
        "name": "штраф за повторение"
      },
      "sampling_mode_seed": {
        "name": "seed"
      },
      "sampling_mode_temperature": {
        "name": "температура"
      },
      "sampling_mode_top_k": {
        "name": "top_k"
      },
      "sampling_mode_top_p": {
        "name": "top_p"
      },
      "thinking": {
        "name": "мышление",
        "tooltip": "Работать в режиме мышления, если модель это поддерживает."
      },
      "use_default_template": {
        "name": "use_default_template",
        "tooltip": "Использовать встроенный системный шаблон/подсказку, если он есть у модели."
      },
      "video": {
        "name": "видео",
        "tooltip": "Кадры видео как пакет изображений. Предполагается 24 кадра в секунду; внутренне дискретизируется до 1 кадра в секунду."
      }
    },
    "outputs": {
      "0": {
        "name": "сгенерированный текст",
        "tooltip": null
      }
    }
  },
  "TextGenerateLTX2Prompt": {
    "display_name": "TextGenerateLTX2Prompt",
    "inputs": {
      "audio": {
        "name": "аудио"
      },
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "изображение"
      },
      "max_length": {
        "name": "максимальная длина"
      },
      "prompt": {
        "name": "подсказка"
      },
      "sampling_mode": {
        "name": "режим выборки"
      },
      "sampling_mode_min_p": {
        "name": "минимальное p"
      },
      "sampling_mode_presence_penalty": {
        "name": "штраф за присутствие"
      },
      "sampling_mode_repetition_penalty": {
        "name": "штраф за повторение"
      },
      "sampling_mode_seed": {
        "name": "seed"
      },
      "sampling_mode_temperature": {
        "name": "температура"
      },
      "sampling_mode_top_k": {
        "name": "top_k"
      },
      "sampling_mode_top_p": {
        "name": "top_p"
      },
      "thinking": {
        "name": "мышление",
        "tooltip": "Работать в режиме мышления, если модель это поддерживает."
      },
      "use_default_template": {
        "name": "use_default_template",
        "tooltip": "Использовать встроенный системный шаблон/подсказку, если он есть у модели."
      },
      "video": {
        "name": "видео",
        "tooltip": "Кадры видео как пакет изображений. Предполагается 24 кадра в секунду; внутренне дискретизируется до 1 кадра в секунду."
      }
    },
    "outputs": {
      "0": {
        "name": "сгенерированный текст",
        "tooltip": null
      }
    }
  },
  "TextOverlay": {
    "description": "Наложить текст на изображение или пакет изображений.",
    "display_name": "Наложение текста",
    "inputs": {
      "align": {
        "name": "выравнивание"
      },
      "color": {
        "name": "цвет",
        "tooltip": "Цвет текста."
      },
      "font_size": {
        "name": "размер_шрифта",
        "tooltip": "Размер шрифта в процентах от высоты изображения."
      },
      "images": {
        "name": "изображения"
      },
      "outline": {
        "name": "контур",
        "tooltip": "Нарисовать черный контур вокруг текста."
      },
      "position": {
        "name": "позиция"
      },
      "text": {
        "name": "текст"
      }
    },
    "outputs": {
      "0": {
        "name": "изображения",
        "tooltip": null
      }
    }
  },
  "TextToLowercase": {
    "display_name": "Преобразовать текст в нижний регистр",
    "inputs": {
      "texts": {
        "name": "тексты",
        "tooltip": "Текст для обработки."
      }
    },
    "outputs": {
      "0": {
        "name": "тексты",
        "tooltip": "Обработанные тексты"
      }
    }
  },
  "TextToUppercase": {
    "display_name": "Преобразовать текст в верхний регистр",
    "inputs": {
      "texts": {
        "name": "тексты",
        "tooltip": "Текст для обработки."
      }
    },
    "outputs": {
      "0": {
        "name": "тексты",
        "tooltip": "Обработанные тексты"
      }
    }
  },
  "ThresholdMask": {
    "display_name": "Пороговая маска",
    "inputs": {
      "mask": {
        "name": "маска"
      },
      "value": {
        "name": "значение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TomePatchModel": {
    "display_name": "Модель патча Tome",
    "inputs": {
      "model": {
        "name": "модель"
      },
      "ratio": {
        "name": "соотношение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazImageEnhance": {
    "description": "Промышленный стандарт увеличения и улучшения изображений.",
    "display_name": "Topaz Улучшение изображения",
    "inputs": {
      "color_preservation": {
        "name": "сохранение цвета",
        "tooltip": "Сохранять оригинальные цвета."
      },
      "creativity": {
        "name": "креативность"
      },
      "crop_to_fill": {
        "name": "обрезать до заполнения",
        "tooltip": "По умолчанию изображение добавляется с полями, если соотношение сторон отличается. Включите, чтобы обрезать изображение до заполнения выходных размеров."
      },
      "face_enhancement": {
        "name": "улучшение лица",
        "tooltip": "Улучшить лица (если присутствуют) во время обработки."
      },
      "face_enhancement_creativity": {
        "name": "креативность улучшения лица",
        "tooltip": "Установить уровень креативности для улучшения лица."
      },
      "face_enhancement_strength": {
        "name": "степень улучшения лица",
        "tooltip": "Контролирует, насколько четкими будут улучшенные лица по сравнению с фоном."
      },
      "face_preservation": {
        "name": "сохранение лица",
        "tooltip": "Сохранять идентичность лица объекта."
      },
      "image": {
        "name": "изображение"
      },
      "model": {
        "name": "модель"
      },
      "output_height": {
        "name": "выходная высота",
        "tooltip": "Нулевое значение означает вывод в той же высоте, что и оригинал, или output_width."
      },
      "output_width": {
        "name": "выходная ширина",
        "tooltip": "Нулевое значение означает автоматический расчет (обычно это будет исходный размер или output_height, если указано)."
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Необязательный текстовый промпт для творческого управления увеличением."
      },
      "subject_detection": {
        "name": "обнаружение объекта"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazImageEnhanceV2": {
    "description": "Промышленный стандарт увеличения и улучшения изображений.",
    "display_name": "Topaz Улучшение Изображения",
    "inputs": {
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "model_color_preservation": {
        "name": "color_preservation"
      },
      "model_creativity": {
        "name": "creativity"
      },
      "model_crop_to_fill": {
        "name": "crop_to_fill"
      },
      "model_face_enhancement": {
        "name": "face_enhancement"
      },
      "model_face_enhancement_creativity": {
        "name": "face_enhancement_creativity"
      },
      "model_face_enhancement_strength": {
        "name": "face_enhancement_strength"
      },
      "model_face_preservation": {
        "name": "face_preservation"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_subject_detection": {
        "name": "subject_detection"
      },
      "output_height": {
        "name": "output_height",
        "tooltip": "Нулевое значение означает вывод с той же высотой, что и оригинал, или пропорционально масштабированный к output_width, если он указан. Wonder 3.5 поддерживает коэффициенты увеличения от 1x до 6x. Bloom 2 и Wonder 3.5 сохраняют исходное соотношение сторон и рассматривают запрошенный размер как целевой."
      },
      "output_width": {
        "name": "output_width",
        "tooltip": "Нулевое значение означает автоматический расчет (обычно это будет исходный размер или пропорционально масштабированный к output_height, если он указан). Wonder 3.5 поддерживает коэффициенты увеличения от 1x до 6x. Bloom 2 и Wonder 3.5 сохраняют исходное соотношение сторон и рассматривают запрошенный размер как целевой."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazVideoEnhance": {
    "description": "Оживите видео с помощью мощных технологий увеличения разрешения и восстановления.",
    "display_name": "Topaz Video Enhance",
    "inputs": {
      "dynamic_compression_level": {
        "name": "уровень динамического сжатия",
        "tooltip": "Уровень CQP."
      },
      "interpolation_duplicate": {
        "name": "удаление дубликатов кадров",
        "tooltip": "Анализировать входное видео на наличие дублирующихся кадров и удалять их."
      },
      "interpolation_duplicate_threshold": {
        "name": "порог дубликатов кадров",
        "tooltip": "Чувствительность обнаружения дублирующихся кадров."
      },
      "interpolation_enabled": {
        "name": "включить интерполяцию"
      },
      "interpolation_frame_rate": {
        "name": "частота кадров интерполяции",
        "tooltip": "Частота кадров на выходе."
      },
      "interpolation_model": {
        "name": "модель интерполяции"
      },
      "interpolation_slowmo": {
        "name": "замедление интерполяции",
        "tooltip": "Фактор замедления, применяемый к входному видео. Например, 2 делает выход в два раза медленнее и удваивает длительность."
      },
      "upscaler_creativity": {
        "name": "креативность увеличителя",
        "tooltip": "Уровень креативности (применяется только к Starlight (Astra) Creative)."
      },
      "upscaler_enabled": {
        "name": "включить увеличитель"
      },
      "upscaler_model": {
        "name": "модель увеличителя"
      },
      "upscaler_resolution": {
        "name": "разрешение увеличителя"
      },
      "video": {
        "name": "видео"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazVideoEnhanceV2": {
    "description": "Оживите видео с помощью мощных технологий увеличения разрешения и восстановления.",
    "display_name": "Topaz Video Enhance",
    "inputs": {
      "dynamic_compression_level": {
        "name": "уровень динамического сжатия",
        "tooltip": "Уровень CQP."
      },
      "interpolation_model": {
        "name": "interpolation_model"
      },
      "upscaler_model": {
        "name": "upscaler_model"
      },
      "upscaler_model_creativity": {
        "name": "креативность"
      },
      "upscaler_model_prompt": {
        "name": "промпт"
      },
      "upscaler_model_realism": {
        "name": "реализм"
      },
      "upscaler_model_sharp": {
        "name": "резкость"
      },
      "upscaler_model_upscaler_resolution": {
        "name": "разрешение увеличения"
      },
      "video": {
        "name": "видео"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TorchCompileModel": {
    "display_name": "Скомпилировать модель Torch",
    "inputs": {
      "backend": {
        "name": "бэкенд"
      },
      "model": {
        "name": "модель"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TrainLoraNode": {
    "display_name": "Обучить LoRA",
    "inputs": {
      "algorithm": {
        "name": "алгоритм",
        "tooltip": "Алгоритм, используемый для обучения."
      },
      "batch_size": {
        "name": "размер пакета",
        "tooltip": "Размер пакета, используемый для обучения."
      },
      "bucket_mode": {
        "name": "режим корзины разрешений",
        "tooltip": "Включить режим корзины разрешений. При включении ожидает предварительно разбитые латенты от узла ResolutionBucket."
      },
      "bypass_mode": {
        "name": "bypass_mode",
        "tooltip": "Включить режим обхода для обучения. При включении адаптеры применяются через forward hooks вместо изменения весов. Полезно для квантизованных моделей, где веса нельзя изменить напрямую."
      },
      "checkpoint_depth": {
        "name": "checkpoint_depth",
        "tooltip": "Уровень глубины для градиентного чекпоинтинга."
      },
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "existing_lora": {
        "name": "существующая lora",
        "tooltip": "Существующая LoRA для добавления. Установите None для новой LoRA."
      },
      "grad_accumulation_steps": {
        "name": "шаги накопления градиента",
        "tooltip": "Количество шагов накопления градиента, используемых для обучения."
      },
      "gradient_checkpointing": {
        "name": "чекпоинтинг градиента",
        "tooltip": "Использовать чекпоинтинг градиента для обучения."
      },
      "latents": {
        "name": "латентные представления",
        "tooltip": "Латентные представления, используемые для обучения, служат набором данных/входными данными модели."
      },
      "learning_rate": {
        "name": "скорость обучения",
        "tooltip": "Скорость обучения, используемая для тренировки."
      },
      "lora_dtype": {
        "name": "тип данных lora",
        "tooltip": "Тип данных, используемый для LoRA."
      },
      "loss_function": {
        "name": "функция потерь",
        "tooltip": "Функция потерь, используемая для обучения."
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель для обучения LoRA."
      },
      "offloading": {
        "name": "offloading",
        "tooltip": "Уровень глубины для градиентного чекпоинтинга."
      },
      "optimizer": {
        "name": "оптимизатор",
        "tooltip": "Оптимизатор, используемый для обучения."
      },
      "positive": {
        "name": "позитивное условие",
        "tooltip": "Позитивное условие, используемое для обучения."
      },
      "quantized_backward": {
        "name": "quantized_backward",
        "tooltip": "При использовании training_dtype 'none' и обучении на квантизированной модели, при включении выполняется обратное распространение с квантизированным матричным умножением."
      },
      "rank": {
        "name": "ранг",
        "tooltip": "Ранг слоёв LoRA."
      },
      "seed": {
        "name": "зерно",
        "tooltip": "Зерно, используемое для обучения (применяется в генераторе для инициализации весов LoRA и выборки шума)."
      },
      "steps": {
        "name": "шаги",
        "tooltip": "Количество шагов для обучения LoRA."
      },
      "training_dtype": {
        "name": "тип данных обучения",
        "tooltip": "Тип данных, используемый для обучения."
      }
    },
    "outputs": {
      "0": {
        "name": "lora",
        "tooltip": "Модель с применённой LoRA"
      },
      "1": {
        "name": "карта потерь",
        "tooltip": "Веса LoRA"
      },
      "2": {
        "name": "шаги",
        "tooltip": "История потерь"
      }
    }
  },
  "TransformSplat": {
    "description": "Сдвиг, вращение и масштабирование гауссового splat. Неравномерное масштабирование также изменяет форму каждого отдельного splat, более медленный процесс.",
    "display_name": "Трансформировать Splat",
    "inputs": {
      "rotate_x": {
        "name": "вращать_x"
      },
      "rotate_y": {
        "name": "вращать_y"
      },
      "rotate_z": {
        "name": "вращать_z"
      },
      "scale_x": {
        "name": "масштаб_x"
      },
      "scale_y": {
        "name": "масштаб_y"
      },
      "scale_z": {
        "name": "масштаб_z"
      },
      "splat": {
        "name": "splat"
      },
      "translate_x": {
        "name": "переместить_x"
      },
      "translate_y": {
        "name": "переместить_y"
      },
      "translate_z": {
        "name": "переместить_z"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "TrimAudioDuration": {
    "description": "Обрезать аудио тензор в выбранном временном диапазоне.",
    "display_name": "Обрезка длительности аудио",
    "inputs": {
      "audio": {
        "name": "аудио"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Длительность в секундах"
      },
      "start_index": {
        "name": "start_index",
        "tooltip": "Время начала в секундах, может быть отрицательным для отсчёта с конца (поддерживает доли секунд)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TrimVideoLatent": {
    "display_name": "TrimVideoLatent",
    "inputs": {
      "samples": {
        "name": "samples"
      },
      "trim_amount": {
        "name": "обрезать_на"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripleCLIPLoader": {
    "description": "[Рецепты]\n\nsd3: clip-l, clip-g, t5",
    "display_name": "Тройной загрузчик CLIP",
    "inputs": {
      "clip_name1": {
        "name": "clip_name1"
      },
      "clip_name2": {
        "name": "clip_name2"
      },
      "clip_name3": {
        "name": "clip_name3"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripoConversionNode": {
    "display_name": "Tripo: Конвертировать модель",
    "inputs": {
      "animate_in_place": {
        "name": "анимировать на месте"
      },
      "bake": {
        "name": "запечь"
      },
      "export_orientation": {
        "name": "экспортировать ориентацию"
      },
      "export_vertex_colors": {
        "name": "экспортировать цвета вершин"
      },
      "face_limit": {
        "name": "face_limit"
      },
      "fbx_preset": {
        "name": "FBX-пресет"
      },
      "flatten_bottom": {
        "name": "выравнивание низа"
      },
      "flatten_bottom_threshold": {
        "name": "порог выравнивания низа"
      },
      "force_symmetry": {
        "name": "принудительная симметрия"
      },
      "format": {
        "name": "format"
      },
      "original_model_task_id": {
        "name": "original_model_task_id"
      },
      "pack_uv": {
        "name": "упаковать UV"
      },
      "part_names": {
        "name": "имена частей"
      },
      "pivot_to_center_bottom": {
        "name": "центрировать нижнюю точку"
      },
      "quad": {
        "name": "quad"
      },
      "scale_factor": {
        "name": "коэффициент масштабирования"
      },
      "texture_format": {
        "name": "texture_format"
      },
      "texture_size": {
        "name": "texture_size"
      },
      "with_animation": {
        "name": "с анимацией"
      }
    }
  },
  "TripoImageToModelNode": {
    "display_name": "Tripo: Изображение в модель",
    "inputs": {
      "face_limit": {
        "name": "face_limit"
      },
      "geometry_quality": {
        "name": "качество геометрии"
      },
      "image": {
        "name": "image"
      },
      "model_seed": {
        "name": "model_seed"
      },
      "model_version": {
        "name": "model_version",
        "tooltip": "Версия модели для использования при генерации"
      },
      "orientation": {
        "name": "orientation"
      },
      "pbr": {
        "name": "pbr"
      },
      "quad": {
        "name": "quad"
      },
      "style": {
        "name": "style"
      },
      "texture": {
        "name": "texture"
      },
      "texture_alignment": {
        "name": "texture_alignment"
      },
      "texture_quality": {
        "name": "texture_quality"
      },
      "texture_seed": {
        "name": "texture_seed"
      }
    },
    "outputs": {
      "0": {
        "name": "файл модели",
        "tooltip": null
      },
      "1": {
        "name": "task_id модели",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoImportModelNode": {
    "description": "Импорт внешней 3D-модели (например, из Rodin, Hunyuan3D или локального файла) в Tripo для использования с постобработкой Tripo: Текстурирование, Скелетирование, Конвертация. Рекомендуется GLB: текстуры сохраняются только при встраивании в файл. Обратите внимание, что для текстурирования импортированной модели требуется текстурный запрос.",
    "display_name": "Tripo: Импорт модели",
    "inputs": {
      "model_3d": {
        "name": "model_3d",
        "tooltip": "3D-модель для импорта (GLB / FBX / OBJ / STL, до 150 МБ). Файлы OBJ и STL не содержат встроенных текстур."
      }
    },
    "outputs": {
      "0": {
        "name": "model task_id",
        "tooltip": null
      }
    }
  },
  "TripoMultiviewToModelNode": {
    "display_name": "Tripo: Мультивью в модель",
    "inputs": {
      "face_limit": {
        "name": "лимит_лиц"
      },
      "geometry_quality": {
        "name": "качество геометрии"
      },
      "image": {
        "name": "image"
      },
      "image_back": {
        "name": "image_back"
      },
      "image_left": {
        "name": "image_left"
      },
      "image_right": {
        "name": "image_right"
      },
      "model_seed": {
        "name": "сид_модели"
      },
      "model_version": {
        "name": "версия_модели",
        "tooltip": "Версия модели для использования при генерации"
      },
      "orientation": {
        "name": "ориентация"
      },
      "pbr": {
        "name": "PBR"
      },
      "quad": {
        "name": "квад",
        "tooltip": "Этот параметр устарел и больше не используется."
      },
      "texture": {
        "name": "текстура"
      },
      "texture_alignment": {
        "name": "выравнивание_текстуры"
      },
      "texture_quality": {
        "name": "качество_текстуры"
      },
      "texture_seed": {
        "name": "сид_текстуры"
      }
    },
    "outputs": {
      "0": {
        "name": "файл модели",
        "tooltip": null
      },
      "1": {
        "name": "task_id модели",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoP1ImageToModelNode": {
    "description": "Tripo P1 преобразование изображения в 3D. Оптимизировано для low-poly, игровых моделей.",
    "display_name": "Tripo P1: Изображение в Модель",
    "inputs": {
      "auto_size": {
        "name": "авторазмер",
        "tooltip": "Масштабировать результат для приближения к реальным метрам."
      },
      "compress_geometry": {
        "name": "сжать_геометрию",
        "tooltip": "Применить сжатие на основе геометрии. Декомпрессируйте перед редактированием."
      },
      "enable_image_autofix": {
        "name": "включить_автоисправление_изображения",
        "tooltip": "Предобработка входного изображения для улучшения качества генерации."
      },
      "export_uv": {
        "name": "экспорт_uv",
        "tooltip": "UV-развёртка во время генерации. Отключите для более быстрой генерации только геометрии."
      },
      "face_limit": {
        "name": "ограничение_граней",
        "tooltip": "Целевое количество граней, 48-20000. -1 позволяет Tripo выбирать адаптивно."
      },
      "image": {
        "name": "изображение"
      },
      "model_seed": {
        "name": "seed_модели"
      },
      "output_mode": {
        "name": "режим_вывода",
        "tooltip": "\"Только геометрия\" возвращает меш без текстуры. \"С текстурой\" добавляет цветные/PBR карты."
      }
    },
    "outputs": {
      "0": {
        "name": "файл_модели",
        "tooltip": null
      },
      "1": {
        "name": "task_id_модели",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoP1MultiviewToModelNode": {
    "description": "Tripo P1 преобразование из нескольких видов в 3D по 2-4 референсным изображениям в порядке [фронт, лево, зад, право]. Фронт обязателен; любые из остальных трёх могут быть опущены.",
    "display_name": "Tripo P1: Мульти-вид в Модель",
    "inputs": {
      "auto_size": {
        "name": "авторазмер",
        "tooltip": "Масштабировать результат для приближения к реальным метрам."
      },
      "compress_geometry": {
        "name": "сжать_геометрию",
        "tooltip": "Применить сжатие на основе геометрии. Декомпрессируйте перед редактированием."
      },
      "export_uv": {
        "name": "экспорт_uv",
        "tooltip": "UV-развёртка во время генерации. Отключите для более быстрой генерации только геометрии."
      },
      "face_limit": {
        "name": "ограничение_граней",
        "tooltip": "Целевое количество граней, 48-20000. -1 позволяет Tripo выбирать адаптивно."
      },
      "image": {
        "name": "изображение",
        "tooltip": "Вид спереди (0°). Обязательно."
      },
      "image_back": {
        "name": "изображение_сзади",
        "tooltip": "Вид сзади (180°)."
      },
      "image_left": {
        "name": "изображение_слева",
        "tooltip": "Вид слева (90°), т.е. левая сторона объекта."
      },
      "image_right": {
        "name": "изображение_справа",
        "tooltip": "Вид справа (270°), т.е. правая сторона объекта."
      },
      "model_seed": {
        "name": "seed_модели"
      },
      "output_mode": {
        "name": "режим_вывода",
        "tooltip": "\"Только геометрия\" возвращает меш без текстуры. \"С текстурой\" добавляет цветные/PBR карты."
      }
    },
    "outputs": {
      "0": {
        "name": "файл_модели",
        "tooltip": null
      },
      "1": {
        "name": "task_id_модели",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoP1TextToModelNode": {
    "description": "Tripo P1 преобразование текста в 3D. Оптимизировано для low-poly, игровых моделей с стабильной топологией.",
    "display_name": "Tripo P1: Текст в Модель",
    "inputs": {
      "auto_size": {
        "name": "auto_size",
        "tooltip": "Масштабировать результат для приближения к реальным метрам."
      },
      "compress_geometry": {
        "name": "compress_geometry",
        "tooltip": "Применить сжатие на основе геометрии. Распакуйте перед редактированием."
      },
      "export_uv": {
        "name": "export_uv",
        "tooltip": "UV-развёртка во время генерации. Отключите для более быстрой генерации только геометрии."
      },
      "face_limit": {
        "name": "face_limit",
        "tooltip": "Целевое количество полигонов, 48-20000. -1 позволяет Tripo выбрать автоматически."
      },
      "image_seed": {
        "name": "image_seed"
      },
      "model_seed": {
        "name": "model_seed"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "До 255 символов."
      },
      "output_mode": {
        "name": "output_mode",
        "tooltip": "\"Только геометрия\" возвращает меш без текстуры. \"С текстурой\" добавляет цветовые/PBR карты."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "До 1024 символов."
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      },
      "1": {
        "name": "model task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRefineNode": {
    "description": "Уточнение черновой модели, созданной только моделями Tripo v1.4.",
    "display_name": "Tripo: Уточнение черновой модели",
    "inputs": {
      "model_task_id": {
        "name": "идентификатор_задачи_модели",
        "tooltip": "Должна быть модель Tripo v1.4"
      }
    },
    "outputs": {
      "0": {
        "name": "файл модели",
        "tooltip": null
      },
      "1": {
        "name": "task_id модели",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRetargetNode": {
    "display_name": "Tripo: Перепривязка ригнутой модели",
    "inputs": {
      "animation": {
        "name": "анимация"
      },
      "original_model_task_id": {
        "name": "идентификатор_задачи_исходной_модели"
      }
    },
    "outputs": {
      "0": {
        "name": "файл модели",
        "tooltip": null
      },
      "1": {
        "name": "task_id ретаргетинга",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRigNode": {
    "display_name": "Tripo: Риггинг модели",
    "inputs": {
      "original_model_task_id": {
        "name": "идентификатор_задачи_исходной_модели"
      }
    },
    "outputs": {
      "0": {
        "name": "файл модели",
        "tooltip": null
      },
      "1": {
        "name": "task_id рига",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoSplatConditioning": {
    "description": "Кодирует изображение с помощью DINOv3 и Flux2 VAE в TripoSplat положительное/отрицательное кондиционирование и создаёт целевой шум фиксированного размера (latent + камера) для KSampler.",
    "display_name": "TripoSplat кондиционирование",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision",
        "tooltip": "DINOv3 ViT-H/16+ энкодер изображений"
      },
      "image": {
        "name": "изображение"
      },
      "vae": {
        "name": "vae",
        "tooltip": "Flux2 VAE"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": "Целевой шум фиксированного размера (latent + камера)."
      }
    }
  },
  "TripoSplatPreprocessImage": {
    "description": "Обрезает центр каждого изображения до квадратного холста на чёрном фоне и добавляет отступы.",
    "display_name": "TripoSplat Предобработка Изображения",
    "inputs": {
      "erode_radius": {
        "name": "erode_radius",
        "tooltip": "Эрозия альфа-матовой маски на заданный радиус в пикселях перед обрезкой (избегает появления артефактов по краям)."
      },
      "image": {
        "name": "image"
      },
      "mask": {
        "name": "mask"
      },
      "size": {
        "name": "size",
        "tooltip": "Размер квадратного изображения. Модель обучена на 1024; другие размеры работают, но выходят за пределы распределения."
      }
    },
    "outputs": {
      "0": {
        "name": "image",
        "tooltip": null
      }
    }
  },
  "TripoSplatSamplingPreview": {
    "description": "Патчит модель TripoSplat для стандартного узла Ksampler, чтобы показывать живой декодированный предпросмотр гауссовых splat на каждом шаге.",
    "display_name": "TripoSplat Предпросмотр Сэмплирования",
    "inputs": {
      "model": {
        "name": "model"
      },
      "num_gaussians": {
        "name": "num_gaussians",
        "tooltip": "Количество гауссианов для предпросмотра (округляется до кратного 32)."
      },
      "octree_level": {
        "name": "octree_level",
        "tooltip": "Глубина октодерева для предпросмотра декодирования (меньше = дешевле/грубее)."
      },
      "pitch": {
        "name": "pitch",
        "tooltip": "Угол наклона камеры предпросмотра в градусах."
      },
      "point_size": {
        "name": "point_size",
        "tooltip": "Максимальный радиус splat в пикселях. Каждый гауссиан масштабируется и ограничивается этим значением; меньше = тоньше/острее, больше = массивнее."
      },
      "vae": {
        "name": "vae",
        "tooltip": "TripoSplat VAE декодер"
      },
      "yaw": {
        "name": "yaw",
        "tooltip": "Угол поворота камеры предпросмотра в градусах."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripoTextToModelNode": {
    "display_name": "Tripo: Текст в модель",
    "inputs": {
      "face_limit": {
        "name": "face_limit"
      },
      "geometry_quality": {
        "name": "качество геометрии"
      },
      "image_seed": {
        "name": "image_seed"
      },
      "model_seed": {
        "name": "model_seed"
      },
      "model_version": {
        "name": "версия_модели"
      },
      "negative_prompt": {
        "name": "негативный_промпт"
      },
      "pbr": {
        "name": "PBR"
      },
      "prompt": {
        "name": "промпт"
      },
      "quad": {
        "name": "quad"
      },
      "style": {
        "name": "стиль"
      },
      "texture": {
        "name": "текстура"
      },
      "texture_quality": {
        "name": "texture_quality"
      },
      "texture_seed": {
        "name": "texture_seed"
      }
    },
    "outputs": {
      "0": {
        "name": "файл модели",
        "tooltip": null
      },
      "1": {
        "name": "task_id модели",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoTextureNode": {
    "display_name": "Tripo: Модель текстур",
    "inputs": {
      "model_task_id": {
        "name": "model_task_id"
      },
      "pbr": {
        "name": "pbr"
      },
      "texture": {
        "name": "texture"
      },
      "texture_alignment": {
        "name": "texture_alignment"
      },
      "texture_prompt": {
        "name": "texture_prompt",
        "tooltip": "Необязательное текстовое описание для текстурирования. На практике требуется для импортированных моделей (Tripo: Импорт модели), которые не содержат исходного изображения для определения цветов."
      },
      "texture_quality": {
        "name": "texture_quality"
      },
      "texture_seed": {
        "name": "texture_seed"
      }
    },
    "outputs": {
      "0": {
        "name": "файл модели",
        "tooltip": null
      },
      "1": {
        "name": "task_id текстуры",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TruncateText": {
    "display_name": "Обрезать текст",
    "inputs": {
      "max_length": {
        "name": "максимальная длина",
        "tooltip": "Максимальная длина текста."
      },
      "texts": {
        "name": "тексты",
        "tooltip": "Текст для обработки."
      }
    },
    "outputs": {
      "0": {
        "name": "тексты",
        "tooltip": "Обработанные тексты"
      }
    }
  },
  "UNETLoader": {
    "display_name": "Загрузить модель диффузии",
    "inputs": {
      "unet_name": {
        "name": "название_unet"
      },
      "weight_dtype": {
        "name": "тип_данных_веса"
      }
    }
  },
  "UNetCrossAttentionMultiply": {
    "display_name": "Умножение перекрёстного внимания UNet",
    "inputs": {
      "k": {
        "name": "k"
      },
      "model": {
        "name": "модель"
      },
      "out": {
        "name": "выход"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "UNetSelfAttentionMultiply": {
    "display_name": "Умножение самовнимания UNet",
    "inputs": {
      "k": {
        "name": "k"
      },
      "model": {
        "name": "модель"
      },
      "out": {
        "name": "выход"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "UNetTemporalAttentionMultiply": {
    "display_name": "Умножение временного внимания UNet",
    "inputs": {
      "cross_structural": {
        "name": "кросс-структурный"
      },
      "cross_temporal": {
        "name": "кросс-временной"
      },
      "model": {
        "name": "модель"
      },
      "self_structural": {
        "name": "самоструктурный"
      },
      "self_temporal": {
        "name": "самовременный"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "USOStyleReference": {
    "display_name": "USOStyleReference",
    "inputs": {
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "model": {
        "name": "model"
      },
      "model_patch": {
        "name": "model_patch"
      }
    }
  },
  "UpscaleModelLoader": {
    "display_name": "Загрузить модель апскейла",
    "inputs": {
      "model_name": {
        "name": "название_модели"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecode": {
    "description": "Декодирует латентные изображения обратно в изображения в пиксельном пространстве.",
    "display_name": "Декодировать VAE",
    "inputs": {
      "samples": {
        "name": "образцы",
        "tooltip": "Латентное изображение для декодирования."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Модель VAE, используемая для декодирования латентного изображения."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Декодированное изображение."
      }
    }
  },
  "VAEDecodeAudio": {
    "display_name": "Декодировать аудио VAE",
    "inputs": {
      "samples": {
        "name": "образцы"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeAudioTiled": {
    "display_name": "VAE декодирование аудио (плитками)",
    "inputs": {
      "overlap": {
        "name": "перекрытие"
      },
      "samples": {
        "name": "образцы"
      },
      "tile_size": {
        "name": "размер плитки"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeHunyuan3D": {
    "display_name": "VAEDecodeHunyuan3D",
    "inputs": {
      "num_chunks": {
        "name": "количество_частей"
      },
      "octree_resolution": {
        "name": "разрешение_октодерева"
      },
      "samples": {
        "name": "образцы"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeTiled": {
    "display_name": "Декодировать VAE (плитками)",
    "inputs": {
      "overlap": {
        "name": "перекрытие"
      },
      "samples": {
        "name": "образцы"
      },
      "temporal_overlap": {
        "name": "temporal_overlap",
        "tooltip": "Используется только для видео VAE: количество кадров для перекрытия."
      },
      "temporal_size": {
        "name": "temporal_size",
        "tooltip": "Используется только для видео VAE: количество кадров для декодирования за раз."
      },
      "tile_size": {
        "name": "размер_плитки"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEDecodeTripoSplat": {
    "description": "Декодирует сэмплированный TripoSplat latent в 3D гауссовый splat. Изменяйте количество гауссианов для регулировки плотности.",
    "display_name": "TripoSplat Декодирование",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "num_gaussians": {
        "name": "num_gaussians",
        "tooltip": "Количество гауссианов для генерации (округляется до кратного 32). 262144 соответствует плотности точек октодерева; большее значение пересэмплирует те же точки (плотнее, но без новых деталей) и требует больше VRAM/времени."
      },
      "samples": {
        "name": "samples"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Задаёт seed для сэмплера точек октодерева (глобальный ГСЧ) для детерминированного декодирования."
      },
      "vae": {
        "name": "vae",
        "tooltip": "TripoSplat VAE декодер"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "VAEEncode": {
    "display_name": "Кодировать VAE",
    "inputs": {
      "pixels": {
        "name": "пиксели"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEEncodeAudio": {
    "display_name": "Кодировать аудио VAE",
    "inputs": {
      "audio": {
        "name": "аудио"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEEncodeForInpaint": {
    "display_name": "Кодировать VAE (для инпейнтинга)",
    "inputs": {
      "grow_mask_by": {
        "name": "увеличить_маску_на"
      },
      "mask": {
        "name": "маска"
      },
      "pixels": {
        "name": "пиксели"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEEncodeTiled": {
    "display_name": "Кодировать VAE (плитками)",
    "inputs": {
      "overlap": {
        "name": "перекрытие"
      },
      "pixels": {
        "name": "пиксели"
      },
      "temporal_overlap": {
        "name": "temporal_overlap",
        "tooltip": "Используется только для видео VAEs: количество кадров для перекрытия."
      },
      "temporal_size": {
        "name": "temporal_size",
        "tooltip": "Используется только для видео VAEs: количество кадров для кодирования за один раз."
      },
      "tile_size": {
        "name": "размер_плитки"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAELoader": {
    "display_name": "Загрузить VAE",
    "inputs": {
      "vae_name": {
        "name": "название_vae"
      }
    }
  },
  "VAESave": {
    "display_name": "Сохранить VAE",
    "inputs": {
      "filename_prefix": {
        "name": "префикс_названия_файла"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VOIDInpaintConditioning": {
    "display_name": "VOIDInpaintConditioning",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length",
        "tooltip": "Количество пиксельных кадров для обработки. Для CogVideoX-Fun-V1.5 (patch_size_t=2) latent_t должен быть чётным — длины, дающие нечётный latent_t, округляются вниз (например, 49 → 45)."
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "quadmask": {
        "name": "quadmask",
        "tooltip": "Предварительно обработанная quadmask из VOIDQuadmaskPreprocess [T, H, W]"
      },
      "vae": {
        "name": "vae"
      },
      "video": {
        "name": "video",
        "tooltip": "Кадры исходного видео [T, H, W, 3]"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "VOIDQuadmaskPreprocess": {
    "display_name": "VOIDQuadmaskPreprocess",
    "inputs": {
      "dilate_width": {
        "name": "dilate_width",
        "tooltip": "Радиус дилатации для основной области маски (0 = без дилатации)"
      },
      "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": "Количество пиксельных кадров. Округляется вниз для чётного latent_t (требование patch_size_t=2), например, 49 → 45."
      },
      "optical_flow": {
        "name": "optical_flow",
        "tooltip": "Модель оптического потока из OpticalFlowLoader (RAFT-large)."
      },
      "video": {
        "name": "video",
        "tooltip": "Кадры видео из первого прохода [T, H, W, 3]"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "warped_noise",
        "tooltip": null
      }
    }
  },
  "VOIDWarpedNoiseSource": {
    "display_name": "VOIDWarpedNoiseSource",
    "inputs": {
      "warped_noise": {
        "name": "warped_noise",
        "tooltip": "Латент искажённого шума из VOIDWarpedNoise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VPScheduler": {
    "display_name": "VPScheduler",
    "inputs": {
      "beta_d": {
        "name": "beta_d"
      },
      "beta_min": {
        "name": "beta_min"
      },
      "eps_s": {
        "name": "eps_s"
      },
      "steps": {
        "name": "шаги"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Veo3FirstLastFrameNode": {
    "description": "Генерировать видео по текстовому описанию и первым и последним кадрам.",
    "display_name": "Google Veo 3: от первого до последнего кадра в видео",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон выходного видео"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Длительность выходного видео в секундах"
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Начальный кадр"
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Сгенерировать аудио для видео."
      },
      "last_frame": {
        "name": "last_frame",
        "tooltip": "Конечный кадр"
      },
      "model": {
        "name": "model"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Негативный текстовый запрос для указания, чего избегать в видео"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание видео"
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для генерации видео"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Veo3VideoGenerationNode": {
    "description": "Создает видео из текстовых описаний с использованием API Google Veo 3",
    "display_name": "Генерация видео Google Veo 3",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон выходного видео"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration_seconds": {
        "name": "duration_seconds",
        "tooltip": "Длительность выходного видео в секундах (Veo 3 поддерживает только 8 секунд)"
      },
      "enhance_prompt": {
        "name": "enhance_prompt",
        "tooltip": "Улучшать ли описание с помощью ИИ"
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Сгенерировать аудио для видео. Поддерживается всеми моделями Veo 3."
      },
      "image": {
        "name": "image",
        "tooltip": "Опорное изображение для направления генерации видео (необязательно)"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель Veo 3 для генерации видео"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Негативное текстовое описание для указания, чего следует избегать в видео"
      },
      "person_generation": {
        "name": "person_generation",
        "tooltip": "Разрешать ли генерацию людей в видео"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание видео"
      },
      "resolution": {
        "name": "разрешение",
        "tooltip": "Разрешение выходного видео. 4K недоступно для моделей veo-3.1-lite и veo-3.0."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для генерации видео (0 для случайного)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VeoVideoGenerationNode": {
    "description": "Генерирует видео по текстовым подсказкам с помощью Google Veo API",
    "display_name": "Google Veo2 Генерация видео",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон выходного видео"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration_seconds": {
        "name": "duration_seconds",
        "tooltip": "Длительность выходного видео в секундах"
      },
      "enhance_prompt": {
        "name": "enhance_prompt",
        "tooltip": "Улучшать ли подсказку с помощью ИИ"
      },
      "image": {
        "name": "image",
        "tooltip": "Необязательное референсное изображение для направления генерации видео"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель Veo 2 для генерации видео"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Негативная текстовая подсказка для указания, чего избегать в видео"
      },
      "person_generation": {
        "name": "person_generation",
        "tooltip": "Разрешить ли генерацию людей в видео"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание видео"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для генерации видео (0 — случайный)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Video Slice": {
    "display_name": "Видеофрагмент",
    "inputs": {
      "duration": {
        "name": "длительность",
        "tooltip": "Длительность в секундах, или 0 для неограниченной длительности"
      },
      "start_time": {
        "name": "время начала",
        "tooltip": "Время начала в секундах"
      },
      "strict_duration": {
        "name": "строгая длительность",
        "tooltip": "Если Истина, при невозможности указанной длительности будет вызвана ошибка."
      },
      "video": {
        "name": "видео"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VideoFrameSample": {
    "description": "Выберите фиксированное количество кадров из видео с использованием различных стратегий.",
    "display_name": "Выбор кадра из видео",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "num_frames": {
        "name": "количество_кадров",
        "tooltip": "Количество кадров для выборки."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно (используется только со стратегией 'random')."
      },
      "strategy": {
        "name": "стратегия",
        "tooltip": "uniform: равномерно распределённые, head: первые N, tail: последние N, random: случайные отсортированные."
      },
      "video": {
        "name": "видео",
        "tooltip": "Входное видео."
      }
    },
    "outputs": {
      "0": {
        "name": "видео",
        "tooltip": "Выбранное видео."
      }
    }
  },
  "VideoLinearCFGGuidance": {
    "display_name": "Направление Video Linear CFG",
    "inputs": {
      "min_cfg": {
        "name": "мин_cfg"
      },
      "model": {
        "name": "модель"
      }
    }
  },
  "VideoRandomTemporalCrop": {
    "description": "Случайным образом обрезает непрерывный диапазон кадров из видео.",
    "display_name": "Обрезка видео (случайная по времени)",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "length": {
        "name": "длина",
        "tooltip": "Количество сохраняемых кадров."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Случайное зерно."
      },
      "video": {
        "name": "видео",
        "tooltip": "Входное видео."
      }
    },
    "outputs": {
      "0": {
        "name": "видео",
        "tooltip": "Обрезанное видео (ленивое)."
      }
    }
  },
  "VideoTemporalCrop": {
    "description": "Обрезает непрерывный диапазон кадров из видео.",
    "display_name": "Обрезка видео (по времени)",
    "inputs": {
      "length": {
        "name": "длина",
        "tooltip": "Количество сохраняемых кадров."
      },
      "start_frame": {
        "name": "начальный_кадр",
        "tooltip": "Индекс начального кадра."
      },
      "video": {
        "name": "видео",
        "tooltip": "Входное видео."
      }
    },
    "outputs": {
      "0": {
        "name": "видео",
        "tooltip": "Обрезанное видео (ленивое)."
      }
    }
  },
  "VideoTriangleCFGGuidance": {
    "display_name": "Направление Video Triangle CFG",
    "inputs": {
      "min_cfg": {
        "name": "мин_cfg"
      },
      "model": {
        "name": "модель"
      }
    }
  },
  "Vidu2ImageToVideoNode": {
    "description": "Создаёт видео из изображения и необязательной текстовой подсказки.",
    "display_name": "Vidu2: генерация видео из изображения",
    "inputs": {
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "duration": {
        "name": "длительность"
      },
      "image": {
        "name": "изображение",
        "tooltip": "Изображение, которое будет использовано в качестве первого кадра сгенерированного видео."
      },
      "model": {
        "name": "модель"
      },
      "movement_amplitude": {
        "name": "амплитуда движения",
        "tooltip": "Амплитуда движения объектов в кадре."
      },
      "prompt": {
        "name": "подсказка",
        "tooltip": "Необязательная текстовая подсказка для генерации видео (максимум 2000 символов)."
      },
      "resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2ReferenceVideoNode": {
    "description": "Создаёт видео из нескольких референсных изображений и подсказки.",
    "display_name": "Vidu2: генерация видео по референсам",
    "inputs": {
      "aspect_ratio": {
        "name": "соотношение сторон"
      },
      "audio": {
        "name": "аудио",
        "tooltip": "Если включено, видео будет содержать сгенерированную речь и фоновую музыку на основе подсказки."
      },
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "duration": {
        "name": "длительность"
      },
      "model": {
        "name": "модель"
      },
      "movement_amplitude": {
        "name": "амплитуда движения",
        "tooltip": "Амплитуда движения объектов в кадре."
      },
      "prompt": {
        "name": "подсказка",
        "tooltip": "Если включено, видео будет содержать сгенерированную речь и фоновую музыку на основе подсказки."
      },
      "resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "seed"
      },
      "subjects": {
        "name": "объекты",
        "tooltip": "Для каждого объекта предоставьте до 3 референсных изображений (всего до 7 изображений для всех объектов). Ссылайтесь на них в подсказках через @subject{subject_id}."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2StartEndToVideoNode": {
    "description": "Создайте видео из начального кадра, конечного кадра и текстового запроса.",
    "display_name": "Vidu2 Генерация видео по начальному и конечному кадрам",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "end_frame": {
        "name": "end_frame"
      },
      "first_frame": {
        "name": "first_frame"
      },
      "model": {
        "name": "model"
      },
      "movement_amplitude": {
        "name": "movement_amplitude",
        "tooltip": "Амплитуда движения объектов в кадре."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Описание запроса (максимум 2000 символов)."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2TextToVideoNode": {
    "description": "Создайте видео по текстовому запросу",
    "display_name": "Vidu2 Генерация видео по тексту",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "background_music": {
        "name": "background_music",
        "tooltip": "Добавлять ли фоновую музыку к сгенерированному видео."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration"
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание для генерации видео, максимум 2000 символов."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3ImageToVideoNode": {
    "description": "Создайте видео из изображения и необязательной текстовой подсказки.",
    "display_name": "Vidu Q3: генерация видео из изображения",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image",
        "tooltip": "Изображение, используемое в качестве первого кадра генерируемого видео."
      },
      "model": {
        "name": "model",
        "tooltip": "Модель для генерации видео."
      },
      "model_audio": {
        "name": "audio"
      },
      "model_duration": {
        "name": "duration"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Необязательная текстовая подсказка для генерации видео (максимум 2000 символов)."
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3StartEndToVideoNode": {
    "description": "Создайте видео, используя начальный кадр, конечный кадр и текстовый запрос.",
    "display_name": "Vidu Q3 Генерация видео по начальному и конечному кадрам",
    "inputs": {
      "control_after_generate": {
        "name": "контроль после генерации"
      },
      "end_frame": {
        "name": "конечный кадр"
      },
      "first_frame": {
        "name": "начальный кадр"
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель для генерации видео."
      },
      "model_audio": {
        "name": "аудио"
      },
      "model_duration": {
        "name": "длительность"
      },
      "model_resolution": {
        "name": "разрешение"
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Описание промпта (максимум 2000 символов)."
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3TextToVideoNode": {
    "description": "Создайте видео по текстовой подсказке.",
    "display_name": "Vidu Q3: генерация видео по тексту",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель для генерации видео."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_audio": {
        "name": "audio"
      },
      "model_duration": {
        "name": "duration"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание для генерации видео, максимум 2000 символов."
      },
      "seed": {
        "name": "seed"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduExtendVideoNode": {
    "description": "Расширьте существующее видео, сгенерировав дополнительные кадры.",
    "display_name": "Vidu: расширение видео",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "end_frame": {
        "name": "end_frame"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель для расширения видео."
      },
      "model_duration": {
        "name": "duration"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Необязательная текстовая подсказка для расширенного видео (максимум 2000 символов)."
      },
      "seed": {
        "name": "seed"
      },
      "video": {
        "name": "video",
        "tooltip": "Исходное видео для расширения."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduImageToVideoNode": {
    "description": "Генерация видео из изображения и необязательного промпта",
    "display_name": "Vidu Image To Video Generation",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Длительность выходного видео в секундах"
      },
      "image": {
        "name": "image",
        "tooltip": "Изображение, используемое в качестве начального кадра генерируемого видео"
      },
      "model": {
        "name": "model",
        "tooltip": "Название модели"
      },
      "movement_amplitude": {
        "name": "movement_amplitude",
        "tooltip": "Амплитуда движения объектов в кадре"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание для генерации видео"
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Поддерживаемые значения могут различаться в зависимости от модели и длительности"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для генерации видео (0 для случайного)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduMultiFrameVideoNode": {
    "description": "Создайте видео с несколькими переходами между ключевыми кадрами.",
    "display_name": "Vidu: генерация видео с несколькими ключевыми кадрами",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "frames": {
        "name": "frames",
        "tooltip": "Количество переходов между ключевыми кадрами (2-9)."
      },
      "frames_duration1": {
        "name": "duration1"
      },
      "frames_duration2": {
        "name": "duration2"
      },
      "frames_prompt1": {
        "name": "prompt1"
      },
      "frames_prompt2": {
        "name": "prompt2"
      },
      "model": {
        "name": "model"
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed"
      },
      "start_image": {
        "name": "start_image",
        "tooltip": "Изображение начального кадра. Соотношение сторон должно быть от 1:4 до 4:1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduReferenceVideoNode": {
    "description": "Генерация видео из нескольких изображений и промпта",
    "display_name": "Vidu Reference To Video Generation",
    "inputs": {
      "aspect_ratio": {
        "name": "соотношение сторон",
        "tooltip": "Соотношение сторон выходного видео"
      },
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "duration": {
        "name": "длительность",
        "tooltip": "Длительность выходного видео в секундах"
      },
      "images": {
        "name": "images",
        "tooltip": "Изображения для использования в качестве референсов для генерации видео с согласованными объектами (максимум 7 изображений)."
      },
      "model": {
        "name": "model",
        "tooltip": "Название модели"
      },
      "movement_amplitude": {
        "name": "амплитуда движения",
        "tooltip": "Амплитуда движения объектов в кадре"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание для генерации видео"
      },
      "resolution": {
        "name": "разрешение",
        "tooltip": "Поддерживаемые значения могут различаться в зависимости от модели и длительности"
      },
      "seed": {
        "name": "сид",
        "tooltip": "Сид для генерации видео (0 для случайного)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduStartEndToVideoNode": {
    "description": "Сгенерировать видео из начального и конечного кадров с описанием",
    "display_name": "Генерация видео Vidu от начала до конца",
    "inputs": {
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "duration": {
        "name": "длительность",
        "tooltip": "Длительность выходного видео в секундах"
      },
      "end_frame": {
        "name": "конечный кадр",
        "tooltip": "Конечный кадр"
      },
      "first_frame": {
        "name": "первый кадр",
        "tooltip": "Начальный кадр"
      },
      "model": {
        "name": "модель",
        "tooltip": "Название модели"
      },
      "movement_amplitude": {
        "name": "амплитуда движения",
        "tooltip": "Амплитуда движения объектов в кадре"
      },
      "prompt": {
        "name": "описание",
        "tooltip": "Текстовое описание для генерации видео"
      },
      "resolution": {
        "name": "разрешение",
        "tooltip": "Поддерживаемые значения могут различаться в зависимости от модели и длительности"
      },
      "seed": {
        "name": "сид",
        "tooltip": "Сид для генерации видео (0 для случайного)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduTextToVideoNode": {
    "description": "Сгенерировать видео из текстового описания",
    "display_name": "Генерация видео Vidu из текста",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Соотношение сторон выходного видео"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Длительность выходного видео в секундах"
      },
      "model": {
        "name": "модель",
        "tooltip": "Название модели"
      },
      "movement_amplitude": {
        "name": "movement_amplitude",
        "tooltip": "Амплитуда движения объектов в кадре"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Текстовое описание для генерации видео"
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Поддерживаемые значения могут различаться в зависимости от модели и длительности"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для генерации видео (0 для случайного)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VoxelToMesh": {
    "description": "Преобразует воксельную сетку в меш.",
    "display_name": "VoxelToMesh",
    "inputs": {
      "algorithm": {
        "name": "алгоритм"
      },
      "threshold": {
        "name": "порог"
      },
      "voxel": {
        "name": "voxel"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VoxelToMeshBasic": {
    "description": "Преобразует воксельную сетку в меш.",
    "display_name": "VoxelToMeshBasic",
    "inputs": {
      "threshold": {
        "name": "порог"
      },
      "voxel": {
        "name": "воксель"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan22FunControlToVideo": {
    "display_name": "Wan22FunControlToVideo",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "control_video": {
        "name": "control_video"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "ref_image": {
        "name": "ref_image"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "Wan22ImageToVideoLatent": {
    "display_name": "Wan22ImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length"
      },
      "start_image": {
        "name": "start_image"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2ImageToVideoApi": {
    "description": "Создайте видео из изображения первого кадра с возможностью добавить изображение последнего кадра и аудио.",
    "display_name": "Wan 2.7 Изображение в Видео",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Аудио для управления генерацией видео (например, синхронизация губ, движение в ритм музыки). Длительность: 2–30 сек. Если не указано, модель автоматически сгенерирует подходящую фоновую музыку или звуковые эффекты."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Изображение первого кадра. Соотношение сторон результата определяется этим изображением."
      },
      "last_frame": {
        "name": "last_frame",
        "tooltip": "Изображение последнего кадра. Модель создаёт видео с переходом от первого к последнему кадру."
      },
      "model": {
        "name": "model"
      },
      "model_duration": {
        "name": "duration"
      },
      "model_negative_prompt": {
        "name": "negative_prompt"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "prompt_extend": {
        "name": "prompt_extend",
        "tooltip": "Улучшить ли промпт с помощью AI."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для генерации."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли AI-водяной знак к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2ReferenceVideoApi": {
    "description": "Создайте видео с участием человека или объекта на основе референсных материалов. Поддерживает выступления одного персонажа и взаимодействие нескольких персонажей.",
    "display_name": "Wan 2.7 Референс в Видео",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "model_duration": {
        "name": "duration"
      },
      "model_negative_prompt": {
        "name": "negative_prompt"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для генерации."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли AI-водяной знак к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2TextToVideoApi": {
    "description": "Генерирует видео на основе текстового запроса с использованием модели Wan 2.7.",
    "display_name": "Wan 2.7 Текст в видео",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Аудио для управления генерацией видео (например, синхронизация губ, движение в ритм музыки). Длительность: 3–30 сек. Если не указано, модель автоматически сгенерирует подходящую фоновую музыку или звуковые эффекты."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "model_duration": {
        "name": "duration"
      },
      "model_negative_prompt": {
        "name": "negative_prompt"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "prompt_extend": {
        "name": "prompt_extend",
        "tooltip": "Улучшать ли запрос с помощью ИИ."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Зерно для генерации."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли водяной знак, сгенерированный ИИ, к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2VideoContinuationApi": {
    "description": "Продолжает видео с того места, где оно закончилось, с возможностью контроля последнего кадра.",
    "display_name": "Wan 2.7 Продолжение видео",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "first_clip": {
        "name": "first_clip",
        "tooltip": "Входное видео для продолжения. Длительность: 2–10 сек. Соотношение сторон результата определяется этим видео."
      },
      "last_frame": {
        "name": "last_frame",
        "tooltip": "Изображение последнего кадра. Продолжение будет переходить к этому кадру."
      },
      "model": {
        "name": "model"
      },
      "model_duration": {
        "name": "duration"
      },
      "model_negative_prompt": {
        "name": "negative_prompt"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "prompt_extend": {
        "name": "prompt_extend",
        "tooltip": "Улучшать ли запрос с помощью ИИ."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Зерно для генерации."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли водяной знак, сгенерированный ИИ, к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2VideoEditApi": {
    "description": "Редактируйте видео с помощью текстовых инструкций, референсных изображений или переноса стиля.",
    "display_name": "Wan 2.7 Редактирование видео",
    "inputs": {
      "audio_setting": {
        "name": "audio_setting",
        "tooltip": "'auto': модель решает, нужно ли перегенерировать аудио на основе запроса. 'origin': сохранить оригинальное аудио из входного видео."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "model_duration": {
        "name": "duration"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Зерно для генерации."
      },
      "video": {
        "name": "video",
        "tooltip": "Видео для редактирования."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли водяной знак, сгенерированный ИИ, к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanAnimate2Cache": {
    "description": "Кэширует активации по блокам для видео с позами, чтобы запуск происходил один раз, а не на каждом шаге сэмплирования. Примерно вдвое сокращает время генерации. Компромисс — около 12,5 ГБ оперативной памяти при разрешении 480x832 и 81 кадре в bf16 (масштабируется с разрешением и длиной). При использовании окон контекста каждое окно кэшируется отдельно, поэтому потребление ОЗУ увеличивается с количеством окон; используйте расписание static_standard, так как uniform-схемы сдвигают окна на каждом шаге, и кэш не используется повторно.",
    "display_name": "WanAnimate2Cache",
    "inputs": {
      "device": {
        "name": "device",
        "tooltip": "Где хранить кэш. cpu (ОЗУ) — безопасный выбор, кэш не поместится в видеопамяти вместе с моделью при типичных размерах. gpu (VRAM) может быть быстрее, если кэш помещается."
      },
      "dtype": {
        "name": "dtype",
        "tooltip": "Точность хранения. default сохраняет активации в вычислительном dtype модели. int8 уменьшает кэш вдвое, int4 — вчетверо, convrot используется для сохранения точности."
      },
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanAnimate2ToVideo": {
    "description": "Анимируйте персонажа на референсном изображении с помощью видео, эффективно воспроизводя мимику лица, движения тела и жесты рук из видео.",
    "display_name": "WanAnimate2ToVideo",
    "inputs": {
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Количество видео для одновременной генерации."
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "CLIP vision референсного изображения."
      },
      "clip_vision_output_pose": {
        "name": "clip_vision_output_pose",
        "tooltip": "CLIP vision первого кадра видео с позой. По умолчанию clip_vision_output."
      },
      "continue_motion": {
        "name": "continue_motion",
        "tooltip": "Предыдущая последовательность движения для продолжения и временной согласованности."
      },
      "height": {
        "name": "height",
        "tooltip": "Высота выходного видео в пикселях."
      },
      "length": {
        "name": "length",
        "tooltip": "Количество кадров для генерации."
      },
      "negative": {
        "name": "negative"
      },
      "pose_end_percent": {
        "name": "pose_end_percent",
        "tooltip": "Процент выборки, на котором заканчивается влияние позы. Движение в основном формируется в начале, поэтому, например, 0.7 может ослабить детализацию, сохраняя хореографию."
      },
      "pose_start_percent": {
        "name": "pose_start_percent",
        "tooltip": "Процент выборки, с которого начинается влияние позы. Вне этого окна ветка позы полностью пропускается, что также ускоряет эти шаги."
      },
      "pose_strength": {
        "name": "pose_strength",
        "tooltip": "Масштабирует влияние видео с позой на движение. 1.0 — обученное поведение; ниже — ослабляет следование, выше — усиливает. 0.0 отключает, но не полностью убирает влияние."
      },
      "pose_video": {
        "name": "pose_video",
        "tooltip": "Видео, движение из которого переносится на референсного персонажа."
      },
      "positive": {
        "name": "positive"
      },
      "positive_pose": {
        "name": "positive_pose",
        "tooltip": "Пропмт для ветки видео с позой, описывающий движение, а не персонажа. По умолчанию совпадает с positive. Используется для обоих проходов cond и uncond."
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "Персонаж для анимации."
      },
      "reference_image_strength": {
        "name": "reference_image_strength",
        "tooltip": "Масштабирует, насколько сильно сгенерированные кадры ориентируются на латентный кадр референсного изображения. Ниже 1.0 ослабляет соответствие идентичности/внешности (например, чтобы позволить prompt изменить стиль), выше — усиливает и предотвращает дрейф."
      },
      "vae": {
        "name": "vae"
      },
      "video_frame_offset": {
        "name": "video_frame_offset",
        "tooltip": "Количество кадров для смещения в видео с позой. Подключите к выходу video_frame_offset предыдущего узла при расширении."
      },
      "width": {
        "name": "width",
        "tooltip": "Ширина выходного видео в пикселях."
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      },
      "3": {
        "name": "trim_latent",
        "tooltip": "Количество латентных кадров, которые следует обрезать перед декодированием."
      },
      "4": {
        "name": "trim_image",
        "tooltip": "Количество перекрывающихся кадров изображения при расширении видео."
      },
      "5": {
        "name": "video_frame_offset",
        "tooltip": "Количество кадров для смещения в видео с позой."
      }
    }
  },
  "WanAnimateToVideo": {
    "display_name": "WanAnimateToVideo",
    "inputs": {
      "background_video": {
        "name": "фоновое_видео"
      },
      "batch_size": {
        "name": "размер_пакета"
      },
      "character_mask": {
        "name": "маска_персонажа"
      },
      "clip_vision_output": {
        "name": "выход_clip_vision"
      },
      "continue_motion": {
        "name": "продолжение_движения"
      },
      "continue_motion_max_frames": {
        "name": "максимум_кадров_продолжения_движения"
      },
      "face_video": {
        "name": "видео_лица"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "негативный"
      },
      "pose_video": {
        "name": "видео_позы"
      },
      "positive": {
        "name": "positive"
      },
      "reference_image": {
        "name": "эталонное_изображение"
      },
      "vae": {
        "name": "VAE"
      },
      "video_frame_offset": {
        "name": "смещение_кадров_видео",
        "tooltip": "Количество кадров для пропуска во всех входных видео. Используется для генерации более длинных видео по частям. Подключите к выходу video_frame_offset предыдущего узла для расширения видео."
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "name": "негативный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": null
      },
      "3": {
        "name": "обрезка_латентного",
        "tooltip": null
      },
      "4": {
        "name": "обрезка_изображения",
        "tooltip": null
      },
      "5": {
        "name": "смещение_кадров_видео",
        "tooltip": null
      }
    }
  },
  "WanCameraEmbedding": {
    "display_name": "WanCameraEmbedding",
    "inputs": {
      "camera_pose": {
        "name": "поза_камеры"
      },
      "cx": {
        "name": "cx"
      },
      "cy": {
        "name": "cy"
      },
      "fx": {
        "name": "fx"
      },
      "fy": {
        "name": "fy"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "speed": {
        "name": "скорость"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "вложение_камеры",
        "tooltip": null
      },
      "1": {
        "name": "ширина",
        "tooltip": null
      },
      "2": {
        "name": "высота",
        "tooltip": null
      },
      "3": {
        "name": "длина",
        "tooltip": null
      }
    }
  },
  "WanCameraImageToVideo": {
    "display_name": "WanCameraImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "camera_conditions": {
        "name": "условия_камеры"
      },
      "clip_vision_output": {
        "name": "выход_clip_vision"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "негативный"
      },
      "positive": {
        "name": "позитивный"
      },
      "start_image": {
        "name": "начальное_изображение"
      },
      "vae": {
        "name": "VAE"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "name": "негативный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": null
      }
    }
  },
  "WanContextWindowsManual": {
    "description": "Ручная настройка контекстных окон для моделей типа WAN (dim=2).",
    "display_name": "Контекстные окна WAN (ручная настройка)",
    "inputs": {
      "closed_loop": {
        "name": "замкнутый_цикл",
        "tooltip": "Замыкать ли цикл контекстного окна; применимо только к циклическим расписаниям."
      },
      "context_length": {
        "name": "длина_контекста",
        "tooltip": "Длина контекстного окна."
      },
      "context_overlap": {
        "name": "перекрытие_контекста",
        "tooltip": "Перекрытие контекстных окон."
      },
      "context_schedule": {
        "name": "расписание_контекста",
        "tooltip": "Шаг контекстного окна."
      },
      "context_stride": {
        "name": "шаг_контекста",
        "tooltip": "Шаг контекстного окна; применимо только к равномерным расписаниям."
      },
      "freenoise": {
        "name": "freenoise",
        "tooltip": "Применять ли FreeNoise для перемешивания шума, улучшает смешивание окон."
      },
      "fuse_method": {
        "name": "метод_объединения",
        "tooltip": "Метод объединения контекстных окон."
      },
      "model": {
        "name": "модель",
        "tooltip": "Модель, к которой применяются контекстные окна во время сэмплирования."
      },
      "retain_first_frame": {
        "name": "сохранить первый кадр",
        "tooltip": "Сохранять первый кадр I2V в каждом контекстном окне (может помочь сохранить исходную ссылку)."
      },
      "split_conds_to_windows": {
        "name": "разделить условия по окнам",
        "tooltip": "Разделять ли несколько условий (созданных ConditionCombine) по каждому окну на основе индекса региона."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Модель с применёнными контекстными окнами во время сэмплирования."
      }
    }
  },
  "WanDancerEncodeAudio": {
    "display_name": "WanDancerEncodeAudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audio_inject_scale": {
        "name": "audio_inject_scale",
        "tooltip": "Масштаб аудиофич при внедрении в видеомодель."
      },
      "video_frames": {
        "name": "video_frames"
      }
    },
    "outputs": {
      "0": {
        "name": "audio_encoder_output",
        "tooltip": null
      },
      "1": {
        "name": "fps_string",
        "tooltip": "Вычисленный fps на основе длины аудио и количества видеокадров. Используется в prompt."
      }
    }
  },
  "WanDancerPadKeyframes": {
    "display_name": "WanDancerPadKeyframes",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Аудио для расчёта общего количества выходных кадров и извлечения сегмента аудио."
      },
      "images": {
        "name": "images"
      },
      "segment_index": {
        "name": "segment_index",
        "tooltip": "Какой это сегмент (0 — первый, 1 — второй и т.д.)"
      },
      "segment_length": {
        "name": "segment_length",
        "tooltip": "Длина этого сегмента (обычно 149 кадров)"
      }
    },
    "outputs": {
      "0": {
        "name": "keyframes_sequence",
        "tooltip": "Дополненная последовательность ключевых кадров"
      },
      "1": {
        "name": "keyframes_mask",
        "tooltip": "Маска, указывающая валидные кадры"
      },
      "2": {
        "name": "audio_segment",
        "tooltip": "Аудиосегмент для этого видеосегмента"
      }
    }
  },
  "WanDancerPadKeyframesList": {
    "display_name": "WanDancerPadKeyframesList",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Аудио для нарезки для каждого выдаваемого сегмента."
      },
      "images": {
        "name": "images"
      },
      "num_segments": {
        "name": "num_segments",
        "tooltip": "Сколько дополненных сегментов выдавать в виде списков."
      },
      "segment_length": {
        "name": "segment_length",
        "tooltip": "Длина каждого сегмента (обычно 149 кадров)"
      }
    },
    "outputs": {
      "0": {
        "name": "keyframes_sequence",
        "tooltip": "Дополненные последовательности ключевых кадров"
      },
      "1": {
        "name": "keyframes_mask",
        "tooltip": "Маски, указывающие валидные кадры"
      },
      "2": {
        "name": "audio_segment",
        "tooltip": "Аудиосегмент для каждого видеосегмента"
      }
    }
  },
  "WanDancerVideo": {
    "display_name": "WanDancerVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "audio_encoder_output"
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "Визуальные эмбеддинги CLIP для первого кадра."
      },
      "clip_vision_output_ref": {
        "name": "clip_vision_output_ref",
        "tooltip": "Визуальные эмбеддинги CLIP для референсного изображения."
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина",
        "tooltip": "Количество кадров в сгенерированном видео. Для WanDancer должно оставаться 149."
      },
      "mask": {
        "name": "маска",
        "tooltip": "Маска для обработки изображения начального кадра(ов). Белое сохраняется, черное генерируется. Используется для локальной генерации."
      },
      "negative": {
        "name": "негативный"
      },
      "positive": {
        "name": "позитивный"
      },
      "start_image": {
        "name": "начальное изображение",
        "tooltip": "Исходное изображение(я) для кодирования, может быть любое количество кадров."
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "name": "негативный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": "Пустое латентное пространство."
      }
    }
  },
  "WanFirstLastFrameToVideo": {
    "display_name": "WanFirstLastFrameToVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "clip_vision_end_image": {
        "name": "clip_vision_end_image"
      },
      "clip_vision_start_image": {
        "name": "clip_vision_start_image"
      },
      "end_image": {
        "name": "конечное_изображение"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      },
      "start_image": {
        "name": "начальное_изображение"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanFunControlToVideo": {
    "display_name": "WanFunControlToVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "control_video": {
        "name": "control_video"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "негативный"
      },
      "positive": {
        "name": "позитивный"
      },
      "start_image": {
        "name": "стартовое_изображение"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "name": "негативный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": null
      }
    }
  },
  "WanFunInpaintToVideo": {
    "display_name": "WanFunInpaintToVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "end_image": {
        "name": "конечное_изображение"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "негативный"
      },
      "positive": {
        "name": "позитивный"
      },
      "start_image": {
        "name": "начальное_изображение"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "name": "негативный",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanHuMoImageToVideo": {
    "display_name": "WanHuMoImageToVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "выход_аудиокодера"
      },
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "негативный"
      },
      "positive": {
        "name": "позитивный"
      },
      "ref_image": {
        "name": "опорное_изображение"
      },
      "vae": {
        "name": "VAE"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "name": "негативный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": null
      }
    }
  },
  "WanImageToImageApi": {
    "description": "Генерирует изображение из одного или двух входных изображений и текстового промпта. Выходное изображение в настоящее время фиксировано в 1,6 МП; его соотношение сторон соответствует входному изображению(ям).",
    "display_name": "Wan Image to Image",
    "inputs": {
      "control_after_generate": {
        "name": "управление_после_генерации"
      },
      "image": {
        "name": "изображение",
        "tooltip": "Редактирование одного изображения или слияние нескольких изображений, максимум 2 изображения."
      },
      "model": {
        "name": "модель",
        "tooltip": "Используемая модель."
      },
      "negative_prompt": {
        "name": "негативный_промпт",
        "tooltip": "Негативный текстовый промпт, указывающий, чего следует избегать."
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Промпт, используемый для описания элементов и визуальных особенностей, поддерживает английский/китайский языки."
      },
      "seed": {
        "name": "сид",
        "tooltip": "Сид для использования при генерации."
      },
      "watermark": {
        "name": "водяной_знак",
        "tooltip": "Добавлять ли водяной знак \"Сгенерировано ИИ\" к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanImageToVideo": {
    "display_name": "WanИзображениеВВидео",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "отрицательный"
      },
      "positive": {
        "name": "положительный"
      },
      "start_image": {
        "name": "начальное_изображение"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "положительный",
        "tooltip": null
      },
      "1": {
        "name": "отрицательный",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanImageToVideoApi": {
    "description": "Генерирует видео на основе первого кадра и текстового промпта.",
    "display_name": "Wan Image to Video",
    "inputs": {
      "audio": {
        "name": "аудио",
        "tooltip": "Аудио должно содержать чёткий, громкий голос без посторонних шумов и фоновой музыки."
      },
      "control_after_generate": {
        "name": "управление после генерации"
      },
      "duration": {
        "name": "длительность",
        "tooltip": "Доступные длительности: 5 и 10 секунд"
      },
      "generate_audio": {
        "name": "сгенерировать_аудио",
        "tooltip": "Если аудиовход отсутствует, автоматически сгенерировать аудио."
      },
      "image": {
        "name": "изображение"
      },
      "model": {
        "name": "модель",
        "tooltip": "Используемая модель."
      },
      "negative_prompt": {
        "name": "негативный_промпт",
        "tooltip": "Негативный текстовый промпт, указывающий, чего следует избегать."
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Промпт, используемый для описания элементов и визуальных особенностей, поддерживает английский/китайский языки."
      },
      "prompt_extend": {
        "name": "расширить_промпт",
        "tooltip": "Улучшить ли промпт с помощью ИИ-ассистента."
      },
      "resolution": {
        "name": "разрешение"
      },
      "seed": {
        "name": "сид",
        "tooltip": "Сид для использования при генерации."
      },
      "shot_type": {
        "name": "shot_type",
        "tooltip": "Указывает тип кадра для сгенерированного видео, то есть будет ли видео одним непрерывным кадром или несколькими с переходами. Этот параметр действует только если prompt_extend установлен в True."
      },
      "watermark": {
        "name": "водяной_знак",
        "tooltip": "Добавлять ли водяной знак \"Сгенерировано ИИ\" к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanInfiniteTalkToVideo": {
    "display_name": "WanInfiniteTalkToVideo",
    "inputs": {
      "audio_encoder_output_1": {
        "name": "выход аудиоэнкодера 1"
      },
      "audio_scale": {
        "name": "масштаб аудио"
      },
      "clip_vision_output": {
        "name": "выход clip vision"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "mode": {
        "name": "режим"
      },
      "model": {
        "name": "модель"
      },
      "model_patch": {
        "name": "патч модели"
      },
      "motion_frame_count": {
        "name": "количество кадров движения",
        "tooltip": "Количество предыдущих кадров, используемых как контекст движения."
      },
      "negative": {
        "name": "негативный"
      },
      "positive": {
        "name": "позитивный"
      },
      "previous_frames": {
        "name": "предыдущие кадры"
      },
      "start_image": {
        "name": "стартовое изображение"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "модель",
        "tooltip": null
      },
      "1": {
        "name": "позитивный",
        "tooltip": null
      },
      "2": {
        "name": "негативный",
        "tooltip": null
      },
      "3": {
        "name": "latent",
        "tooltip": null
      },
      "4": {
        "name": "обрезанное изображение",
        "tooltip": null
      }
    }
  },
  "WanMoveConcatTrack": {
    "display_name": "WanMoveConcatTrack",
    "inputs": {
      "tracks_1": {
        "name": "tracks_1"
      },
      "tracks_2": {
        "name": "tracks_2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanMoveTrackToVideo": {
    "display_name": "WanMoveTrackToVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "start_image": {
        "name": "стартовое_изображение"
      },
      "strength": {
        "name": "интенсивность",
        "tooltip": "Сила трековой кондиционировки."
      },
      "tracks": {
        "name": "треки"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanMoveTracksFromCoords": {
    "display_name": "WanMoveTracksFromCoords",
    "inputs": {
      "track_coords": {
        "name": "track_coords"
      },
      "track_mask": {
        "name": "track_mask"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "track_length",
        "tooltip": null
      }
    }
  },
  "WanMoveVisualizeTracks": {
    "display_name": "WanMoveVisualizeTracks",
    "inputs": {
      "circle_size": {
        "name": "размер_круга"
      },
      "images": {
        "name": "изображения"
      },
      "line_resolution": {
        "name": "разрешение_линии"
      },
      "line_width": {
        "name": "толщина_линии"
      },
      "opacity": {
        "name": "непрозрачность"
      },
      "tracks": {
        "name": "треки"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanPhantomSubjectToVideo": {
    "display_name": "WanPhantomSubjectToVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "height": {
        "name": "высота"
      },
      "images": {
        "name": "изображения"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "негативный"
      },
      "positive": {
        "name": "позитивный"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "name": "негативный_текст",
        "tooltip": null
      },
      "2": {
        "name": "негативный_изображение_текст",
        "tooltip": null
      },
      "3": {
        "name": "латентный",
        "tooltip": null
      }
    }
  },
  "WanReferenceVideoApi": {
    "description": "Используйте персонажа и голос из входных видео, чтобы с помощью промпта сгенерировать новое видео с сохранением целостности персонажа.",
    "display_name": "Wan Reference to Video",
    "inputs": {
      "control_after_generate": {
        "name": "контроль_после_генерации"
      },
      "duration": {
        "name": "длительность"
      },
      "model": {
        "name": "модель"
      },
      "negative_prompt": {
        "name": "негативный_промпт",
        "tooltip": "Негативный промпт, описывающий, чего следует избегать."
      },
      "prompt": {
        "name": "промпт",
        "tooltip": "Промпт, описывающий элементы и визуальные особенности. Поддерживает английский и китайский языки. Используйте идентификаторы, такие как `character1` и `character2`, чтобы ссылаться на референсных персонажей."
      },
      "reference_videos": {
        "name": "референсные_видео"
      },
      "seed": {
        "name": "seed"
      },
      "shot_type": {
        "name": "тип_кадра",
        "tooltip": "Указывает тип кадра для генерируемого видео: один непрерывный кадр или несколько с монтажом."
      },
      "size": {
        "name": "размер"
      },
      "watermark": {
        "name": "водяной_знак",
        "tooltip": "Добавлять ли AI-сгенерированный водяной знак к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanSCAILToVideo": {
    "display_name": "WanSCAILToVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "Визуальные признаки CLIP для кондиционирования. Модель обучена с растягиванием до соотношения сторон."
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "негативный"
      },
      "pose_end": {
        "name": "конец_позы",
        "tooltip": "Шаг окончания использования условия позы."
      },
      "pose_start": {
        "name": "начало_позы",
        "tooltip": "Шаг начала использования условия позы."
      },
      "pose_strength": {
        "name": "сила_позы",
        "tooltip": "Сила латентного пространства позы."
      },
      "pose_video": {
        "name": "видео_позы",
        "tooltip": "Видео, используемое для условия позы. Будет уменьшено до половины разрешения основного видео."
      },
      "pose_video_mask": {
        "name": "pose_video_mask",
        "tooltip": "Только для SCAIL-2. Цветное видео масок SAM3 для каждой идентичности с тем же разрешением, что и pose_video."
      },
      "positive": {
        "name": "позитивный"
      },
      "previous_frame_count": {
        "name": "previous_frame_count",
        "tooltip": "Хвостовые кадры previous_frames для привязки. SCAIL-2 обучен на 5 (81 кадр в фрагменте, шаг 76 кадров)."
      },
      "previous_frames": {
        "name": "previous_frames",
        "tooltip": "Только для SCAIL-2. Полный декодированный вывод предыдущего фрагмента. В качестве якоря расширения используются только последние previous_frame_count."
      },
      "reference_image": {
        "name": "референсное_изображение",
        "tooltip": "Референсное изображение. Для нескольких референсов объедините все на одном изображении."
      },
      "reference_image_mask": {
        "name": "reference_image_mask",
        "tooltip": "Только для SCAIL-2. Цветная маска референса с тем же разрешением, что и reference_image."
      },
      "replacement_mode": {
        "name": "replacement_mode",
        "tooltip": "Только для SCAIL-2. False = режим анимации (pose_video_mask должен иметь чёрный фон). True = режим замены (pose_video_mask должен иметь белый фон)."
      },
      "vae": {
        "name": "vae"
      },
      "video_frame_offset": {
        "name": "video_frame_offset",
        "tooltip": "Совокупный выходной кадр, с которого начинается этот фрагмент. Подключите от выхода video_frame_offset предыдущего фрагмента."
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "name": "негативный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": "Пустое латентное пространство размера генерации."
      },
      "3": {
        "name": "video_frame_offset",
        "tooltip": "Скорректированное смещение + длина. Подключите к следующему фрагменту."
      }
    }
  },
  "WanSoundImageToVideo": {
    "display_name": "WanSoundImageToVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "выход_аудиокодера"
      },
      "batch_size": {
        "name": "размер_пакета"
      },
      "control_video": {
        "name": "control_video"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "негативный"
      },
      "positive": {
        "name": "позитивный"
      },
      "ref_image": {
        "name": "ref_image"
      },
      "ref_motion": {
        "name": "ref_motion"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanSoundImageToVideoExtend": {
    "display_name": "WanSoundImageToVideoExtend",
    "inputs": {
      "audio_encoder_output": {
        "name": "audio_encoder_output"
      },
      "control_video": {
        "name": "control_video"
      },
      "length": {
        "name": "length"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "ref_image": {
        "name": "ref_image"
      },
      "vae": {
        "name": "vae"
      },
      "video_latent": {
        "name": "video_latent"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanTextToImageApi": {
    "description": "Генерирует изображение на основе текстового промпта.",
    "display_name": "Wan Текст в изображение",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "height": {
        "name": "height"
      },
      "model": {
        "name": "model",
        "tooltip": "Модель для использования."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Негативный текстовый промпт для указания, чего следует избегать."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Промпт для описания элементов и визуальных особенностей, поддерживает английский/китайский."
      },
      "prompt_extend": {
        "name": "prompt_extend",
        "tooltip": "Усилить ли промпт с помощью ИИ-помощника."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для использования при генерации."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли водяной знак \"Сгенерировано ИИ\" к результату."
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanTextToVideoApi": {
    "description": "Создаёт видео на основе текстового промпта.",
    "display_name": "Wan Text to Video",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Аудио должно содержать чёткий, громкий голос без посторонних шумов и фоновой музыки."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Доступные длительности: 5 и 10 секунд"
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Если аудиовход отсутствует, автоматически сгенерировать аудио."
      },
      "model": {
        "name": "model",
        "tooltip": "Используемая модель."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Негативный текстовый промпт для указания, чего следует избегать."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Промпт для описания элементов и визуальных особенностей, поддерживает английский/китайский."
      },
      "prompt_extend": {
        "name": "prompt_extend",
        "tooltip": "Усилить ли промпт с помощью ИИ-ассистента."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Сид для генерации."
      },
      "shot_type": {
        "name": "тип_кадра",
        "tooltip": "Указывает тип кадра для генерируемого видео: один непрерывный кадр или несколько с монтажом. Этот параметр действует только если prompt_extend установлен в True."
      },
      "size": {
        "name": "size"
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Добавлять ли водяной знак \"Сгенерировано ИИ\" к результату."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanTrackToVideo": {
    "display_name": "WanTrackToVideo",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "start_image": {
        "name": "start_image"
      },
      "temperature": {
        "name": "temperature"
      },
      "topk": {
        "name": "topk"
      },
      "tracks": {
        "name": "tracks"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "name": "негативный",
        "tooltip": null
      },
      "2": {
        "name": "латентный",
        "tooltip": null
      }
    }
  },
  "WanUni3CControlnetApply": {
    "display_name": "Применить Wan Uni3C ControlNet",
    "inputs": {
      "end_percent": {
        "name": "конечный_процент"
      },
      "model": {
        "name": "модель"
      },
      "model_patch": {
        "name": "model_patch"
      },
      "render_video": {
        "name": "рендер-видео",
        "tooltip": "Видео-направление, сгенерированное по траектории камеры, чаще всего — искажённые рендеры облака точек исходного изображения."
      },
      "start_percent": {
        "name": "начальный_процент"
      },
      "strength": {
        "name": "интенсивность"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "WanVaceToVideo": {
    "display_name": "WanVaceToVideo",
    "inputs": {
      "batch_size": {
        "name": "размер_пакета"
      },
      "control_masks": {
        "name": "control_masks"
      },
      "control_video": {
        "name": "control_video"
      },
      "height": {
        "name": "высота"
      },
      "length": {
        "name": "длина"
      },
      "negative": {
        "name": "негативный"
      },
      "positive": {
        "name": "позитивный"
      },
      "reference_image": {
        "name": "референсное_изображение"
      },
      "strength": {
        "name": "интенсивность"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "ширина"
      }
    },
    "outputs": {
      "0": {
        "name": "позитивный",
        "tooltip": null
      },
      "1": {
        "name": "негативный",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      },
      "3": {
        "name": "обрезанный_latent",
        "tooltip": null
      }
    }
  },
  "WavespeedFlashVSRNode": {
    "description": "Быстрый и качественный апскейлер видео, повышающий разрешение и восстанавливающий чёткость для низкокачественных или размытых кадров.",
    "display_name": "FlashVSR Видео Апскейл",
    "inputs": {
      "target_resolution": {
        "name": "целевое_разрешение"
      },
      "video": {
        "name": "видео"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WavespeedImageUpscaleNode": {
    "description": "Увеличьте разрешение и качество изображения, апскейл фотографий до 4K или 8K для чётких и детализированных результатов.",
    "display_name": "WaveSpeed Апскейл Изображения",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "model": {
        "name": "model"
      },
      "target_resolution": {
        "name": "целевое_разрешение"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WebcamCapture": {
    "display_name": "Захват с веб-камеры",
    "inputs": {
      "capture_on_queue": {
        "name": "захват_в_очереди"
      },
      "height": {
        "name": "высота"
      },
      "image": {
        "name": "изображение"
      },
      "waiting for camera___": {},
      "width": {
        "name": "ширина"
      }
    }
  },
  "ZImageFunControlnet": {
    "display_name": "ZImageFunControlnet",
    "inputs": {
      "image": {
        "name": "изображение"
      },
      "inpaint_image": {
        "name": "inpaint_изображение"
      },
      "mask": {
        "name": "mask"
      },
      "model": {
        "name": "модель"
      },
      "model_patch": {
        "name": "model_patch"
      },
      "strength": {
        "name": "интенсивность"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "unCLIPCheckpointLoader": {
    "display_name": "Загрузчик контрольной точки unCLIP",
    "inputs": {
      "ckpt_name": {
        "name": "название_ckpt"
      }
    }
  },
  "unCLIPConditioning": {
    "display_name": "unCLIP кондиционирование",
    "inputs": {
      "clip_vision_output": {
        "name": "выход_clip_vision"
      },
      "conditioning": {
        "name": "условие"
      },
      "noise_augmentation": {
        "name": "аугментация_шума"
      },
      "strength": {
        "name": "сила"
      }
    }
  },
  "wanBlockSwap": {
    "description": "NOP",
    "display_name": "wanBlockSwap",
    "inputs": {
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  }
}
