{
  "APG": {
    "display_name": "Orientação Projetada Adaptativa",
    "inputs": {
      "eta": {
        "name": "eta",
        "tooltip": "Controla a escala do vetor de orientação paralela. Comportamento padrão do CFG com valor 1."
      },
      "model": {
        "name": "model"
      },
      "momentum": {
        "name": "momento",
        "tooltip": "Controla uma média móvel da orientação durante a difusão, desativado com valor 0."
      },
      "norm_threshold": {
        "name": "limite_normalização",
        "tooltip": "Normaliza o vetor de orientação para este valor, normalização desativada com valor 0."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ARVideoI2V": {
    "display_name": "ARVideoI2V",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "model": {
        "name": "modelo"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "AddNoise": {
    "display_name": "AddNoise",
    "inputs": {
      "latent_image": {
        "name": "imagem_latente"
      },
      "model": {
        "name": "model"
      },
      "noise": {
        "name": "ruído"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AddTextPrefix": {
    "display_name": "Adicionar Prefixo de Texto",
    "inputs": {
      "prefix": {
        "name": "prefixo",
        "tooltip": "Prefixo a ser adicionado."
      },
      "texts": {
        "name": "textos",
        "tooltip": "Texto a ser processado."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos processados"
      }
    }
  },
  "AddTextSuffix": {
    "display_name": "Adicionar Sufixo de Texto",
    "inputs": {
      "suffix": {
        "name": "sufixo",
        "tooltip": "Sufixo a ser adicionado."
      },
      "texts": {
        "name": "textos",
        "tooltip": "Texto a ser processado."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos processados"
      }
    }
  },
  "AdjustBrightness": {
    "description": "Ajuste o brilho de uma imagem.",
    "display_name": "Ajustar Brilho",
    "inputs": {
      "factor": {
        "name": "fator",
        "tooltip": "Fator de brilho. 1.0 = sem alteração, <1.0 = mais escuro, >1.0 = mais claro."
      },
      "images": {
        "name": "imagens",
        "tooltip": "Imagem a ser processada."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Imagens processadas"
      }
    }
  },
  "AdjustContrast": {
    "description": "Ajuste o contraste de uma imagem.",
    "display_name": "Ajustar Contraste",
    "inputs": {
      "factor": {
        "name": "fator",
        "tooltip": "Fator de contraste. 1.0 = sem alteração, <1.0 = menos contraste, >1.0 = mais contraste."
      },
      "images": {
        "name": "imagens",
        "tooltip": "Imagem a ser processada."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Imagens processadas"
      }
    }
  },
  "AlignYourStepsScheduler": {
    "display_name": "AlignYourStepsScheduler",
    "inputs": {
      "denoise": {
        "name": "reduzir_ruído"
      },
      "model_type": {
        "name": "tipo_de_modelo"
      },
      "steps": {
        "name": "passos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AnimaLLLiteApply": {
    "display_name": "Aplicar Anima LLLite",
    "inputs": {
      "end_percent": {
        "name": "percentual_final"
      },
      "image": {
        "name": "imagem"
      },
      "mask": {
        "name": "mask"
      },
      "model": {
        "name": "model"
      },
      "model_patch": {
        "name": "model_patch"
      },
      "start_percent": {
        "name": "percentual_inicial"
      },
      "strength": {
        "name": "intensidade"
      }
    }
  },
  "AudioAdjustVolume": {
    "description": "Ajuste o volume do áudio por uma quantidade especificada em decibéis (dB).",
    "display_name": "Ajustar Volume do Áudio",
    "inputs": {
      "audio": {
        "name": "áudio"
      },
      "volume": {
        "name": "volume",
        "tooltip": "Ajuste de volume em decibéis (dB). 0 = sem alteração, +6 = dobra, -6 = metade, etc"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioConcat": {
    "description": "Concatena o áudio1 ao áudio2 na direção especificada.",
    "display_name": "Concatenação de Áudio",
    "inputs": {
      "audio1": {
        "name": "audio1"
      },
      "audio2": {
        "name": "audio2"
      },
      "direction": {
        "name": "direção",
        "tooltip": "Se o áudio2 será adicionado após ou antes do áudio1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEncoderEncode": {
    "display_name": "Codificar com AudioEncoder",
    "inputs": {
      "audio": {
        "name": "áudio"
      },
      "audio_encoder": {
        "name": "audio_encoder"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEncoderLoader": {
    "display_name": "Carregar AudioEncoder",
    "inputs": {
      "audio_encoder_name": {
        "name": "audio_encoder_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioEqualizer3Band": {
    "display_name": "Equalizador de Áudio (3 Bandas)",
    "inputs": {
      "audio": {
        "name": "áudio"
      },
      "high_freq": {
        "name": "freq_aguda",
        "tooltip": "Frequência de corte para o filtro de agudos"
      },
      "high_gain_dB": {
        "name": "ganho_agudo_dB",
        "tooltip": "Ganho para frequências altas (Agudo)"
      },
      "low_freq": {
        "name": "freq_baixa",
        "tooltip": "Frequência de corte para o filtro de graves"
      },
      "low_gain_dB": {
        "name": "ganho_baixo_dB",
        "tooltip": "Ganho para frequências baixas (Grave)"
      },
      "mid_freq": {
        "name": "freq_média",
        "tooltip": "Frequência central para médios"
      },
      "mid_gain_dB": {
        "name": "ganho_médio_dB",
        "tooltip": "Ganho para frequências médias"
      },
      "mid_q": {
        "name": "q_médio",
        "tooltip": "Fator Q (largura de banda) para médios"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "AudioMerge": {
    "description": "Combina duas faixas de áudio sobrepondo suas formas de onda.",
    "display_name": "Mesclar Áudio",
    "inputs": {
      "audio1": {
        "name": "audio1"
      },
      "audio2": {
        "name": "audio2"
      },
      "merge_method": {
        "name": "método_de_mesclagem",
        "tooltip": "O método utilizado para combinar as formas de onda dos áudios."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BasicGuider": {
    "display_name": "Guia Básico",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      },
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BasicScheduler": {
    "display_name": "Agendador Básico",
    "inputs": {
      "denoise": {
        "name": "reduzir_ruído"
      },
      "model": {
        "name": "modelo"
      },
      "scheduler": {
        "name": "agendador"
      },
      "steps": {
        "name": "etapas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchImagesNode": {
    "display_name": "Imagens em Lote",
    "inputs": {
      "images": {
        "name": "imagens"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchLatentsNode": {
    "display_name": "Latents em Lote",
    "inputs": {
      "latents": {
        "name": "latents"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BatchMasksNode": {
    "display_name": "Máscaras em Lote",
    "inputs": {
      "masks": {
        "name": "máscaras"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BeebleSwitchXImageEdit": {
    "description": "Edite uma única imagem com Beeble SwitchX. Altere qualquer elemento da cena (fundo, iluminação, figurino) enquanto preserva os pixels originais do sujeito. Forneça uma imagem de referência e/ou um prompt de texto para descrever o novo visual. Máx. ~2,77MP.",
    "display_name": "Beeble SwitchX Edição de Imagem",
    "inputs": {
      "alpha_mode": {
        "name": "alpha_mode",
        "tooltip": "Controla como o SwitchX decide o que manter ou regenerar. 'auto' isola automaticamente o sujeito principal. 'fill' regenera todo o quadro preservando a geometria. 'select' propaga um keyframe do primeiro quadro ao longo do clip. 'custom' utiliza um alpha matte por quadro fornecido por você."
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "image": {
        "name": "imagem"
      },
      "max_resolution": {
        "name": "resolução_máxima",
        "tooltip": "Resolução máxima de saída."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto do resultado desejado (máx. 2000 caracteres). Pelo menos um dos campos 'prompt' ou 'reference_image' é obrigatório."
      },
      "reference_image": {
        "name": "imagem_de_referência",
        "tooltip": "Imagem de referência cujo visual (fundo, iluminação, figurino) o resultado deve adotar. Pelo menos um dos campos 'reference_image' ou 'prompt' é obrigatório."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      }
    },
    "outputs": {
      "0": {
        "name": "imagem",
        "tooltip": null
      },
      "1": {
        "name": "alpha",
        "tooltip": "O alpha matte utilizado pelo Beeble. Vazio no modo 'fill', que não possui matte separado."
      }
    }
  },
  "BeebleSwitchXVideoEdit": {
    "description": "Edite um vídeo com Beeble SwitchX. Altere qualquer elemento da cena (fundo, iluminação, figurino) enquanto preserva os pixels e o movimento originais do sujeito. Forneça uma imagem de referência e/ou um prompt de texto para descrever o novo visual. Máx. 240 quadros, máx. ~2,77MP por quadro.",
    "display_name": "Beeble SwitchX Edição de Vídeo",
    "inputs": {
      "alpha_mode": {
        "name": "alpha_mode",
        "tooltip": "Controla como o SwitchX decide o que manter ou regenerar. 'auto' isola automaticamente o sujeito principal. 'fill' regenera todo o quadro preservando a geometria. 'select' propaga um keyframe do primeiro quadro ao longo do clip. 'custom' utiliza um alpha matte por quadro fornecido por você."
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "max_resolution": {
        "name": "resolução_máxima",
        "tooltip": "Resolução máxima de saída."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto do resultado desejado (máx. 2000 caracteres). Pelo menos um dos campos 'prompt' ou 'reference_image' é obrigatório."
      },
      "reference_image": {
        "name": "imagem_de_referência",
        "tooltip": "Imagem de referência cujo visual (fundo, iluminação, figurino) o resultado deve adotar. Pelo menos um dos campos 'reference_image' ou 'prompt' é obrigatório."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      },
      "video": {
        "name": "vídeo"
      }
    },
    "outputs": {
      "0": {
        "name": "vídeo",
        "tooltip": null
      },
      "1": {
        "name": "alpha",
        "tooltip": "O alpha matte utilizado pelo Beeble. Vazio no modo 'fill', que não possui matte separado."
      }
    }
  },
  "BerniniConditioning": {
    "description": "Nó de condicionamento para Bernini em condicionamento de vídeo/imagem em contexto. Pode ser usado para as seguintes tarefas: t2v (texto para vídeo), v2v (vídeo para vídeo), rv2v (edição de vídeo guiada por referência), r2v (referência para vídeo), ads2v (inserir imagem/vídeo em vídeo). Imagens de referência injetadas como tokens em contexto (r2v, rv2v) são codificadas independentemente em sua própria proporção nativa (borda longa limitada por ref_max_size)",
    "display_name": "Bernini Conditioning",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_max_size": {
        "name": "ref_max_size",
        "tooltip": "Tamanho máximo para a borda longa de reference_video e reference_images. Redimensionado mantendo a proporção e ajustado para múltiplos de 16px."
      },
      "reference_images": {
        "name": "imagens_referência"
      },
      "reference_video": {
        "name": "vídeo_referência",
        "tooltip": "Vídeo a ser inserido no vídeo fonte (ads2v)."
      },
      "source_video": {
        "name": "vídeo_fonte",
        "tooltip": "Vídeo fonte para editar ou estilizar (v2v, rv2v). Redimensionado para largura/altura e cortado para a duração."
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "BetaSamplingScheduler": {
    "display_name": "Agendador de Amostragem Beta",
    "inputs": {
      "alpha": {
        "name": "alfa"
      },
      "beta": {
        "name": "beta"
      },
      "model": {
        "name": "modelo"
      },
      "steps": {
        "name": "etapas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaImageEditNode": {
    "description": "Edite imagens usando o modelo mais recente da Bria",
    "display_name": "Bria Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "guidance_scale": {
        "name": "escala_de_guia",
        "tooltip": "Um valor mais alto faz com que a imagem siga o prompt mais de perto."
      },
      "image": {
        "name": "imagem"
      },
      "mask": {
        "name": "máscara",
        "tooltip": "Se omitido, a edição será aplicada à imagem inteira."
      },
      "model": {
        "name": "modelo"
      },
      "moderation": {
        "name": "moderação",
        "tooltip": "Configurações de moderação"
      },
      "negative_prompt": {
        "name": "prompt_negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Instrução para editar a imagem"
      },
      "seed": {
        "name": "semente"
      },
      "steps": {
        "name": "passos"
      },
      "structured_prompt": {
        "name": "prompt_estruturado",
        "tooltip": "Uma string contendo o prompt de edição estruturado em formato JSON. Use isso em vez do prompt comum para controle preciso e programático."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "prompt_estruturado",
        "tooltip": null
      }
    }
  },
  "BriaRemoveImageBackground": {
    "description": "Remove o fundo de uma imagem usando Bria RMBG 2.0.",
    "display_name": "Bria Remover Fundo da Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "image": {
        "name": "imagem"
      },
      "moderation": {
        "name": "moderação",
        "tooltip": "Configurações de moderação"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaRemoveVideoBackground": {
    "description": "Remove o fundo de um vídeo usando Bria.",
    "display_name": "Bria Remover Fundo do Vídeo",
    "inputs": {
      "background_color": {
        "name": "cor de fundo",
        "tooltip": "Cor de fundo para o vídeo de saída."
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "video": {
        "name": "vídeo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaTransparentVideoBackground": {
    "description": "Remove o fundo de um vídeo usando Bria e retorna os frames recortados mais uma máscara alfa. Conecte ambos a um nó de composição ou envie-os para Salvar WEBM para gerar um vídeo transparente.",
    "display_name": "Bria Remover Fundo de Vídeo (Transparente)",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "video": {
        "name": "vídeo"
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": null
      },
      "1": {
        "name": "máscara",
        "tooltip": null
      }
    }
  },
  "BriaVideoGreenScreen": {
    "description": "Substitua o fundo de um vídeo por uma tela sólida de chroma key usando Bria.",
    "display_name": "Bria Video Green Screen",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "green_shade": {
        "name": "tom_de_verde",
        "tooltip": "Tom sólido de chroma key aplicado atrás do primeiro plano: broadcast_green (#00B140), chroma_green (#00FF00) ou blue_screen (#0000FF)."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "video": {
        "name": "vídeo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BriaVideoReplaceBackground": {
    "description": "Substitua o fundo de um vídeo por uma imagem ou vídeo fornecido usando Bria. A saída mantém a resolução e taxa de quadros do primeiro plano; um fundo com proporção diferente será esticado para encaixar, então combine as proporções para evitar distorções.",
    "display_name": "Bria Video Substituir Fundo",
    "inputs": {
      "background_image": {
        "name": "imagem_de_fundo",
        "tooltip": "Imagem de fundo para compor atrás do primeiro plano. Forneça uma imagem de fundo ou um vídeo de fundo, não ambos."
      },
      "background_video": {
        "name": "vídeo_de_fundo",
        "tooltip": "Vídeo de fundo para compor atrás do primeiro plano. Forneça uma imagem de fundo ou um vídeo de fundo, não ambos."
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Vídeo de primeiro plano cujo fundo será substituído."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "BuildJsonPromptIdeogram": {
    "description": "Construa um prompt JSON para o modelo Ideogram 4.",
    "display_name": "Construir Prompt JSON (Ideogram)",
    "inputs": {
      "aesthetics": {
        "name": "estética",
        "tooltip": "Palavras-chave estéticas obrigatórias (ex: sombrio, cinematográfico, dessaturado)."
      },
      "background": {
        "name": "fundo",
        "tooltip": "Descrição obrigatória do fundo ou ambiente da imagem."
      },
      "color_palette": {
        "name": "paleta_de_cores",
        "tooltip": "Códigos de cor hexadecimais que direcionam as cores dominantes da imagem. Até 16 entradas."
      },
      "element": {
        "name": "elemento",
        "tooltip": "Elementos do prompt do nó Criar Caixas Delimitadoras."
      },
      "high_level_description": {
        "name": "descrição_nível_alto",
        "tooltip": "Descrição opcional da imagem em uma ou duas frases. Altamente recomendado."
      },
      "lighting": {
        "name": "iluminação",
        "tooltip": "Descrição obrigatória da iluminação (ex: hora dourada, luz de recorte, sombras dramáticas)."
      },
      "medium": {
        "name": "meio",
        "tooltip": "Tipo de meio obrigatório (ex: fotografia, ilustração, renderização_3d, pintura, design_gráfico). Quando estilo = foto, defina como fotografia."
      },
      "style": {
        "name": "estilo"
      }
    },
    "outputs": {
      "0": {
        "name": "prompt",
        "tooltip": null
      }
    }
  },
  "ByteDance2FirstLastFrameNode": {
    "description": "Gere vídeo usando Seedance 2.0 a partir de uma imagem do primeiro frame e, opcionalmente, uma imagem do último frame.",
    "display_name": "ByteDance Seedance 2.0 Primeiro-Último-Frame para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "first_frame": {
        "name": "primeiro_frame",
        "tooltip": "Imagem do primeiro frame para o vídeo."
      },
      "first_frame_asset_id": {
        "name": "first_frame_asset_id",
        "tooltip": "asset_id do Seedance a ser usado como o primeiro quadro. Mutuamente exclusivo com a entrada de imagem first_frame."
      },
      "last_frame": {
        "name": "último_frame",
        "tooltip": "Imagem do último frame para o vídeo."
      },
      "last_frame_asset_id": {
        "name": "last_frame_asset_id",
        "tooltip": "asset_id do Seedance a ser usado como o último quadro. Mutuamente exclusivo com a entrada de imagem last_frame."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Seedance 2.0 para máxima qualidade; Seedance 2.0 Fast para otimização de velocidade."
      },
      "model_duration": {
        "name": "duração"
      },
      "model_generate_audio": {
        "name": "gerar_áudio"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "proporção"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "watermark": {
        "name": "marca_d'água",
        "tooltip": "Se deve adicionar uma marca d'água ao vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDance2ReferenceNode": {
    "description": "Gere, edite ou estenda vídeos usando Seedance 2.0 com imagens, vídeos e áudios de referência. Suporta referência multimodal, edição de vídeo e extensão de vídeo.",
    "display_name": "ByteDance Seedance 2.0 Referência para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Seedance 2.0 para máxima qualidade; Seedance 2.0 Fast para otimização de velocidade."
      },
      "model_auto_downscale": {
        "name": "auto_downscale"
      },
      "model_auto_upscale": {
        "name": "auto_upscale"
      },
      "model_duration": {
        "name": "duração"
      },
      "model_generate_audio": {
        "name": "gerar_áudio"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "proporção"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "watermark": {
        "name": "marca_d'água",
        "tooltip": "Se deve adicionar uma marca d'água ao vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDance2TextToVideoNode": {
    "description": "Gere vídeo usando modelos Seedance 2.0 a partir de um prompt de texto.",
    "display_name": "ByteDance Seedance 2.0 Texto para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Seedance 2.0 para máxima qualidade; Seedance 2.0 Fast para otimização de velocidade."
      },
      "model_duration": {
        "name": "duração"
      },
      "model_generate_audio": {
        "name": "gerar_áudio"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "proporção"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "watermark": {
        "name": "marca_d'água",
        "tooltip": "Se deve adicionar uma marca d'água ao vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceCreateImageAsset": {
    "description": "Crie um ativo de imagem pessoal Seedance 2.0. Faz upload da imagem de entrada e a registra no grupo de ativos informado. Se o group_id estiver vazio, executa um fluxo de autenticação H5 de pessoa real para criar um novo grupo antes de adicionar o ativo.",
    "display_name": "ByteDance Criar Ativo de Imagem",
    "inputs": {
      "group_id": {
        "name": "group_id",
        "tooltip": "Reutilize um ID de grupo de ativos Seedance existente para evitar repetidas verificações humanas para a mesma pessoa. Deixe em branco para executar a autenticação de pessoa real no navegador e criar um novo grupo."
      },
      "image": {
        "name": "image",
        "tooltip": "Imagem para registrar como ativo pessoal."
      }
    },
    "outputs": {
      "0": {
        "name": "asset_id",
        "tooltip": null
      },
      "1": {
        "name": "group_id",
        "tooltip": null
      }
    }
  },
  "ByteDanceCreateVideoAsset": {
    "description": "Crie um ativo de vídeo pessoal Seedance 2.0. Faz upload do vídeo de entrada e o registra no grupo de ativos informado. Se o group_id estiver vazio, executa um fluxo de autenticação H5 de pessoa real para criar um novo grupo antes de adicionar o ativo.",
    "display_name": "ByteDance Criar Ativo de Vídeo",
    "inputs": {
      "group_id": {
        "name": "group_id",
        "tooltip": "Reutilize um ID de grupo de ativos Seedance existente para evitar repetidas verificações humanas para a mesma pessoa. Deixe em branco para executar a autenticação de pessoa real no navegador e criar um novo grupo."
      },
      "video": {
        "name": "video",
        "tooltip": "Vídeo para registrar como ativo pessoal."
      }
    },
    "outputs": {
      "0": {
        "name": "asset_id",
        "tooltip": null
      },
      "1": {
        "name": "group_id",
        "tooltip": null
      }
    }
  },
  "ByteDanceFirstLastFrameNode": {
    "description": "Gere vídeo usando um prompt e os quadros inicial e final.",
    "display_name": "ByteDance Primeiro-Último-Frame para Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "A proporção do vídeo de saída."
      },
      "camera_fixed": {
        "name": "camera_fixed",
        "tooltip": "Especifica se a câmera deve ser fixa. O aplicativo adiciona uma instrução para fixar a câmera ao seu prompt, mas não garante o efeito real."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "A duração do vídeo de saída em segundos."
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Primeiro quadro a ser usado para o vídeo."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Este parâmetro é ignorado para qualquer modelo, exceto seedance-1-5-pro."
      },
      "last_frame": {
        "name": "last_frame",
        "tooltip": "Último quadro a ser usado para o vídeo."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "O prompt de texto usado para gerar o vídeo."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "A resolução do vídeo de saída."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed a ser usada para a geração."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se deve adicionar uma marca d'água \"Gerado por IA\" ao vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageNode": {
    "description": "Gere imagens usando modelos ByteDance via API com base em um prompt",
    "display_name": "ByteDance Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "guidance_scale": {
        "name": "guidance_scale",
        "tooltip": "Um valor mais alto faz a imagem seguir o prompt mais de perto"
      },
      "height": {
        "name": "height",
        "tooltip": "Altura personalizada para a imagem. O valor só funciona se `size_preset` estiver definido como `Personalizado`"
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "O prompt de texto usado para gerar a imagem"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed a ser usada para a geração"
      },
      "size_preset": {
        "name": "size_preset",
        "tooltip": "Escolha um tamanho recomendado. Selecione Personalizado para usar a largura e altura abaixo"
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se deve adicionar uma marca d'água \"Gerado por IA\" à imagem"
      },
      "width": {
        "name": "width",
        "tooltip": "Largura personalizada para a imagem. O valor só funciona se `size_preset` estiver definido como `Personalizado`"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageReferenceNode": {
    "description": "Gerar vídeo usando prompt e imagens de referência.",
    "display_name": "Imagens de Referência ByteDance para Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção",
        "tooltip": "A proporção do vídeo de saída."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração",
        "tooltip": "A duração do vídeo de saída em segundos."
      },
      "images": {
        "name": "imagens",
        "tooltip": "De uma a quatro imagens."
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "O prompt de texto usado para gerar o vídeo."
      },
      "resolution": {
        "name": "resolução",
        "tooltip": "A resolução do vídeo de saída."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente a ser usada para a geração."
      },
      "watermark": {
        "name": "marca d'água",
        "tooltip": "Se deve adicionar uma marca d'água \"Gerado por IA\" ao vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceImageToVideoNode": {
    "description": "Gerar vídeo usando modelos ByteDance via API com base em imagem e prompt",
    "display_name": "Imagem para Vídeo ByteDance",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção",
        "tooltip": "A proporção do vídeo de saída."
      },
      "camera_fixed": {
        "name": "câmera fixa",
        "tooltip": "Especifica se a câmera deve ser fixa. O aplicativo da plataforma adiciona uma instrução para fixar a câmera ao seu prompt, mas não garante o efeito real."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração",
        "tooltip": "A duração do vídeo de saída em segundos."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Este parâmetro é ignorado para qualquer modelo, exceto seedance-1-5-pro."
      },
      "image": {
        "name": "imagem",
        "tooltip": "Primeiro quadro a ser usado para o vídeo."
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "O prompt de texto usado para gerar o vídeo."
      },
      "resolution": {
        "name": "resolução",
        "tooltip": "A resolução do vídeo de saída."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente a ser usada para a geração."
      },
      "watermark": {
        "name": "marca d'água",
        "tooltip": "Se deve adicionar uma marca d'água \"Gerado por IA\" ao vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedAudio": {
    "description": "Gere fala, música, efeitos sonoros e diálogos com múltiplos falantes a partir de um único prompt com o ByteDance Seed Audio 1.0. Descreva as vozes, emoção, ambiente, música de fundo e efeitos sonoros no prompt, e inclua as falas a serem ditas. Opcionalmente, escolha uma voz predefinida, clone vozes de até 3 clipes de referência (marcados como @Audio1-3 no prompt), ou derive uma voz a partir de uma imagem de personagem. Até 2 minutos de áudio por execução.",
    "display_name": "ByteDance Seed Audio 1.0",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "loudness_rate": {
        "name": "loudness_rate",
        "tooltip": "Volume. 0 = normal, 100 = 2.0x, -50 = 0.5x."
      },
      "model": {
        "name": "model",
        "tooltip": "seed-audio-1.0-multilingual: 20 idiomas (Inglês, Chinês, Japonês, Coreano, Espanhol Mexicano e Castelhano, Indonésio, Alemão, Português Brasileiro, Francês, Tailandês, Vietnamita, Malaio, Filipino, Italiano, Russo, Holandês, Polonês, Turco, Sueco) além de controle de tempo por frase via timestamps como \"[5.5s:8.0s] ...\". seed-audio-1.0: Apenas Inglês e Chinês, sem controle de tempo."
      },
      "pitch_rate": {
        "name": "pitch_rate",
        "tooltip": "Alteração de tom em semitons (-12 a 12)."
      },
      "reference_mode": {
        "name": "reference_mode",
        "tooltip": "Como condicionar a voz: 'somente texto' (descreva tudo no prompt), 'referência de áudio' (clone até 3 vozes, marcadas como @Audio1-3), 'referência de imagem' (derive uma voz de uma imagem de personagem), ou 'voz predefinida' (escolha uma voz nomeada que lê o prompt)."
      },
      "sample_rate": {
        "name": "sample_rate",
        "tooltip": "Taxa de amostragem de saída em Hz."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      },
      "speech_rate": {
        "name": "speech_rate",
        "tooltip": "Velocidade da fala. 0 = normal, 100 = 2.0x, -50 = 0.5x."
      },
      "text_prompt": {
        "name": "text_prompt",
        "tooltip": "Descreva as vozes, emoção, ritmo, ambiente, música de fundo e efeitos sonoros, e inclua as falas a serem ditas (nomeie os personagens no texto para diálogos). No modo 'referência de áudio', faça referência aos clipes conectados pela ordem como @Audio1, @Audio2, @Audio3. Máximo de 3000 caracteres."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedNode": {
    "description": "Gere respostas de texto com os modelos Seed 2.0 da ByteDance. Forneça um prompt de texto e, opcionalmente, uma ou mais imagens ou vídeos para contexto multimodal.",
    "display_name": "ByteDance Seed",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo Seed utilizado para gerar a resposta."
      },
      "model_temperature": {
        "name": "temperatura"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entrada de texto para o modelo."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      },
      "system_prompt": {
        "name": "prompt do sistema",
        "tooltip": "Instruções fundamentais que ditam o comportamento do modelo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedreamNode": {
    "description": "Geração unificada de texto para imagem e edição precisa de frases únicas em até 4K de resolução.",
    "display_name": "ByteDance Seedream 4.5",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "fail_on_partial": {
        "name": "fail_on_partial",
        "tooltip": "Se ativado, aborta a execução se alguma das imagens solicitadas estiver faltando ou retornar erro."
      },
      "height": {
        "name": "height",
        "tooltip": "Altura personalizada para a imagem. O valor só funciona se `size_preset` estiver definido como `Personalizado`"
      },
      "image": {
        "name": "image",
        "tooltip": "Imagem(ns) de entrada para geração de imagem a partir de imagem. Lista de 1 a 10 imagens para geração de referência única ou múltipla."
      },
      "max_images": {
        "name": "max_images",
        "tooltip": "Número máximo de imagens a serem geradas quando sequential_image_generation='auto'. O total de imagens (entrada + geradas) não pode exceder 15."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para criar ou editar uma imagem."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed a ser usada para geração."
      },
      "sequential_image_generation": {
        "name": "sequential_image_generation",
        "tooltip": "Modo de geração de imagens em grupo. 'desativado' gera uma única imagem. 'auto' permite que o modelo decida se deve gerar várias imagens relacionadas (ex: cenas de histórias, variações de personagens)."
      },
      "size_preset": {
        "name": "size_preset",
        "tooltip": "Escolha um tamanho recomendado. Selecione Personalizado para usar a largura e altura abaixo."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se deve adicionar uma marca d'água \"Gerado por IA\" à imagem."
      },
      "width": {
        "name": "width",
        "tooltip": "Largura personalizada para a imagem. O valor só funciona se `size_preset` estiver definido como `Personalizado`"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceSeedreamNodeV2": {
    "description": "Geração unificada de texto para imagem e edição precisa de frases únicas em até 4K de resolução.",
    "display_name": "ByteDance Seedream 4.5 & 5.0",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo"
      },
      "model_height": {
        "name": "altura"
      },
      "model_size_preset": {
        "name": "predefinição_de_tamanho"
      },
      "model_width": {
        "name": "largura"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para criar ou editar uma imagem."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente utilizada para a geração."
      },
      "thinking": {
        "name": "thinking",
        "tooltip": "Ativa o raciocínio de otimização de prompt do modelo ('thinking') para melhor aderência. Pode aumentar substancialmente o tempo de geração — especialmente no Seedream 5.0 Pro. Só pode ser desativado para texto-para-imagem (não quando imagens de referência são fornecidas)."
      },
      "watermark": {
        "name": "marca d'água",
        "tooltip": "Se deve adicionar uma marca d'água \"Gerado por IA\" à imagem."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ByteDanceTextToVideoNode": {
    "description": "Gere vídeo usando modelos ByteDance via API com base no prompt",
    "display_name": "ByteDance Texto para Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "A proporção do vídeo de saída."
      },
      "camera_fixed": {
        "name": "camera_fixed",
        "tooltip": "Especifica se a câmera deve ser fixa. O aplicativo adiciona uma instrução para fixar a câmera ao seu prompt, mas não garante o efeito real."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "A duração do vídeo de saída em segundos."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Este parâmetro é ignorado para qualquer modelo, exceto seedance-1-5-pro."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "O prompt de texto usado para gerar o vídeo."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "A resolução do vídeo de saída."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed a ser usada para geração."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se deve adicionar uma marca d'água \"Gerado por IA\" ao vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGGuider": {
    "display_name": "CFGGuider",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "model": {
        "name": "modelo"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGNorm": {
    "display_name": "CFGNorm",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "pre_cfg": {
        "name": "pre_cfg",
        "tooltip": "Se verdadeiro, reescala o ruído combinado ANTES da combinação CFG do sampler, sem limitar (pode amplificar). Corresponde ao CFG com normalização usado por modelos como Lens. O padrão falso mantém o comportamento original de atenuação apenas no espaço x0 após o CFG."
      },
      "strength": {
        "name": "força"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_patchado",
        "tooltip": null
      }
    }
  },
  "CFGOverride": {
    "description": "Substitua o cfg por um valor fixo em um intervalo de [início, fim] por cento dos passos. Com múltiplas substituições, a mais próxima do sampler prevalece em caso de sobreposição.",
    "display_name": "Substituir CFG",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "end_percent": {
        "name": "percentual_final"
      },
      "model": {
        "name": "modelo"
      },
      "start_percent": {
        "name": "percentual_inicial"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CFGZeroStar": {
    "display_name": "CFGZeroStar",
    "inputs": {
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_patchado",
        "tooltip": null
      }
    }
  },
  "CLIPAttentionMultiply": {
    "display_name": "CLIPAttentionMultiply",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "k": {
        "name": "k"
      },
      "out": {
        "name": "out"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPLoader": {
    "description": "[Receitas]\n\nstable_diffusion: clip-l\nstable_cascade: clip-g\nsd3: t5 xxl/ clip-g / clip-l\nstable_audio: t5 base\nmochi: t5 xxl\ncosmos: old t5 xxl\nlumina2: gemma 2 2B\nwan: umt5 xxl\n hidream: llama-3.1 (Recomendado) ou t5\nomnigen2: qwen vl 2.5 3B",
    "display_name": "Carregar CLIP",
    "inputs": {
      "clip_name": {
        "name": "clip_name"
      },
      "device": {
        "name": "device"
      },
      "type": {
        "name": "type"
      }
    }
  },
  "CLIPMergeAdd": {
    "display_name": "CLIPMergeAdd",
    "inputs": {
      "clip1": {
        "name": "clip1"
      },
      "clip2": {
        "name": "clip2"
      }
    }
  },
  "CLIPMergeSimple": {
    "display_name": "CLIPMergeSimple",
    "inputs": {
      "clip1": {
        "name": "clip1"
      },
      "clip2": {
        "name": "clip2"
      },
      "ratio": {
        "name": "ratio"
      }
    }
  },
  "CLIPMergeSubtract": {
    "display_name": "CLIPMergeSubtract",
    "inputs": {
      "clip1": {
        "name": "clip1"
      },
      "clip2": {
        "name": "clip2"
      },
      "multiplier": {
        "name": "multiplier"
      }
    }
  },
  "CLIPSave": {
    "display_name": "CLIPSave",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      }
    }
  },
  "CLIPSetLastLayer": {
    "display_name": "CLIP Definir Última Camada",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "stop_at_clip_layer": {
        "name": "stop_at_clip_layer"
      }
    }
  },
  "CLIPTextEncode": {
    "description": "Codifica um prompt de texto usando um modelo CLIP em um embedding que pode ser usado para guiar o modelo de difusão na geração de imagens específicas.",
    "display_name": "Codificação de Texto CLIP (Prompt)",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "O modelo CLIP usado para codificar o texto."
      },
      "text": {
        "name": "texto",
        "tooltip": "O texto a ser codificado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Um condicionamento contendo o texto embutido usado para guiar o modelo de difusão."
      }
    }
  },
  "CLIPTextEncodeControlnet": {
    "display_name": "CLIPTextEncodeControlnet",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "conditioning": {
        "name": "condicionamento"
      },
      "text": {
        "name": "texto"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeFlux": {
    "display_name": "CLIPTextEncodeFlux",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "guidance": {
        "name": "orientação"
      },
      "t5xxl": {
        "name": "t5xxl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeHiDream": {
    "display_name": "CLIPTextEncodeHiDream",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_g": {
        "name": "clip_g"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "llama": {
        "name": "llama"
      },
      "t5xxl": {
        "name": "t5xxl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeHunyuanDiT": {
    "display_name": "CLIPTextEncodeHunyuanDiT",
    "inputs": {
      "bert": {
        "name": "bert"
      },
      "clip": {
        "name": "clip"
      },
      "mt5xl": {
        "name": "mt5xl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeKandinsky5": {
    "display_name": "CLIPTextEncodeKandinsky5",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "qwen25_7b": {
        "name": "qwen25_7b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeLumina2": {
    "description": "Codifica um prompt de sistema e um prompt de usuário usando um modelo CLIP em um embedding que pode ser usado para guiar o modelo de difusão na geração de imagens específicas.",
    "display_name": "Codificação de Texto CLIP para Lumina2",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "O modelo CLIP usado para codificar o texto."
      },
      "system_prompt": {
        "name": "prompt_do_sistema",
        "tooltip": "Lumina2 fornece dois tipos de prompts de sistema: Superior: Você é um assistente projetado para gerar imagens superiores com o grau superior de alinhamento texto-imagem com base em prompts textuais ou prompts de usuário. Alinhamento: Você é um assistente projetado para gerar imagens de alta qualidade com o mais alto grau de alinhamento texto-imagem com base em prompts textuais."
      },
      "user_prompt": {
        "name": "prompt_do_usuário",
        "tooltip": "O texto a ser codificado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Um condicionamento contendo o texto embutido usado para guiar o modelo de difusão."
      }
    }
  },
  "CLIPTextEncodePixArtAlpha": {
    "description": "Codifica texto e define o condicionamento de resolução para PixArt Alpha. Não se aplica ao PixArt Sigma.",
    "display_name": "CLIPTextEncodePixArtAlpha",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "altura"
      },
      "text": {
        "name": "texto"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSD3": {
    "display_name": "CLIPTextEncodeSD3",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_g": {
        "name": "clip_g"
      },
      "clip_l": {
        "name": "clip_l"
      },
      "empty_padding": {
        "name": "preenchimento_vazio"
      },
      "t5xxl": {
        "name": "t5xxl"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSDXL": {
    "display_name": "CLIPTextEncodeSDXL",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "crop_h": {
        "name": "recorte_altura"
      },
      "crop_w": {
        "name": "recorte_largura"
      },
      "height": {
        "name": "altura"
      },
      "target_height": {
        "name": "altura_alvo"
      },
      "target_width": {
        "name": "largura_alvo"
      },
      "text_g": {
        "name": "texto_g"
      },
      "text_l": {
        "name": "texto_l"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPTextEncodeSDXLRefiner": {
    "display_name": "CLIPTextEncodeSDXLRefiner",
    "inputs": {
      "ascore": {
        "name": "ascore"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "altura"
      },
      "text": {
        "name": "texto"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CLIPVisionEncode": {
    "display_name": "CLIP Vision Encode",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "crop": {
        "name": "recorte"
      },
      "image": {
        "name": "imagem"
      }
    }
  },
  "CLIPVisionLoader": {
    "display_name": "Carregar CLIP Vision",
    "inputs": {
      "clip_name": {
        "name": "nome_do_clip"
      }
    }
  },
  "Canny": {
    "display_name": "Canny",
    "inputs": {
      "high_threshold": {
        "name": "high_threshold"
      },
      "image": {
        "name": "image"
      },
      "low_threshold": {
        "name": "low_threshold"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CaseConverter": {
    "display_name": "Conversor de Caixa",
    "inputs": {
      "mode": {
        "name": "modo"
      },
      "string": {
        "name": "string"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CenterCropImages": {
    "description": "Recorte central de uma imagem para as dimensões especificadas.",
    "display_name": "Cortar Imagens ao Centro",
    "inputs": {
      "height": {
        "name": "altura",
        "tooltip": "Altura do corte."
      },
      "images": {
        "name": "imagens",
        "tooltip": "Imagem para processar."
      },
      "width": {
        "name": "largura",
        "tooltip": "Largura do corte."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Imagens processadas"
      }
    }
  },
  "CheckpointLoader": {
    "display_name": "Carregar Checkpoint com Configuração (OBSOLETO)",
    "inputs": {
      "ckpt_name": {
        "name": "nome_ckpt"
      },
      "config_name": {
        "name": "nome_config"
      }
    }
  },
  "CheckpointLoaderSimple": {
    "description": "Carrega um checkpoint de modelo de difusão, modelos de difusão são usados para remover ruído dos latents.",
    "display_name": "Carregar Checkpoint",
    "inputs": {
      "ckpt_name": {
        "name": "nome_ckpt",
        "tooltip": "O nome do checkpoint (modelo) a ser carregado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O modelo usado para remover ruído dos latents."
      },
      "1": {
        "tooltip": "O modelo CLIP usado para codificar prompts de texto."
      },
      "2": {
        "tooltip": "O modelo VAE usado para codificar e decodificar imagens para e do espaço latente."
      }
    }
  },
  "CheckpointSave": {
    "display_name": "Salvar Checkpoint",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "filename_prefix": {
        "name": "prefixo_nome_arquivo"
      },
      "model": {
        "name": "modelo"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "ChromaRadianceOptions": {
    "description": "Permite definir opções avançadas para o modelo Chroma Radiance.",
    "display_name": "ChromaRadianceOptions",
    "inputs": {
      "end_sigma": {
        "name": "end_sigma",
        "tooltip": "Último sigma em que essas opções estarão em vigor."
      },
      "force_sequential_txt_ids": {
        "name": "force_sequential_txt_ids",
        "tooltip": "Forçar o uso de IDs de tokens de texto sequenciais em vez de zeros. Deve ser usado para checkpoints de 22/05/2026 a 01/06/2026 que foram treinados dessa forma, mas não contêm a chave __sequential__ no state dict."
      },
      "model": {
        "name": "model"
      },
      "nerf_tile_size": {
        "name": "nerf_tile_size",
        "tooltip": "Permite substituir o tamanho padrão do tile NeRF. -1 significa usar o padrão (32). 0 significa usar o modo sem tiles (pode exigir muita VRAM)."
      },
      "preserve_wrapper": {
        "name": "preserve_wrapper",
        "tooltip": "Quando ativado, delega para um wrapper de função de modelo existente, se houver. Geralmente deve permanecer ativado."
      },
      "start_sigma": {
        "name": "start_sigma",
        "tooltip": "Primeiro sigma em que essas opções estarão em vigor."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ClaudeNode": {
    "description": "Gere respostas de texto com os modelos Claude da Anthropic. Forneça um prompt de texto e, opcionalmente, uma ou mais imagens para contexto multimodal.",
    "display_name": "Anthropic Claude",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "images": {
        "name": "imagens",
        "tooltip": "Imagem(ns) opcional(is) para usar como contexto para o modelo. Até 20 imagens."
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo Claude utilizado para gerar a resposta."
      },
      "model_max_tokens": {
        "name": "max_tokens"
      },
      "model_reasoning_effort": {
        "name": "reasoning_effort"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entrada de texto para o modelo."
      },
      "seed": {
        "name": "seed",
        "tooltip": "O seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instruções fundamentais que determinam o comportamento do modelo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ColorToRGBInt": {
    "description": "Converte uma cor em um valor inteiro RGB.",
    "display_name": "Cor para RGB Int",
    "inputs": {
      "color": {
        "name": "cor"
      }
    },
    "outputs": {
      "0": {
        "name": "rgb_int",
        "tooltip": null
      },
      "1": {
        "name": "hex",
        "tooltip": null
      },
      "2": {
        "name": "alpha",
        "tooltip": null
      }
    }
  },
  "ColorTransfer": {
    "description": "Combine as cores de uma imagem com outra usando vários algoritmos.",
    "display_name": "ColorTransfer",
    "inputs": {
      "image_ref": {
        "name": "image_ref",
        "tooltip": "Imagem(ns) de referência para combinar as cores. Se não fornecido, o processamento é ignorado."
      },
      "image_target": {
        "name": "image_target",
        "tooltip": "Imagem(ns) para aplicar a transformação de cor."
      },
      "method": {
        "name": "method"
      },
      "source_stats": {
        "name": "source_stats",
        "tooltip": "per_frame: cada quadro é ajustado individualmente à image_ref. uniform: agrupa estatísticas de todos os quadros de origem como base, ajusta para image_ref. target_frame: usa um quadro escolhido como base para a transformação para image_ref, aplicado uniformemente a todos os quadros (preserva diferenças relativas)"
      },
      "strength": {
        "name": "strength"
      }
    },
    "outputs": {
      "0": {
        "name": "image",
        "tooltip": null
      }
    }
  },
  "CombineHooks2": {
    "display_name": "Combinar Hooks [2]",
    "inputs": {
      "hooks_A": {
        "name": "hooks_A"
      },
      "hooks_B": {
        "name": "hooks_B"
      }
    }
  },
  "CombineHooks4": {
    "display_name": "Combinar Hooks [4]",
    "inputs": {
      "hooks_A": {
        "name": "hooks_A"
      },
      "hooks_B": {
        "name": "hooks_B"
      },
      "hooks_C": {
        "name": "hooks_C"
      },
      "hooks_D": {
        "name": "hooks_D"
      }
    }
  },
  "CombineHooks8": {
    "display_name": "Combinar Hooks [8]",
    "inputs": {
      "hooks_A": {
        "name": "hooks_A"
      },
      "hooks_B": {
        "name": "hooks_B"
      },
      "hooks_C": {
        "name": "hooks_C"
      },
      "hooks_D": {
        "name": "hooks_D"
      },
      "hooks_E": {
        "name": "hooks_E"
      },
      "hooks_F": {
        "name": "hooks_F"
      },
      "hooks_G": {
        "name": "hooks_G"
      },
      "hooks_H": {
        "name": "hooks_H"
      }
    }
  },
  "ComfyAndNode": {
    "description": "Operação lógica AND. Retorna verdadeiro se todos os valores forem verdadeiros. Usa as regras de veracidade do Python.",
    "display_name": "And",
    "inputs": {
      "values": {
        "name": "valores"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ComfyMathExpression": {
    "display_name": "Expressão Matemática",
    "inputs": {
      "expression": {
        "name": "expressão"
      },
      "values": {
        "name": "valores"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "BOOL",
        "tooltip": null
      }
    }
  },
  "ComfyNotNode": {
    "description": "Operação lógica NOT. Retorna verdadeiro se o valor for falso. Usa as regras de veracidade do Python.",
    "display_name": "Not",
    "inputs": {
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ComfyNumberConvert": {
    "display_name": "Conversão de Número",
    "inputs": {
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "ComfyOrNode": {
    "description": "Operação lógica OR. Retorna verdadeiro se algum dos valores for verdadeiro. Usa as regras de veracidade do Python.",
    "display_name": "Or",
    "inputs": {
      "values": {
        "name": "valores"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ComfySwitchNode": {
    "display_name": "Alternar",
    "inputs": {
      "on_false": {
        "name": "falso"
      },
      "on_true": {
        "name": "verdadeiro"
      },
      "switch": {
        "name": "alternar"
      }
    },
    "outputs": {
      "0": {
        "name": "saída",
        "tooltip": null
      }
    }
  },
  "ConditioningAverage": {
    "display_name": "Média de Condicionamento",
    "inputs": {
      "conditioning_from": {
        "name": "condicionamento_de"
      },
      "conditioning_to": {
        "name": "condicionamento_para"
      },
      "conditioning_to_strength": {
        "name": "força_condicionamento_para"
      }
    }
  },
  "ConditioningCombine": {
    "display_name": "Condicionamento (Combinar)",
    "inputs": {
      "conditioning_1": {
        "name": "condicionamento_1"
      },
      "conditioning_2": {
        "name": "condicionamento_2"
      }
    }
  },
  "ConditioningConcat": {
    "display_name": "Condicionamento (Concatenar)",
    "inputs": {
      "conditioning_from": {
        "name": "condicionamento_de"
      },
      "conditioning_to": {
        "name": "condicionamento_para"
      }
    }
  },
  "ConditioningMultiply": {
    "display_name": "Condicionamento (Multiplicar)",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "multiplier": {
        "name": "multiplier"
      }
    }
  },
  "ConditioningSetArea": {
    "display_name": "Condicionamento (Definir Área)",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      },
      "height": {
        "name": "altura"
      },
      "strength": {
        "name": "força"
      },
      "width": {
        "name": "largura"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "ConditioningSetAreaPercentage": {
    "display_name": "Condicionamento (Definir Área com Percentual)",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      },
      "height": {
        "name": "altura"
      },
      "strength": {
        "name": "força"
      },
      "width": {
        "name": "largura"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "ConditioningSetAreaPercentageVideo": {
    "display_name": "CondicionamentoDefinirÁreaPercentualVídeo",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      },
      "height": {
        "name": "altura"
      },
      "strength": {
        "name": "força"
      },
      "temporal": {
        "name": "temporal"
      },
      "width": {
        "name": "largura"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      },
      "z": {
        "name": "z"
      }
    }
  },
  "ConditioningSetAreaStrength": {
    "display_name": "CondicionamentoDefinirForçaÁrea",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      },
      "strength": {
        "name": "força"
      }
    }
  },
  "ConditioningSetDefaultCombine": {
    "display_name": "Cond Definir Combinação Padrão",
    "inputs": {
      "cond": {
        "name": "cond"
      },
      "cond_DEFAULT": {
        "name": "cond_PADRÃO"
      },
      "hooks": {
        "name": "hooks"
      }
    }
  },
  "ConditioningSetMask": {
    "display_name": "Condicionamento (Definir Mask)",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      },
      "mask": {
        "name": "mask"
      },
      "set_cond_area": {
        "name": "definir_área_cond"
      },
      "strength": {
        "name": "força"
      }
    }
  },
  "ConditioningSetProperties": {
    "display_name": "Props de Cond Set",
    "inputs": {
      "cond_NEW": {
        "name": "cond_NOVO"
      },
      "hooks": {
        "name": "ganchos"
      },
      "mask": {
        "name": "mask"
      },
      "set_cond_area": {
        "name": "definir_área_cond"
      },
      "strength": {
        "name": "força"
      },
      "timesteps": {
        "name": "etapas_de_tempo"
      }
    }
  },
  "ConditioningSetPropertiesAndCombine": {
    "display_name": "Props de Cond Set Combinar",
    "inputs": {
      "cond": {
        "name": "cond"
      },
      "cond_NEW": {
        "name": "cond_NOVO"
      },
      "hooks": {
        "name": "ganchos"
      },
      "mask": {
        "name": "mask"
      },
      "set_cond_area": {
        "name": "definir_área_cond"
      },
      "strength": {
        "name": "força"
      },
      "timesteps": {
        "name": "etapas_de_tempo"
      }
    }
  },
  "ConditioningSetTimestepRange": {
    "display_name": "CondicionamentoDefinirIntervaloDeTempo",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      },
      "end": {
        "name": "fim"
      },
      "start": {
        "name": "início"
      }
    }
  },
  "ConditioningStableAudio": {
    "display_name": "CondicionamentoStable Audio",
    "inputs": {
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "seconds_start": {
        "name": "segundos_início"
      },
      "seconds_total": {
        "name": "segundos_total"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "ConditioningTimestepsRange": {
    "display_name": "Intervalo de Etapas de Tempo",
    "inputs": {
      "end_percent": {
        "name": "percentual_final"
      },
      "start_percent": {
        "name": "percentual_inicial"
      }
    },
    "outputs": {
      "1": {
        "name": "ANTES_DO_INTERVALO"
      },
      "2": {
        "name": "APÓS_O_INTERVALO"
      }
    }
  },
  "ConditioningZeroOut": {
    "display_name": "CondicionamentoZerar",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      }
    }
  },
  "ContextWindowsManual": {
    "description": "Defina manualmente as janelas de contexto.",
    "display_name": "Janelas de Contexto (Manual)",
    "inputs": {
      "causal_window_fix": {
        "name": "causal_window_fix",
        "tooltip": "Adicionar ou não um quadro de correção causal para janelas de contexto com índice diferente de 0."
      },
      "closed_loop": {
        "name": "ciclo_fechado",
        "tooltip": "Se deve fechar o ciclo da janela de contexto; aplicável apenas para agendamentos em loop."
      },
      "cond_retain_index_list": {
        "name": "cond_retain_index_list",
        "tooltip": "Lista de índices latentes a serem mantidos nos tensores de condicionamento para cada janela. Por exemplo, definir como '0' usará a imagem inicial para cada janela."
      },
      "context_length": {
        "name": "comprimento_contexto",
        "tooltip": "O comprimento da janela de contexto."
      },
      "context_overlap": {
        "name": "sobreposição_contexto",
        "tooltip": "A sobreposição da janela de contexto."
      },
      "context_schedule": {
        "name": "agendamento_contexto",
        "tooltip": "O passo da janela de contexto."
      },
      "context_stride": {
        "name": "passo_contexto",
        "tooltip": "O passo da janela de contexto; aplicável apenas para agendamentos uniformes."
      },
      "dim": {
        "name": "dimensão",
        "tooltip": "A dimensão à qual aplicar as janelas de contexto."
      },
      "freenoise": {
        "name": "freenoise",
        "tooltip": "Se deve aplicar embaralhamento de ruído FreeNoise, melhora a mesclagem das janelas."
      },
      "fuse_method": {
        "name": "método_fusão",
        "tooltip": "O método a ser usado para fundir as janelas de contexto."
      },
      "latent_retain_index_list": {
        "name": "latent_retain_index_list",
        "tooltip": "Lista de índices latentes a serem retidos no próprio latent de ruído para cada janela. Use para fluxos de trabalho onde o conteúdo de referência (por exemplo, uma imagem inicial) está diretamente no latent de ruído em vez de em canais de condicionamento separados (por exemplo, I2V estilo inplace como LTXV, AnimateDiff). Independente de cond_retain_index_list."
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo ao qual aplicar as janelas de contexto durante a amostragem."
      },
      "split_conds_to_windows": {
        "name": "split_conds_to_windows",
        "tooltip": "Se deve dividir múltiplos condicionamentos (criados por ConditionCombine) para cada janela com base no índice da região."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O modelo com janelas de contexto aplicadas durante a amostragem."
      }
    }
  },
  "ControlNetApply": {
    "display_name": "Aplicar ControlNet (ANTIGO)",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      },
      "control_net": {
        "name": "control_net"
      },
      "image": {
        "name": "imagem"
      },
      "strength": {
        "name": "força"
      }
    }
  },
  "ControlNetApplyAdvanced": {
    "display_name": "Aplicar ControlNet",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "percentual_final"
      },
      "image": {
        "name": "imagem"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_percent": {
        "name": "percentual_inicial"
      },
      "strength": {
        "name": "força"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "ControlNetApplySD3": {
    "display_name": "Aplicar Controlnet com VAE",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "percentual_final"
      },
      "image": {
        "name": "imagem"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_percent": {
        "name": "percentual_inicial"
      },
      "strength": {
        "name": "força"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "ControlNetInpaintingAliMamaApply": {
    "display_name": "Aplicar ControlNetInpaintingAliMama",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "end_percent": {
        "name": "percentual_final"
      },
      "image": {
        "name": "imagem"
      },
      "mask": {
        "name": "mask"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_percent": {
        "name": "percentual_inicial"
      },
      "strength": {
        "name": "força"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "ControlNetLoader": {
    "display_name": "Carregar Modelo ControlNet",
    "inputs": {
      "control_net_name": {
        "name": "control_net_name"
      }
    }
  },
  "ConvertArrayToString": {
    "display_name": "Converter Array para String",
    "inputs": {
      "array": {
        "name": "array"
      },
      "indent": {
        "name": "indentação",
        "tooltip": "Espaços por nível de indentação. 0 produz uma string compacta em linha única."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ConvertDictionaryToString": {
    "display_name": "Converter Dicionário para String",
    "inputs": {
      "dictionary": {
        "name": "dicionário"
      },
      "indent": {
        "name": "indentação",
        "tooltip": "Espaços por nível de indentação. 0 produz uma string compacta em linha única."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CosmosImageToVideoLatent": {
    "display_name": "CosmosImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "end_image": {
        "name": "imagem_final"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "comprimento"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CosmosPredict2ImageToVideoLatent": {
    "display_name": "CosmosPredict2ImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "end_image": {
        "name": "imagem_final"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "comprimento"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CreateBoundingBoxes": {
    "description": "Desenhe caixas delimitadoras em uma tela. Gera elementos de prompt Ideogram, caixas delimitadoras em espaço de pixels e uma imagem de pré-visualização.",
    "display_name": "Criar Caixas Delimitadoras",
    "inputs": {
      "background": {
        "name": "fundo",
        "tooltip": "Imagem opcional usada como fundo na tela e na pré-visualização."
      },
      "bboxes": {
        "name": "bboxes",
        "tooltip": "Caixas delimitadoras, elementos ou uma string JSON para inicializar o canvas. Um novo valor upstream inicializa o canvas; edições feitas no canvas têm prioridade e são mantidas até que o valor upstream mude novamente."
      },
      "editor_state": {
        "name": "estado_do_editor",
        "tooltip": "Desenhe caixas delimitadoras e defina o tipo de cada caixa, texto, descrição, paleta de cores. Comece pelo elemento de fundo e termine pelo primeiro plano."
      },
      "height": {
        "name": "altura",
        "tooltip": "Altura da tela e da grade de pixels para as caixas delimitadoras."
      },
      "last_incoming": {
        "name": "last_incoming",
        "tooltip": "Estado interno gerenciado pelo canvas: o valor de bboxes upstream que o inicializou por último. Deixe vazio para reinicializar o canvas a partir da entrada bboxes na próxima execução."
      },
      "width": {
        "name": "largura",
        "tooltip": "Largura da tela e da grade de pixels para as caixas delimitadoras."
      }
    },
    "outputs": {
      "0": {
        "name": "pré-visualização",
        "tooltip": null
      },
      "1": {
        "name": "caixas_delimitadoras",
        "tooltip": null
      },
      "2": {
        "name": "elementos",
        "tooltip": null
      }
    }
  },
  "CreateCameraInfo": {
    "description": "Constrói um camera_info. O modo 'orbit' mira com yaw/pitch/distância ao redor do alvo; 'look_at' posiciona a câmera em uma posição no mundo. As coordenadas estão no espaço mundial do visualizador (mão direita, Y para cima).",
    "display_name": "Criar Informações da Câmera",
    "inputs": {
      "camera_type": {
        "name": "tipo_de_câmera",
        "tooltip": "Projeção usada pelo Render Splat: perspectiva (com profundidade) ou ortográfica (paralela)."
      },
      "fov": {
        "name": "fov",
        "tooltip": "Campo de visão vertical em graus."
      },
      "mode": {
        "name": "modo",
        "tooltip": "Como definir a câmera: ângulos de órbita, uma posição explícita ou uma posição + quaternion."
      },
      "mode_distance": {
        "name": "distância"
      },
      "mode_pitch": {
        "name": "pitch"
      },
      "mode_yaw": {
        "name": "yaw"
      },
      "roll": {
        "name": "rolagem",
        "tooltip": "Rolagem da câmera sobre o eixo de visão, em graus."
      },
      "target_x": {
        "name": "alvo_x",
        "tooltip": "Ponto de foco (pivô/objetivo da órbita). No modo órbita, mova para transladar toda a câmera. Ignorado no modo quaternion. Padrão é a origem."
      },
      "target_y": {
        "name": "alvo_y"
      },
      "target_z": {
        "name": "alvo_z"
      },
      "zoom": {
        "name": "zoom",
        "tooltip": "Zoom digital (multiplicador da distância focal). >1 aproxima sem mover a câmera."
      }
    },
    "outputs": {
      "0": {
        "name": "camera_info",
        "tooltip": null
      }
    }
  },
  "CreateHookKeyframe": {
    "display_name": "Criar Quadro-chave de Gancho",
    "inputs": {
      "prev_hook_kf": {
        "name": "quadro-chave_gancho_anterior"
      },
      "start_percent": {
        "name": "percentual_inicial"
      },
      "strength_mult": {
        "name": "multiplicador_de_força"
      }
    },
    "outputs": {
      "0": {
        "name": "HOOK_KF"
      }
    }
  },
  "CreateHookKeyframesFromFloats": {
    "display_name": "Criar Quadros-chave de Gancho a partir de Floats",
    "inputs": {
      "end_percent": {
        "name": "percentual_final"
      },
      "floats_strength": {
        "name": "força_floats"
      },
      "prev_hook_kf": {
        "name": "quadro-chave_gancho_anterior"
      },
      "print_keyframes": {
        "name": "imprimir_quadros-chave"
      },
      "start_percent": {
        "name": "percentual_inicial"
      }
    },
    "outputs": {
      "0": {
        "name": "HOOK_KF"
      }
    }
  },
  "CreateHookKeyframesInterpolated": {
    "display_name": "Criar Interp. de Keyframes do Hook",
    "inputs": {
      "end_percent": {
        "name": "percentual_final"
      },
      "interpolation": {
        "name": "interpolação"
      },
      "keyframes_count": {
        "name": "quantidade_keyframes"
      },
      "prev_hook_kf": {
        "name": "hook_kf_anterior"
      },
      "print_keyframes": {
        "name": "imprimir_keyframes"
      },
      "start_percent": {
        "name": "percentual_inicial"
      },
      "strength_end": {
        "name": "força_final"
      },
      "strength_start": {
        "name": "força_inicial"
      }
    },
    "outputs": {
      "0": {
        "name": "HOOK_KF"
      }
    }
  },
  "CreateHookLora": {
    "display_name": "Criar Hook LoRA",
    "inputs": {
      "lora_name": {
        "name": "lora_name"
      },
      "prev_hooks": {
        "name": "hooks_anteriores"
      },
      "strength_clip": {
        "name": "força_clip"
      },
      "strength_model": {
        "name": "força_modelo"
      }
    }
  },
  "CreateHookLoraModelOnly": {
    "display_name": "Criar Hook LoRA (MO)",
    "inputs": {
      "lora_name": {
        "name": "lora_name"
      },
      "prev_hooks": {
        "name": "hooks_anteriores"
      },
      "strength_model": {
        "name": "força_modelo"
      }
    }
  },
  "CreateHookModelAsLora": {
    "display_name": "Criar Hook Modelo como LoRA",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name"
      },
      "prev_hooks": {
        "name": "hooks_anteriores"
      },
      "strength_clip": {
        "name": "força_clip"
      },
      "strength_model": {
        "name": "força_modelo"
      }
    }
  },
  "CreateHookModelAsLoraModelOnly": {
    "display_name": "Criar Hook Modelo como LoRA (MO)",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name"
      },
      "prev_hooks": {
        "name": "hooks_anteriores"
      },
      "strength_model": {
        "name": "força_modelo"
      }
    }
  },
  "CreateList": {
    "display_name": "Criar Lista",
    "inputs": {
      "inputs": {
        "name": "entradas"
      }
    },
    "outputs": {
      "0": {
        "name": "lista",
        "tooltip": null
      }
    }
  },
  "CreateVideo": {
    "description": "Crie um vídeo a partir de imagens.",
    "display_name": "Criar Vídeo",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "O áudio a ser adicionado ao vídeo."
      },
      "bit_depth": {
        "name": "bit_depth",
        "tooltip": "Profundidade de bits do vídeo criado. 10 bits mantém gradientes mais suaves com menos faixas, mas alguns players e nós subsequentes podem não suportar."
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "imagens",
        "tooltip": "As imagens para criar o vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CropByBBoxes": {
    "description": "Recorta e redimensiona regiões do lote de imagens de entrada com base nas caixas delimitadoras fornecidas.",
    "display_name": "CropByBBoxes",
    "inputs": {
      "bboxes": {
        "name": "caixas delimitadoras"
      },
      "image": {
        "name": "imagem"
      },
      "keep_aspect": {
        "name": "keep_aspect",
        "tooltip": "Escolher entre esticar o recorte para caber no tamanho de saída ou preencher com pixels pretos para preservar a proporção."
      },
      "output_height": {
        "name": "altura_de_saida",
        "tooltip": "Altura para a qual cada recorte será redimensionado."
      },
      "output_width": {
        "name": "largura_de_saida",
        "tooltip": "Largura para a qual cada recorte será redimensionado."
      },
      "padding": {
        "name": "preenchimento",
        "tooltip": "Preenchimento extra em pixels adicionado em cada lado da caixa antes do recorte."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "Todos os recortes empilhados em um único lote de imagens."
      }
    }
  },
  "CropMask": {
    "display_name": "Cortar Máscara",
    "inputs": {
      "height": {
        "name": "altura"
      },
      "mask": {
        "name": "mask"
      },
      "width": {
        "name": "largura"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "CurveEditor": {
    "display_name": "Editor de Curva",
    "inputs": {
      "curve": {
        "name": "curva"
      },
      "histogram": {
        "name": "histograma"
      }
    },
    "outputs": {
      "0": {
        "name": "curva",
        "tooltip": null
      }
    }
  },
  "CustomCombo": {
    "display_name": "Combo Personalizado",
    "inputs": {
      "choice": {
        "name": "escolha"
      },
      "index": {},
      "option1": {}
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "ÍNDICE",
        "tooltip": null
      }
    }
  },
  "DA3GeometryToMesh": {
    "description": "Converta um mapa de profundidade em uma malha 3D triangulada.",
    "display_name": "Converter Geometria DA3 para Malha",
    "inputs": {
      "batch_index": {
        "name": "batch_index",
        "tooltip": "Qual imagem de um lote converter. A contagem de vértices por imagem difere, então os lotes não podem ser empilhados."
      },
      "confidence_threshold": {
        "name": "confidence_threshold",
        "tooltip": "Excluir pixels cuja confiança normalizada por imagem esteja abaixo deste valor (0 = manter todos, 1 = manter apenas o pixel mais confiável). Usado quando a geometria possui um mapa de confiança (modelos Small/Base)."
      },
      "da3_geometry": {
        "name": "da3_geometry"
      },
      "decimation": {
        "name": "decimation",
        "tooltip": "Intervalo de vértices. 1 = resolução total, 2 = metade, etc."
      },
      "discontinuity_threshold": {
        "name": "discontinuity_threshold",
        "tooltip": "Descartar triângulos cuja variação de profundidade em 3x3 exceda essa fração. 0 = desativado."
      },
      "texture": {
        "name": "texture",
        "tooltip": "Usar a imagem de origem como textura de cor base."
      },
      "use_sky_mask": {
        "name": "use_sky_mask",
        "tooltip": "Excluir pixels com alta probabilidade de céu (sky >= 0.5) da malha. Usado quando a geometria possui um mapa de céu (modelos Mono/Metric)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DA3Inference": {
    "description": "Execute o Depth Anything 3 em uma imagem. No modo multiview, cada imagem é tratada como uma visão separada da mesma cena.",
    "display_name": "Executar Depth Anything 3",
    "inputs": {
      "da3_model": {
        "name": "da3_model"
      },
      "image": {
        "name": "image"
      },
      "mode": {
        "name": "mode",
        "tooltip": "mono: imagem de visão única (funciona com qualquer variante do modelo).\nmultiview: todas as imagens processadas juntas para consistência geométrica + pose da câmera (apenas para modelos Small/Base)."
      },
      "resize_method": {
        "name": "resize_method",
        "tooltip": "upper_bound_resize: escala para que o lado mais longo = resolução (limita a memória, padrão).\nlower_bound_resize: escala para que o lado mais curto = resolução (preserva mais detalhes em imagens altas/largas, usa mais memória)."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Resolução em que o modelo será executado (lado mais longo, múltiplo de 14).\nMenor = mais rápido / menos VRAM.\nMaior = mais detalhes.\nA saída é redimensionada de volta ao tamanho original."
      }
    },
    "outputs": {
      "0": {
        "name": "da3_geometry",
        "tooltip": "Dicionário de tensores não normalizados.\nSempre possui as chaves: depth, image, mode.\nChaves opcionais: sky (para Mono/Metric), confidence (para Small/Base), extrinsics + intrinsics (para multi-view)."
      }
    }
  },
  "DA3Render": {
    "description": "Renderize um mapa de profundidade, mapa de confiança ou máscara de céu a partir dos dados de geometria do Depth Anything 3.",
    "display_name": "Renderizar Depth Anything 3",
    "inputs": {
      "da3_geometry": {
        "name": "da3_geometry"
      },
      "output": {
        "name": "output",
        "tooltip": "- depth: imagem de profundidade em escala de cinza normalizada.\n- depth_colored: profundidade mapeada pela colormap Turbo.\n- sky_mask: probabilidade de céu em [0, 1] (apenas para modelos Mono/Metric).\n- confidence: confiança de profundidade normalizada (apenas para modelos Small/Base)."
      },
      "output_apply_sky_clip": {
        "name": "apply_sky_clip"
      },
      "output_normalization": {
        "name": "normalization"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DiffControlNetLoader": {
    "display_name": "Carregar Modelo ControlNet (diff)",
    "inputs": {
      "control_net_name": {
        "name": "control_net_name"
      },
      "model": {
        "name": "modelo"
      }
    }
  },
  "DifferentialDiffusion": {
    "display_name": "Diffusão Diferencial",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "strength": {
        "name": "força"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DiffusersLoader": {
    "display_name": "Carregador Diffusers",
    "inputs": {
      "model_path": {
        "name": "caminho_do_modelo"
      }
    }
  },
  "DisableNoise": {
    "display_name": "Desativar Ruído",
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DrawBBoxes": {
    "display_name": "Desenhar BBoxes",
    "inputs": {
      "bboxes": {
        "name": "bboxes"
      },
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "name": "out_image",
        "tooltip": null
      }
    }
  },
  "DualCFGGuider": {
    "display_name": "Guia DualCFG",
    "inputs": {
      "cfg_cond2_negative": {
        "name": "cfg_cond2_negativo"
      },
      "cfg_conds": {
        "name": "cfg_conds"
      },
      "cond1": {
        "name": "cond1"
      },
      "cond2": {
        "name": "cond2"
      },
      "model": {
        "name": "modelo"
      },
      "negative": {
        "name": "negativo"
      },
      "style": {
        "name": "estilo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "DualCLIPLoader": {
    "description": "[Receitas]\n\nsdxl: clip-l, clip-g\nsd3: clip-l, clip-g / clip-l, t5 / clip-g, t5\nflux: clip-l, t5\nhidream: pelo menos um de t5 ou llama, recomendado t5 e llama\nhunyuan_image: qwen2.5vl 7b e byt5 small\nnewbie: gemma-3-4b-it, jina clip v2",
    "display_name": "Carregador DualCLIP",
    "inputs": {
      "clip_name1": {
        "name": "clip_nome1"
      },
      "clip_name2": {
        "name": "clip_nome2"
      },
      "device": {
        "name": "dispositivo"
      },
      "type": {
        "name": "tipo"
      }
    }
  },
  "DualModelGuider": {
    "display_name": "Orientador CFG de Dois Modelos",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo usado para a passagem positiva (condicional)."
      },
      "model_negative": {
        "name": "modelo_negativo",
        "tooltip": "Modelo usado para a passagem negativa (incondicional). Use o mesmo modelo para CFG comum."
      },
      "negative": {
        "name": "negativo",
        "tooltip": "Condicionamento negativo executado no modelo negativo. Deixe desconectado para uma passagem incondicional sem texto (apenas imagem)."
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EasyCache": {
    "description": "Implementação nativa do EasyCache.",
    "display_name": "EasyCache",
    "inputs": {
      "end_percent": {
        "name": "percentual_final",
        "tooltip": "A etapa relativa de amostragem para parar de usar o EasyCache."
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo ao qual adicionar o EasyCache."
      },
      "reuse_threshold": {
        "name": "limite_de_reutilização",
        "tooltip": "O limite para reutilizar etapas em cache."
      },
      "start_percent": {
        "name": "percentual_inicial",
        "tooltip": "A etapa relativa de amostragem para começar a usar o EasyCache."
      },
      "verbose": {
        "name": "detalhado",
        "tooltip": "Se deve registrar informações detalhadas."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O modelo com EasyCache."
      }
    }
  },
  "ElevenLabsAudioIsolation": {
    "description": "Remova o ruído de fundo do áudio, isolando vocais ou fala.",
    "display_name": "ElevenLabs Isolamento de Voz",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "Áudio a ser processado para remoção de ruído de fundo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsInstantVoiceClone": {
    "description": "Crie uma voz clonada a partir de amostras de áudio. Forneça de 1 a 8 gravações de áudio da voz a ser clonada.",
    "display_name": "ElevenLabs Clonagem Instantânea de Voz",
    "inputs": {
      "files": {
        "name": "arquivos",
        "tooltip": "Gravações de áudio para clonagem de voz."
      },
      "remove_background_noise": {
        "name": "remover_ruído_de_fundo",
        "tooltip": "Remova o ruído de fundo das amostras de voz usando isolamento de áudio."
      }
    },
    "outputs": {
      "0": {
        "name": "voz",
        "tooltip": null
      }
    }
  },
  "ElevenLabsSpeechToSpeech": {
    "description": "Transforme a fala de uma voz para outra, preservando o conteúdo e a emoção originais.",
    "display_name": "ElevenLabs Fala para Fala",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "Áudio de origem para transformar."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para transformação de fala para fala."
      },
      "model_similarity_boost": {
        "name": "impulso_de_semelhança"
      },
      "model_speed": {
        "name": "velocidade"
      },
      "model_style": {
        "name": "estilo"
      },
      "model_use_speaker_boost": {
        "name": "usar_impulso_de_falante"
      },
      "output_format": {
        "name": "formato_de_saida",
        "tooltip": "Formato de saída do áudio."
      },
      "remove_background_noise": {
        "name": "remover_ruído_de_fundo",
        "tooltip": "Remova o ruído de fundo do áudio de entrada usando isolamento de áudio."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para reprodutibilidade."
      },
      "stability": {
        "name": "estabilidade",
        "tooltip": "Estabilidade da voz. Valores mais baixos proporcionam maior variação emocional, valores mais altos produzem fala mais consistente, porém potencialmente monótona."
      },
      "voice": {
        "name": "voz",
        "tooltip": "Voz de destino para a transformação. Conecte a partir do Seletor de Voz ou Clonagem Instantânea de Voz."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsSpeechToText": {
    "description": "Transcreva áudio para texto. Suporta detecção automática de idioma, diarização de locutores e marcação de eventos de áudio.",
    "display_name": "ElevenLabs Fala para Texto",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "Áudio para transcrever."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "language_code": {
        "name": "código_idioma",
        "tooltip": "Código de idioma ISO-639-1 ou ISO-639-3 (ex: 'en', 'es', 'fra'). Deixe em branco para detecção automática."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para transcrição."
      },
      "model_diarization_threshold": {
        "name": "limiar_diarização"
      },
      "model_diarize": {
        "name": "diarizar"
      },
      "model_tag_audio_events": {
        "name": "marcar_eventos_áudio"
      },
      "model_temperature": {
        "name": "temperatura"
      },
      "model_timestamps_granularity": {
        "name": "granularidade_tempos"
      },
      "num_speakers": {
        "name": "num_locs",
        "tooltip": "Número máximo de locutores a prever. Defina como 0 para detecção automática."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para reprodutibilidade (não garante determinismo)."
      }
    },
    "outputs": {
      "0": {
        "name": "texto",
        "tooltip": null
      },
      "1": {
        "name": "código_idioma",
        "tooltip": null
      },
      "2": {
        "name": "palavras_json",
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToDialogue": {
    "description": "Gere diálogos com múltiplos locutores a partir de texto. Cada entrada de diálogo possui seu próprio texto e voz.",
    "display_name": "ElevenLabs Texto para Diálogo",
    "inputs": {
      "apply_text_normalization": {
        "name": "aplicar_normalização_texto",
        "tooltip": "Modo de normalização de texto. 'auto' deixa o sistema decidir, 'on' sempre aplica normalização, 'off' pula a normalização."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "inputs": {
        "name": "entradas",
        "tooltip": "Número de entradas de diálogo."
      },
      "inputs_text1": {
        "name": "texto1"
      },
      "language_code": {
        "name": "código_idioma",
        "tooltip": "Código de idioma ISO-639-1 ou ISO-639-3 (ex: 'en', 'es', 'fra'). Deixe em branco para detecção automática."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para geração de diálogo."
      },
      "output_format": {
        "name": "formato_saida",
        "tooltip": "Formato de saída de áudio."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para reprodutibilidade."
      },
      "stability": {
        "name": "estabilidade",
        "tooltip": "Estabilidade da voz. Valores menores dão maior variação emocional, valores maiores produzem fala mais consistente, porém potencialmente monótona."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToSoundEffects": {
    "description": "Gere efeitos sonoros a partir de descrições em texto.",
    "display_name": "ElevenLabs Texto para Efeitos Sonoros",
    "inputs": {
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para geração de efeitos sonoros."
      },
      "model_duration": {
        "name": "duração"
      },
      "model_loop": {
        "name": "loop"
      },
      "model_prompt_influence": {
        "name": "influência_prompt"
      },
      "output_format": {
        "name": "formato_saida",
        "tooltip": "Formato de saída de áudio."
      },
      "text": {
        "name": "texto",
        "tooltip": "Descrição em texto do efeito sonoro a ser gerado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsTextToSpeech": {
    "description": "Converter texto em fala.",
    "display_name": "ElevenLabs Text to Speech",
    "inputs": {
      "apply_text_normalization": {
        "name": "aplicar normalização de texto",
        "tooltip": "Modo de normalização de texto. 'auto' deixa o sistema decidir, 'on' sempre aplica a normalização, 'off' pula a normalização."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "language_code": {
        "name": "código do idioma",
        "tooltip": "Código de idioma ISO-639-1 ou ISO-639-3 (ex: 'en', 'es', 'fra'). Deixe em branco para detecção automática."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para texto para fala."
      },
      "model_similarity_boost": {
        "name": "impulso de similaridade"
      },
      "model_speed": {
        "name": "velocidade"
      },
      "model_style": {
        "name": "estilo"
      },
      "model_use_speaker_boost": {
        "name": "usar impulso de locutor"
      },
      "output_format": {
        "name": "formato de saída",
        "tooltip": "Formato de saída do áudio."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para reprodutibilidade (determinismo não garantido)."
      },
      "stability": {
        "name": "estabilidade",
        "tooltip": "Estabilidade da voz. Valores mais baixos proporcionam maior variação emocional, valores mais altos produzem fala mais consistente, porém potencialmente monótona."
      },
      "text": {
        "name": "texto",
        "tooltip": "O texto a ser convertido em fala."
      },
      "voice": {
        "name": "voz",
        "tooltip": "Voz a ser usada para a síntese de fala. Conecte a partir do Seletor de Voz ou Instant Voice Clone."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ElevenLabsVoiceSelector": {
    "description": "Selecione uma voz ElevenLabs predefinida para geração de texto para fala.",
    "display_name": "Seletor de Voz ElevenLabs",
    "inputs": {
      "voice": {
        "name": "voz",
        "tooltip": "Escolha uma voz das vozes predefinidas do ElevenLabs."
      }
    },
    "outputs": {
      "0": {
        "name": "voz",
        "tooltip": null
      }
    }
  },
  "EmptyARVideoLatent": {
    "display_name": "EmptyARVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAceStep1_5LatentAudio": {
    "display_name": "Empty Ace Step 1.5 Latent Audio",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote",
        "tooltip": "O número de imagens latentes no lote."
      },
      "seconds": {
        "name": "segundos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAceStepLatentAudio": {
    "display_name": "Áudio Latente AceStep Vazio",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote",
        "tooltip": "O número de imagens latentes no lote."
      },
      "seconds": {
        "name": "segundos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyAudio": {
    "display_name": "Áudio Vazio",
    "inputs": {
      "channels": {
        "name": "canais",
        "tooltip": "Número de canais de áudio (1 para mono, 2 para estéreo)."
      },
      "duration": {
        "name": "duração",
        "tooltip": "Duração do áudio vazio em segundos"
      },
      "sample_rate": {
        "name": "taxa_de_amostragem",
        "tooltip": "Taxa de amostragem do áudio vazio."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyChromaRadianceLatentImage": {
    "display_name": "EmptyChromaRadianceLatentImage",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyCosmosLatentVideo": {
    "display_name": "EmptyCosmosLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyFlux2LatentImage": {
    "display_name": "Empty Flux 2 Latent",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHiDreamO1LatentImage": {
    "description": "Latente no espaço de pixels vazia para HiDream-O1-Image. O modelo foi treinado em ~4 megapixels; resoluções menores saem da distribuição e a qualidade regrede visivelmente. Resoluções treinadas: 2048x2048, 2304x1728, 1728x2304, 2560x1440, 1440x2560, 2496x1664, 1664x2496, 3104x1312, 1312x3104, 2304x1792, 1792x2304.",
    "display_name": "Imagem Latente Vazia HiDream-O1",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanImageLatent": {
    "display_name": "EmptyHunyuanImageLatent",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanLatentVideo": {
    "display_name": "Empty HunyuanVideo 1.0 Latent",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyHunyuanVideo15Latent": {
    "display_name": "Empty HunyuanVideo 1.5 Latent",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyImage": {
    "display_name": "EmptyImage",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "color": {
        "name": "cor"
      },
      "height": {
        "name": "altura"
      },
      "width": {
        "name": "largura"
      }
    }
  },
  "EmptyLTXVLatentVideo": {
    "display_name": "EmptyLTXVLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "comprimento"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentAudio": {
    "display_name": "Empty Latent Audio",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote",
        "tooltip": "O número de imagens latentes no lote."
      },
      "seconds": {
        "name": "segundos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentHunyuan3Dv2": {
    "display_name": "EmptyLatentHunyuan3Dv2",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote",
        "tooltip": "O número de imagens latentes no lote."
      },
      "resolution": {
        "name": "resolução"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyLatentImage": {
    "description": "Crie um novo lote de imagens latentes vazias para serem denoised via amostragem.",
    "display_name": "Imagem Latente Vazia",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote",
        "tooltip": "O número de imagens latentes no lote."
      },
      "height": {
        "name": "altura",
        "tooltip": "A altura das imagens latentes em pixels."
      },
      "width": {
        "name": "largura",
        "tooltip": "A largura das imagens latentes em pixels."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O lote de imagens latentes vazias."
      }
    }
  },
  "EmptyMiniMaxH3LatentAV": {
    "description": "Latente conjunto de vídeo+áudio para MiniMax H3. A duração é ajustada para a grade de 17k+5 quadros do modelo a 24 fps.",
    "display_name": "Latente AV MiniMax H3 Vazio",
    "inputs": {
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração",
        "tooltip": "Contagem de quadros a 24 fps, ajustada para cima na grade de 17k+5 do modelo (124 = ~5s; faixa treinada é ~124-362, valores maiores não testados)"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyMochiLatentVideo": {
    "display_name": "EmptyMochiLatentVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "comprimento"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptyQwenImageLayeredLatentImage": {
    "display_name": "Imagem Latente em Camadas Qwen Vazia",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "layers": {
        "name": "camadas"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "EmptySD3LatentImage": {
    "display_name": "EmptySD3LatentImage",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Epsilon Scaling": {
    "display_name": "Escalonamento Epsilon",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "scaling_factor": {
        "name": "fator_de_escalonamento"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ExponentialScheduler": {
    "display_name": "Agendador Exponencial",
    "inputs": {
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "passos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ExtendIntermediateSigmas": {
    "display_name": "Estender Sigmas Intermediários",
    "inputs": {
      "end_at_sigma": {
        "name": "terminar_em_sigma"
      },
      "sigmas": {
        "name": "sigmas"
      },
      "spacing": {
        "name": "espaçamento"
      },
      "start_at_sigma": {
        "name": "iniciar_em_sigma"
      },
      "steps": {
        "name": "passos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FeatherMask": {
    "display_name": "FeatherMask",
    "inputs": {
      "bottom": {
        "name": "inferior"
      },
      "left": {
        "name": "esquerda"
      },
      "mask": {
        "name": "mask"
      },
      "right": {
        "name": "direita"
      },
      "top": {
        "name": "topo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "File3DToSplat": {
    "description": "Converte um arquivo File3D splat em um gaussian splat. Inverso de Criar Arquivo 3D (a partir de Splat). Formatos suportados: PLY, SPLAT, KSPLAT, SPZ. PLY contém harmônicos esféricos completos, os outros formatos apenas cor base. O formato é detectado automaticamente pelo conteúdo do arquivo.",
    "display_name": "Obter Splat",
    "inputs": {
      "model_3d": {
        "name": "modelo_3d",
        "tooltip": "Um arquivo 3D gaussian splat"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "FlipSigmas": {
    "display_name": "FlipSigmas",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2ImageNode": {
    "description": "Gere imagens via Flux.2 [pro] ou Flux.2 [max] a partir de um prompt e imagens de referência opcionais.",
    "display_name": "Flux.2 Image",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo"
      },
      "model_height": {
        "name": "altura"
      },
      "model_width": {
        "name": "largura"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração ou edição da imagem"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2MaxImageNode": {
    "description": "Gera imagens de forma síncrona com base no prompt e na resolução.",
    "display_name": "Flux.2 [max] Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "height": {
        "name": "altura"
      },
      "images": {
        "name": "imagens",
        "tooltip": "Até 9 imagens para serem usadas como referência."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para geração ou edição da imagem"
      },
      "prompt_upsampling": {
        "name": "upsampling do prompt",
        "tooltip": "Se deve realizar upsampling no prompt. Se ativo, modifica automaticamente o prompt para uma geração mais criativa."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2ProImageNode": {
    "description": "Gera imagens de forma síncrona com base no prompt e na resolução.",
    "display_name": "Flux.2 [pro] Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "height": {
        "name": "altura"
      },
      "images": {
        "name": "imagens",
        "tooltip": "Até 9 imagens para serem usadas como referência."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para geração ou edição da imagem"
      },
      "prompt_upsampling": {
        "name": "upsampling do prompt",
        "tooltip": "Se deve realizar upsampling no prompt. Se ativo, modifica automaticamente o prompt para uma geração mais criativa."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux2Scheduler": {
    "display_name": "Flux2Scheduler",
    "inputs": {
      "height": {
        "name": "altura"
      },
      "steps": {
        "name": "etapas"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux3ImageToVideoNode": {
    "description": "Anima de 1 a 10 imagens com o FLUX 3. Cada imagem se torna um quadro do clip: uma imagem abre o vídeo, duas fazem a transição da primeira para a segunda, e mais imagens são distribuídas ao longo do vídeo ou fixadas em tempos escolhidos por você.",
    "display_name": "Flux 3 Imagem para Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Proporção da imagem de saída. 'auto' escolhe uma baseada no prompt e nas entradas."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Duração do clip em segundos. 'auto' ajusta a duração ao conteúdo."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Gerar áudio sincronizado (ambiente, fala, efeitos). Desligado produz um vídeo sem faixa de áudio."
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "De 1 a 10 imagens, na ordem de reprodução. Cada uma com no mínimo 256x256 pixels."
      },
      "placement": {
        "name": "placement",
        "tooltip": "'distribuir pelo clip' permite que o FLUX 3 posicione as imagens (uma abre o vídeo, duas marcam início e fim); 'em tempos' fixa cada imagem em um segundo escolhido por você."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Como a cena deve se mover e soar; o prompt é interpretado e expandido antes da geração."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Resolução de saída."
      },
      "safety_tolerance": {
        "name": "safety_tolerance",
        "tooltip": "Tolerância de moderação, 0 é o mais rigoroso. Solicitações que enviam imagens ou vídeo são limitadas a 2, independentemente do valor definido aqui."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; o FLUX 3 escolhe sua própria semente, então os resultados reais são não determinísticos, independentemente deste valor."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux3TextToVideoNode": {
    "description": "Gera um vídeo com áudio sincronizado a partir de um prompt de texto via FLUX 3.",
    "display_name": "Flux 3 Texto para Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Proporção da imagem de saída. 'auto' escolhe uma baseada no prompt e nas entradas."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Duração do clip em segundos. 'auto' ajusta a duração ao conteúdo."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Gerar áudio sincronizado (ambiente, fala, efeitos). Desligado produz um vídeo sem faixa de áudio."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "O que você deseja, em linguagem simples; o prompt é interpretado e expandido antes da geração. Descreva som ambiente, música e fala separadamente para áudio em camadas."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Resolução de saída."
      },
      "safety_tolerance": {
        "name": "safety_tolerance",
        "tooltip": "Tolerância de moderação, 0 é o mais rigoroso. Solicitações que enviam imagens ou vídeo são limitadas a 2, independentemente do valor definido aqui."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; o FLUX 3 escolhe sua própria semente, então os resultados reais são não determinísticos, independentemente deste valor."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Flux3VideoContinuationNode": {
    "description": "Continua um vídeo com FLUX 3: o novo clip segue a partir dos quadros finais do que você fornecer.",
    "display_name": "Flux 3 Continuação de Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção",
        "tooltip": "Proporção da saída. 'auto' escolhe uma a partir do prompt e das entradas."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração",
        "tooltip": "Duração do clip em segundos. 'auto' ajusta a duração ao conteúdo."
      },
      "generate_audio": {
        "name": "gerar áudio",
        "tooltip": "Gerar áudio sincronizado (ambiente, fala, efeitos). Desligado produz um vídeo sem trilha de áudio."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "O que a continuação deve mostrar; o prompt é interpretado e expandido antes da geração."
      },
      "resolution": {
        "name": "resolução",
        "tooltip": "Resolução de saída."
      },
      "safety_tolerance": {
        "name": "tolerância de segurança",
        "tooltip": "Tolerância de moderação, 0 é o mais rigoroso. Solicitações que enviam imagens ou vídeo são limitadas a 2, independentemente do valor definido aqui."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; FLUX 3 escolhe sua própria semente, então os resultados reais são não determinísticos independentemente deste valor."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "O clip a ser continuado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxDisableGuidance": {
    "description": "Este nó desativa completamente o guidance embed no Flux e modelos similares ao Flux",
    "display_name": "FluxDisableGuidance",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxEraseNode": {
    "description": "Remove o objeto mascarado de uma imagem e reconstrói o fundo. Pinte a máscara sobre o que deseja apagar.",
    "display_name": "Flux Apagar Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "dilate_pixels": {
        "name": "dilatar_pixels",
        "tooltip": "Expande os limites da máscara para garantir cobertura limpa das bordas do objeto."
      },
      "image": {
        "name": "imagem"
      },
      "mask": {
        "name": "máscara",
        "tooltip": "Áreas brancas são removidas; áreas pretas são preservadas."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxGuidance": {
    "display_name": "FluxGuidance",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      },
      "guidance": {
        "name": "guidance"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKVCache": {
    "description": "Ativa a otimização KV Cache para imagens de referência em modelos da família Flux.",
    "display_name": "Flux KV Cache",
    "inputs": {
      "model": {
        "name": "modelo",
        "tooltip": "O modelo para aplicar o KV Cache."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O modelo modificado com KV Cache ativado."
      }
    }
  },
  "FluxKontextImageScale": {
    "description": "Este nó redimensiona a imagem para um tamanho mais ideal para flux kontext.",
    "display_name": "FluxKontextImageScale",
    "inputs": {
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextMaxImageNode": {
    "description": "Edita imagens usando Flux.1 Kontext [pro] via API com base no prompt e na proporção.",
    "display_name": "Flux.1 Kontext [max] Image",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção",
        "tooltip": "Proporção da imagem; deve estar entre 1:4 e 4:1."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "guidance": {
        "name": "orientação",
        "tooltip": "Força da orientação para o processo de geração da imagem"
      },
      "input_image": {
        "name": "imagem_de_entrada"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem - especifique o que e como editar."
      },
      "prompt_upsampling": {
        "name": "amostragem_do_prompt",
        "tooltip": "Se deve realizar upsampling no prompt. Se ativo, modifica automaticamente o prompt para uma geração mais criativa, mas os resultados são não determinísticos (a mesma semente não produzirá exatamente o mesmo resultado)."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      },
      "steps": {
        "name": "etapas",
        "tooltip": "Número de etapas para o processo de geração da imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextMultiReferenceLatentMethod": {
    "display_name": "Editar Método de Referência do Modelo",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      },
      "reference_latents_method": {
        "name": "método_de_latent_de_referência"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxKontextProImageNode": {
    "description": "Edita imagens usando Flux.1 Kontext [pro] via API com base no prompt e na proporção.",
    "display_name": "Flux.1 Kontext [pro] Image",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção",
        "tooltip": "Proporção da imagem; deve estar entre 1:4 e 4:1."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "guidance": {
        "name": "orientação",
        "tooltip": "Força da orientação para o processo de geração da imagem"
      },
      "input_image": {
        "name": "imagem_de_entrada"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem - especifique o que e como editar."
      },
      "prompt_upsampling": {
        "name": "amostragem_do_prompt",
        "tooltip": "Se deve realizar upsampling no prompt. Se ativo, modifica automaticamente o prompt para uma geração mais criativa, mas os resultados são não determinísticos (a mesma semente não produzirá exatamente o mesmo resultado)."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      },
      "steps": {
        "name": "etapas",
        "tooltip": "Número de etapas para o processo de geração da imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProExpandNode": {
    "description": "Expande a imagem com base no prompt.",
    "display_name": "Flux.1 Expandir Imagem",
    "inputs": {
      "bottom": {
        "name": "inferior",
        "tooltip": "Número de pixels para expandir na parte inferior da imagem"
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "guidance": {
        "name": "orientação",
        "tooltip": "Força da orientação para o processo de geração da imagem"
      },
      "image": {
        "name": "imagem"
      },
      "left": {
        "name": "esquerda",
        "tooltip": "Número de pixels para expandir no lado esquerdo da imagem"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem"
      },
      "prompt_upsampling": {
        "name": "aumento de prompt",
        "tooltip": "Se deve realizar upsampling no prompt. Se ativo, modifica automaticamente o prompt para uma geração mais criativa, mas os resultados são não determinísticos (a mesma semente não produzirá exatamente o mesmo resultado)."
      },
      "right": {
        "name": "direita",
        "tooltip": "Número de pixels para expandir no lado direito da imagem"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      },
      "steps": {
        "name": "passos",
        "tooltip": "Número de passos para o processo de geração da imagem"
      },
      "top": {
        "name": "superior",
        "tooltip": "Número de pixels para expandir na parte superior da imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProFillNode": {
    "description": "Preenche a imagem com base na mask e no prompt.",
    "display_name": "Flux.1 Preencher Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "guidance": {
        "name": "orientação",
        "tooltip": "Força da orientação para o processo de geração da imagem"
      },
      "image": {
        "name": "imagem"
      },
      "mask": {
        "name": "mask"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem"
      },
      "prompt_upsampling": {
        "name": "aumento de prompt",
        "tooltip": "Se deve realizar upsampling no prompt. Se ativo, modifica automaticamente o prompt para uma geração mais criativa, mas os resultados são não determinísticos (a mesma semente não produzirá exatamente o mesmo resultado)."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      },
      "steps": {
        "name": "passos",
        "tooltip": "Número de passos para o processo de geração da imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxProUltraImageNode": {
    "description": "Gera imagens usando Flux Pro 1.1 Ultra via API com base no prompt e na resolução.",
    "display_name": "Flux 1.1 [pro] Ultra Image",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Proporção da imagem; deve estar entre 1:4 e 4:1."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image_prompt": {
        "name": "image_prompt"
      },
      "image_prompt_strength": {
        "name": "image_prompt_strength",
        "tooltip": "Mistura entre o prompt e o image prompt."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem"
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Se deve realizar upsampling no prompt. Se ativado, modifica automaticamente o prompt para uma geração mais criativa, mas os resultados são não determinísticos (a mesma seed não produzirá exatamente o mesmo resultado)."
      },
      "raw": {
        "name": "raw",
        "tooltip": "Quando Verdadeiro, gera imagens menos processadas e com aparência mais natural."
      },
      "seed": {
        "name": "seed",
        "tooltip": "A seed aleatória usada para criar o ruído."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FluxVTONode": {
    "description": "Prova virtual: veste a pessoa com a peça de roupa fornecida.",
    "display_name": "Flux Prova Virtual de Roupas",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "garment": {
        "name": "roupa",
        "tooltip": "Imagem da peça de roupa a ser aplicada."
      },
      "person": {
        "name": "pessoa",
        "tooltip": "Imagem da pessoa a ser vestida."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Instrução opcional de estilo em linguagem natural (ex: como a roupa deve se ajustar)."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FrameInterpolate": {
    "display_name": "Interpolação de Quadros",
    "inputs": {
      "images": {
        "name": "imagens"
      },
      "interp_model": {
        "name": "interp_model"
      },
      "multiplier": {
        "name": "multiplicador"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FrameInterpolationModelLoader": {
    "display_name": "Carregar Modelo de Interpolação de Quadros",
    "inputs": {
      "model_name": {
        "name": "model_name",
        "tooltip": "Selecione um modelo de interpolação de quadros para carregar. Os modelos devem ser colocados na pasta 'frame_interpolation'."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FreSca": {
    "description": "Aplica escalonamento dependente de frequência à orientação",
    "display_name": "FreSca",
    "inputs": {
      "freq_cutoff": {
        "name": "freq_cutoff",
        "tooltip": "Número de índices de frequência ao redor do centro considerados como baixa frequência"
      },
      "model": {
        "name": "model"
      },
      "scale_high": {
        "name": "scale_high",
        "tooltip": "Fator de escala para componentes de alta frequência"
      },
      "scale_low": {
        "name": "scale_low",
        "tooltip": "Fator de escala para componentes de baixa frequência"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FreeU": {
    "display_name": "FreeU",
    "inputs": {
      "b1": {
        "name": "b1"
      },
      "b2": {
        "name": "b2"
      },
      "model": {
        "name": "model"
      },
      "s1": {
        "name": "s1"
      },
      "s2": {
        "name": "s2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "FreeU_V2": {
    "display_name": "FreeU_V2",
    "inputs": {
      "b1": {
        "name": "b1"
      },
      "b2": {
        "name": "b2"
      },
      "model": {
        "name": "model"
      },
      "s1": {
        "name": "s1"
      },
      "s2": {
        "name": "s2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GITSScheduler": {
    "display_name": "GITSScheduler",
    "inputs": {
      "coeff": {
        "name": "coeficiente"
      },
      "denoise": {
        "name": "reduzir_ruído"
      },
      "steps": {
        "name": "etapas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GLIGENLoader": {
    "display_name": "GLIGENLoader",
    "inputs": {
      "gligen_name": {
        "name": "gligen_name"
      }
    }
  },
  "GLIGENTextBoxApply": {
    "display_name": "GLIGENTextBoxApply",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "conditioning_to": {
        "name": "conditioning_to"
      },
      "gligen_textbox_model": {
        "name": "gligen_textbox_model"
      },
      "height": {
        "name": "altura"
      },
      "text": {
        "name": "texto"
      },
      "width": {
        "name": "largura"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "GLSLShader": {
    "description": "Aplicar shaders de fragmento GLSL ES em imagens. u_resolution (vec2) está sempre disponível.",
    "display_name": "GLSL Shader",
    "inputs": {
      "bools": {
        "name": "booleanos",
        "tooltip": "Booleanos estão disponíveis como u_bool0-9 (bool) no código do shader"
      },
      "curves": {
        "name": "curvas",
        "tooltip": "Curvas estão disponíveis como u_curve0-3 (sampler2D, 1D LUT) no código do shader. Amostre com texture(u_curve0, vec2(x, 0.5)).r"
      },
      "floats": {
        "name": "floats",
        "tooltip": "Floats estão disponíveis como u_float0-4 no código do shader"
      },
      "fragment_shader": {
        "name": "fragment_shader",
        "tooltip": "Código fonte do shader de fragmento GLSL (compatível com GLSL ES 3.00 / WebGL 2.0)"
      },
      "images": {
        "name": "imagens",
        "tooltip": "Imagens estão disponíveis como u_image0-4 (sampler2D) no código do shader"
      },
      "ints": {
        "name": "ints",
        "tooltip": "Ints estão disponíveis como u_int0-4 no código do shader"
      },
      "size_mode": {
        "name": "modo_tamanho",
        "tooltip": "Tamanho de saída: 'from_input' usa as dimensões da primeira imagem de entrada, 'custom' permite tamanho manual"
      }
    },
    "outputs": {
      "0": {
        "name": "IMAGEM0",
        "tooltip": "Disponível via layout(location = 0) out vec4 fragColor0 no código do shader"
      },
      "1": {
        "name": "IMAGEM1",
        "tooltip": "Disponível via layout(location = 1) out vec4 fragColor1 no código do shader"
      },
      "2": {
        "name": "IMAGEM2",
        "tooltip": "Disponível via layout(location = 2) out vec4 fragColor2 no código do shader"
      },
      "3": {
        "name": "IMAGEM3",
        "tooltip": "Disponível via layout(location = 3) out vec4 fragColor3 no código do shader"
      }
    }
  },
  "GeminiImage2Node": {
    "description": "Gere ou edite imagens de forma síncrona via Google Vertex API.",
    "display_name": "Nano Banana Pro (Google Gemini Image)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Se definido como 'auto', corresponde à proporção da imagem de entrada; se nenhuma imagem for fornecida, normalmente é gerado um quadrado 16:9."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "Arquivo(s) opcional(is) para usar como contexto para o modelo. Aceita entradas do nó Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Imagem(ns) de referência opcional(is). Para incluir várias imagens, use o nó Batch Images (até 14)."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto descrevendo a imagem a ser gerada ou as edições a serem aplicadas. Inclua quaisquer restrições, estilos ou detalhes que o modelo deve seguir."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Resolução de saída desejada. Para 2K/4K, o upscaler nativo do Gemini é utilizado."
      },
      "response_modalities": {
        "name": "response_modalities",
        "tooltip": "Escolha 'IMAGE' para saída somente de imagem, ou 'IMAGE+TEXT' para retornar tanto a imagem gerada quanto uma resposta em texto."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Quando a seed é fixada em um valor específico, o modelo faz o melhor esforço para fornecer a mesma resposta em solicitações repetidas. A saída determinística não é garantida. Além disso, alterar o modelo ou configurações de parâmetros, como a temperatura, pode causar variações na resposta mesmo usando o mesmo valor de seed. Por padrão, um valor de seed aleatório é usado."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instruções fundamentais que ditam o comportamento da IA."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GeminiImageNode": {
    "description": "Edite imagens de forma síncrona via Google API.",
    "display_name": "Nano Banana (Google Gemini Image)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Por padrão, corresponde ao tamanho da imagem de saída ao da sua imagem de entrada, ou gera quadrados 1:1."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "Arquivo(s) opcional(is) para usar como contexto para o modelo. Aceita entradas do nó Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Imagem(ns) opcional(is) para usar como contexto para o modelo. Para incluir várias imagens, você pode usar o nó Batch Images."
      },
      "model": {
        "name": "model",
        "tooltip": "O modelo Gemini a ser usado para gerar respostas."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para geração"
      },
      "response_modalities": {
        "name": "response_modalities",
        "tooltip": "Escolha 'IMAGE' para saída somente de imagem, ou 'IMAGE+TEXT' para retornar tanto a imagem gerada quanto uma resposta em texto."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Quando a seed é fixada em um valor específico, o modelo faz o melhor esforço para fornecer a mesma resposta em solicitações repetidas. A saída determinística não é garantida. Além disso, alterar o modelo ou configurações de parâmetros, como a temperatura, pode causar variações na resposta mesmo usando o mesmo valor de seed. Por padrão, um valor de seed aleatório é usado."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instruções fundamentais que ditam o comportamento da IA."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GeminiInputFiles": {
    "description": "Carrega e prepara arquivos de entrada para incluir como inputs para os nós Gemini LLM. Os arquivos serão lidos pelo modelo Gemini ao gerar uma resposta. O conteúdo do arquivo de texto conta para o limite de tokens. 🛈 DICA: Pode ser encadeado com outros nós de Arquivo de Entrada Gemini.",
    "display_name": "Arquivos de Entrada Gemini",
    "inputs": {
      "GEMINI_INPUT_FILES": {
        "name": "GEMINI_INPUT_FILES",
        "tooltip": "Um(s) arquivo(s) adicional(is) opcional(is) para agrupar junto com o arquivo carregado deste nó. Permite o encadeamento de arquivos de entrada para que uma única mensagem possa incluir múltiplos arquivos de entrada."
      },
      "file": {
        "name": "arquivo",
        "tooltip": "Arquivos de entrada para incluir como contexto para o modelo. Aceita apenas arquivos de texto (.txt) e PDF (.pdf) no momento."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiNanoBanana2": {
    "description": "Gere ou edite imagens de forma síncrona via Google Vertex API.",
    "display_name": "Nano Banana 2",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Se definido como 'auto', corresponde à proporção da imagem de entrada; se nenhuma imagem for fornecida, normalmente é gerado um quadrado 16:9."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "files",
        "tooltip": "Arquivo(s) opcional(is) para usar como contexto para o modelo. Aceita entradas do nó Gemini Generate Content Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Imagem(ns) de referência opcional(is). Para incluir várias imagens, use o nó Batch Images (até 14)."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto descrevendo a imagem a ser gerada ou as edições a serem aplicadas. Inclua quaisquer restrições, estilos ou detalhes que o modelo deve seguir."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Resolução de saída desejada. Para 2K/4K, o upscaler nativo do Gemini é utilizado."
      },
      "response_modalities": {
        "name": "response_modalities"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Quando a seed é fixada em um valor específico, o modelo faz o melhor esforço para fornecer a mesma resposta em solicitações repetidas. A saída determinística não é garantida. Além disso, alterar o modelo ou configurações de parâmetros, como a temperatura, pode causar variações na resposta mesmo usando o mesmo valor de seed. Por padrão, um valor de seed aleatório é usado."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instruções fundamentais que ditam o comportamento da IA."
      },
      "thinking_level": {
        "name": "thinking_level"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "thought_image",
        "tooltip": "Primeira imagem do processo de pensamento do modelo. Disponível apenas com thinking_level ALTO e modalidade IMAGEM+TEXTO."
      }
    }
  },
  "GeminiNanoBanana2V2": {
    "description": "Gere ou edite imagens de forma síncrona via Google Vertex API.",
    "display_name": "Nano Banana 2",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "model_thinking_level": {
        "name": "thinking_level"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto descrevendo a imagem a ser gerada ou as edições a serem aplicadas. Inclua quaisquer restrições, estilos ou detalhes que o modelo deve seguir."
      },
      "response_modalities": {
        "name": "response_modalities"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Quando a seed é fixada em um valor específico, o modelo faz o melhor esforço para fornecer a mesma resposta em solicitações repetidas. A saída determinística não é garantida. Além disso, alterar o modelo ou configurações de parâmetros, como a temperatura, pode causar variações na resposta mesmo usando o mesmo valor de seed. Por padrão, um valor de seed aleatório é usado."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instruções fundamentais que ditam o comportamento da IA."
      },
      "temperature": {
        "name": "temperatura",
        "tooltip": "Controla a aleatoriedade na geração. Valores menores são mais focados/determinísticos."
      },
      "top_p": {
        "name": "top_p",
        "tooltip": "Limite de amostragem por núcleo. Valores menores são mais focados, maiores são mais diversos."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      },
      "2": {
        "name": "thought_image",
        "tooltip": "Primeira imagem do processo de pensamento do modelo. Disponível apenas com thinking_level ALTO e modalidade IMAGE+TEXT."
      }
    }
  },
  "GeminiNode": {
    "description": "Gere respostas em texto com o modelo Gemini AI do Google. Você pode fornecer múltiplos tipos de entrada (texto, imagens, áudio, vídeo) como contexto para gerar respostas mais relevantes e significativas.",
    "display_name": "Google Gemini",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "Áudio opcional para usar como contexto para o modelo."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "files": {
        "name": "arquivos",
        "tooltip": "Arquivo(s) opcional(is) para usar como contexto para o modelo. Aceita entradas do nó Gemini Generate Content Input Files."
      },
      "images": {
        "name": "imagens",
        "tooltip": "Imagem(ns) opcional(is) para usar como contexto para o modelo. Para incluir múltiplas imagens, você pode usar o nó Batch Images."
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo Gemini a ser usado para gerar respostas."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entradas de texto para o modelo, usadas para gerar uma resposta. Você pode incluir instruções detalhadas, perguntas ou contexto para o modelo."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Quando a semente é fixada em um valor específico, o modelo faz o melhor esforço para fornecer a mesma resposta para solicitações repetidas. A saída determinística não é garantida. Além disso, alterar o modelo ou configurações de parâmetros, como a temperatura, pode causar variações na resposta mesmo usando o mesmo valor de semente. Por padrão, é usada uma semente aleatória."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instruções fundamentais que ditam o comportamento da IA."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Vídeo opcional para usar como contexto para o modelo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiNodeV2": {
    "description": "Gere respostas de texto com os modelos Gemini do Google. Forneça um prompt de texto e, opcionalmente, uma ou mais imagens, clipes de áudio, vídeos ou arquivos como contexto multimodal.",
    "display_name": "Google Gemini",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo Gemini utilizado para gerar a resposta."
      },
      "model_max_output_tokens": {
        "name": "max_output_tokens"
      },
      "model_temperature": {
        "name": "temperatura"
      },
      "model_thinking_level": {
        "name": "nível_de_raciocínio"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entrada de texto para o modelo. Inclua instruções detalhadas, perguntas ou contexto."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para amostragem. Defina como 0 para uma semente aleatória. A saída determinística não é garantida."
      },
      "system_prompt": {
        "name": "prompt_do_sistema",
        "tooltip": "Instruções fundamentais que determinam o comportamento do modelo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GeminiVideoOmni": {
    "description": "Gere um vídeo com áudio a partir de um prompt de texto usando o modelo Gemini Omni Flash do Google. Opcionalmente, forneça imagens e/ou vídeos de referência para guiar ou editar o resultado. Descreva o comprimento desejado (3-10s) e a proporção (16:9 ou 9:16) diretamente no prompt.",
    "display_name": "Google Gemini Omni (Vídeo)",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "O modelo Gemini de vídeo usado para gerar o vídeo."
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_temperature": {
        "name": "temperature"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "GenerateTracks": {
    "display_name": "GenerateTracks",
    "inputs": {
      "bezier": {
        "name": "bezier",
        "tooltip": "Habilitar caminho de curva Bezier usando o ponto médio como ponto de controle."
      },
      "end_x": {
        "name": "fim_x",
        "tooltip": "Coordenada X normalizada (0-1) para a posição final."
      },
      "end_y": {
        "name": "fim_y",
        "tooltip": "Coordenada Y normalizada (0-1) para a posição final."
      },
      "height": {
        "name": "altura"
      },
      "interpolation": {
        "name": "interpolação",
        "tooltip": "Controla o tempo/velocidade do movimento ao longo do caminho."
      },
      "mid_x": {
        "name": "meio_x",
        "tooltip": "Ponto de controle X normalizado para a curva Bezier. Usado apenas quando 'bezier' está habilitado."
      },
      "mid_y": {
        "name": "meio_y",
        "tooltip": "Ponto de controle Y normalizado para a curva Bezier. Usado apenas quando 'bezier' está habilitado."
      },
      "num_frames": {
        "name": "número_de_quadros"
      },
      "num_tracks": {
        "name": "número_de_trilhas"
      },
      "start_x": {
        "name": "início_x",
        "tooltip": "Coordenada X normalizada (0-1) para a posição inicial."
      },
      "start_y": {
        "name": "início_y",
        "tooltip": "Coordenada Y normalizada (0-1) para a posição inicial."
      },
      "track_mask": {
        "name": "máscara_de_trilha",
        "tooltip": "Máscara opcional para indicar quadros visíveis."
      },
      "track_spread": {
        "name": "dispersão_de_trilhas",
        "tooltip": "Distância normalizada entre as trilhas. As trilhas são distribuídas perpendicularmente à direção do movimento."
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "comprimento_da_trilha",
        "tooltip": null
      }
    }
  },
  "GetICLoRAParameters": {
    "description": "Extrai os parâmetros IC-LoRA dos metadados safetensors de um modelo carregado com LoRA e os disponibiliza para o LTXVAddGuide (ex: reference_downscale_factor).",
    "display_name": "Obter Parâmetros IC-LoRA",
    "inputs": {
      "iclora_model": {
        "name": "iclora_model",
        "tooltip": "Saída direta de um Loader de LoRA para o IC-LoRA específico do qual extrair os metadados."
      }
    },
    "outputs": {
      "0": {
        "name": "iclora_parameters",
        "tooltip": "Parâmetros IC-LoRA extraídos dos metadados do LoRA (ex: reference_downscale_factor). Conecte ao LTXVAddGuide se o LoRA exigir tratamento especial dos guias."
      }
    }
  },
  "GetImageSize": {
    "description": "Retorna a largura e altura da imagem, e a repassa inalterada.",
    "display_name": "Obter Tamanho da Imagem",
    "inputs": {
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "name": "largura",
        "tooltip": null
      },
      "1": {
        "name": "altura",
        "tooltip": null
      },
      "2": {
        "name": "tamanho_do_lote",
        "tooltip": null
      }
    }
  },
  "GetSplatCount": {
    "description": "Retorna o número de splats somados em todo o lote.",
    "display_name": "Obter Contagem de Splat",
    "inputs": {
      "splat": {
        "name": "splat"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      },
      "1": {
        "name": "contagem",
        "tooltip": null
      }
    }
  },
  "GetVideoComponents": {
    "description": "Extrai todos os componentes de um vídeo: quadros, áudio e taxa de quadros.",
    "display_name": "Obter Componentes do Vídeo",
    "inputs": {
      "video": {
        "name": "vídeo",
        "tooltip": "O vídeo do qual extrair os componentes."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": null
      },
      "1": {
        "name": "áudio",
        "tooltip": null
      },
      "2": {
        "name": "fps",
        "tooltip": null
      },
      "3": {
        "name": "bit_depth",
        "tooltip": null
      }
    }
  },
  "GrokImageEditNode": {
    "description": "Modifique uma imagem existente com base em um prompt de texto",
    "display_name": "Grok Image Edit",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção",
        "tooltip": "Só é permitido quando várias imagens estão conectadas à entrada de imagem."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "number_of_images": {
        "name": "number_of_images",
        "tooltip": "Número de imagens editadas a serem geradas"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "O prompt de texto usado para gerar a imagem"
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokImageEditNodeV2": {
    "description": "Modifique uma imagem existente com base em um prompt de texto",
    "display_name": "Grok Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo"
      },
      "model_aspect_ratio": {
        "name": "proporção"
      },
      "model_number_of_images": {
        "name": "número_de_imagens"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "O prompt de texto usado para gerar a imagem"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokImageNode": {
    "description": "Gere imagens usando Grok com base em um prompt de texto",
    "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": "Número de imagens a serem geradas"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "O prompt de texto usado para gerar a imagem"
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoEditNode": {
    "description": "Edite um vídeo existente com base em um prompt de texto.",
    "display_name": "Grok Video Edit",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto do vídeo desejado."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da seed."
      },
      "video": {
        "name": "video",
        "tooltip": "A duração máxima suportada é de 8,7 segundos e o tamanho máximo do arquivo é 50MB."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoExtendNode": {
    "description": "Estenda um vídeo existente com uma continuação perfeita baseada em um prompt de texto.",
    "display_name": "Grok Video Extend",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo a ser usado para extensão de vídeo."
      },
      "model_duration": {
        "name": "duração"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto do que deve acontecer a seguir no vídeo."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da semente."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Vídeo de origem para estender. Formato MP4, 2-15 segundos."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoNode": {
    "description": "Gere vídeo a partir de um prompt ou de uma imagem",
    "display_name": "Grok Video",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "A proporção do vídeo de saída."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "A duração do vídeo de saída em segundos."
      },
      "image": {
        "name": "image",
        "tooltip": "Imagem inicial opcional para grok-imagine-video. Obrigatória para grok-imagine-video-1.5."
      },
      "model": {
        "name": "model",
        "tooltip": "grok-imagine-video-1.5 atualmente sempre requer uma imagem de entrada."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto do vídeo desejado."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "A resolução do vídeo de saída."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrokVideoReferenceNode": {
    "description": "Gere vídeo guiado por imagens de referência como referências de estilo e conteúdo.",
    "display_name": "Grok Referência-para-Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo a ser usado para geração de vídeo."
      },
      "model_aspect_ratio": {
        "name": "proporção"
      },
      "model_duration": {
        "name": "duração"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "model_voice_1": {
        "name": "voz_1"
      },
      "model_voice_2": {
        "name": "voz_2"
      },
      "model_voice_3": {
        "name": "voz_3"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto do vídeo desejado."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "GrowMask": {
    "display_name": "Expandir Máscara",
    "inputs": {
      "expand": {
        "name": "expandir"
      },
      "mask": {
        "name": "máscara"
      },
      "tapered_corners": {
        "name": "cantos arredondados"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseImageToVideoApi": {
    "description": "Gere um vídeo a partir de uma imagem do primeiro quadro usando o modelo HappyHorse.",
    "display_name": "HappyHorse Imagem para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Imagem do primeiro quadro. A proporção de aspecto de saída é derivada desta imagem."
      },
      "model": {
        "name": "model"
      },
      "model_duration": {
        "name": "duration"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para usar na geração."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Adicionar ou não uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseReferenceVideoApi": {
    "description": "Gere um vídeo apresentando uma pessoa ou objeto a partir de materiais de referência com o modelo HappyHorse. Suporta performances de personagem único e interações entre múltiplos personagens.",
    "display_name": "HappyHorse Referência para Vídeo",
    "inputs": {
      "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": "Seed para usar na geração."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Adicionar ou não uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseTextToVideoApi": {
    "description": "Gera um vídeo com base em um prompt de texto usando o modelo HappyHorse.",
    "display_name": "HappyHorse Texto para Vídeo",
    "inputs": {
      "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": "Seed para usar na geração."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Adicionar ou não uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HappyHorseVideoEditApi": {
    "description": "Edite um vídeo usando instruções de texto ou imagens de referência com o modelo HappyHorse. A duração de saída é de 3 a 15s e corresponde ao vídeo de entrada; entradas com mais de 15s são cortadas.",
    "display_name": "HappyHorse Edição de Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "ratio"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para usar na geração."
      },
      "video": {
        "name": "video",
        "tooltip": "O vídeo a ser editado."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Adicionar ou não uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenAvatarVideoNode": {
    "description": "Gere um vídeo de apresentador falante a partir de um avatar HeyGen. Inclui os avatares públicos mais populares do HeyGen; qualquer ID de visual pode ser fornecido como substituição.",
    "display_name": "Vídeo de Avatar HeyGen",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção",
        "tooltip": "Proporção do vídeo de saída. 'auto' segue o vídeo de origem do avatar."
      },
      "background_color": {
        "name": "cor_de_fundo",
        "tooltip": "Cor de fundo sólida opcional em código hexadecimal (ex: '#00ff00'). Deixe em branco para usar o fundo do próprio avatar."
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "custom_avatar_id": {
        "name": "custom_avatar_id",
        "tooltip": "ID de visual do avatar HeyGen opcional. Quando definido, substitui o avatar selecionado acima. Qualquer um dos mais de 3000 visuais públicos do HeyGen (ou seus avatares privados) pode ser usado."
      },
      "engine": {
        "name": "engine",
        "tooltip": "Motor de renderização; cada opção lista apenas os avatares que o suportam. 'auto' oferece todos os avatares e escolhe o melhor motor (Avatar IV preferido). Avatar V tem a maior fidelidade, Avatar III é o mais acessível."
      },
      "engine_avatar": {
        "name": "avatar"
      },
      "resolution": {
        "name": "resolução",
        "tooltip": "Resolução do vídeo de saída."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Não enviado para o HeyGen; altere para forçar uma nova execução."
      },
      "speech": {
        "name": "fala",
        "tooltip": "Controle o avatar com um roteiro de texto (HeyGen texto-para-fala) ou com seu próprio áudio."
      },
      "speech_custom_voice_id": {
        "name": "custom_voice_id"
      },
      "speech_text": {
        "name": "texto"
      },
      "speech_voice": {
        "name": "voz"
      },
      "speech_voice_speed": {
        "name": "velocidade_da_voz"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenCreateAvatarNode": {
    "description": "Crie seu próprio avatar HeyGen reutilizável a partir de uma foto de uma pessoa ou de um prompt de texto (um personagem gerado). Insira o avatar_id resultante no campo custom_avatar_id do Vídeo de Avatar HeyGen — e salve o ID para reutilizar o avatar em fluxos de trabalho futuros.",
    "display_name": "Criar Avatar HeyGen",
    "inputs": {
      "source": {
        "name": "origem",
        "tooltip": "Gere um novo personagem a partir de um prompt de texto ou crie o avatar a partir de uma foto conectada de uma pessoa."
      },
      "source_prompt": {
        "name": "prompt"
      }
    },
    "outputs": {
      "0": {
        "name": "avatar_id",
        "tooltip": "ID de visual do avatar. Passe para o campo custom_avatar_id do Vídeo de Avatar HeyGen; salve para reutilizar o avatar depois."
      },
      "1": {
        "name": "prévia",
        "tooltip": null
      }
    }
  },
  "HeyGenTalkingPhotoNode": {
    "description": "Anime qualquer imagem de uma pessoa em um vídeo falante com sincronização labial (HeyGen Avatar IV). Controle com um roteiro de texto ou seu próprio áudio.",
    "display_name": "HeyGen Talking Photo",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção",
        "tooltip": "Proporção do vídeo de saída. 'auto' segue a imagem de entrada."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "expressiveness": {
        "name": "expressividade",
        "tooltip": "Quão expressivo será o rosto e os gestos animados."
      },
      "image": {
        "name": "imagem",
        "tooltip": "Imagem de uma pessoa para animar. Redimensionada automaticamente se maior que 2K."
      },
      "resolution": {
        "name": "resolução",
        "tooltip": "Resolução do vídeo de saída."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Não enviado para HeyGen; altere para forçar uma nova execução."
      },
      "speech": {
        "name": "fala",
        "tooltip": "Controle o avatar com um roteiro de texto (HeyGen texto-para-fala) ou seu próprio áudio."
      },
      "speech_custom_voice_id": {
        "name": "custom_voice_id"
      },
      "speech_text": {
        "name": "texto"
      },
      "speech_voice": {
        "name": "voz"
      },
      "speech_voice_speed": {
        "name": "velocidade_da_voz"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenTextToSpeechNode": {
    "description": "Gere áudio de fala a partir de texto usando o mecanismo Starfish TTS da HeyGen. Inclui as vozes mais populares da HeyGen em 17 idiomas.",
    "display_name": "HeyGen Texto para Fala",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "custom_voice_id": {
        "name": "custom_voice_id",
        "tooltip": "ID de voz HeyGen opcional. Quando definido, substitui a voz selecionada acima. A voz deve ser compatível com o mecanismo Starfish."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Não enviado para HeyGen; altere para forçar uma nova execução."
      },
      "speed": {
        "name": "velocidade",
        "tooltip": "Multiplicador de velocidade da fala."
      },
      "ssml": {
        "name": "ssml",
        "tooltip": "Tratar o texto como marcação SSML (para pausas, ênfase e controle de pronúncia)."
      },
      "text": {
        "name": "texto",
        "tooltip": "Texto para sintetizar (até 5000 caracteres). O áudio gerado deve ter pelo menos 1 segundo de duração."
      },
      "voice": {
        "name": "voz",
        "tooltip": "Voz a ser usada (selecionada entre as vozes Starfish mais populares da HeyGen)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HeyGenVideoTranslateNode": {
    "description": "Traduza um vídeo falado para outro idioma. Clona a voz original do locutor e reanima a boca para combinar com a fala traduzida.",
    "display_name": "HeyGen Video Translate",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "mode": {
        "name": "modo",
        "tooltip": "'speed' é mais rápido; 'precision' produz sincronização labial de maior qualidade pelo dobro do preço."
      },
      "output_language": {
        "name": "idioma de saída",
        "tooltip": "Idioma de destino para o vídeo traduzido."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Não enviado para HeyGen; altere para forçar uma nova execução."
      },
      "speaker_count": {
        "name": "número de locutores",
        "tooltip": "Número de locutores no vídeo. 0 = detectar automaticamente."
      },
      "translate_audio_only": {
        "name": "somente áudio traduzido",
        "tooltip": "Apenas troca a faixa de áudio, mantendo os movimentos originais da boca (sem sincronização labial)."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Vídeo com fala para traduzir."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HiDreamO1PatchSeamSmoothing": {
    "description": "Média da saída do modelo em várias posições de grade de patch deslocadas durante a fase final da amostragem. Cancela as emendas.",
    "display_name": "Suavização de Emendas de Patches HiDream-O1",
    "inputs": {
      "blend": {
        "name": "mesclagem",
        "tooltip": "average: média com pesos iguais. window: ponderação com janela de Hann favorecendo cada passagem longe dos limites do patch. median: mediana por pixel, rejeita passagens fora do padrão."
      },
      "end_percent": {
        "name": "percentual_final",
        "tooltip": "Progresso da amostragem em que a mesclagem é desativada."
      },
      "model": {
        "name": "modelo"
      },
      "passes": {
        "name": "passagens",
        "tooltip": "Número de passagens por etapa controlada. 2/4 = fixo. ramp_*: a contagem de passagens aumenta conforme a amostragem se aproxima do fim (mais suavização onde as emendas são mais visíveis)."
      },
      "pattern": {
        "name": "padrão",
        "tooltip": "Layout do deslocamento. single_shift: uma passagem na grade de patch natural + outras deslocadas. symmetric: todas as passagens fora da grade, deslocamentos divididos ao redor da origem."
      },
      "start_percent": {
        "name": "percentual_inicial",
        "tooltip": "Progresso da amostragem (0=início, 1=fim) em que a mesclagem é ativada."
      },
      "strength": {
        "name": "força",
        "tooltip": "Interpolação entre a predição da grade natural (0) e o resultado médio (1)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HiDreamO1ReferenceImages": {
    "description": "Anexe de 1 a 10 imagens de referência ao condicionamento, uma para instrução de edição ou múltiplas para personalização orientada por sujeito.",
    "display_name": "Imagens de Referência HiDream-O1",
    "inputs": {
      "images": {
        "name": "imagens",
        "tooltip": "Imagens de referência. 1 imagem = edição por instrução; 2-10 imagens = múltiplas referências."
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "HitPawGeneralImageEnhance": {
    "description": "Aumente imagens de baixa resolução para super-resolução, eliminando artefatos e ruídos. Saída máxima: 32 megapixels.",
    "display_name": "HitPaw General Image Enhance",
    "inputs": {
      "auto_downscale": {
        "name": "auto_redimensionar",
        "tooltip": "Redimensiona automaticamente a imagem de entrada se a saída exceder o limite."
      },
      "image": {
        "name": "imagem"
      },
      "model": {
        "name": "modelo"
      },
      "upscale_factor": {
        "name": "fator_de_upscale"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HitPawVideoEnhance": {
    "description": "Aumente vídeos de baixa resolução para alta resolução, eliminando artefatos e ruídos. Os preços exibidos são por segundo de vídeo.",
    "display_name": "HitPaw Video Enhance",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "video": {
        "name": "vídeo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Hunyuan3Dv2Conditioning": {
    "display_name": "Hunyuan3Dv2Conditioning",
    "inputs": {
      "clip_vision_output": {
        "name": "clip_vision_output"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "Hunyuan3Dv2ConditioningMultiView": {
    "display_name": "Hunyuan3Dv2ConditioningMultiView",
    "inputs": {
      "back": {
        "name": "trás"
      },
      "front": {
        "name": "frente"
      },
      "left": {
        "name": "esquerda"
      },
      "right": {
        "name": "direita"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "HunyuanImageToVideo": {
    "display_name": "HunyuanImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "guidance_type": {
        "name": "tipo_de_guia"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "HunyuanRefinerLatent": {
    "display_name": "HunyuanRefinerLatent",
    "inputs": {
      "latent": {
        "name": "latente"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_augmentation": {
        "name": "aumento_de_ruído"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15ImageToVideo": {
    "display_name": "HunyuanVideo15ImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15LatentUpscaleWithModel": {
    "display_name": "Hunyuan Video 15 Latent Upscale With Model",
    "inputs": {
      "crop": {
        "name": "corte"
      },
      "height": {
        "name": "altura"
      },
      "model": {
        "name": "modelo"
      },
      "samples": {
        "name": "amostras"
      },
      "upscale_method": {
        "name": "método_de_upscale"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HunyuanVideo15SuperResolution": {
    "display_name": "HunyuanVideo15SuperResolution",
    "inputs": {
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "latent": {
        "name": "latente"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_augmentation": {
        "name": "aumento_de_ruído"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "HyperTile": {
    "display_name": "HyperTile",
    "inputs": {
      "max_depth": {
        "name": "profundidade_máxima"
      },
      "model": {
        "name": "modelo"
      },
      "scale_depth": {
        "name": "escala_de_profundidade"
      },
      "swap_size": {
        "name": "tamanho_da_troca"
      },
      "tile_size": {
        "name": "tamanho_do_tile"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "HypernetworkLoader": {
    "display_name": "HypernetworkLoader",
    "inputs": {
      "hypernetwork_name": {
        "name": "nome_da_hypernetwork"
      },
      "model": {
        "name": "modelo"
      },
      "strength": {
        "name": "força"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Ideogram4Scheduler": {
    "display_name": "Agendador Ideogram 4",
    "inputs": {
      "height": {
        "name": "altura"
      },
      "mu": {
        "name": "mu"
      },
      "std": {
        "name": "std"
      },
      "steps": {
        "name": "passos"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "IdeogramPImage": {
    "description": "Gera imagens usando o P-Image, o modelo de texto para imagem rápido da Ideogram. Forte em tipografia e fotorrealismo; suporta legendas estruturadas em JSON do Ideogram 4.0 para texto, cores e layout exatos.",
    "display_name": "Ideogram P-Image",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "A proporção da imagem a ser gerada."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto. Também aceita uma legenda estruturada em JSON do Ideogram 4.0 (cores exatas como hexadecimais #RRGGBB, textos exatos, layout de caixa delimitadora) — defina prompt_upsampling como DESLIGADO para usar exatamente como enviado."
      },
      "prompt_upsampling": {
        "name": "prompt_upsampling",
        "tooltip": "Expande prompts curtos em uma legenda estruturada detalhada antes da geração (o prompt reescrito é retornado como final_prompt). Defina como DESLIGADO ao fornecer sua própria legenda JSON ou texto exato."
      },
      "quality": {
        "name": "quality",
        "tooltip": "Nível de velocidade/preço/qualidade. MÉDIO é o padrão para uso diário; ALTO para prompts complexos, detalhes finos e textos difíceis; MUITO_BAIXO/BAIXO para rascunhos em escala. Textos difíceis têm baixa qualidade abaixo do MÉDIO."
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Classe de tamanho de saída (os pixels exatos seguem a proporção, por exemplo, 16:9 gera 1280x720 em 1K e 2560x1440 em 2K). Prefira ALTO + 2K para tipografia nítida."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semente para geração reprodutível. Com prompt_upsampling DESLIGADO, a mesma semente e configurações retornam a mesma imagem; com LIGADO/AUTO, a reescrita do prompt varia a cada execução — reproduza um resultado reutilizando o final_prompt com prompt_upsampling DESLIGADO e a mesma semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "final_prompt",
        "tooltip": "O prompt realmente utilizado para gerar a imagem (a legenda estruturada reescrita quando prompt_upsampling foi executado, ou seu prompt original). Use novamente com prompt_upsampling DESLIGADO e a mesma semente para reproduzir esta imagem."
      }
    }
  },
  "IdeogramV3": {
    "description": "Gera imagens usando o modelo Ideogram V3. Suporta tanto a geração de imagens a partir de prompts de texto quanto a edição de imagens com máscara.",
    "display_name": "Ideogram V3",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção",
        "tooltip": "A proporção para geração de imagem. Ignorado se a resolução não estiver definida como Automática."
      },
      "character_image": {
        "name": "imagem_personagem",
        "tooltip": "Imagem para usar como referência de personagem."
      },
      "character_mask": {
        "name": "máscara_personagem",
        "tooltip": "Máscara opcional para a imagem de referência do personagem."
      },
      "control_after_generate": {
        "name": "controle_após_gerar"
      },
      "image": {
        "name": "imagem",
        "tooltip": "Imagem de referência opcional para edição de imagem."
      },
      "magic_prompt_option": {
        "name": "opção_magic_prompt",
        "tooltip": "Determina se o MagicPrompt deve ser usado na geração"
      },
      "mask": {
        "name": "máscara",
        "tooltip": "Máscara opcional para inpainting (áreas brancas serão substituídas)"
      },
      "num_images": {
        "name": "número_de_imagens"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para geração ou edição de imagem"
      },
      "rendering_speed": {
        "name": "velocidade_de_renderização",
        "tooltip": "Controla o equilíbrio entre velocidade de geração e qualidade"
      },
      "resolution": {
        "name": "resolução",
        "tooltip": "A resolução para geração de imagem. Se não estiver definida como Automática, esta opção sobrescreve a configuração de proporção."
      },
      "seed": {
        "name": "semente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "IdeogramV4": {
    "description": "Gera imagens usando o modelo Ideogram 4.0 a partir de um prompt de texto.",
    "display_name": "Ideogram V4",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para a geração da imagem."
      },
      "rendering_speed": {
        "name": "velocidade_de_renderização",
        "tooltip": "Controla o equilíbrio entre velocidade de geração e qualidade."
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageAddNoise": {
    "display_name": "Adicionar Ruído à Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "controle_após_gerar"
      },
      "image": {
        "name": "imagem"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      },
      "strength": {
        "name": "intensidade"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageBatch": {
    "display_name": "Imagens em Lote",
    "inputs": {
      "image1": {
        "name": "imagem1"
      },
      "image2": {
        "name": "imagem2"
      }
    }
  },
  "ImageBlend": {
    "display_name": "Misturar Imagens",
    "inputs": {
      "blend_factor": {
        "name": "fator_de_mistura"
      },
      "blend_mode": {
        "name": "modo_de_mistura"
      },
      "image1": {
        "name": "imagem1"
      },
      "image2": {
        "name": "imagem2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageBlur": {
    "display_name": "Desfoque de Imagem",
    "inputs": {
      "blur_radius": {
        "name": "raio_de_desfoque"
      },
      "image": {
        "name": "imagem"
      },
      "sigma": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageColorToMask": {
    "display_name": "Cor da Imagem para Máscara",
    "inputs": {
      "color": {
        "name": "cor"
      },
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCompare": {
    "description": "Compara duas imagens lado a lado com um controle deslizante.",
    "display_name": "Comparar Imagens",
    "inputs": {
      "compare_view": {
        "name": "compare_view"
      },
      "image_a": {
        "name": "imagem_a"
      },
      "image_b": {
        "name": "imagem_b"
      }
    }
  },
  "ImageCompositeMasked": {
    "display_name": "Composição de Imagem com Máscara",
    "inputs": {
      "destination": {
        "name": "destino"
      },
      "mask": {
        "name": "máscara"
      },
      "resize_source": {
        "name": "redimensionar_fonte"
      },
      "source": {
        "name": "fonte"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCrop": {
    "display_name": "Cortar Imagem",
    "inputs": {
      "height": {
        "name": "altura"
      },
      "image": {
        "name": "imagem"
      },
      "width": {
        "name": "largura"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageCropV2": {
    "description": "Recorte uma imagem para as dimensões especificadas.",
    "display_name": "Corte de Imagem",
    "inputs": {
      "crop_region": {
        "name": "região_de_corte"
      },
      "height": {},
      "image": {
        "name": "imagem"
      },
      "width": {},
      "x": {},
      "y": {}
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageDeduplication": {
    "description": "Remova imagens duplicadas ou muito semelhantes de uma lista.",
    "display_name": "Remover Duplicatas de Imagem",
    "inputs": {
      "images": {
        "name": "imagens",
        "tooltip": "Lista de imagens para processar."
      },
      "similarity_threshold": {
        "name": "limite_de_semelhança",
        "tooltip": "Limite de semelhança (0-1). Quanto maior, mais semelhantes. Imagens acima deste limite são consideradas duplicatas."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Imagens processadas"
      }
    }
  },
  "ImageFlip": {
    "display_name": "Espelhar Imagem",
    "inputs": {
      "flip_method": {
        "name": "método_de_espelhamento"
      },
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageFromBatch": {
    "display_name": "Imagem do Lote",
    "inputs": {
      "batch_index": {
        "name": "índice_do_lote"
      },
      "image": {
        "name": "imagem"
      },
      "length": {
        "name": "comprimento"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageGrid": {
    "description": "Organize várias imagens em um layout de grade.",
    "display_name": "Grade de Imagens",
    "inputs": {
      "cell_height": {
        "name": "altura_da_célula",
        "tooltip": "Altura de cada célula na grade."
      },
      "cell_width": {
        "name": "largura_da_célula",
        "tooltip": "Largura de cada célula na grade."
      },
      "columns": {
        "name": "colunas",
        "tooltip": "Número de colunas na grade."
      },
      "images": {
        "name": "imagens",
        "tooltip": "Lista de imagens para processar."
      },
      "padding": {
        "name": "espaçamento",
        "tooltip": "Espaçamento entre as imagens."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Imagens processadas"
      }
    }
  },
  "ImageHistogram": {
    "display_name": "Histograma de Imagem",
    "inputs": {
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "name": "rgb",
        "tooltip": null
      },
      "1": {
        "name": "luminância",
        "tooltip": null
      },
      "2": {
        "name": "vermelho",
        "tooltip": null
      },
      "3": {
        "name": "verde",
        "tooltip": null
      },
      "4": {
        "name": "azul",
        "tooltip": null
      }
    }
  },
  "ImageInvert": {
    "display_name": "Inverter Imagem",
    "inputs": {
      "image": {
        "name": "imagem"
      }
    }
  },
  "ImageMergeTileList": {
    "display_name": "Mesclar Lista de Blocos em Imagem",
    "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": "Carregador de Checkpoint Somente Imagem (modelo img2vid)",
    "inputs": {
      "ckpt_name": {
        "name": "nome_do_ckpt"
      }
    }
  },
  "ImageOnlyCheckpointSave": {
    "display_name": "Salvar Checkpoint Somente Imagem",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "filename_prefix": {
        "name": "prefixo_do_arquivo"
      },
      "model": {
        "name": "modelo"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "ImagePadForOutpaint": {
    "display_name": "Adicionar Bordas para Outpainting",
    "inputs": {
      "bottom": {
        "name": "inferior"
      },
      "feathering": {
        "name": "suavização"
      },
      "image": {
        "name": "imagem"
      },
      "left": {
        "name": "esquerda"
      },
      "right": {
        "name": "direita"
      },
      "top": {
        "name": "superior"
      }
    }
  },
  "ImageQuantize": {
    "display_name": "Quantizar Imagem",
    "inputs": {
      "colors": {
        "name": "cores"
      },
      "dither": {
        "name": "dithering"
      },
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageRGBToYUV": {
    "display_name": "Converter RGB para YUV",
    "inputs": {
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "name": "Y",
        "tooltip": null
      },
      "1": {
        "name": "U",
        "tooltip": null
      },
      "2": {
        "name": "V",
        "tooltip": null
      }
    }
  },
  "ImageRotate": {
    "display_name": "Rotacionar Imagem",
    "inputs": {
      "image": {
        "name": "imagem"
      },
      "rotation": {
        "name": "rotação"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageScale": {
    "display_name": "Aumentar Resolução da Imagem",
    "inputs": {
      "crop": {
        "name": "cortar"
      },
      "height": {
        "name": "altura"
      },
      "image": {
        "name": "imagem"
      },
      "upscale_method": {
        "name": "método de upscaling"
      },
      "width": {
        "name": "largura"
      }
    }
  },
  "ImageScaleBy": {
    "display_name": "Aumentar Imagem Por",
    "inputs": {
      "image": {
        "name": "imagem"
      },
      "scale_by": {
        "name": "fator de escala"
      },
      "upscale_method": {
        "name": "método de upscaling"
      }
    }
  },
  "ImageScaleToMaxDimension": {
    "display_name": "Redimensionar Imagem para Dimensão Máxima",
    "inputs": {
      "image": {
        "name": "imagem"
      },
      "largest_size": {
        "name": "maior tamanho"
      },
      "upscale_method": {
        "name": "método de upscaling"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageScaleToTotalPixels": {
    "display_name": "Redimensionar Imagem para Total de Pixels",
    "inputs": {
      "image": {
        "name": "imagem"
      },
      "megapixels": {
        "name": "megapixels"
      },
      "resolution_steps": {
        "name": "etapas de resolução"
      },
      "upscale_method": {
        "name": "método de upscaling"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageSharpen": {
    "display_name": "Aumentar Nitidez da Imagem",
    "inputs": {
      "alpha": {
        "name": "alfa"
      },
      "image": {
        "name": "imagem"
      },
      "sharpen_radius": {
        "name": "raio de nitidez"
      },
      "sigma": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageStitch": {
    "description": "Costura a imagem2 na imagem1 na direção especificada.\nSe a imagem2 não for fornecida, retorna a imagem1 inalterada.\nUm espaçamento opcional pode ser adicionado entre as imagens.",
    "display_name": "Costurar Imagem",
    "inputs": {
      "direction": {
        "name": "direção"
      },
      "image1": {
        "name": "imagem1"
      },
      "image2": {
        "name": "imagem2"
      },
      "match_image_size": {
        "name": "ajustar_tamanho_imagem"
      },
      "spacing_color": {
        "name": "cor_espacamento"
      },
      "spacing_width": {
        "name": "largura_espacamento"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageToMask": {
    "display_name": "Converter Imagem em Máscara",
    "inputs": {
      "channel": {
        "name": "canal"
      },
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageUpscaleWithModel": {
    "display_name": "Aumentar Resolução da Imagem (usando Modelo)",
    "inputs": {
      "image": {
        "name": "imagem"
      },
      "upscale_model": {
        "name": "modelo_upscale"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ImageYUVToRGB": {
    "display_name": "ImageYUVToRGB",
    "inputs": {
      "U": {
        "name": "U"
      },
      "V": {
        "name": "V"
      },
      "Y": {
        "name": "Y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "InpaintModelConditioning": {
    "display_name": "InpaintModelConditioning",
    "inputs": {
      "mask": {
        "name": "máscara"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_mask": {
        "name": "máscara_ruído",
        "tooltip": "Adiciona uma máscara de ruído ao latent para que a amostragem ocorra apenas dentro da máscara. Pode melhorar os resultados ou causar falhas dependendo do modelo."
      },
      "pixels": {
        "name": "pixels"
      },
      "positive": {
        "name": "positivo"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      },
      "2": {
        "name": "latent"
      }
    }
  },
  "InstructPixToPixConditioning": {
    "display_name": "InstructPixToPixConditioning",
    "inputs": {
      "negative": {
        "name": "negativo"
      },
      "pixels": {
        "name": "pixels"
      },
      "positive": {
        "name": "positivo"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "InvertMask": {
    "display_name": "Inverter Máscara",
    "inputs": {
      "mask": {
        "name": "máscara"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "JoinAudioChannels": {
    "description": "Une os canais de áudio mono esquerdo e direito em um áudio estéreo.",
    "display_name": "Unir Canais de Áudio",
    "inputs": {
      "audio_left": {
        "name": "áudio_esquerdo"
      },
      "audio_right": {
        "name": "áudio_direito"
      }
    },
    "outputs": {
      "0": {
        "name": "áudio",
        "tooltip": null
      }
    }
  },
  "JoinImageWithAlpha": {
    "display_name": "Unir Imagem com Alfa",
    "inputs": {
      "alpha": {
        "name": "alfa"
      },
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "JsonExtractString": {
    "display_name": "Extrair String do JSON",
    "inputs": {
      "json_string": {
        "name": "json_string"
      },
      "key": {
        "name": "key"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KSampler": {
    "description": "Usa o modelo fornecido, condicionamento positivo e negativo para remover o ruído da imagem latente.",
    "display_name": "KSampler",
    "inputs": {
      "cfg": {
        "name": "cfg",
        "tooltip": "A escala de Classifier-Free Guidance equilibra criatividade e aderência ao prompt. Valores mais altos resultam em imagens mais próximas do prompt, porém valores muito altos podem impactar negativamente a qualidade."
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "denoise": {
        "name": "denoise",
        "tooltip": "A quantidade de remoção de ruído aplicada; valores menores mantêm a estrutura da imagem inicial, permitindo amostragem de imagem para imagem."
      },
      "latent_image": {
        "name": "imagem_latente",
        "tooltip": "A imagem latente a ser denoised."
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo utilizado para remover o ruído do latent de entrada."
      },
      "negative": {
        "name": "negativo",
        "tooltip": "O condicionamento que descreve os atributos que você deseja excluir da imagem."
      },
      "positive": {
        "name": "positivo",
        "tooltip": "O condicionamento que descreve os atributos que você deseja incluir na imagem."
      },
      "sampler_name": {
        "name": "nome_do_sampler",
        "tooltip": "O algoritmo utilizado na amostragem, isso pode afetar a qualidade, velocidade e estilo do resultado gerado."
      },
      "scheduler": {
        "name": "agendador",
        "tooltip": "O agendador controla como o ruído é gradualmente removido para formar a imagem."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      },
      "steps": {
        "name": "passos",
        "tooltip": "O número de passos usados no processo de remoção de ruído."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O latent denoised."
      }
    }
  },
  "KSamplerAdvanced": {
    "display_name": "KSampler (Avançado)",
    "inputs": {
      "add_noise": {
        "name": "adicionar_ruído"
      },
      "cfg": {
        "name": "cfg"
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "end_at_step": {
        "name": "terminar_no_passo"
      },
      "latent_image": {
        "name": "imagem_latente"
      },
      "model": {
        "name": "modelo"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_seed": {
        "name": "semente_do_ruído"
      },
      "positive": {
        "name": "positivo"
      },
      "return_with_leftover_noise": {
        "name": "retornar_com_ruído_restante"
      },
      "sampler_name": {
        "name": "nome_do_sampler"
      },
      "scheduler": {
        "name": "agendador"
      },
      "start_at_step": {
        "name": "iniciar_no_passo"
      },
      "steps": {
        "name": "passos"
      }
    }
  },
  "KSamplerSelect": {
    "display_name": "KSamplerSelect",
    "inputs": {
      "sampler_name": {
        "name": "nome_do_sampler"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Kandinsky5ImageToVideo": {
    "display_name": "Kandinsky5ImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": "Latente de vídeo vazio"
      },
      "3": {
        "name": "latente_cond",
        "tooltip": "Imagens iniciais codificadas limpas, usadas para substituir o início ruidoso dos latentes de saída do modelo"
      }
    }
  },
  "KarrasScheduler": {
    "display_name": "KarrasScheduler",
    "inputs": {
      "rho": {
        "name": "rho"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "etapas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingAvatarNode": {
    "description": "Gere vídeos de humanos digitais em estilo de transmissão a partir de uma única foto e um arquivo de áudio.",
    "display_name": "Kling Avatar 2.0",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "image": {
        "name": "imagem",
        "tooltip": "Imagem de referência do avatar. A largura e a altura devem ser de pelo menos 300px. A proporção deve estar entre 1:2.5 e 2.5:1."
      },
      "mode": {
        "name": "modo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt opcional para definir ações, emoções e movimentos de câmera do avatar."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "sound_file": {
        "name": "arquivo_de_áudio",
        "tooltip": "Entrada de áudio. Deve ter entre 2 e 300 segundos de duração."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingFirstLastFrameNode": {
    "description": "Gere vídeos com Kling V3 usando o primeiro e o último frame.",
    "display_name": "Kling 3.0 Primeiro-Último-Frame para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "end_frame": {
        "name": "último_frame"
      },
      "first_frame": {
        "name": "primeiro_frame"
      },
      "generate_audio": {
        "name": "gerar_áudio"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Configurações de modelo e geração."
      },
      "model_resolution": {
        "name": "resolução"
      },
      "prompt": {
        "name": "prompt"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingImage2VideoNode": {
    "display_name": "Kling Imagem (Primeiro Quadro) para Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "duration": {
        "name": "duration"
      },
      "mode": {
        "name": "mode"
      },
      "model_name": {
        "name": "model_name"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt de texto negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "A imagem de referência usada para gerar o vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingImageGenerationNode": {
    "description": "Nó de Geração de Imagem Kling. Gere uma imagem a partir de um prompt de texto com uma imagem de referência opcional.",
    "display_name": "Geração de Imagem Kling",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "human_fidelity": {
        "name": "human_fidelity",
        "tooltip": "Similaridade de referência do sujeito"
      },
      "image": {
        "name": "image"
      },
      "image_fidelity": {
        "name": "image_fidelity",
        "tooltip": "Intensidade de referência para imagens enviadas pelo usuário"
      },
      "image_type": {
        "name": "image_type"
      },
      "model_name": {
        "name": "model_name"
      },
      "n": {
        "name": "n",
        "tooltip": "Número de imagens geradas"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt de texto negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingImageToVideoWithAudio": {
    "display_name": "Kling Imagem (Primeiro Quadro) para Vídeo com Áudio",
    "inputs": {
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "generate_audio"
      },
      "mode": {
        "name": "mode"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo."
      },
      "start_frame": {
        "name": "start_frame"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingLipSyncAudioToVideoNode": {
    "description": "Nó de Sincronização Labial Kling. Sincroniza os movimentos da boca em um arquivo de vídeo com o conteúdo de áudio de um arquivo de áudio. Ao usar, certifique-se de que o áudio contenha vocais claramente distinguíveis e que o vídeo contenha um rosto distinto. O arquivo de áudio não deve ser maior que 5MB. O arquivo de vídeo não deve ser maior que 100MB, deve ter altura/largura entre 720px e 1920px, e deve ter entre 2s e 10s de duração.",
    "display_name": "Kling Sincronização Labial de Vídeo com Áudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "video": {
        "name": "video"
      },
      "voice_language": {
        "name": "voice_language"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingLipSyncTextToVideoNode": {
    "description": "Nó Kling Lip Sync Texto para Vídeo. Sincroniza os movimentos da boca em um arquivo de vídeo com um prompt de texto. O arquivo de vídeo não deve ser maior que 100MB, deve ter altura/largura entre 720px e 1920px, e duração entre 2s e 10s.",
    "display_name": "Kling Lip Sync Vídeo com Texto",
    "inputs": {
      "text": {
        "name": "texto",
        "tooltip": "Conteúdo de texto para geração de vídeo com lip-sync. Obrigatório quando o modo for text2video. O comprimento máximo é de 120 caracteres."
      },
      "video": {
        "name": "vídeo"
      },
      "voice": {
        "name": "voz"
      },
      "voice_speed": {
        "name": "velocidade_da_voz",
        "tooltip": "Velocidade da fala. Faixa válida: 0,8~2,0, com precisão de uma casa decimal."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "id_vídeo",
        "tooltip": null
      },
      "2": {
        "name": "duração",
        "tooltip": null
      }
    }
  },
  "KlingMotionControl": {
    "display_name": "Kling Controle de Movimento",
    "inputs": {
      "character_orientation": {
        "name": "orientação_do_personagem",
        "tooltip": "Controla de onde vem a orientação/posição do personagem.\nvídeo: movimentos, expressões, movimentos de câmera e orientação seguem o vídeo de referência de movimento (outros detalhes via prompt).\nimagem: movimentos e expressões ainda seguem o vídeo de referência de movimento, mas a orientação do personagem corresponde à imagem de referência (câmera/outros detalhes via prompt)."
      },
      "keep_original_sound": {
        "name": "manter_som_original"
      },
      "mode": {
        "name": "modo"
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt"
      },
      "reference_image": {
        "name": "imagem_de_referência"
      },
      "reference_video": {
        "name": "vídeo_de_referência",
        "tooltip": "Vídeo de referência de movimento usado para guiar o movimento/expressão.\nLimites de duração dependem de character_orientation:\n - imagem: 3–10s (máx 10s)\n - vídeo: 3–30s (máx 30s)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProEditVideoNode": {
    "description": "Edite um vídeo existente com o modelo mais recente da Kling.",
    "display_name": "Kling Omni Editar Vídeo (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "keep_original_sound": {
        "name": "manter_som_original"
      },
      "model_name": {
        "name": "nome_do_modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Um prompt de texto descrevendo o conteúdo do vídeo. Pode incluir descrições positivas e negativas."
      },
      "reference_images": {
        "name": "imagens_de_referência",
        "tooltip": "Até 4 imagens de referência adicionais."
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Vídeo para edição. O comprimento do vídeo de saída será o mesmo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProFirstLastFrameNode": {
    "description": "Use um quadro inicial, um quadro final opcional ou imagens de referência com o modelo mais recente da Kling.",
    "display_name": "Kling Omni Quadro Inicial-Final para Vídeo (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "duration": {
        "name": "duration"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Um quadro final opcional para o vídeo. Não pode ser usado simultaneamente com 'reference_images'."
      },
      "first_frame": {
        "name": "first_frame"
      },
      "generate_audio": {
        "name": "gerar_áudio",
        "tooltip": "Gerar áudio para o vídeo. Suportado apenas para kling-v3-omni."
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Um prompt de texto descrevendo o conteúdo do vídeo. Pode incluir descrições positivas e negativas."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Até 6 imagens de referência adicionais."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "storyboards": {
        "name": "storyboards",
        "tooltip": "Gere uma série de segmentos de vídeo com prompts e durações individuais. Suportado apenas para kling-v3-omni."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProImageNode": {
    "description": "Crie ou edite imagens com o modelo mais recente da Kling.",
    "display_name": "Kling Omni Imagem (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Um prompt de texto descrevendo o conteúdo da imagem. Pode incluir descrições positivas e negativas."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Até 10 imagens de referência adicionais."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "series_amount": {
        "name": "quantidade_de_séries",
        "tooltip": "Gere uma série de imagens. Não suportado para kling-image-o1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProImageToVideoNode": {
    "description": "Use até 7 imagens de referência para gerar um vídeo com o modelo mais recente da Kling.",
    "display_name": "Kling Omni Imagem para Vídeo (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "gerar_áudio",
        "tooltip": "Gerar áudio para o vídeo. Suportado apenas para kling-v3-omni."
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Um prompt de texto descrevendo o conteúdo do vídeo. Pode incluir descrições positivas e negativas."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Até 7 imagens de referência."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "storyboards": {
        "name": "storyboards",
        "tooltip": "Gere uma série de segmentos de vídeo com prompts e durações individuais. Suportado apenas para kling-v3-omni."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProTextToVideoNode": {
    "description": "Use prompts de texto para gerar vídeos com o modelo mais recente da Kling.",
    "display_name": "Kling Omni Texto para Vídeo (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "gerar_áudio"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Um prompt de texto descrevendo o conteúdo do vídeo. Pode incluir descrições positivas e negativas."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "storyboards": {
        "name": "storyboards",
        "tooltip": "Gere uma série de segmentos de vídeo com prompts e durações individuais. Ignorado para o modelo o1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingOmniProVideoToVideoNode": {
    "description": "Use um vídeo e até 4 imagens de referência para gerar um vídeo com o modelo Kling mais recente.",
    "display_name": "Kling Omni Vídeo para Vídeo (Pro)",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "duration": {
        "name": "duration"
      },
      "keep_original_sound": {
        "name": "keep_original_sound"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Um prompt de texto descrevendo o conteúdo do vídeo. Pode incluir descrições positivas e negativas."
      },
      "reference_images": {
        "name": "reference_images",
        "tooltip": "Até 4 imagens de referência adicionais."
      },
      "reference_video": {
        "name": "reference_video",
        "tooltip": "Vídeo para usar como referência."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "O seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingStartEndFrameNode": {
    "description": "Gere uma sequência de vídeo que faz a transição entre as imagens inicial e final fornecidas. O nó cria todos os quadros intermediários, produzindo uma transformação suave do primeiro ao último quadro.",
    "display_name": "Kling Quadro Inicial-Final para Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Imagem de referência - Controle do quadro final. URL ou string Base64, não pode exceder 10MB, resolução não inferior a 300x300px. Base64 não deve incluir o prefixo data:image."
      },
      "mode": {
        "name": "mode",
        "tooltip": "A configuração a ser usada para a geração do vídeo seguindo o formato: mode / duration / model_name."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt de texto negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo"
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Imagem de referência - URL ou string Base64, não pode exceder 10MB, resolução não inferior a 300x300px, proporção entre 1:2.5 ~ 2.5:1. Base64 não deve incluir o prefixo data:image."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingTextToVideoNode": {
    "description": "Nó Kling Texto para Vídeo",
    "display_name": "Kling Texto para Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "mode": {
        "name": "mode",
        "tooltip": "A configuração a ser usada para a geração do vídeo seguindo o formato: modo / duração / model_name."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt de texto negativo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingTextToVideoWithAudio": {
    "display_name": "Kling Texto para Vídeo com Áudio",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "duration": {
        "name": "duration"
      },
      "generate_audio": {
        "name": "generate_audio"
      },
      "mode": {
        "name": "mode"
      },
      "model_name": {
        "name": "model_name"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "KlingVideoExtendNode": {
    "description": "Nó Kling Extender Vídeo. Estenda vídeos criados por outros nós Kling. O video_id é criado usando outros Nós Kling.",
    "display_name": "Kling Extender Vídeo",
    "inputs": {
      "cfg_scale": {
        "name": "cfg_scale"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt de texto negativo para elementos a serem evitados no vídeo estendido"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto positivo para guiar a extensão do vídeo"
      },
      "video_id": {
        "name": "video_id",
        "tooltip": "O ID do vídeo a ser estendido. Suporta vídeos gerados por texto para vídeo, imagem para vídeo e operações anteriores de extensão de vídeo. Não pode exceder 3 minutos de duração total após a extensão."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "video_id",
        "tooltip": null
      },
      "2": {
        "name": "duration",
        "tooltip": null
      }
    }
  },
  "KlingVideoNode": {
    "description": "Gere vídeos com Kling V3. Suporta texto-para-vídeo e imagem-para-vídeo com storyboard opcional, multi-prompt e geração de áudio.",
    "display_name": "Kling 3.0 Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "generate_audio": {
        "name": "gerar áudio",
        "tooltip": "'kling-3.0-turbo' sempre gera áudio nativo, então a opção de áudio é ignorada."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Configurações de modelo e geração."
      },
      "model_aspect_ratio": {
        "name": "proporção"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "multi_shot": {
        "name": "multi_shot",
        "tooltip": "Gere uma série de segmentos de vídeo com prompts e durações individuais."
      },
      "multi_shot_duration": {
        "name": "duração"
      },
      "multi_shot_negative_prompt": {
        "name": "prompt_negativo"
      },
      "multi_shot_prompt": {
        "name": "prompt"
      },
      "seed": {
        "name": "seed",
        "tooltip": "O seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      },
      "start_frame": {
        "name": "quadro inicial",
        "tooltip": "Quadro inicial opcional. Quando conectado, alterna para o modo imagem-para-vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Krea2ImageNode": {
    "description": "Gere imagens via Krea 2 — escolha Medium (ilustrações expressivas) ou Large (fotorrealismo expressivo). Suporta um moodboard opcional e até 10 referências de estilo de imagem encadeadas.",
    "display_name": "Krea 2 Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Krea 2 Medium é melhor para ilustrações expressivas; Krea 2 Large é melhor para fotorrealismo expressivo."
      },
      "model_aspect_ratio": {
        "name": "proporção"
      },
      "model_creativity": {
        "name": "criatividade"
      },
      "model_moodboard_id": {
        "name": "moodboard_id"
      },
      "model_moodboard_strength": {
        "name": "força do moodboard"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para a imagem."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória para reprodutibilidade."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Krea2StyleReferenceNode": {
    "description": "Adicione uma referência de estilo de imagem a uma geração do Krea 2. Encadeie múltiplos nós de Referência de Estilo Krea 2 (máx. 10) e envie a saída final `style_reference` para o Krea 2 Imagem. Cada imagem é enviada para o armazenamento ComfyAPI e passada como URL.",
    "display_name": "Krea 2 Referência de Estilo",
    "inputs": {
      "image": {
        "name": "imagem",
        "tooltip": "Imagem de referência cujo estilo influencia a geração."
      },
      "strength": {
        "name": "força",
        "tooltip": "Força da referência; valores negativos invertem a influência do estilo."
      },
      "style_reference": {
        "name": "style_reference",
        "tooltip": "Cadeia opcional de referências de estilo recebidas; este nó adiciona mais uma."
      }
    },
    "outputs": {
      "0": {
        "name": "style_reference",
        "tooltip": null
      }
    }
  },
  "LTXAVTextEncoderLoader": {
    "description": "[Receitas]\n\nltxav: gemma 3 12B",
    "display_name": "Carregador de Codificador de Texto LTXV Áudio",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name"
      },
      "device": {
        "name": "device"
      },
      "text_encoder": {
        "name": "text_encoder"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVAddGuide": {
    "display_name": "LTXVAddGuide",
    "inputs": {
      "attention_mask": {
        "name": "attention_mask",
        "tooltip": "Máscara espacial opcional no espaço de pixels. Controla a influência do condicionamento por região via self-attention, multiplicada pela intensidade."
      },
      "frame_idx": {
        "name": "frame_idx",
        "tooltip": "Índice do quadro para iniciar o condicionamento. Para imagens de um quadro ou vídeos com 1-8 quadros, qualquer valor de frame_idx é aceitável. Para vídeos com 9+ quadros, frame_idx deve ser divisível por 8, caso contrário será arredondado para baixo para o múltiplo de 8 mais próximo. Valores negativos são contados a partir do final do vídeo."
      },
      "iclora_parameters": {
        "name": "iclora_parameters",
        "tooltip": "Parâmetros IC-LoRA opcionais de um nó Get IC-LoRA Parameters. Usado para ajustar o processamento dos guias conforme exigido por certos IC-LoRAs (ex: aqueles com reference_downscale_factor > 1). Quando encadeado, cada LTXVAddGuide usa apenas os parâmetros conectados a ele."
      },
      "image": {
        "name": "image",
        "tooltip": "Imagem ou vídeo para condicionar o vídeo latente. Deve ter 8*n + 1 quadros. Se o vídeo não tiver 8*n + 1 quadros, será cortado para o múltiplo mais próximo de 8*n + 1 quadros."
      },
      "latent": {
        "name": "latent"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "strength": {
        "name": "strength"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAEDecode": {
    "display_name": "LTXV Decodificar Áudio VAE",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "O modelo Audio VAE usado para decodificar o latent."
      },
      "samples": {
        "name": "amostras",
        "tooltip": "O latent a ser decodificado."
      }
    },
    "outputs": {
      "0": {
        "name": "Áudio",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAEEncode": {
    "display_name": "LTXV Codificar Áudio VAE",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "O áudio a ser codificado."
      },
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "O modelo Audio VAE a ser usado para codificação."
      }
    },
    "outputs": {
      "0": {
        "name": "Latent de Áudio",
        "tooltip": null
      }
    }
  },
  "LTXVAudioVAELoader": {
    "display_name": "LTXV Carregar Áudio VAE",
    "inputs": {
      "ckpt_name": {
        "name": "nome_ckpt",
        "tooltip": "Checkpoint do Audio VAE para carregar."
      }
    },
    "outputs": {
      "0": {
        "name": "Audio VAE",
        "tooltip": null
      }
    }
  },
  "LTXVConcatAVLatent": {
    "description": "Mescla um latente de vídeo e um latente de áudio em um latente AV conjunto (qualquer modelo AV, ex: LTXV ou MiniMax H3).",
    "display_name": "LTXVConcatAVLatent",
    "inputs": {
      "audio_latent": {
        "name": "audio_latent"
      },
      "video_latent": {
        "name": "video_latent"
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "LTXVConditioning": {
    "display_name": "LTXVConditioning",
    "inputs": {
      "frame_rate": {
        "name": "taxa_de_quadros"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "LTXVContextWindows": {
    "description": "Defina janelas de contexto para modelos do tipo LTXV.",
    "display_name": "Janelas de Contexto LTXV",
    "inputs": {
      "closed_loop": {
        "name": "closed_loop",
        "tooltip": "Se deve fechar o loop da janela de contexto; aplicável apenas para agendamentos em loop."
      },
      "context_length": {
        "name": "context_length",
        "tooltip": "O comprimento da janela de contexto em quadros reais. Deve ser 8*n + 1."
      },
      "context_overlap": {
        "name": "context_overlap",
        "tooltip": "A sobreposição da janela de contexto em quadros reais."
      },
      "context_schedule": {
        "name": "context_schedule",
        "tooltip": "Algoritmo de agendamento dependente de etapa para janelas de contexto."
      },
      "context_stride": {
        "name": "context_stride",
        "tooltip": "O passo da janela de contexto; aplicável apenas para agendamentos uniformes."
      },
      "freenoise": {
        "name": "freenoise",
        "tooltip": "Se deve aplicar embaralhamento de ruído FreeNoise, melhora a mesclagem das janelas."
      },
      "fuse_method": {
        "name": "fuse_method",
        "tooltip": "O método a ser usado para fundir as janelas de contexto."
      },
      "model": {
        "name": "model",
        "tooltip": "O modelo ao qual aplicar as janelas de contexto durante a amostragem."
      },
      "retain_first_frame": {
        "name": "retain_first_frame",
        "tooltip": "Reter o primeiro quadro latente em cada janela de contexto (pode ajudar a manter a referência inicial)."
      },
      "split_conds_to_windows": {
        "name": "split_conds_to_windows",
        "tooltip": "Se deve dividir múltiplos condicionamentos (criados por ConditionCombine) para cada janela com base no índice da região."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O modelo com janelas de contexto aplicadas durante a amostragem."
      }
    }
  },
  "LTXVCropGuides": {
    "display_name": "LTXVCropGuides",
    "inputs": {
      "latent": {
        "name": "latent"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "LTXVEmptyLatentAudio": {
    "display_name": "LTXV Áudio Latente Vazio",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "O modelo Audio VAE do qual obter a configuração."
      },
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Quantidade de amostras de áudio latente no lote."
      },
      "frame_rate": {
        "name": "frame_rate",
        "tooltip": "Número de quadros por segundo."
      },
      "frames_number": {
        "name": "frames_number",
        "tooltip": "Número de quadros."
      }
    },
    "outputs": {
      "0": {
        "name": "Latent",
        "tooltip": null
      }
    }
  },
  "LTXVImgToVideo": {
    "display_name": "LTXVImgToVideo",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "image": {
        "name": "image"
      },
      "length": {
        "name": "length"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "strength": {
        "name": "strength"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "LTXVImgToVideoInplace": {
    "display_name": "LTXVImgToVideoInplace",
    "inputs": {
      "bypass": {
        "name": "bypass",
        "tooltip": "Ignorar o condicionamento."
      },
      "image": {
        "name": "image"
      },
      "latent": {
        "name": "latent"
      },
      "strength": {
        "name": "strength"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "LTXVLatentUpsampler": {
    "display_name": "LTXVLatentUpsampler",
    "inputs": {
      "samples": {
        "name": "samples"
      },
      "upscale_model": {
        "name": "upscale_model"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVPreprocess": {
    "display_name": "LTXVPreprocess",
    "inputs": {
      "image": {
        "name": "image"
      },
      "img_compression": {
        "name": "img_compression",
        "tooltip": "Quantidade de compressão a ser aplicada na imagem."
      }
    },
    "outputs": {
      "0": {
        "name": "output_image",
        "tooltip": null
      }
    }
  },
  "LTXVReferenceAudio": {
    "description": "Defina o áudio de referência para transferência de identidade de locutor com ID-LoRA. Codifica um clipe de áudio de referência no condicionamento e, opcionalmente, ajusta o modelo com orientação de identidade (passagem extra sem referência, amplificando o efeito de identidade do locutor).",
    "display_name": "LTXV Reference Audio (ID-LoRA)",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae",
        "tooltip": "LTXV Audio VAE para codificação."
      },
      "end_percent": {
        "name": "percentual_final",
        "tooltip": "Fim do intervalo sigma onde a orientação de identidade está ativa."
      },
      "identity_guidance_scale": {
        "name": "escala_de_orientação_de_identidade",
        "tooltip": "Intensidade da orientação de identidade. Executa uma passagem extra sem referência a cada etapa para amplificar a identidade do locutor. Defina como 0 para desativar (sem passagem extra)."
      },
      "model": {
        "name": "modelo"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "reference_audio": {
        "name": "áudio_de_referência",
        "tooltip": "Clipe de áudio de referência cuja identidade do locutor será transferida. Recomenda-se cerca de 5 segundos (duração do treinamento). Clipe mais curto ou mais longo pode prejudicar a transferência da identidade vocal."
      },
      "start_percent": {
        "name": "percentual_inicial",
        "tooltip": "Início do intervalo sigma onde a orientação de identidade está ativa."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "positivo",
        "tooltip": null
      },
      "2": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "LTXVScheduler": {
    "display_name": "LTXVScheduler",
    "inputs": {
      "base_shift": {
        "name": "base_shift"
      },
      "latent": {
        "name": "latent"
      },
      "max_shift": {
        "name": "max_shift"
      },
      "steps": {
        "name": "steps"
      },
      "stretch": {
        "name": "stretch",
        "tooltip": "Estique os sigmas para ficarem no intervalo [terminal, 1]."
      },
      "terminal": {
        "name": "terminal",
        "tooltip": "O valor terminal dos sigmas após o estiramento."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LTXVSeparateAVLatent": {
    "description": "LTXV Separar 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": "LaplaceScheduler",
    "inputs": {
      "beta": {
        "name": "beta"
      },
      "mu": {
        "name": "mu"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "passos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentAdd": {
    "display_name": "LatentAdd",
    "inputs": {
      "samples1": {
        "name": "amostras1"
      },
      "samples2": {
        "name": "amostras2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentApplyOperation": {
    "display_name": "LatentApplyOperation",
    "inputs": {
      "operation": {
        "name": "operação"
      },
      "samples": {
        "name": "amostras"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentApplyOperationCFG": {
    "display_name": "LatentApplyOperationCFG",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "operation": {
        "name": "operação"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBatch": {
    "display_name": "LatentBatch",
    "inputs": {
      "samples1": {
        "name": "amostras1"
      },
      "samples2": {
        "name": "amostras2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBatchSeedBehavior": {
    "display_name": "LatentBatchSeedBehavior",
    "inputs": {
      "samples": {
        "name": "amostras"
      },
      "seed_behavior": {
        "name": "comportamento_da_semente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentBlend": {
    "display_name": "Latent Blend",
    "inputs": {
      "blend_factor": {
        "name": "fator_de_mistura"
      },
      "samples1": {
        "name": "amostras1"
      },
      "samples2": {
        "name": "amostras2"
      }
    }
  },
  "LatentComposite": {
    "display_name": "Latent Composite",
    "inputs": {
      "feather": {
        "name": "suavização"
      },
      "samples_from": {
        "name": "amostras_origem"
      },
      "samples_to": {
        "name": "amostras_destino"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "LatentCompositeMasked": {
    "display_name": "LatentCompositeMasked",
    "inputs": {
      "destination": {
        "name": "destino"
      },
      "mask": {
        "name": "máscara"
      },
      "resize_source": {
        "name": "redimensionar_origem"
      },
      "source": {
        "name": "origem"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentConcat": {
    "display_name": "LatentConcat",
    "inputs": {
      "dim": {
        "name": "dimensão"
      },
      "samples1": {
        "name": "amostras1"
      },
      "samples2": {
        "name": "amostras2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentCrop": {
    "display_name": "Crop Latent",
    "inputs": {
      "height": {
        "name": "altura"
      },
      "samples": {
        "name": "amostras"
      },
      "width": {
        "name": "largura"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    }
  },
  "LatentCut": {
    "display_name": "LatentCut",
    "inputs": {
      "amount": {
        "name": "quantidade"
      },
      "dim": {
        "name": "dimensão"
      },
      "index": {
        "name": "índice"
      },
      "samples": {
        "name": "amostras"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentCutToBatch": {
    "display_name": "LatentCutToBatch",
    "inputs": {
      "dim": {
        "name": "dimensão"
      },
      "samples": {
        "name": "amostras"
      },
      "slice_size": {
        "name": "tamanho_do_fatiamento"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentFlip": {
    "display_name": "Inverter Latent",
    "inputs": {
      "flip_method": {
        "name": "método_de_inversão"
      },
      "samples": {
        "name": "amostras"
      }
    }
  },
  "LatentFromBatch": {
    "display_name": "Latent de Lote",
    "inputs": {
      "batch_index": {
        "name": "índice_do_lote"
      },
      "length": {
        "name": "comprimento"
      },
      "samples": {
        "name": "amostras"
      }
    }
  },
  "LatentInterpolate": {
    "display_name": "Interpolar Latent",
    "inputs": {
      "ratio": {
        "name": "proporção"
      },
      "samples1": {
        "name": "amostras1"
      },
      "samples2": {
        "name": "amostras2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentMultiply": {
    "display_name": "Multiplicar Latent",
    "inputs": {
      "multiplier": {
        "name": "multiplicador"
      },
      "samples": {
        "name": "amostras"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentOperationSharpen": {
    "display_name": "LatentOperationSharpen",
    "inputs": {
      "alpha": {
        "name": "alfa"
      },
      "sharpen_radius": {
        "name": "raio_de_nitidez"
      },
      "sigma": {
        "name": "sigma"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentOperationTonemapReinhard": {
    "display_name": "LatentOperationTonemapReinhard",
    "inputs": {
      "multiplier": {
        "name": "multiplicador"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentRotate": {
    "display_name": "Rotacionar Latent",
    "inputs": {
      "rotation": {
        "name": "rotação"
      },
      "samples": {
        "name": "amostras"
      }
    }
  },
  "LatentSubtract": {
    "display_name": "Subtrair Latent",
    "inputs": {
      "samples1": {
        "name": "amostras1"
      },
      "samples2": {
        "name": "amostras2"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LatentUpscale": {
    "display_name": "Aumentar Resolução Latent",
    "inputs": {
      "crop": {
        "name": "corte"
      },
      "height": {
        "name": "altura"
      },
      "samples": {
        "name": "amostras"
      },
      "upscale_method": {
        "name": "método_de_upscale"
      },
      "width": {
        "name": "largura"
      }
    }
  },
  "LatentUpscaleBy": {
    "display_name": "Aumentar Resolução Latent Por",
    "inputs": {
      "samples": {
        "name": "amostras"
      },
      "scale_by": {
        "name": "escalar_por"
      },
      "upscale_method": {
        "name": "método_de_upscale"
      }
    }
  },
  "LatentUpscaleModelLoader": {
    "display_name": "Carregar Modelo de Upscale Latent",
    "inputs": {
      "model_name": {
        "name": "nome_do_modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LazyCache": {
    "description": "Uma versão caseira do EasyCache - uma versão ainda 'mais fácil' do EasyCache de implementar. No geral, funciona pior que o EasyCache, mas melhor em alguns casos raros E tem compatibilidade universal com tudo no ComfyUI.",
    "display_name": "LazyCache",
    "inputs": {
      "end_percent": {
        "name": "percentual_final",
        "tooltip": "A etapa relativa de amostragem para parar de usar o LazyCache."
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo ao qual adicionar o LazyCache."
      },
      "reuse_threshold": {
        "name": "limite_de_reutilização",
        "tooltip": "O limite para reutilizar etapas em cache."
      },
      "start_percent": {
        "name": "percentual_inicial",
        "tooltip": "A etapa relativa de amostragem para começar a usar o LazyCache."
      },
      "verbose": {
        "name": "detalhado",
        "tooltip": "Se deve registrar informações detalhadas."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O modelo com LazyCache."
      }
    }
  },
  "Load3D": {
    "display_name": "Carregar 3D & Animação",
    "inputs": {
      "clear": {},
      "height": {
        "name": "altura"
      },
      "image": {
        "name": "imagem"
      },
      "model_file": {
        "name": "arquivo_do_modelo"
      },
      "upload 3d model": {},
      "upload extra resources": {},
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "imagem",
        "tooltip": null
      },
      "1": {
        "name": "mask",
        "tooltip": null
      },
      "2": {
        "name": "caminho_do_mesh",
        "tooltip": null
      },
      "3": {
        "name": "normal",
        "tooltip": null
      },
      "4": {
        "name": "informações_da_câmera",
        "tooltip": null
      },
      "5": {
        "name": "vídeo_de_gravação",
        "tooltip": null
      },
      "6": {
        "name": "model_3d",
        "tooltip": null
      },
      "7": {
        "name": "model_3d_info",
        "tooltip": null
      }
    }
  },
  "Load3DAdvanced": {
    "display_name": "Carregar 3D (Avançado)",
    "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": "Carregar Áudio",
    "inputs": {
      "audio": {
        "name": "áudio"
      },
      "audioUI": {
        "name": "áudioUI"
      },
      "upload": {
        "name": "escolher arquivo para enviar"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadBackgroundRemovalModel": {
    "display_name": "Carregar Modelo de Remoção de Fundo",
    "inputs": {
      "bg_removal_name": {
        "name": "nome_remoção_fundo",
        "tooltip": "O modelo usado para remover fundos de imagens"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_fundo",
        "tooltip": null
      }
    }
  },
  "LoadDA3Model": {
    "display_name": "Carregar Depth Anything 3",
    "inputs": {
      "model_name": {
        "name": "model_name"
      },
      "weight_dtype": {
        "name": "weight_dtype"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadImage": {
    "display_name": "Carregar Imagem",
    "inputs": {
      "image": {
        "name": "imagem"
      },
      "upload": {
        "name": "escolher arquivo para enviar"
      }
    }
  },
  "LoadImageDataSetFromFolder": {
    "description": "Carregue um conjunto de imagens de uma pasta especificada e retorne uma lista de imagens. Formatos suportados: PNG, JPG, JPEG, WEBP.",
    "display_name": "Carregar Conjunto de Imagens da Pasta",
    "inputs": {
      "folder": {
        "name": "pasta",
        "tooltip": "A pasta de onde carregar as imagens."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Lista de imagens carregadas"
      }
    }
  },
  "LoadImageMask": {
    "display_name": "Carregar Imagem (como Mask)",
    "inputs": {
      "channel": {
        "name": "canal"
      },
      "image": {
        "name": "imagem"
      },
      "upload": {
        "name": "escolher arquivo para enviar"
      }
    }
  },
  "LoadImageOutput": {
    "description": "Carregue uma imagem da pasta de saída. Quando o botão de atualizar for clicado, o nó irá atualizar a lista de imagens e selecionar automaticamente a primeira imagem, facilitando a iteração.",
    "display_name": "Carregar Imagem (dos Resultados)",
    "inputs": {
      "Auto-refresh after generation": {},
      "image": {
        "name": "imagem"
      },
      "refresh": {},
      "upload": {
        "name": "escolher arquivo para enviar"
      }
    }
  },
  "LoadImageTextDataSetFromFolder": {
    "description": "Carregue um conjunto de pares de imagens e legendas de texto de uma pasta especificada e retorne-os como uma lista. Formatos suportados: PNG, JPG, JPEG, WEBP.",
    "display_name": "Carregar Conjunto de Dados de Imagem e Texto da Pasta",
    "inputs": {
      "folder": {
        "name": "pasta",
        "tooltip": "A pasta de onde as imagens serão carregadas."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Lista de imagens carregadas"
      },
      "1": {
        "name": "textos",
        "tooltip": "Lista de legendas de texto"
      }
    }
  },
  "LoadLatent": {
    "display_name": "Carregar Latent",
    "inputs": {
      "latent": {
        "name": "latent"
      }
    }
  },
  "LoadMediaPipeFaceLandmarker": {
    "display_name": "Carregar MediaPipe Face Landmarker",
    "inputs": {
      "model_name": {
        "name": "model_name",
        "tooltip": "Face Landmarker safetensors de models/mediapipe/."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadMoGeModel": {
    "display_name": "Carregar Modelo MoGe",
    "inputs": {
      "model_name": {
        "name": "model_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadTrainingDataset": {
    "description": "Carregue o conjunto de dados de treinamento codificado (latents + condicionamento) do disco para uso em treinamento.",
    "display_name": "Carregar Conjunto de Dados de Treinamento",
    "inputs": {
      "folder_name": {
        "name": "nome_da_pasta",
        "tooltip": "Nome da pasta contendo o conjunto de dados salvo (dentro do diretório de saída)."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "Lista de dicionários de latent"
      },
      "1": {
        "name": "condicionamentos",
        "tooltip": "Lista de listas de condicionamento"
      }
    }
  },
  "LoadVideo": {
    "display_name": "Carregar Vídeo",
    "inputs": {
      "file": {
        "name": "arquivo"
      },
      "upload": {
        "name": "escolher arquivo para enviar"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LoadVideoDataSetFromFolder": {
    "description": "Carregue um conjunto de vídeos de uma pasta especificada e retorne uma lista de vídeos. Formatos suportados: MP4, AVI, MOV, WEBM, MKV, FLV.",
    "display_name": "Carregar Vídeo (da Pasta)",
    "inputs": {
      "folder": {
        "name": "pasta",
        "tooltip": "A pasta contendo os arquivos de vídeo."
      }
    },
    "outputs": {
      "0": {
        "name": "vídeos",
        "tooltip": "Referências de vídeo preguiçosas; quadros são decodificados apenas quando necessário a jusante."
      }
    }
  },
  "LoadVideoTextDataSetFromFolder": {
    "description": "Carregue um conjunto de pares de vídeos e legendas de texto de uma pasta especificada e retorne-os como uma lista. Formatos suportados: MP4, AVI, MOV, WEBM, MKV, FLV.",
    "display_name": "Carregar Vídeo-Texto (da Pasta)",
    "inputs": {
      "folder": {
        "name": "pasta",
        "tooltip": "A pasta contendo arquivos de vídeo e legendas .txt."
      }
    },
    "outputs": {
      "0": {
        "name": "vídeos",
        "tooltip": "Referências de vídeo preguiçosas; quadros são decodificados apenas quando necessário a jusante."
      },
      "1": {
        "name": "textos",
        "tooltip": "Lista de legendas de texto."
      }
    }
  },
  "LoraLoader": {
    "description": "LoRAs são usados para modificar modelos de difusão e CLIP, alterando a forma como os latents são denoizados, como na aplicação de estilos. Vários nós LoRA podem ser conectados juntos.",
    "display_name": "Carregar LoRA",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "O modelo CLIP ao qual o LoRA será aplicado."
      },
      "lora_name": {
        "name": "nome_do_lora",
        "tooltip": "O nome do LoRA."
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo de difusão ao qual o LoRA será aplicado."
      },
      "strength_clip": {
        "name": "força_clip",
        "tooltip": "Quão fortemente modificar o modelo CLIP. Este valor pode ser negativo."
      },
      "strength_model": {
        "name": "força_modelo",
        "tooltip": "Quão fortemente modificar o modelo de difusão. Este valor pode ser negativo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O modelo de difusão modificado."
      },
      "1": {
        "tooltip": "O modelo CLIP modificado."
      }
    }
  },
  "LoraLoaderBypass": {
    "description": "Aplicar LoRA no modo bypass. Diferente do LoRA regular, isso não modifica os pesos do modelo – em vez disso, injeta o cálculo do LoRA durante a passagem direta. Útil para cenários de treinamento.",
    "display_name": "Carregar LoRA (Bypass) (Para depuração)",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "O modelo CLIP ao qual o LoRA será aplicado."
      },
      "lora_name": {
        "name": "lora_name",
        "tooltip": "O nome do LoRA."
      },
      "model": {
        "name": "model",
        "tooltip": "O modelo de difusão ao qual o LoRA será aplicado."
      },
      "strength_clip": {
        "name": "strength_clip",
        "tooltip": "Quão fortemente modificar o modelo CLIP. Este valor pode ser negativo."
      },
      "strength_model": {
        "name": "strength_model",
        "tooltip": "Quão fortemente modificar o modelo de difusão. Este valor pode ser negativo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O modelo de difusão modificado."
      },
      "1": {
        "tooltip": "O modelo CLIP modificado."
      }
    }
  },
  "LoraLoaderBypassModelOnly": {
    "description": "Aplicar LoRA no modo bypass. Diferente do LoRA regular, isso não modifica os pesos do modelo – em vez disso, injeta o cálculo do LoRA durante a passagem direta. Útil para cenários de treinamento.",
    "display_name": "Carregar LoRA (Bypass, Apenas Modelo) (para depuração)",
    "inputs": {
      "lora_name": {
        "name": "lora_name"
      },
      "model": {
        "name": "model"
      },
      "strength_model": {
        "name": "strength_model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O modelo de difusão modificado."
      }
    }
  },
  "LoraLoaderModelOnly": {
    "description": "LoRAs são usados para modificar modelos de difusão e CLIP, alterando a forma como os latents são denoizados, como na aplicação de estilos. Vários nós LoRA podem ser conectados juntos.",
    "display_name": "LoraLoaderModelOnly",
    "inputs": {
      "lora_name": {
        "name": "nome_do_lora"
      },
      "model": {
        "name": "modelo"
      },
      "strength_model": {
        "name": "força_modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O modelo de difusão modificado."
      }
    }
  },
  "LoraModelLoader": {
    "display_name": "Carregar Modelo LoRA",
    "inputs": {
      "bypass": {
        "name": "bypass",
        "tooltip": "Quando ativado, aplica o LoRA no modo bypass sem modificar os pesos do modelo base. Útil para treinamento e quando os pesos do modelo são descarregados."
      },
      "lora": {
        "name": "lora",
        "tooltip": "O modelo LoRA a ser aplicado ao modelo de difusão."
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo de difusão ao qual o LoRA será aplicado."
      },
      "strength_model": {
        "name": "força_modelo",
        "tooltip": "Quão fortemente modificar o modelo de difusão. Este valor pode ser negativo."
      }
    },
    "outputs": {
      "0": {
        "name": "modelo",
        "tooltip": "O modelo de difusão modificado."
      }
    }
  },
  "LoraSave": {
    "display_name": "Extrair e Salvar Lora",
    "inputs": {
      "bias_diff": {
        "name": "bias_diff"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "lora_type": {
        "name": "lora_type"
      },
      "model_diff": {
        "name": "model_diff",
        "tooltip": "A saída do ModelSubtract a ser convertida em uma lora."
      },
      "rank": {
        "name": "rank"
      },
      "text_encoder_diff": {
        "name": "text_encoder_diff",
        "tooltip": "A saída do CLIPSubtract a ser convertida em uma lora."
      }
    }
  },
  "LossGraphNode": {
    "display_name": "Plotar Gráfico de Loss",
    "inputs": {
      "filename_prefix": {
        "name": "filename_prefix",
        "tooltip": "Prefixo para a imagem do gráfico de loss salvo."
      },
      "loss": {
        "name": "loss",
        "tooltip": "Mapa de loss do nó de treinamento."
      }
    }
  },
  "LotusConditioning": {
    "display_name": "LotusConditioning",
    "outputs": {
      "0": {
        "name": "conditioning",
        "tooltip": null
      }
    }
  },
  "LtxvApiImageToVideo": {
    "description": "Vídeos de qualidade profissional com duração e resolução personalizáveis a partir da imagem inicial.",
    "display_name": "LTXV Imagem para Vídeo",
    "inputs": {
      "duration": {
        "name": "duration"
      },
      "fps": {
        "name": "fps"
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Quando verdadeiro, o vídeo gerado incluirá áudio gerado por IA correspondente à cena."
      },
      "image": {
        "name": "image",
        "tooltip": "Primeiro quadro a ser usado para o vídeo."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt"
      },
      "resolution": {
        "name": "resolution"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LtxvApiTextToVideo": {
    "description": "Vídeos de qualidade profissional com duração e resolução personalizáveis.",
    "display_name": "LTXV Texto para Vídeo",
    "inputs": {
      "duration": {
        "name": "duração"
      },
      "fps": {
        "name": "fps"
      },
      "generate_audio": {
        "name": "gerar_áudio",
        "tooltip": "Quando verdadeiro, o vídeo gerado incluirá áudio gerado por IA correspondente à cena."
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt"
      },
      "resolution": {
        "name": "resolução"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaConceptsNode": {
    "description": "Conceitos de Câmera para uso com os nós Luma Texto para Vídeo e Luma Imagem para Vídeo.",
    "display_name": "Luma Concepts",
    "inputs": {
      "concept1": {
        "name": "concept1"
      },
      "concept2": {
        "name": "concept2"
      },
      "concept3": {
        "name": "concept3"
      },
      "concept4": {
        "name": "concept4"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Conceitos de Câmera opcionais para adicionar aos escolhidos aqui."
      }
    },
    "outputs": {
      "0": {
        "name": "luma_concepts",
        "tooltip": null
      }
    }
  },
  "LumaImageEditNode2": {
    "description": "Edite uma imagem existente com um prompt de texto usando o modelo Luma UNI-1.",
    "display_name": "Luma UNI-1 Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Modelo a ser usado para edição."
      },
      "model_style": {
        "name": "style"
      },
      "model_web_search": {
        "name": "web_search"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição da edição desejada. 1–6000 caracteres."
      },
      "seed": {
        "name": "seed",
        "tooltip": "O seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      },
      "source": {
        "name": "source",
        "tooltip": "Imagem de origem para editar."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageModifyNode": {
    "description": "Modifica imagens de forma síncrona com base no prompt e na proporção.",
    "display_name": "Luma Imagem para Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image"
      },
      "image_weight": {
        "name": "image_weight",
        "tooltip": "Peso da imagem; quanto mais próximo de 1.0, menos a imagem será modificada."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente do seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageNode": {
    "description": "Gera imagens de forma síncrona com base no prompt e na proporção.",
    "display_name": "Luma Texto para Imagem",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio"
      },
      "character_image": {
        "name": "character_image",
        "tooltip": "Imagens de referência de personagem; pode ser um lote de várias, até 4 imagens podem ser consideradas."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image_luma_ref": {
        "name": "image_luma_ref",
        "tooltip": "Conexão do nó de Referência Luma para influenciar a geração com imagens de entrada; até 4 imagens podem ser consideradas."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente do seed."
      },
      "style_image": {
        "name": "style_image",
        "tooltip": "Imagem de referência de estilo; apenas 1 imagem será usada."
      },
      "style_image_weight": {
        "name": "style_image_weight",
        "tooltip": "Peso da imagem de estilo. Ignorado se nenhuma style_image for fornecida."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageNode2": {
    "description": "Gere imagens a partir de texto usando o modelo Luma UNI-1.",
    "display_name": "Luma UNI-1 Image",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Modelo a ser usado para geração."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_style": {
        "name": "style"
      },
      "model_web_search": {
        "name": "web_search"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto da imagem desejada. 1–6000 caracteres."
      },
      "seed": {
        "name": "seed",
        "tooltip": "O seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaImageToVideoNode": {
    "description": "Gera vídeos de forma síncrona com base no prompt, imagens de entrada e output_size.",
    "display_name": "Luma Imagem para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "first_image": {
        "name": "primeira_imagem",
        "tooltip": "Primeiro quadro do vídeo gerado."
      },
      "last_image": {
        "name": "última_imagem",
        "tooltip": "Último quadro do vídeo gerado."
      },
      "loop": {
        "name": "loop"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Conceitos de Câmera opcionais para ditar o movimento da câmera via o nó Luma Concepts."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração do vídeo"
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente do seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "LumaRay32ExtendVideoNode": {
    "description": "Estenda uma geração anterior do Ray 3.2 para frente (continue após ela) ou para trás (introdução antes dela). Conecte a saída generation_id de um nó Luma Ray 3.2 anterior. As extensões são sempre de 5 segundos.",
    "display_name": "Luma Ray 3.2 Estender Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "direction": {
        "name": "direction",
        "tooltip": "Para frente continua após o clipe anterior; para trás é inserido antes dele."
      },
      "direction_loop": {
        "name": "loop"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para o novo conteúdo."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      },
      "source_generation_id": {
        "name": "source_generation_id",
        "tooltip": "generation_id do vídeo Ray 3.2 anterior a ser estendido. Conecte a saída generation_id de outro nó Luma Ray 3.2."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32ImageToVideoNode": {
    "description": "Gere um vídeo a partir de um quadro inicial e/ou final usando o modelo Ray 3.2 da Luma. As gerações ancoradas em imagem têm sempre 5 segundos.",
    "display_name": "Luma Ray 3.2 Imagem para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "end_frame": {
        "name": "end_frame",
        "tooltip": "Último quadro do vídeo gerado."
      },
      "loop": {
        "name": "loop",
        "tooltip": "Faz o vídeo repetir em loop de forma contínua. Não disponível quando um end_frame está definido."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para a geração do vídeo."
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      },
      "start_frame": {
        "name": "start_frame",
        "tooltip": "Primeiro quadro do vídeo gerado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32KeyframeNode": {
    "description": "Ancore uma imagem guia a uma posição na linha do tempo do vídeo de saída do Ray 3.2. Conecte este nó à entrada 'keyframes' do nó Luma Ray 3.2 Keyframes to Video; encadeie vários juntos via a entrada opcional 'keyframes' abaixo.",
    "display_name": "Luma Ray 3.2 Quadro-chave",
    "inputs": {
      "image": {
        "name": "image",
        "tooltip": "Imagem guia para posicionar no momento escolhido do vídeo de saída."
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Quadros-chave anteriores opcionais para encadear com este."
      },
      "position": {
        "name": "position",
        "tooltip": "Como posicionar esta imagem na linha do tempo do vídeo de saída."
      },
      "position_fraction": {
        "name": "fraction"
      }
    },
    "outputs": {
      "0": {
        "name": "keyframes",
        "tooltip": null
      }
    }
  },
  "LumaRay32KeyframesToVideoNode": {
    "description": "Gere um vídeo que interpola por uma sequência de imagens-guia, cada uma ancorada a uma posição na linha do tempo, usando Luma Ray 3.2. Construa a sequência com nós de Keyframe do Luma Ray 3.2 (mínimo de 2).",
    "display_name": "Luma Ray 3.2 Keyframes para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "keyframes": {
        "name": "keyframes",
        "tooltip": "Sequência de keyframes dos nós de Keyframe do Luma Ray 3.2 (mínimo de 2)."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para a geração do vídeo."
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32TextToVideoNode": {
    "description": "Gere um vídeo a partir de um prompt de texto usando o modelo Ray 3.2 da Luma.",
    "display_name": "Luma Ray 3.2 Texto para Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção"
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "loop": {
        "name": "loop",
        "tooltip": "Fazer o vídeo em loop contínuo. Disponível apenas para duração de 5s."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para a geração do vídeo."
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32VideoEditNode": {
    "description": "Re-renderize um vídeo existente com um novo prompt usando Luma Ray 3.2 (restilize, relumine, adicione ou remova elementos) mantendo o movimento original. Vídeo de origem de até 18 segundos; o vídeo editado mantém o comprimento do original.",
    "display_name": "Luma Ray 3.2 Edição de Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descreve a edição desejada."
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      },
      "strength": {
        "name": "força",
        "tooltip": "Quão fortemente preservar ou reinventar o original. 'auto' deixa o Ray 3.2 escolher; adhere_* preserva mais, flex_* é equilibrado, reimagine_* muda mais."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Vídeo de origem para editar. Até 18 segundos."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "generation_id",
        "tooltip": null
      }
    }
  },
  "LumaRay32VideoReframeNode": {
    "description": "Altere a proporção de aspecto de um vídeo existente, usando Luma Ray 3.2 para preencher as novas áreas expostas do canvas. Vídeo de origem de até 30 segundos. Cobrança por segundo de saída.",
    "display_name": "Luma Ray 3.2 Reenquadrar Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção"
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descreve como as novas áreas expostas do canvas devem ser preenchidas."
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Vídeo de origem para reenquadrar. Até 30 segundos."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "name": "id_geração",
        "tooltip": null
      }
    }
  },
  "LumaReferenceNode": {
    "description": "Armazena uma imagem e peso para uso com o nó Luma Gerar Imagem.",
    "display_name": "Luma Referência",
    "inputs": {
      "image": {
        "name": "imagem",
        "tooltip": "Imagem para usar como referência."
      },
      "luma_ref": {
        "name": "luma_ref"
      },
      "weight": {
        "name": "peso",
        "tooltip": "Peso da referência da imagem."
      }
    },
    "outputs": {
      "0": {
        "name": "luma_ref",
        "tooltip": null
      }
    }
  },
  "LumaVideoNode": {
    "description": "Gera vídeos de forma síncrona com base no prompt e output_size.",
    "display_name": "Luma Texto para Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção"
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "loop": {
        "name": "loop"
      },
      "luma_concepts": {
        "name": "luma_concepts",
        "tooltip": "Conceitos de Câmera opcionais para ditar o movimento da câmera via o nó Luma Concepts."
      },
      "model": {
        "name": "model"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração do vídeo"
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente do seed."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageRelightNode": {
    "description": "Reilumine uma imagem com ajustes de iluminação e transferência de luz baseada em referência opcional.",
    "display_name": "Magnific Reiluminar Imagem",
    "inputs": {
      "advanced_settings": {
        "name": "advanced_settings",
        "tooltip": "Opções de ajuste fino para controle avançado de iluminação."
      },
      "change_background": {
        "name": "change_background",
        "tooltip": "Modifica o fundo com base no prompt/referência."
      },
      "image": {
        "name": "image",
        "tooltip": "A imagem a ser reiluminada."
      },
      "interpolate_from_original": {
        "name": "interpolate_from_original",
        "tooltip": "Restringe a liberdade de geração para se aproximar mais do original."
      },
      "light_transfer_strength": {
        "name": "light_transfer_strength",
        "tooltip": "Intensidade da aplicação da transferência de luz."
      },
      "preserve_details": {
        "name": "preserve_details",
        "tooltip": "Mantém a textura e os detalhes finos do original."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Orientação descritiva para iluminação. Suporta notação de ênfase (1-1.4)."
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "Imagem de referência opcional para transferir a iluminação."
      },
      "style": {
        "name": "style",
        "tooltip": "Preferência de estilo de saída."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageSkinEnhancerNode": {
    "description": "Realce de pele para retratos com múltiplos modos de processamento.",
    "display_name": "Magnific Realce de Pele em Imagem",
    "inputs": {
      "image": {
        "name": "image",
        "tooltip": "A imagem de retrato a ser realçada."
      },
      "mode": {
        "name": "mode",
        "tooltip": "Modo de processamento: criativo para realce artístico, fiel para preservar a aparência original, flexível para otimização direcionada."
      },
      "sharpen": {
        "name": "sharpen",
        "tooltip": "Nível de intensidade de nitidez."
      },
      "smart_grain": {
        "name": "smart_grain",
        "tooltip": "Nível de intensidade de granulação inteligente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageStyleTransferNode": {
    "description": "Transfira o estilo de uma imagem de referência para sua imagem de entrada.",
    "display_name": "Transferência de Estilo de Imagem Magnific",
    "inputs": {
      "engine": {
        "name": "engine",
        "tooltip": "Seleção do mecanismo de processamento."
      },
      "fixed_generation": {
        "name": "fixed_generation",
        "tooltip": "Quando desativado, cada geração pode introduzir um grau de aleatoriedade, levando a resultados mais diversos."
      },
      "flavor": {
        "name": "flavor",
        "tooltip": "Tipo de transferência de estilo."
      },
      "image": {
        "name": "image",
        "tooltip": "A imagem para aplicar a transferência de estilo."
      },
      "portrait_mode": {
        "name": "portrait_mode",
        "tooltip": "Ativar modo retrato para aprimoramentos faciais."
      },
      "prompt": {
        "name": "prompt"
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "A imagem de referência da qual extrair o estilo."
      },
      "structure_strength": {
        "name": "structure_strength",
        "tooltip": "Mantém a estrutura da imagem original."
      },
      "style_strength": {
        "name": "style_strength",
        "tooltip": "Porcentagem da intensidade do estilo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageUpscalerCreativeNode": {
    "description": "Aprimoramento guiado por prompt, estilização e upscaling em 2x/4x/8x/16x. Saída máxima: 25,3 megapixels.",
    "display_name": "Magnific Image Upscale (Criativo)",
    "inputs": {
      "auto_downscale": {
        "name": "redução automática",
        "tooltip": "Reduz automaticamente a imagem de entrada se a saída exceder o limite máximo de pixels."
      },
      "creativity": {
        "name": "criatividade"
      },
      "engine": {
        "name": "engine"
      },
      "fractality": {
        "name": "fractalidade",
        "tooltip": "A força do prompt e complexidade por pixel quadrado."
      },
      "hdr": {
        "name": "hdr",
        "tooltip": "O nível de definição e detalhe."
      },
      "image": {
        "name": "imagem"
      },
      "optimized_for": {
        "name": "otimizado para"
      },
      "prompt": {
        "name": "prompt"
      },
      "resemblance": {
        "name": "semelhança",
        "tooltip": "O nível de semelhança com a imagem original."
      },
      "scale_factor": {
        "name": "fator de escala"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MagnificImageUpscalerPreciseV2Node": {
    "description": "Upscaling de alta fidelidade com controle refinado de nitidez, granulação e detalhes. Saída máxima: 10060×10060 pixels.",
    "display_name": "Magnific Image Upscale (Preciso V2)",
    "inputs": {
      "auto_downscale": {
        "name": "redução automática",
        "tooltip": "Reduz automaticamente a imagem de entrada se a saída exceder a resolução máxima."
      },
      "flavor": {
        "name": "estilo",
        "tooltip": "Estilo de processamento: sublime para uso geral, photo para fotografias, photo_denoiser para fotos com ruído."
      },
      "image": {
        "name": "imagem"
      },
      "scale_factor": {
        "name": "fator de escala"
      },
      "sharpen": {
        "name": "nitidez",
        "tooltip": "Intensidade da nitidez da imagem. Valores mais altos aumentam a definição das bordas e a clareza."
      },
      "smart_grain": {
        "name": "granulação inteligente",
        "tooltip": "Aprimoramento inteligente de granulação/textura para evitar que a imagem fique muito lisa ou artificial."
      },
      "ultra_detail": {
        "name": "ultra detalhe",
        "tooltip": "Controla detalhes finos, texturas e microdetalhes adicionados durante o upscaling."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Mahiro": {
    "description": "Modifica a orientação para escalar mais na 'direção' do prompt positivo do que na diferença entre o prompt negativo.",
    "display_name": "Mahiro CFG",
    "inputs": {
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "name": "patched_model",
        "tooltip": null
      }
    }
  },
  "MakeTrainingDataset": {
    "description": "Codifique imagens com VAE e textos com CLIP para criar um conjunto de dados de treinamento de latents e condicionamentos.",
    "display_name": "Criar Conjunto de Dados de Treinamento",
    "inputs": {
      "clip": {
        "name": "clip",
        "tooltip": "Modelo CLIP para codificar texto em condicionamento."
      },
      "images": {
        "name": "imagens",
        "tooltip": "Lista de imagens para codificar."
      },
      "texts": {
        "name": "textos",
        "tooltip": "Lista de legendas de texto. Pode ter comprimento n (correspondendo às imagens), 1 (repetido para todas) ou ser omitido (usa string vazia)."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Modelo VAE para codificar imagens em latents."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "Lista de dicionários latents"
      },
      "1": {
        "name": "condicionamento",
        "tooltip": "Lista de listas de condicionamento"
      }
    }
  },
  "ManualSigmas": {
    "display_name": "Sigmas Manuais",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MaskComposite": {
    "display_name": "Composição de Mask",
    "inputs": {
      "destination": {
        "name": "destino"
      },
      "operation": {
        "name": "operação"
      },
      "source": {
        "name": "fonte"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MaskPreview": {
    "description": "Salva as imagens de entrada no diretório de saída do ComfyUI.",
    "display_name": "Pré-visualizar Mask",
    "inputs": {
      "mask": {
        "name": "mask"
      }
    },
    "outputs": {
      "0": {
        "name": "mask",
        "tooltip": null
      }
    }
  },
  "MaskToImage": {
    "display_name": "Converter Mask em Imagem",
    "inputs": {
      "mask": {
        "name": "mask"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MediaPipeFaceLandmarker": {
    "description": "Detecta pontos de referência faciais usando o modelo MediaPipe.",
    "display_name": "MediaPipe Face Landmarker",
    "inputs": {
      "detector_variant": {
        "name": "detector_variant",
        "tooltip": "Alcance do detector de rosto. 'short' é ajustado para rostos próximos (até ~2 m da câmera); 'full' cobre rostos mais distantes/menores (até ~5 m), mas é mais lento. 'both' executa ambos os detectores e mantém aquele que encontrou mais rostos por quadro (custo de detecção ~2×)."
      },
      "face_detection_model": {
        "name": "face_detection_model"
      },
      "image": {
        "name": "image"
      },
      "min_confidence": {
        "name": "min_confidence",
        "tooltip": "Limite de pontuação BlazeFace. Diminua para capturar rostos pequenos/ocultos."
      },
      "missing_frame_fallback": {
        "name": "missing_frame_fallback",
        "tooltip": "Comportamento por quadro quando a detecção falha em um lote. 'empty' deixa o quadro sem rosto. 'previous' copia a detecção bem-sucedida mais recente. 'interpolate' interpola pontos/bbox/blendshapes entre quadros bem-sucedidos adjacentes. Multi-face: associa rostos entre quadros pelo centro da bbox mais próximo."
      },
      "num_faces": {
        "name": "num_faces",
        "tooltip": "Máximo de rostos a retornar por quadro. 0 = sem limite (retorna todos os detectados)."
      }
    },
    "outputs": {
      "0": {
        "name": "face_landmarks",
        "tooltip": null
      },
      "1": {
        "name": "bboxes",
        "tooltip": null
      }
    }
  },
  "MediaPipeFaceMask": {
    "description": "Desenha uma máscara a partir dos pontos de referência faciais.",
    "display_name": "MediaPipe Face Mask",
    "inputs": {
      "face_landmarks": {
        "name": "face_landmarks"
      },
      "regions": {
        "name": "regions",
        "tooltip": "'all' = união de face_oval+lips+eyes+irises (que se reduz a face_oval, pois engloba o restante). 'custom' = alterna cada região individualmente para combinações como lips+eyes."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MediaPipeFaceMeshVisualize": {
    "description": "Desenha a malha de pontos de referência faciais na imagem de entrada.",
    "display_name": "MediaPipe Face Mesh Visualize",
    "inputs": {
      "color": {
        "name": "color"
      },
      "connections": {
        "name": "connections",
        "tooltip": "'all' = oval+eyes+brows+lips+irises+nose. 'fill' = polígono sólido face_oval (máscara de silhueta). 'custom' = alterna cada característica individualmente (incluindo 'tesselation', a malha completa de 2547 arestas)."
      },
      "face_landmarks": {
        "name": "face_landmarks"
      },
      "image": {
        "name": "image",
        "tooltip": "Se não conectado, uma tela preta será usada."
      },
      "point_size": {
        "name": "point_size",
        "tooltip": "Raio do ponto de referência em pixels. 0 desativa o desenho dos pontos."
      },
      "thickness": {
        "name": "thickness",
        "tooltip": "Espessura da linha das bordas em pixels. 0 desativa o desenho das bordas."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MergeImageLists": {
    "description": "Concatene várias listas de imagens em uma só.",
    "display_name": "Mesclar Listas de Imagens",
    "inputs": {
      "images": {
        "name": "imagens",
        "tooltip": "Lista de imagens para processar."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Imagens processadas"
      }
    }
  },
  "MergeSplat": {
    "description": "Concatene qualquer número de gaussian splats em um só. Unir várias decodificações do mesmo latent com seeds diferentes densifica a superfície, o que pode melhorar a qualidade da superfície ao criar malha.",
    "display_name": "Mesclar Splats",
    "inputs": {
      "splats": {
        "name": "splats"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "MergeTextLists": {
    "display_name": "Mesclar Listas de Textos",
    "inputs": {
      "texts": {
        "name": "textos",
        "tooltip": "Lista de textos para processar."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos processados"
      }
    }
  },
  "MeshyAnimateModelNode": {
    "description": "Aplicar uma ação de animação específica a um personagem previamente rigado.",
    "display_name": "Meshy: Animar Modelo",
    "inputs": {
      "action_id": {
        "name": "action_id",
        "tooltip": "Visite https://docs.meshy.ai/en/api/animation-library para uma lista de valores disponíveis."
      },
      "rig_task_id": {
        "name": "rig_task_id"
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyImageToModelNode": {
    "display_name": "Meshy: Imagem para Modelo",
    "inputs": {
      "control_after_generate": {
        "name": "controle_após_gerar"
      },
      "image": {
        "name": "imagem"
      },
      "model": {
        "name": "modelo"
      },
      "pose_mode": {
        "name": "modo_de_pose",
        "tooltip": "Especifique o modo de pose para o modelo gerado."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "should_remesh": {
        "name": "refazer_malha",
        "tooltip": "Quando definido como falso, retorna uma malha triangular não processada."
      },
      "should_remesh_target_polycount": {
        "name": "contagem_alvo_de_polígonos"
      },
      "should_remesh_topology": {
        "name": "topologia"
      },
      "should_texture": {
        "name": "gerar_textura",
        "tooltip": "Determina se as texturas serão geradas. Definir como falso pula a fase de textura e retorna uma malha sem texturas."
      },
      "should_texture_enable_pbr": {
        "name": "habilitar_pbr"
      },
      "should_texture_texture_prompt": {
        "name": "prompt_de_textura"
      },
      "symmetry_mode": {
        "name": "modo_de_simetria"
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyMultiImageToModelNode": {
    "display_name": "Meshy: Múltiplas Imagens para Modelo",
    "inputs": {
      "control_after_generate": {
        "name": "controle_após_gerar"
      },
      "images": {
        "name": "imagens"
      },
      "model": {
        "name": "modelo"
      },
      "pose_mode": {
        "name": "modo_de_pose",
        "tooltip": "Especifique o modo de pose para o modelo gerado."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "should_remesh": {
        "name": "refazer_malha",
        "tooltip": "Quando definido como falso, retorna uma malha triangular não processada."
      },
      "should_remesh_target_polycount": {
        "name": "contagem_alvo_de_polígonos"
      },
      "should_remesh_topology": {
        "name": "topologia"
      },
      "should_texture": {
        "name": "gerar_textura",
        "tooltip": "Determina se as texturas serão geradas. Definir como falso pula a fase de textura e retorna uma malha sem texturas."
      },
      "should_texture_enable_pbr": {
        "name": "habilitar_pbr"
      },
      "should_texture_texture_prompt": {
        "name": "prompt_de_textura"
      },
      "symmetry_mode": {
        "name": "modo_de_simetria"
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyRefineNode": {
    "description": "Refine um modelo rascunho criado anteriormente.",
    "display_name": "Meshy: Refinar Modelo Rascunho",
    "inputs": {
      "enable_pbr": {
        "name": "habilitar_pbr",
        "tooltip": "Gerar mapas PBR (metálico, rugosidade, normal) além da cor base. Nota: isso deve ser definido como falso ao usar o estilo Escultura, pois o estilo Escultura gera seu próprio conjunto de mapas PBR."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "model": {
        "name": "modelo"
      },
      "texture_image": {
        "name": "imagem_de_textura",
        "tooltip": "Apenas um de 'texture_image' ou 'texture_prompt' pode ser usado ao mesmo tempo."
      },
      "texture_prompt": {
        "name": "prompt_de_textura",
        "tooltip": "Forneça um prompt de texto para orientar o processo de texturização. Máximo de 600 caracteres. Não pode ser usado ao mesmo tempo que 'texture_image'."
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyRigModelNode": {
    "description": "Fornece um personagem com rig em formatos padrão. O auto-rigging atualmente não é adequado para malhas sem textura, ativos não humanóides ou ativos humanóides com estrutura de membros e corpo indefinida.",
    "display_name": "Meshy: Rig de Modelo",
    "inputs": {
      "height_meters": {
        "name": "altura_metros",
        "tooltip": "A altura aproximada do modelo do personagem em metros. Isso auxilia na escala e precisão do rig."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "texture_image": {
        "name": "imagem_de_textura",
        "tooltip": "Imagem de textura de cor base UV-desdobrada do modelo."
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "rig_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyTextToModelNode": {
    "display_name": "Meshy: Texto para Modelo",
    "inputs": {
      "control_after_generate": {
        "name": "controle_após_gerar"
      },
      "model": {
        "name": "modelo"
      },
      "pose_mode": {
        "name": "modo_de_pose",
        "tooltip": "Especifique o modo de pose para o modelo gerado."
      },
      "prompt": {
        "name": "prompt"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "should_remesh": {
        "name": "deve_refazer_malha",
        "tooltip": "Quando definido como falso, retorna uma malha triangular não processada."
      },
      "should_remesh_target_polycount": {
        "name": "contagem_alvo_de_polígonos"
      },
      "should_remesh_topology": {
        "name": "topologia"
      },
      "style": {
        "name": "estilo"
      },
      "symmetry_mode": {
        "name": "modo_de_simetria"
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MeshyTextureNode": {
    "display_name": "Meshy: Modelo de Textura",
    "inputs": {
      "enable_original_uv": {
        "name": "habilitar_uv_original",
        "tooltip": "Usar o UV original do modelo em vez de gerar novos UVs. Quando ativado, o Meshy preserva as texturas existentes do modelo enviado. Se o modelo não tiver UV original, a qualidade do resultado pode não ser tão boa."
      },
      "image_style": {
        "name": "estilo_de_imagem",
        "tooltip": "Uma imagem 2D para guiar o processo de texturização. Não pode ser usada ao mesmo tempo que 'text_style_prompt'."
      },
      "meshy_task_id": {
        "name": "meshy_task_id"
      },
      "model": {
        "name": "modelo"
      },
      "pbr": {
        "name": "pbr"
      },
      "text_style_prompt": {
        "name": "prompt_de_estilo_textual",
        "tooltip": "Descreva o estilo de textura desejado para o objeto usando texto. Máximo de 600 caracteres. Não pode ser usado ao mesmo tempo que 'image_style'."
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "meshy_task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      },
      "3": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "MiniMaxH3ImageToVideo": {
    "display_name": "MiniMax H3 Imagem para Vídeo",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "first_frame": {
        "name": "primeiro_quadro"
      },
      "height": {
        "name": "altura"
      },
      "last_frame": {
        "name": "último_quadro"
      },
      "length": {
        "name": "duração",
        "tooltip": "Contagem de quadros a 24 fps, ajustada para cima na grade de 17k+5 do modelo (124 = ~5s; faixa treinada é ~124-362, valores maiores não testados)"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "MiniMaxH3ReferenceToVideo": {
    "description": "<Picture i> / <Video k> / <Audio j> condicionamento de referência para MiniMax H3. Use as mesmas tags ao criar prompts.",
    "display_name": "MiniMax H3 Referência para Vídeo",
    "inputs": {
      "audio_vae": {
        "name": "audio_vae"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração",
        "tooltip": "Contagem de quadros a 24 fps, (124 = ~5s, faixa treinada é ~124-362)"
      },
      "prompt": {
        "name": "prompt"
      },
      "ref_audios": {
        "name": "áudios_ref"
      },
      "ref_image_size": {
        "name": "tamanho_imagem_ref",
        "tooltip": "Dimensionamento da imagem de referência. 'match' ajusta cada referência (apenas reduzindo, mantendo a proporção) para a área de pixels da geração; 'max' usa a borda curta de 2048px do pipeline de referência para melhor fidelidade de identidade. Os tokens de referência acompanham cada etapa de amostragem, então 'max' pode ser várias vezes mais lento."
      },
      "ref_images": {
        "name": "imagens_ref"
      },
      "ref_video_audios": {
        "name": "áudios_vídeo_ref"
      },
      "ref_videos": {
        "name": "vídeos_ref"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "MiniMaxH3SigmaShift": {
    "description": "Defina os deslocamentos do fluxo de vídeo/áudio.",
    "display_name": "MiniMax H3 Sigma Shift",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "shift_audio": {
        "name": "deslocamento_áudio"
      },
      "shift_video": {
        "name": "deslocamento_vídeo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuo03FirstLastFrameNode": {
    "description": "Gere vídeo a partir de uma imagem de primeiro frame e, opcionalmente, uma imagem de último frame usando o modelo MiniMax H3. A proporção do vídeo segue as imagens fornecidas.",
    "display_name": "MiniMax H3 Primeiro-Último-Frame para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Imagem do primeiro frame do vídeo."
      },
      "last_frame": {
        "name": "last_frame",
        "tooltip": "Imagem opcional do último frame do vídeo."
      },
      "model": {
        "name": "model",
        "tooltip": "Modelo a ser usado para geração de vídeo."
      },
      "model_duration": {
        "name": "duration"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semente aleatória. A mesma solicitação com a mesma semente gera resultados semelhantes, mas não garantidamente idênticos."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se deve adicionar uma marca d'água AIGC ao vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuo03ReferenceNode": {
    "description": "Gere vídeo condicionado a imagens de referência, vídeos e áudio usando o modelo MiniMax H3. Consulte as referências no prompt pela ordem: 'Imagem 1', 'Imagem 2', 'Vídeo 1', 'Áudio 1' e assim por diante.",
    "display_name": "MiniMax H3 Referência para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para geração de vídeo."
      },
      "model_duration": {
        "name": "duração"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "proporção"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória. A mesma solicitação com a mesma semente gera resultados semelhantes, mas não garantidamente idênticos."
      },
      "watermark": {
        "name": "marca d'água",
        "tooltip": "Se deve adicionar uma marca d'água AIGC ao vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuo03TextToVideoNode": {
    "description": "Gere vídeo a partir de um prompt de texto usando o modelo MiniMax H3.",
    "display_name": "MiniMax H3 Texto para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para geração de vídeo."
      },
      "model_duration": {
        "name": "duração"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "proporção"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória. A mesma solicitação com a mesma semente gera resultados semelhantes, mas não garantidamente idênticos."
      },
      "watermark": {
        "name": "marca d'água",
        "tooltip": "Se deve adicionar uma marca d'água AIGC ao vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxHailuoVideoNode": {
    "description": "Gera vídeos a partir do prompt, com quadro inicial opcional usando o novo modelo MiniMax Hailuo-02.",
    "display_name": "MiniMax Hailuo Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração",
        "tooltip": "A duração do vídeo de saída em segundos."
      },
      "first_frame_image": {
        "name": "imagem_primeiro_quadro",
        "tooltip": "Imagem opcional para usar como o primeiro quadro do vídeo."
      },
      "prompt_optimizer": {
        "name": "otimizador_de_prompt",
        "tooltip": "Otimiza o prompt para melhorar a qualidade da geração quando necessário."
      },
      "prompt_text": {
        "name": "texto_prompt",
        "tooltip": "Prompt de texto para guiar a geração do vídeo."
      },
      "resolution": {
        "name": "resolução",
        "tooltip": "As dimensões da exibição do vídeo. 1080p é 1920x1080, 768p é 1366x768."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxImageToVideoNode": {
    "description": "Gera vídeos de forma síncrona com base em uma imagem, prompt e parâmetros opcionais.",
    "display_name": "MiniMax Imagem para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "image": {
        "name": "imagem",
        "tooltip": "Imagem a ser usada como o primeiro quadro da geração de vídeo"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para geração de vídeo"
      },
      "prompt_text": {
        "name": "prompt_texto",
        "tooltip": "Prompt de texto para guiar a geração do vídeo"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MinimaxTextToVideoNode": {
    "description": "Gera vídeos de forma síncrona com base em um prompt e parâmetros opcionais.",
    "display_name": "MiniMax Texto para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para geração de vídeo"
      },
      "prompt_text": {
        "name": "prompt_texto",
        "tooltip": "Prompt de texto para guiar a geração do vídeo"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente aleatória usada para criar o ruído."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MoGeInference": {
    "description": "Execute o MoGe em uma única imagem para estimar profundidade e geometria.",
    "display_name": "Inferência MoGe",
    "inputs": {
      "apply_mask": {
        "name": "apply_mask",
        "tooltip": "Define pixels mascarados (céu/inválidos) como inf em pontos e profundidade para que a malha os descarte. Desative para manter a geometria prevista bruta em todo lugar; a máscara ainda é retornada separadamente."
      },
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Imagens por chamada de inferência. Reduza se ocorrer OOM em um vídeo longo/conjunto de imagens."
      },
      "force_projection": {
        "name": "force_projection"
      },
      "fov_x_degrees": {
        "name": "fov_x_degrees",
        "tooltip": "Campo de visão horizontal da câmera de origem. Define a distância focal usada para desprojetar o mapa de profundidade em 3D. 0 = recuperar automaticamente dos pontos previstos."
      },
      "image": {
        "name": "image"
      },
      "moge_model": {
        "name": "moge_model"
      },
      "resolution_level": {
        "name": "resolution_level",
        "tooltip": "0 = mais rápido, 9 = mais detalhado."
      }
    },
    "outputs": {
      "0": {
        "name": "moge_geometry",
        "tooltip": null
      }
    }
  },
  "MoGePanoramaInference": {
    "description": "Execute o MoGe em uma panorâmica equiretangular dividindo-a em 12 vistas em perspectiva, realizando inferência em cada uma e mesclando os resultados em um único mapa de profundidade.",
    "display_name": "Inferência Panorama MoGe",
    "inputs": {
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Visualizações por lote de inferência (12 divisões no total)."
      },
      "image": {
        "name": "image",
        "tooltip": "Panorama equiretangular (qualquer proporção)."
      },
      "merge_resolution": {
        "name": "merge_resolution",
        "tooltip": "Resolução do lado maior do mapa de distância equiretangular mesclado."
      },
      "moge_model": {
        "name": "moge_model"
      },
      "resolution_level": {
        "name": "resolution_level",
        "tooltip": "Detalhe por visualização (0 = mais rápido, 9 = mais detalhado)."
      },
      "split_resolution": {
        "name": "split_resolution",
        "tooltip": "Resolução de cada divisão de perspectiva."
      }
    },
    "outputs": {
      "0": {
        "name": "moge_geometry",
        "tooltip": null
      }
    }
  },
  "MoGePointMapToMesh": {
    "description": "Converta um mapa de pontos MoGe em uma malha 3D.",
    "display_name": "MoGe Point Map to Mesh",
    "inputs": {
      "batch_index": {
        "name": "batch_index",
        "tooltip": "Qual imagem de uma geometria MoGe em lote será convertida em malha. As contagens de vértices por imagem diferem, então os lotes não podem ser empilhados em uma única MALHA."
      },
      "decimation": {
        "name": "decimation",
        "tooltip": "Intervalo de vértices; 1 = resolução total."
      },
      "discontinuity_threshold": {
        "name": "discontinuity_threshold",
        "tooltip": "Descartar pixels cuja variação de profundidade em 3x3 exceda essa fração. 0 = desativado."
      },
      "moge_geometry": {
        "name": "moge_geometry"
      },
      "texture": {
        "name": "texture",
        "tooltip": "Levar a imagem de origem como textura baseColor."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MoGeRender": {
    "description": "Renderize um mapa de profundidade ou mapa normal a partir de dados de geometria",
    "display_name": "MoGe Render",
    "inputs": {
      "moge_geometry": {
        "name": "moge_geometry"
      },
      "output": {
        "name": "output",
        "tooltip": "DirectX vs OpenGL controla a convenção do canal verde do mapa de normais. DirectX: verde = -Y para baixo (Unreal). OpenGL: verde = +Y para cima (Blender, Substance, Unity, glTF)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ModelComputeDtype": {
    "display_name": "ModelComputeDtype",
    "inputs": {
      "dtype": {
        "name": "dtype"
      },
      "model": {
        "name": "modelo"
      }
    }
  },
  "ModelMergeAdd": {
    "display_name": "ModelMergeAdd",
    "inputs": {
      "model1": {
        "name": "modelo1"
      },
      "model2": {
        "name": "modelo2"
      }
    }
  },
  "ModelMergeAuraflow": {
    "display_name": "ModelMergeAuraflow",
    "inputs": {
      "cond_seq_linear_": {
        "name": "cond_seq_linear."
      },
      "double_layers_0_": {
        "name": "double_layers.0."
      },
      "double_layers_1_": {
        "name": "double_layers.1."
      },
      "double_layers_2_": {
        "name": "double_layers.2."
      },
      "double_layers_3_": {
        "name": "double_layers.3."
      },
      "final_linear_": {
        "name": "final_linear."
      },
      "init_x_linear_": {
        "name": "init_x_linear."
      },
      "modF_": {
        "name": "modF."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "positional_encoding": {
        "name": "codificação_posicional"
      },
      "register_tokens": {
        "name": "registrar_tokens"
      },
      "single_layers_0_": {
        "name": "single_layers.0."
      },
      "single_layers_10_": {
        "name": "single_layers.10."
      },
      "single_layers_11_": {
        "name": "single_layers.11."
      },
      "single_layers_12_": {
        "name": "single_layers.12."
      },
      "single_layers_13_": {
        "name": "single_layers.13."
      },
      "single_layers_14_": {
        "name": "single_layers.14."
      },
      "single_layers_15_": {
        "name": "single_layers.15."
      },
      "single_layers_16_": {
        "name": "single_layers.16."
      },
      "single_layers_17_": {
        "name": "single_layers.17."
      },
      "single_layers_18_": {
        "name": "single_layers.18."
      },
      "single_layers_19_": {
        "name": "single_layers.19."
      },
      "single_layers_1_": {
        "name": "single_layers.1."
      },
      "single_layers_20_": {
        "name": "single_layers.20."
      },
      "single_layers_21_": {
        "name": "single_layers.21."
      },
      "single_layers_22_": {
        "name": "single_layers.22."
      },
      "single_layers_23_": {
        "name": "single_layers.23."
      },
      "single_layers_24_": {
        "name": "single_layers.24."
      },
      "single_layers_25_": {
        "name": "single_layers.25."
      },
      "single_layers_26_": {
        "name": "single_layers.26."
      },
      "single_layers_27_": {
        "name": "single_layers.27."
      },
      "single_layers_28_": {
        "name": "single_layers.28."
      },
      "single_layers_29_": {
        "name": "single_layers.29."
      },
      "single_layers_2_": {
        "name": "single_layers.2."
      },
      "single_layers_30_": {
        "name": "single_layers.30."
      },
      "single_layers_31_": {
        "name": "single_layers.31."
      },
      "single_layers_3_": {
        "name": "single_layers.3."
      },
      "single_layers_4_": {
        "name": "single_layers.4."
      },
      "single_layers_5_": {
        "name": "single_layers.5."
      },
      "single_layers_6_": {
        "name": "single_layers.6."
      },
      "single_layers_7_": {
        "name": "single_layers.7."
      },
      "single_layers_8_": {
        "name": "single_layers.8."
      },
      "single_layers_9_": {
        "name": "single_layers.9."
      },
      "t_embedder_": {
        "name": "t_embedder."
      }
    }
  },
  "ModelMergeBlocks": {
    "display_name": "ModelMergeBlocks",
    "inputs": {
      "input": {
        "name": "entrada"
      },
      "middle": {
        "name": "meio"
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "out": {
        "name": "saída"
      }
    }
  },
  "ModelMergeCosmos14B": {
    "display_name": "ModelMergeCosmos14B",
    "inputs": {
      "affline_norm_": {
        "name": "affline_norm."
      },
      "blocks_block0_": {
        "name": "blocos.bloco0."
      },
      "blocks_block10_": {
        "name": "blocos.bloco10."
      },
      "blocks_block11_": {
        "name": "blocos.bloco11."
      },
      "blocks_block12_": {
        "name": "blocos.bloco12."
      },
      "blocks_block13_": {
        "name": "blocos.bloco13."
      },
      "blocks_block14_": {
        "name": "blocos.bloco14."
      },
      "blocks_block15_": {
        "name": "blocos.bloco15."
      },
      "blocks_block16_": {
        "name": "blocos.bloco16."
      },
      "blocks_block17_": {
        "name": "blocos.bloco17."
      },
      "blocks_block18_": {
        "name": "blocos.bloco18."
      },
      "blocks_block19_": {
        "name": "blocos.bloco19."
      },
      "blocks_block1_": {
        "name": "blocos.bloco1."
      },
      "blocks_block20_": {
        "name": "blocos.bloco20."
      },
      "blocks_block21_": {
        "name": "blocos.bloco21."
      },
      "blocks_block22_": {
        "name": "blocos.bloco22."
      },
      "blocks_block23_": {
        "name": "blocos.bloco23."
      },
      "blocks_block24_": {
        "name": "blocos.bloco24."
      },
      "blocks_block25_": {
        "name": "blocos.bloco25."
      },
      "blocks_block26_": {
        "name": "blocos.bloco26."
      },
      "blocks_block27_": {
        "name": "blocos.bloco27."
      },
      "blocks_block28_": {
        "name": "blocos.bloco28."
      },
      "blocks_block29_": {
        "name": "blocos.bloco29."
      },
      "blocks_block2_": {
        "name": "blocos.bloco2."
      },
      "blocks_block30_": {
        "name": "blocos.bloco30."
      },
      "blocks_block31_": {
        "name": "blocos.bloco31."
      },
      "blocks_block32_": {
        "name": "blocos.bloco32."
      },
      "blocks_block33_": {
        "name": "blocos.bloco33."
      },
      "blocks_block34_": {
        "name": "blocos.bloco34."
      },
      "blocks_block35_": {
        "name": "blocos.bloco35."
      },
      "blocks_block3_": {
        "name": "blocos.bloco3."
      },
      "blocks_block4_": {
        "name": "blocos.bloco4."
      },
      "blocks_block5_": {
        "name": "blocos.bloco5."
      },
      "blocks_block6_": {
        "name": "blocos.bloco6."
      },
      "blocks_block7_": {
        "name": "blocos.bloco7."
      },
      "blocks_block8_": {
        "name": "blocos.bloco8."
      },
      "blocks_block9_": {
        "name": "blocos.bloco9."
      },
      "extra_pos_embedder_": {
        "name": "extra_pos_embedder."
      },
      "final_layer_": {
        "name": "camada_final."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embedder_": {
        "name": "pos_embedder."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "x_embedder_": {
        "name": "x_embedder."
      }
    }
  },
  "ModelMergeCosmos7B": {
    "display_name": "ModelMergeCosmos7B",
    "inputs": {
      "affline_norm_": {
        "name": "affline_norm."
      },
      "blocks_block0_": {
        "name": "blocks.block0."
      },
      "blocks_block10_": {
        "name": "blocks.block10."
      },
      "blocks_block11_": {
        "name": "blocks.block11."
      },
      "blocks_block12_": {
        "name": "blocks.block12."
      },
      "blocks_block13_": {
        "name": "blocks.block13."
      },
      "blocks_block14_": {
        "name": "blocks.block14."
      },
      "blocks_block15_": {
        "name": "blocks.block15."
      },
      "blocks_block16_": {
        "name": "blocks.block16."
      },
      "blocks_block17_": {
        "name": "blocks.block17."
      },
      "blocks_block18_": {
        "name": "blocks.block18."
      },
      "blocks_block19_": {
        "name": "blocks.block19."
      },
      "blocks_block1_": {
        "name": "blocks.block1."
      },
      "blocks_block20_": {
        "name": "blocks.block20."
      },
      "blocks_block21_": {
        "name": "blocks.block21."
      },
      "blocks_block22_": {
        "name": "blocks.block22."
      },
      "blocks_block23_": {
        "name": "blocks.block23."
      },
      "blocks_block24_": {
        "name": "blocks.block24."
      },
      "blocks_block25_": {
        "name": "blocks.block25."
      },
      "blocks_block26_": {
        "name": "blocks.block26."
      },
      "blocks_block27_": {
        "name": "blocks.block27."
      },
      "blocks_block2_": {
        "name": "blocks.block2."
      },
      "blocks_block3_": {
        "name": "blocks.block3."
      },
      "blocks_block4_": {
        "name": "blocks.block4."
      },
      "blocks_block5_": {
        "name": "blocks.block5."
      },
      "blocks_block6_": {
        "name": "blocks.block6."
      },
      "blocks_block7_": {
        "name": "blocks.block7."
      },
      "blocks_block8_": {
        "name": "blocks.block8."
      },
      "blocks_block9_": {
        "name": "blocks.block9."
      },
      "extra_pos_embedder_": {
        "name": "extra_pos_embedder."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embedder_": {
        "name": "pos_embedder."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "x_embedder_": {
        "name": "x_embedder."
      }
    }
  },
  "ModelMergeCosmosPredict2_14B": {
    "display_name": "ModelMergeCosmosPredict2_14B",
    "inputs": {
      "blocks_0_": {
        "name": "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_3_": {
        "name": "blocks.3."
      },
      "blocks_4_": {
        "name": "blocks.4."
      },
      "blocks_5_": {
        "name": "blocks.5."
      },
      "blocks_6_": {
        "name": "blocks.6."
      },
      "blocks_7_": {
        "name": "blocks.7."
      },
      "blocks_8_": {
        "name": "blocks.8."
      },
      "blocks_9_": {
        "name": "blocks.9."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embedder_": {
        "name": "pos_embedder."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "t_embedding_norm_": {
        "name": "t_embedding_norm."
      },
      "x_embedder_": {
        "name": "x_embedder."
      }
    }
  },
  "ModelMergeCosmosPredict2_2B": {
    "display_name": "ModelMergeCosmosPredict2_2B",
    "inputs": {
      "blocks_0_": {
        "name": "blocos.0."
      },
      "blocks_10_": {
        "name": "blocos.10."
      },
      "blocks_11_": {
        "name": "blocos.11."
      },
      "blocks_12_": {
        "name": "blocos.12."
      },
      "blocks_13_": {
        "name": "blocos.13."
      },
      "blocks_14_": {
        "name": "blocos.14."
      },
      "blocks_15_": {
        "name": "blocos.15."
      },
      "blocks_16_": {
        "name": "blocos.16."
      },
      "blocks_17_": {
        "name": "blocos.17."
      },
      "blocks_18_": {
        "name": "blocos.18."
      },
      "blocks_19_": {
        "name": "blocos.19."
      },
      "blocks_1_": {
        "name": "blocos.1."
      },
      "blocks_20_": {
        "name": "blocos.20."
      },
      "blocks_21_": {
        "name": "blocos.21."
      },
      "blocks_22_": {
        "name": "blocos.22."
      },
      "blocks_23_": {
        "name": "blocos.23."
      },
      "blocks_24_": {
        "name": "blocos.24."
      },
      "blocks_25_": {
        "name": "blocos.25."
      },
      "blocks_26_": {
        "name": "blocos.26."
      },
      "blocks_27_": {
        "name": "blocos.27."
      },
      "blocks_2_": {
        "name": "blocos.2."
      },
      "blocks_3_": {
        "name": "blocos.3."
      },
      "blocks_4_": {
        "name": "blocos.4."
      },
      "blocks_5_": {
        "name": "blocos.5."
      },
      "blocks_6_": {
        "name": "blocos.6."
      },
      "blocks_7_": {
        "name": "blocos.7."
      },
      "blocks_8_": {
        "name": "blocos.8."
      },
      "blocks_9_": {
        "name": "blocos.9."
      },
      "final_layer_": {
        "name": "camada_final."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embedder_": {
        "name": "pos_embedder."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "t_embedding_norm_": {
        "name": "t_embedding_norm."
      },
      "x_embedder_": {
        "name": "x_embedder."
      }
    }
  },
  "ModelMergeFlux1": {
    "display_name": "ModelMergeFlux1",
    "inputs": {
      "double_blocks_0_": {
        "name": "double_blocks.0."
      },
      "double_blocks_10_": {
        "name": "double_blocks.10."
      },
      "double_blocks_11_": {
        "name": "double_blocks.11."
      },
      "double_blocks_12_": {
        "name": "double_blocks.12."
      },
      "double_blocks_13_": {
        "name": "double_blocks.13."
      },
      "double_blocks_14_": {
        "name": "double_blocks.14."
      },
      "double_blocks_15_": {
        "name": "double_blocks.15."
      },
      "double_blocks_16_": {
        "name": "double_blocks.16."
      },
      "double_blocks_17_": {
        "name": "double_blocks.17."
      },
      "double_blocks_18_": {
        "name": "double_blocks.18."
      },
      "double_blocks_1_": {
        "name": "double_blocks.1."
      },
      "double_blocks_2_": {
        "name": "double_blocks.2."
      },
      "double_blocks_3_": {
        "name": "double_blocks.3."
      },
      "double_blocks_4_": {
        "name": "double_blocks.4."
      },
      "double_blocks_5_": {
        "name": "double_blocks.5."
      },
      "double_blocks_6_": {
        "name": "double_blocks.6."
      },
      "double_blocks_7_": {
        "name": "double_blocks.7."
      },
      "double_blocks_8_": {
        "name": "double_blocks.8."
      },
      "double_blocks_9_": {
        "name": "double_blocks.9."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "guidance_in": {
        "name": "guidance_in"
      },
      "img_in_": {
        "name": "img_in."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "single_blocks_0_": {
        "name": "single_blocks.0."
      },
      "single_blocks_10_": {
        "name": "single_blocks.10."
      },
      "single_blocks_11_": {
        "name": "single_blocks.11."
      },
      "single_blocks_12_": {
        "name": "single_blocks.12."
      },
      "single_blocks_13_": {
        "name": "single_blocks.13."
      },
      "single_blocks_14_": {
        "name": "single_blocks.14."
      },
      "single_blocks_15_": {
        "name": "single_blocks.15."
      },
      "single_blocks_16_": {
        "name": "single_blocks.16."
      },
      "single_blocks_17_": {
        "name": "single_blocks.17."
      },
      "single_blocks_18_": {
        "name": "single_blocks.18."
      },
      "single_blocks_19_": {
        "name": "single_blocks.19."
      },
      "single_blocks_1_": {
        "name": "single_blocks.1."
      },
      "single_blocks_20_": {
        "name": "single_blocks.20."
      },
      "single_blocks_21_": {
        "name": "single_blocks.21."
      },
      "single_blocks_22_": {
        "name": "single_blocks.22."
      },
      "single_blocks_23_": {
        "name": "single_blocks.23."
      },
      "single_blocks_24_": {
        "name": "single_blocks.24."
      },
      "single_blocks_25_": {
        "name": "single_blocks.25."
      },
      "single_blocks_26_": {
        "name": "single_blocks.26."
      },
      "single_blocks_27_": {
        "name": "single_blocks.27."
      },
      "single_blocks_28_": {
        "name": "single_blocks.28."
      },
      "single_blocks_29_": {
        "name": "single_blocks.29."
      },
      "single_blocks_2_": {
        "name": "single_blocks.2."
      },
      "single_blocks_30_": {
        "name": "single_blocks.30."
      },
      "single_blocks_31_": {
        "name": "single_blocks.31."
      },
      "single_blocks_32_": {
        "name": "single_blocks.32."
      },
      "single_blocks_33_": {
        "name": "single_blocks.33."
      },
      "single_blocks_34_": {
        "name": "single_blocks.34."
      },
      "single_blocks_35_": {
        "name": "single_blocks.35."
      },
      "single_blocks_36_": {
        "name": "single_blocks.36."
      },
      "single_blocks_37_": {
        "name": "single_blocks.37."
      },
      "single_blocks_3_": {
        "name": "single_blocks.3."
      },
      "single_blocks_4_": {
        "name": "single_blocks.4."
      },
      "single_blocks_5_": {
        "name": "single_blocks.5."
      },
      "single_blocks_6_": {
        "name": "single_blocks.6."
      },
      "single_blocks_7_": {
        "name": "single_blocks.7."
      },
      "single_blocks_8_": {
        "name": "single_blocks.8."
      },
      "single_blocks_9_": {
        "name": "single_blocks.9."
      },
      "time_in_": {
        "name": "time_in."
      },
      "txt_in_": {
        "name": "txt_in."
      },
      "vector_in_": {
        "name": "vector_in."
      }
    }
  },
  "ModelMergeKrea2": {
    "display_name": "ModelMergeKrea2",
    "inputs": {
      "blocks_0_": {
        "name": "blocos.0."
      },
      "blocks_10_": {
        "name": "blocos.10."
      },
      "blocks_11_": {
        "name": "blocos.11."
      },
      "blocks_12_": {
        "name": "blocos.12."
      },
      "blocks_13_": {
        "name": "blocos.13."
      },
      "blocks_14_": {
        "name": "blocos.14."
      },
      "blocks_15_": {
        "name": "blocos.15."
      },
      "blocks_16_": {
        "name": "blocos.16."
      },
      "blocks_17_": {
        "name": "blocos.17."
      },
      "blocks_18_": {
        "name": "blocos.18."
      },
      "blocks_19_": {
        "name": "blocos.19."
      },
      "blocks_1_": {
        "name": "blocos.1."
      },
      "blocks_20_": {
        "name": "blocos.20."
      },
      "blocks_21_": {
        "name": "blocos.21."
      },
      "blocks_22_": {
        "name": "blocos.22."
      },
      "blocks_23_": {
        "name": "blocos.23."
      },
      "blocks_24_": {
        "name": "blocos.24."
      },
      "blocks_25_": {
        "name": "blocos.25."
      },
      "blocks_26_": {
        "name": "blocos.26."
      },
      "blocks_27_": {
        "name": "blocos.27."
      },
      "blocks_2_": {
        "name": "blocos.2."
      },
      "blocks_3_": {
        "name": "blocos.3."
      },
      "blocks_4_": {
        "name": "blocos.4."
      },
      "blocks_5_": {
        "name": "blocos.5."
      },
      "blocks_6_": {
        "name": "blocos.6."
      },
      "blocks_7_": {
        "name": "blocos.7."
      },
      "blocks_8_": {
        "name": "blocos.8."
      },
      "blocks_9_": {
        "name": "blocos.9."
      },
      "first_": {
        "name": "primeiro."
      },
      "last_": {
        "name": "último."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "tmlp_": {
        "name": "tmlp."
      },
      "tproj_": {
        "name": "tproj."
      },
      "txtfusion_layerwise_blocks_0_": {
        "name": "txtfusion.layerwise_blocks.0."
      },
      "txtfusion_layerwise_blocks_1_": {
        "name": "txtfusion.layerwise_blocks.1."
      },
      "txtfusion_projector_": {
        "name": "txtfusion.projector."
      },
      "txtfusion_refiner_blocks_0_": {
        "name": "txtfusion.refiner_blocks.0."
      },
      "txtfusion_refiner_blocks_1_": {
        "name": "txtfusion.refiner_blocks.1."
      },
      "txtmlp_": {
        "name": "txtmlp."
      }
    }
  },
  "ModelMergeLTXV": {
    "display_name": "ModelMergeLTXV",
    "inputs": {
      "adaln_single_": {
        "name": "adaln_single."
      },
      "caption_projection_": {
        "name": "caption_projection."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "patchify_proj_": {
        "name": "patchify_proj."
      },
      "proj_out_": {
        "name": "proj_out."
      },
      "scale_shift_table": {
        "name": "scale_shift_table"
      },
      "transformer_blocks_0_": {
        "name": "transformer_blocks.0."
      },
      "transformer_blocks_10_": {
        "name": "transformer_blocks.10."
      },
      "transformer_blocks_11_": {
        "name": "transformer_blocks.11."
      },
      "transformer_blocks_12_": {
        "name": "transformer_blocks.12."
      },
      "transformer_blocks_13_": {
        "name": "transformer_blocks.13."
      },
      "transformer_blocks_14_": {
        "name": "transformer_blocks.14."
      },
      "transformer_blocks_15_": {
        "name": "transformer_blocks.15."
      },
      "transformer_blocks_16_": {
        "name": "transformer_blocks.16."
      },
      "transformer_blocks_17_": {
        "name": "transformer_blocks.17."
      },
      "transformer_blocks_18_": {
        "name": "transformer_blocks.18."
      },
      "transformer_blocks_19_": {
        "name": "transformer_blocks.19."
      },
      "transformer_blocks_1_": {
        "name": "transformer_blocks.1."
      },
      "transformer_blocks_20_": {
        "name": "transformer_blocks.20."
      },
      "transformer_blocks_21_": {
        "name": "transformer_blocks.21."
      },
      "transformer_blocks_22_": {
        "name": "transformer_blocks.22."
      },
      "transformer_blocks_23_": {
        "name": "transformer_blocks.23."
      },
      "transformer_blocks_24_": {
        "name": "transformer_blocks.24."
      },
      "transformer_blocks_25_": {
        "name": "transformer_blocks.25."
      },
      "transformer_blocks_26_": {
        "name": "transformer_blocks.26."
      },
      "transformer_blocks_27_": {
        "name": "transformer_blocks.27."
      },
      "transformer_blocks_2_": {
        "name": "transformer_blocks.2."
      },
      "transformer_blocks_3_": {
        "name": "transformer_blocks.3."
      },
      "transformer_blocks_4_": {
        "name": "transformer_blocks.4."
      },
      "transformer_blocks_5_": {
        "name": "transformer_blocks.5."
      },
      "transformer_blocks_6_": {
        "name": "transformer_blocks.6."
      },
      "transformer_blocks_7_": {
        "name": "transformer_blocks.7."
      },
      "transformer_blocks_8_": {
        "name": "transformer_blocks.8."
      },
      "transformer_blocks_9_": {
        "name": "transformer_blocks.9."
      }
    }
  },
  "ModelMergeMochiPreview": {
    "display_name": "ModelMergeMochiPreview",
    "inputs": {
      "blocks_0_": {
        "name": "blocks.0."
      },
      "blocks_10_": {
        "name": "blocks.10."
      },
      "blocks_11_": {
        "name": "blocks.11."
      },
      "blocks_12_": {
        "name": "blocks.12."
      },
      "blocks_13_": {
        "name": "blocks.13."
      },
      "blocks_14_": {
        "name": "blocks.14."
      },
      "blocks_15_": {
        "name": "blocks.15."
      },
      "blocks_16_": {
        "name": "blocks.16."
      },
      "blocks_17_": {
        "name": "blocks.17."
      },
      "blocks_18_": {
        "name": "blocks.18."
      },
      "blocks_19_": {
        "name": "blocks.19."
      },
      "blocks_1_": {
        "name": "blocks.1."
      },
      "blocks_20_": {
        "name": "blocks.20."
      },
      "blocks_21_": {
        "name": "blocks.21."
      },
      "blocks_22_": {
        "name": "blocks.22."
      },
      "blocks_23_": {
        "name": "blocks.23."
      },
      "blocks_24_": {
        "name": "blocks.24."
      },
      "blocks_25_": {
        "name": "blocks.25."
      },
      "blocks_26_": {
        "name": "blocks.26."
      },
      "blocks_27_": {
        "name": "blocks.27."
      },
      "blocks_28_": {
        "name": "blocks.28."
      },
      "blocks_29_": {
        "name": "blocks.29."
      },
      "blocks_2_": {
        "name": "blocks.2."
      },
      "blocks_30_": {
        "name": "blocks.30."
      },
      "blocks_31_": {
        "name": "blocks.31."
      },
      "blocks_32_": {
        "name": "blocks.32."
      },
      "blocks_33_": {
        "name": "blocks.33."
      },
      "blocks_34_": {
        "name": "blocks.34."
      },
      "blocks_35_": {
        "name": "blocks.35."
      },
      "blocks_36_": {
        "name": "blocks.36."
      },
      "blocks_37_": {
        "name": "blocks.37."
      },
      "blocks_38_": {
        "name": "blocks.38."
      },
      "blocks_39_": {
        "name": "blocks.39."
      },
      "blocks_3_": {
        "name": "blocks.3."
      },
      "blocks_40_": {
        "name": "blocks.40."
      },
      "blocks_41_": {
        "name": "blocks.41."
      },
      "blocks_42_": {
        "name": "blocks.42."
      },
      "blocks_43_": {
        "name": "blocks.43."
      },
      "blocks_44_": {
        "name": "blocks.44."
      },
      "blocks_45_": {
        "name": "blocks.45."
      },
      "blocks_46_": {
        "name": "blocks.46."
      },
      "blocks_47_": {
        "name": "blocks.47."
      },
      "blocks_4_": {
        "name": "blocks.4."
      },
      "blocks_5_": {
        "name": "blocks.5."
      },
      "blocks_6_": {
        "name": "blocks.6."
      },
      "blocks_7_": {
        "name": "blocks.7."
      },
      "blocks_8_": {
        "name": "blocks.8."
      },
      "blocks_9_": {
        "name": "blocks.9."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_frequencies_": {
        "name": "pos_frequencies."
      },
      "t5_y_embedder_": {
        "name": "t5_y_embedder."
      },
      "t5_yproj_": {
        "name": "t5_yproj."
      },
      "t_embedder_": {
        "name": "t_embedder."
      }
    }
  },
  "ModelMergeQwenImage": {
    "display_name": "ModelMergeQwenImage",
    "inputs": {
      "img_in_": {
        "name": "img_in."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embeds_": {
        "name": "pos_embeds."
      },
      "proj_out_": {
        "name": "proj_out."
      },
      "time_text_embed_": {
        "name": "time_text_embed."
      },
      "transformer_blocks_0_": {
        "name": "transformer_blocks.0."
      },
      "transformer_blocks_10_": {
        "name": "transformer_blocks.10."
      },
      "transformer_blocks_11_": {
        "name": "transformer_blocks.11."
      },
      "transformer_blocks_12_": {
        "name": "transformer_blocks.12."
      },
      "transformer_blocks_13_": {
        "name": "transformer_blocks.13."
      },
      "transformer_blocks_14_": {
        "name": "transformer_blocks.14."
      },
      "transformer_blocks_15_": {
        "name": "transformer_blocks.15."
      },
      "transformer_blocks_16_": {
        "name": "transformer_blocks.16."
      },
      "transformer_blocks_17_": {
        "name": "transformer_blocks.17."
      },
      "transformer_blocks_18_": {
        "name": "transformer_blocks.18."
      },
      "transformer_blocks_19_": {
        "name": "transformer_blocks.19."
      },
      "transformer_blocks_1_": {
        "name": "transformer_blocks.1."
      },
      "transformer_blocks_20_": {
        "name": "transformer_blocks.20."
      },
      "transformer_blocks_21_": {
        "name": "transformer_blocks.21."
      },
      "transformer_blocks_22_": {
        "name": "transformer_blocks.22."
      },
      "transformer_blocks_23_": {
        "name": "transformer_blocks.23."
      },
      "transformer_blocks_24_": {
        "name": "transformer_blocks.24."
      },
      "transformer_blocks_25_": {
        "name": "transformer_blocks.25."
      },
      "transformer_blocks_26_": {
        "name": "transformer_blocks.26."
      },
      "transformer_blocks_27_": {
        "name": "transformer_blocks.27."
      },
      "transformer_blocks_28_": {
        "name": "transformer_blocks.28."
      },
      "transformer_blocks_29_": {
        "name": "transformer_blocks.29."
      },
      "transformer_blocks_2_": {
        "name": "transformer_blocks.2."
      },
      "transformer_blocks_30_": {
        "name": "transformer_blocks.30."
      },
      "transformer_blocks_31_": {
        "name": "transformer_blocks.31."
      },
      "transformer_blocks_32_": {
        "name": "transformer_blocks.32."
      },
      "transformer_blocks_33_": {
        "name": "transformer_blocks.33."
      },
      "transformer_blocks_34_": {
        "name": "transformer_blocks.34."
      },
      "transformer_blocks_35_": {
        "name": "transformer_blocks.35."
      },
      "transformer_blocks_36_": {
        "name": "transformer_blocks.36."
      },
      "transformer_blocks_37_": {
        "name": "transformer_blocks.37."
      },
      "transformer_blocks_38_": {
        "name": "transformer_blocks.38."
      },
      "transformer_blocks_39_": {
        "name": "transformer_blocks.39."
      },
      "transformer_blocks_3_": {
        "name": "transformer_blocks.3."
      },
      "transformer_blocks_40_": {
        "name": "transformer_blocks.40."
      },
      "transformer_blocks_41_": {
        "name": "transformer_blocks.41."
      },
      "transformer_blocks_42_": {
        "name": "transformer_blocks.42."
      },
      "transformer_blocks_43_": {
        "name": "transformer_blocks.43."
      },
      "transformer_blocks_44_": {
        "name": "transformer_blocks.44."
      },
      "transformer_blocks_45_": {
        "name": "transformer_blocks.45."
      },
      "transformer_blocks_46_": {
        "name": "transformer_blocks.46."
      },
      "transformer_blocks_47_": {
        "name": "transformer_blocks.47."
      },
      "transformer_blocks_48_": {
        "name": "transformer_blocks.48."
      },
      "transformer_blocks_49_": {
        "name": "transformer_blocks.49."
      },
      "transformer_blocks_4_": {
        "name": "transformer_blocks.4."
      },
      "transformer_blocks_50_": {
        "name": "transformer_blocks.50."
      },
      "transformer_blocks_51_": {
        "name": "transformer_blocks.51."
      },
      "transformer_blocks_52_": {
        "name": "transformer_blocks.52."
      },
      "transformer_blocks_53_": {
        "name": "transformer_blocks.53."
      },
      "transformer_blocks_54_": {
        "name": "transformer_blocks.54."
      },
      "transformer_blocks_55_": {
        "name": "transformer_blocks.55."
      },
      "transformer_blocks_56_": {
        "name": "transformer_blocks.56."
      },
      "transformer_blocks_57_": {
        "name": "transformer_blocks.57."
      },
      "transformer_blocks_58_": {
        "name": "transformer_blocks.58."
      },
      "transformer_blocks_59_": {
        "name": "transformer_blocks.59."
      },
      "transformer_blocks_5_": {
        "name": "transformer_blocks.5."
      },
      "transformer_blocks_6_": {
        "name": "transformer_blocks.6."
      },
      "transformer_blocks_7_": {
        "name": "transformer_blocks.7."
      },
      "transformer_blocks_8_": {
        "name": "transformer_blocks.8."
      },
      "transformer_blocks_9_": {
        "name": "transformer_blocks.9."
      },
      "txt_in_": {
        "name": "txt_in."
      },
      "txt_norm_": {
        "name": "txt_norm."
      }
    }
  },
  "ModelMergeSD1": {
    "display_name": "ModelMergeSD1",
    "inputs": {
      "input_blocks_0_": {
        "name": "input_blocks.0."
      },
      "input_blocks_10_": {
        "name": "input_blocks.10."
      },
      "input_blocks_11_": {
        "name": "input_blocks.11."
      },
      "input_blocks_1_": {
        "name": "input_blocks.1."
      },
      "input_blocks_2_": {
        "name": "input_blocks.2."
      },
      "input_blocks_3_": {
        "name": "input_blocks.3."
      },
      "input_blocks_4_": {
        "name": "input_blocks.4."
      },
      "input_blocks_5_": {
        "name": "input_blocks.5."
      },
      "input_blocks_6_": {
        "name": "input_blocks.6."
      },
      "input_blocks_7_": {
        "name": "input_blocks.7."
      },
      "input_blocks_8_": {
        "name": "input_blocks.8."
      },
      "input_blocks_9_": {
        "name": "input_blocks.9."
      },
      "label_emb_": {
        "name": "label_emb."
      },
      "middle_block_0_": {
        "name": "middle_block.0."
      },
      "middle_block_1_": {
        "name": "middle_block.1."
      },
      "middle_block_2_": {
        "name": "middle_block.2."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "out_": {
        "name": "out."
      },
      "output_blocks_0_": {
        "name": "output_blocks.0."
      },
      "output_blocks_10_": {
        "name": "output_blocks.10."
      },
      "output_blocks_11_": {
        "name": "output_blocks.11."
      },
      "output_blocks_1_": {
        "name": "output_blocks.1."
      },
      "output_blocks_2_": {
        "name": "output_blocks.2."
      },
      "output_blocks_3_": {
        "name": "output_blocks.3."
      },
      "output_blocks_4_": {
        "name": "output_blocks.4."
      },
      "output_blocks_5_": {
        "name": "output_blocks.5."
      },
      "output_blocks_6_": {
        "name": "output_blocks.6."
      },
      "output_blocks_7_": {
        "name": "output_blocks.7."
      },
      "output_blocks_8_": {
        "name": "output_blocks.8."
      },
      "output_blocks_9_": {
        "name": "output_blocks.9."
      },
      "time_embed_": {
        "name": "time_embed."
      }
    }
  },
  "ModelMergeSD2": {
    "display_name": "ModelMergeSD2",
    "inputs": {
      "input_blocks_0_": {
        "name": "input_blocks.0."
      },
      "input_blocks_10_": {
        "name": "input_blocks.10."
      },
      "input_blocks_11_": {
        "name": "input_blocks.11."
      },
      "input_blocks_1_": {
        "name": "input_blocks.1."
      },
      "input_blocks_2_": {
        "name": "input_blocks.2."
      },
      "input_blocks_3_": {
        "name": "input_blocks.3."
      },
      "input_blocks_4_": {
        "name": "input_blocks.4."
      },
      "input_blocks_5_": {
        "name": "input_blocks.5."
      },
      "input_blocks_6_": {
        "name": "input_blocks.6."
      },
      "input_blocks_7_": {
        "name": "input_blocks.7."
      },
      "input_blocks_8_": {
        "name": "input_blocks.8."
      },
      "input_blocks_9_": {
        "name": "input_blocks.9."
      },
      "label_emb_": {
        "name": "label_emb."
      },
      "middle_block_0_": {
        "name": "middle_block.0."
      },
      "middle_block_1_": {
        "name": "middle_block.1."
      },
      "middle_block_2_": {
        "name": "middle_block.2."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "out_": {
        "name": "out."
      },
      "output_blocks_0_": {
        "name": "output_blocks.0."
      },
      "output_blocks_10_": {
        "name": "output_blocks.10."
      },
      "output_blocks_11_": {
        "name": "output_blocks.11."
      },
      "output_blocks_1_": {
        "name": "output_blocks.1."
      },
      "output_blocks_2_": {
        "name": "output_blocks.2."
      },
      "output_blocks_3_": {
        "name": "output_blocks.3."
      },
      "output_blocks_4_": {
        "name": "output_blocks.4."
      },
      "output_blocks_5_": {
        "name": "output_blocks.5."
      },
      "output_blocks_6_": {
        "name": "output_blocks.6."
      },
      "output_blocks_7_": {
        "name": "output_blocks.7."
      },
      "output_blocks_8_": {
        "name": "output_blocks.8."
      },
      "output_blocks_9_": {
        "name": "output_blocks.9."
      },
      "time_embed_": {
        "name": "time_embed."
      }
    }
  },
  "ModelMergeSD35_Large": {
    "display_name": "ModelMergeSD35_Large",
    "inputs": {
      "context_embedder_": {
        "name": "context_embedder."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "joint_blocks_0_": {
        "name": "joint_blocks.0."
      },
      "joint_blocks_10_": {
        "name": "joint_blocks.10."
      },
      "joint_blocks_11_": {
        "name": "joint_blocks.11."
      },
      "joint_blocks_12_": {
        "name": "joint_blocks.12."
      },
      "joint_blocks_13_": {
        "name": "joint_blocks.13."
      },
      "joint_blocks_14_": {
        "name": "joint_blocks.14."
      },
      "joint_blocks_15_": {
        "name": "joint_blocks.15."
      },
      "joint_blocks_16_": {
        "name": "joint_blocks.16."
      },
      "joint_blocks_17_": {
        "name": "joint_blocks.17."
      },
      "joint_blocks_18_": {
        "name": "joint_blocks.18."
      },
      "joint_blocks_19_": {
        "name": "joint_blocks.19."
      },
      "joint_blocks_1_": {
        "name": "joint_blocks.1."
      },
      "joint_blocks_20_": {
        "name": "joint_blocks.20."
      },
      "joint_blocks_21_": {
        "name": "joint_blocks.21."
      },
      "joint_blocks_22_": {
        "name": "joint_blocks.22."
      },
      "joint_blocks_23_": {
        "name": "joint_blocks.23."
      },
      "joint_blocks_24_": {
        "name": "joint_blocks.24."
      },
      "joint_blocks_25_": {
        "name": "joint_blocks.25."
      },
      "joint_blocks_26_": {
        "name": "joint_blocks.26."
      },
      "joint_blocks_27_": {
        "name": "joint_blocks.27."
      },
      "joint_blocks_28_": {
        "name": "joint_blocks.28."
      },
      "joint_blocks_29_": {
        "name": "joint_blocks.29."
      },
      "joint_blocks_2_": {
        "name": "joint_blocks.2."
      },
      "joint_blocks_30_": {
        "name": "joint_blocks.30."
      },
      "joint_blocks_31_": {
        "name": "joint_blocks.31."
      },
      "joint_blocks_32_": {
        "name": "joint_blocks.32."
      },
      "joint_blocks_33_": {
        "name": "joint_blocks.33."
      },
      "joint_blocks_34_": {
        "name": "joint_blocks.34."
      },
      "joint_blocks_35_": {
        "name": "joint_blocks.35."
      },
      "joint_blocks_36_": {
        "name": "joint_blocks.36."
      },
      "joint_blocks_37_": {
        "name": "joint_blocks.37."
      },
      "joint_blocks_3_": {
        "name": "joint_blocks.3."
      },
      "joint_blocks_4_": {
        "name": "joint_blocks.4."
      },
      "joint_blocks_5_": {
        "name": "joint_blocks.5."
      },
      "joint_blocks_6_": {
        "name": "joint_blocks.6."
      },
      "joint_blocks_7_": {
        "name": "joint_blocks.7."
      },
      "joint_blocks_8_": {
        "name": "joint_blocks.8."
      },
      "joint_blocks_9_": {
        "name": "joint_blocks.9."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embed_": {
        "name": "pos_embed."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "x_embedder_": {
        "name": "x_embedder."
      },
      "y_embedder_": {
        "name": "y_embedder."
      }
    }
  },
  "ModelMergeSD3_2B": {
    "display_name": "ModelMergeSD3_2B",
    "inputs": {
      "context_embedder_": {
        "name": "context_embedder."
      },
      "final_layer_": {
        "name": "final_layer."
      },
      "joint_blocks_0_": {
        "name": "joint_blocks.0."
      },
      "joint_blocks_10_": {
        "name": "joint_blocks.10."
      },
      "joint_blocks_11_": {
        "name": "joint_blocks.11."
      },
      "joint_blocks_12_": {
        "name": "joint_blocks.12."
      },
      "joint_blocks_13_": {
        "name": "joint_blocks.13."
      },
      "joint_blocks_14_": {
        "name": "joint_blocks.14."
      },
      "joint_blocks_15_": {
        "name": "joint_blocks.15."
      },
      "joint_blocks_16_": {
        "name": "joint_blocks.16."
      },
      "joint_blocks_17_": {
        "name": "joint_blocks.17."
      },
      "joint_blocks_18_": {
        "name": "joint_blocks.18."
      },
      "joint_blocks_19_": {
        "name": "joint_blocks.19."
      },
      "joint_blocks_1_": {
        "name": "joint_blocks.1."
      },
      "joint_blocks_20_": {
        "name": "joint_blocks.20."
      },
      "joint_blocks_21_": {
        "name": "joint_blocks.21."
      },
      "joint_blocks_22_": {
        "name": "joint_blocks.22."
      },
      "joint_blocks_23_": {
        "name": "joint_blocks.23."
      },
      "joint_blocks_2_": {
        "name": "joint_blocks.2."
      },
      "joint_blocks_3_": {
        "name": "joint_blocks.3."
      },
      "joint_blocks_4_": {
        "name": "joint_blocks.4."
      },
      "joint_blocks_5_": {
        "name": "joint_blocks.5."
      },
      "joint_blocks_6_": {
        "name": "joint_blocks.6."
      },
      "joint_blocks_7_": {
        "name": "joint_blocks.7."
      },
      "joint_blocks_8_": {
        "name": "joint_blocks.8."
      },
      "joint_blocks_9_": {
        "name": "joint_blocks.9."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "pos_embed_": {
        "name": "pos_embed."
      },
      "t_embedder_": {
        "name": "t_embedder."
      },
      "x_embedder_": {
        "name": "x_embedder."
      },
      "y_embedder_": {
        "name": "y_embedder."
      }
    }
  },
  "ModelMergeSDXL": {
    "display_name": "ModelMergeSDXL",
    "inputs": {
      "input_blocks_0": {
        "name": "input_blocks.0"
      },
      "input_blocks_1": {
        "name": "input_blocks.1"
      },
      "input_blocks_2": {
        "name": "input_blocks.2"
      },
      "input_blocks_3": {
        "name": "input_blocks.3"
      },
      "input_blocks_4": {
        "name": "input_blocks.4"
      },
      "input_blocks_5": {
        "name": "input_blocks.5"
      },
      "input_blocks_6": {
        "name": "input_blocks.6"
      },
      "input_blocks_7": {
        "name": "input_blocks.7"
      },
      "input_blocks_8": {
        "name": "input_blocks.8"
      },
      "label_emb_": {
        "name": "label_emb."
      },
      "middle_block_0": {
        "name": "middle_block.0"
      },
      "middle_block_1": {
        "name": "middle_block.1"
      },
      "middle_block_2": {
        "name": "middle_block.2"
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "out_": {
        "name": "out."
      },
      "output_blocks_0": {
        "name": "output_blocks.0"
      },
      "output_blocks_1": {
        "name": "output_blocks.1"
      },
      "output_blocks_2": {
        "name": "output_blocks.2"
      },
      "output_blocks_3": {
        "name": "output_blocks.3"
      },
      "output_blocks_4": {
        "name": "output_blocks.4"
      },
      "output_blocks_5": {
        "name": "output_blocks.5"
      },
      "output_blocks_6": {
        "name": "output_blocks.6"
      },
      "output_blocks_7": {
        "name": "output_blocks.7"
      },
      "output_blocks_8": {
        "name": "output_blocks.8"
      },
      "time_embed_": {
        "name": "time_embed."
      }
    }
  },
  "ModelMergeSimple": {
    "display_name": "ModelMergeSimple",
    "inputs": {
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "ratio": {
        "name": "proporção"
      }
    }
  },
  "ModelMergeSubtract": {
    "display_name": "ModelMergeSubtract",
    "inputs": {
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "multiplier": {
        "name": "multiplicador"
      }
    }
  },
  "ModelMergeWAN2_1": {
    "description": "O modelo de 1,3B possui 30 blocos, o modelo de 14B possui 40 blocos. O modelo de imagem para vídeo possui o img_emb extra.",
    "display_name": "ModelMergeWAN2_1",
    "inputs": {
      "blocks_0_": {
        "name": "blocks.0."
      },
      "blocks_10_": {
        "name": "blocks.10."
      },
      "blocks_11_": {
        "name": "blocks.11."
      },
      "blocks_12_": {
        "name": "blocks.12."
      },
      "blocks_13_": {
        "name": "blocks.13."
      },
      "blocks_14_": {
        "name": "blocks.14."
      },
      "blocks_15_": {
        "name": "blocks.15."
      },
      "blocks_16_": {
        "name": "blocks.16."
      },
      "blocks_17_": {
        "name": "blocks.17."
      },
      "blocks_18_": {
        "name": "blocks.18."
      },
      "blocks_19_": {
        "name": "blocks.19."
      },
      "blocks_1_": {
        "name": "blocks.1."
      },
      "blocks_20_": {
        "name": "blocks.20."
      },
      "blocks_21_": {
        "name": "blocks.21."
      },
      "blocks_22_": {
        "name": "blocks.22."
      },
      "blocks_23_": {
        "name": "blocks.23."
      },
      "blocks_24_": {
        "name": "blocks.24."
      },
      "blocks_25_": {
        "name": "blocks.25."
      },
      "blocks_26_": {
        "name": "blocks.26."
      },
      "blocks_27_": {
        "name": "blocks.27."
      },
      "blocks_28_": {
        "name": "blocks.28."
      },
      "blocks_29_": {
        "name": "blocks.29."
      },
      "blocks_2_": {
        "name": "blocks.2."
      },
      "blocks_30_": {
        "name": "blocks.30."
      },
      "blocks_31_": {
        "name": "blocks.31."
      },
      "blocks_32_": {
        "name": "blocks.32."
      },
      "blocks_33_": {
        "name": "blocks.33."
      },
      "blocks_34_": {
        "name": "blocks.34."
      },
      "blocks_35_": {
        "name": "blocks.35."
      },
      "blocks_36_": {
        "name": "blocks.36."
      },
      "blocks_37_": {
        "name": "blocks.37."
      },
      "blocks_38_": {
        "name": "blocks.38."
      },
      "blocks_39_": {
        "name": "blocks.39."
      },
      "blocks_3_": {
        "name": "blocks.3."
      },
      "blocks_4_": {
        "name": "blocks.4."
      },
      "blocks_5_": {
        "name": "blocks.5."
      },
      "blocks_6_": {
        "name": "blocks.6."
      },
      "blocks_7_": {
        "name": "blocks.7."
      },
      "blocks_8_": {
        "name": "blocks.8."
      },
      "blocks_9_": {
        "name": "blocks.9."
      },
      "head_": {
        "name": "head."
      },
      "img_emb_": {
        "name": "img_emb."
      },
      "model1": {
        "name": "model1"
      },
      "model2": {
        "name": "model2"
      },
      "patch_embedding_": {
        "name": "patch_embedding."
      },
      "text_embedding_": {
        "name": "text_embedding."
      },
      "time_embedding_": {
        "name": "time_embedding."
      },
      "time_projection_": {
        "name": "time_projection."
      }
    }
  },
  "ModelNoiseScale": {
    "display_name": "Escala de Ruído do Modelo",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "noise_scale": {
        "name": "escala_de_ruído",
        "tooltip": "Escala absoluta de ruído de treinamento. Por exemplo HiDream-O1 base: 8.0, dev: 7.5."
      }
    }
  },
  "ModelPatchLoader": {
    "display_name": "ModelPatchLoader",
    "inputs": {
      "name": {
        "name": "nome"
      }
    }
  },
  "ModelSamplingAuraFlow": {
    "display_name": "ModelSamplingAuraFlow",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "shift": {
        "name": "deslocamento"
      }
    }
  },
  "ModelSamplingContinuousEDM": {
    "display_name": "ModelSamplingContinuousEDM",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "sampling": {
        "name": "amostragem"
      },
      "sigma_max": {
        "name": "sigma_máx"
      },
      "sigma_min": {
        "name": "sigma_mín"
      }
    }
  },
  "ModelSamplingContinuousV": {
    "display_name": "ModelSamplingContinuousV",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "sampling": {
        "name": "amostragem"
      },
      "sigma_max": {
        "name": "sigma_máx"
      },
      "sigma_min": {
        "name": "sigma_mín"
      }
    }
  },
  "ModelSamplingDiscrete": {
    "display_name": "ModelSamplingDiscrete",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "sampling": {
        "name": "amostragem"
      },
      "zsnr": {
        "name": "zsnr"
      }
    }
  },
  "ModelSamplingFlux": {
    "display_name": "ModelSamplingFlux",
    "inputs": {
      "base_shift": {
        "name": "deslocamento_base"
      },
      "height": {
        "name": "altura"
      },
      "max_shift": {
        "name": "deslocamento_máx"
      },
      "model": {
        "name": "modelo"
      },
      "width": {
        "name": "largura"
      }
    }
  },
  "ModelSamplingLTXV": {
    "display_name": "ModelSamplingLTXV",
    "inputs": {
      "base_shift": {
        "name": "deslocamento_base"
      },
      "latent": {
        "name": "latente"
      },
      "max_shift": {
        "name": "deslocamento_máx"
      },
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ModelSamplingSD3": {
    "display_name": "ModelSamplingSD3",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "shift": {
        "name": "deslocamento"
      }
    }
  },
  "ModelSamplingStableCascade": {
    "display_name": "ModelSamplingStableCascade",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "shift": {
        "name": "deslocamento"
      }
    }
  },
  "ModelSave": {
    "display_name": "ModelSave",
    "inputs": {
      "filename_prefix": {
        "name": "prefixo_do_arquivo"
      },
      "model": {
        "name": "modelo"
      }
    }
  },
  "Morphology": {
    "display_name": "ImageMorphology",
    "inputs": {
      "image": {
        "name": "image"
      },
      "kernel_size": {
        "name": "kernel_size"
      },
      "operation": {
        "name": "operation"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "MultiGPU_WorkUnits": {
    "description": "Prepara o modelo para ter a amostragem acelerada via divisão de unidades de trabalho.\n\nDeve ser colocado após nós que modificam o próprio objeto do modelo, como nós de compilação ou troca de atenção.\n\nFora essas exceções, este nó pode ser colocado em qualquer ordem.",
    "display_name": "Divisão de CFG MultiGPU",
    "inputs": {
      "max_gpus": {
        "name": "max_gpus"
      },
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "NAGuidance": {
    "description": "Aplica Orientação de Atenção Normalizada aos modelos, permitindo prompts negativos em modelos distilled/schnell.",
    "display_name": "Orientação de Atenção Normalizada",
    "inputs": {
      "model": {
        "name": "modelo",
        "tooltip": "O modelo ao qual aplicar o NAG."
      },
      "nag_alpha": {
        "name": "nag_alpha",
        "tooltip": "Fator de mesclagem para a atenção normalizada. 1.0 é substituição total, 0.0 não tem efeito."
      },
      "nag_scale": {
        "name": "escala_nag",
        "tooltip": "O fator de escala da orientação. Valores mais altos afastam mais do prompt negativo."
      },
      "nag_tau": {
        "name": "nag_tau"
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O modelo modificado com NAG ativado."
      }
    }
  },
  "NormalizeImages": {
    "description": "Normalize imagens usando média e desvio padrão.",
    "display_name": "Normalizar Imagens",
    "inputs": {
      "images": {
        "name": "images",
        "tooltip": "Imagem a ser processada."
      },
      "mean": {
        "name": "mean",
        "tooltip": "Valor médio para normalização."
      },
      "std": {
        "name": "std",
        "tooltip": "Desvio padrão para normalização."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "Imagens processadas"
      }
    }
  },
  "NormalizeVideoLatentStart": {
    "description": "Normaliza os quadros iniciais de um latent de vídeo para corresponder à média e ao desvio padrão dos quadros de referência subsequentes. Ajuda a reduzir diferenças entre os quadros iniciais e o restante do vídeo.",
    "display_name": "Normalizar Início do Latent de Vídeo",
    "inputs": {
      "latent": {
        "name": "latent"
      },
      "reference_frame_count": {
        "name": "reference_frame_count",
        "tooltip": "Número de quadros latentes após os quadros iniciais a serem usados como referência"
      },
      "start_frame_count": {
        "name": "start_frame_count",
        "tooltip": "Número de quadros latentes a normalizar, contados a partir do início"
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "OpenAIChatConfig": {
    "description": "Permite especificar opções avançadas de configuração para os Nós de Chat OpenAI.",
    "display_name": "Opções Avançadas do OpenAI ChatGPT",
    "inputs": {
      "instructions": {
        "name": "instructions",
        "tooltip": "Instruções para o modelo sobre como gerar a resposta."
      },
      "max_output_tokens": {
        "name": "max_output_tokens",
        "tooltip": "Um limite superior para o número de tokens que podem ser gerados em uma resposta, incluindo tokens de saída visíveis."
      },
      "truncation": {
        "name": "truncation",
        "tooltip": "A estratégia de truncamento a ser usada para a resposta do modelo. auto: Se o contexto desta resposta e das anteriores exceder o tamanho da janela de contexto do modelo, o modelo irá truncar a resposta para caber na janela de contexto, removendo itens de entrada no meio da conversa. disabled: Se uma resposta do modelo exceder o tamanho da janela de contexto, a solicitação falhará com um erro 400."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIChatNode": {
    "description": "Gera respostas em texto a partir de um modelo OpenAI.",
    "display_name": "OpenAI ChatGPT",
    "inputs": {
      "advanced_options": {
        "name": "advanced_options",
        "tooltip": "Configuração opcional para o modelo. Aceita entradas do nó OpenAI Chat Advanced Options."
      },
      "files": {
        "name": "files",
        "tooltip": "Arquivo(s) opcional(is) para usar como contexto para o modelo. Aceita entradas do nó OpenAI Chat Input Files."
      },
      "images": {
        "name": "images",
        "tooltip": "Imagem(ns) opcional(is) para usar como contexto para o modelo. Para incluir várias imagens, você pode usar o nó Batch Images."
      },
      "model": {
        "name": "model",
        "tooltip": "O modelo utilizado para gerar a resposta."
      },
      "persist_context": {
        "name": "persist_context",
        "tooltip": "Este parâmetro está obsoleto e não tem efeito."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entradas de texto para o modelo, usadas para gerar uma resposta."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIDalle2": {
    "description": "Gera imagens de forma síncrona via endpoint DALL·E 2 da OpenAI.",
    "display_name": "OpenAI DALL·E 2",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "image",
        "tooltip": "Imagem de referência opcional para edição de imagem."
      },
      "mask": {
        "name": "mask",
        "tooltip": "Máscara opcional para inpainting (áreas brancas serão substituídas)"
      },
      "n": {
        "name": "n",
        "tooltip": "Quantas imagens gerar"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para o DALL·E"
      },
      "seed": {
        "name": "seed",
        "tooltip": "ainda não implementado no backend"
      },
      "size": {
        "name": "size",
        "tooltip": "Tamanho da imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIDalle3": {
    "description": "Gera imagens de forma síncrona via endpoint DALL·E 3 da OpenAI.",
    "display_name": "OpenAI DALL·E 3",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para o DALL·E"
      },
      "quality": {
        "name": "qualidade",
        "tooltip": "Qualidade da imagem"
      },
      "seed": {
        "name": "seed",
        "tooltip": "ainda não implementado no backend"
      },
      "size": {
        "name": "tamanho",
        "tooltip": "Tamanho da imagem"
      },
      "style": {
        "name": "estilo",
        "tooltip": "Vivo faz o modelo tender a gerar imagens hiper-realistas e dramáticas. Natural faz o modelo produzir imagens mais naturais, com aparência menos hiper-realista."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIGPTImage1": {
    "description": "Gera imagens de forma síncrona via endpoint GPT Image 2 da OpenAI.",
    "display_name": "OpenAI GPT Image 2",
    "inputs": {
      "background": {
        "name": "fundo",
        "tooltip": "Retornar imagem com ou sem fundo"
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "custom_height": {
        "name": "custom_height",
        "tooltip": "Usado apenas quando `size` é 'Custom'. Deve ser um múltiplo de 16 (apenas para GPT Image 2)."
      },
      "custom_width": {
        "name": "custom_width",
        "tooltip": "Usado apenas quando `size` é 'Custom'. Deve ser um múltiplo de 16 (apenas para GPT Image 2)."
      },
      "image": {
        "name": "imagem",
        "tooltip": "Imagem de referência opcional para edição de imagem."
      },
      "mask": {
        "name": "mask",
        "tooltip": "Máscara opcional para inpainting (áreas brancas serão substituídas)"
      },
      "model": {
        "name": "modelo"
      },
      "n": {
        "name": "n",
        "tooltip": "Quantas imagens gerar"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para GPT Image"
      },
      "quality": {
        "name": "qualidade",
        "tooltip": "Qualidade da imagem, afeta o custo e o tempo de geração."
      },
      "seed": {
        "name": "seed",
        "tooltip": "ainda não implementado no backend"
      },
      "size": {
        "name": "tamanho",
        "tooltip": "Tamanho da imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIGPTImageNodeV2": {
    "description": "Gera imagens via endpoint GPT Image da OpenAI.",
    "display_name": "OpenAI GPT Image 2",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo"
      },
      "model_background": {
        "name": "fundo"
      },
      "model_custom_height": {
        "name": "altura_personalizada"
      },
      "model_custom_width": {
        "name": "largura_personalizada"
      },
      "model_quality": {
        "name": "qualidade"
      },
      "model_size": {
        "name": "tamanho"
      },
      "n": {
        "name": "n",
        "tooltip": "Quantas imagens gerar"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para o GPT Image"
      },
      "seed": {
        "name": "semente",
        "tooltip": "ainda não implementado no backend"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIInputFiles": {
    "description": "Carrega e prepara arquivos de entrada (texto, pdf, etc.) para incluir como entradas no Nó de Chat da OpenAI. Os arquivos serão lidos pelo modelo OpenAI ao gerar uma resposta. 🛈 DICA: Pode ser encadeado com outros nós de Arquivo de Entrada OpenAI.",
    "display_name": "Arquivos de Entrada do OpenAI ChatGPT",
    "inputs": {
      "OPENAI_INPUT_FILES": {
        "name": "OPENAI_INPUT_FILES",
        "tooltip": "Arquivo(s) adicional(is) opcional(is) para agrupar junto com o arquivo carregado deste nó. Permite o encadeamento de arquivos de entrada para que uma única mensagem possa incluir múltiplos arquivos."
      },
      "file": {
        "name": "arquivo",
        "tooltip": "Arquivos de entrada para incluir como contexto para o modelo. Aceita apenas arquivos de texto (.txt) e PDF (.pdf) por enquanto."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenAIVideoSora2": {
    "description": "Geração de vídeo e áudio da OpenAI.",
    "display_name": "OpenAI Sora - Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "image": {
        "name": "imagem"
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Texto guia; pode estar vazio se houver uma imagem de entrada."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente do seed."
      },
      "size": {
        "name": "tamanho"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpenRouterLLMNode": {
    "description": "Gere respostas de texto através do OpenRouter. Direciona para um conjunto selecionado de modelos populares da xAI, DeepSeek, Qwen, Mistral, Z.AI (GLM), Moonshot (Kimi) e Perplexity Sonar.",
    "display_name": "OpenRouter LLM",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "O modelo OpenRouter usado para gerar a resposta."
      },
      "model_reasoning_effort": {
        "name": "reasoning_effort"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Entrada de texto para o modelo."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semente para amostragem. Defina como 0 para omitir. A maioria dos modelos trata isso apenas como uma sugestão."
      },
      "system_prompt": {
        "name": "system_prompt",
        "tooltip": "Instruções fundamentais que ditam o comportamento do modelo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OpticalFlowLoader": {
    "display_name": "Carregar Modelo de Optical Flow",
    "inputs": {
      "model_name": {
        "name": "model_name",
        "tooltip": "Modelo de optical flow para carregar. Os arquivos devem ser colocados na pasta 'optical_flow'. Atualmente, apenas o raft_large.pth do torchvision é suportado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "OptimalStepsScheduler": {
    "display_name": "Agendador de Passos Ótimos",
    "inputs": {
      "denoise": {
        "name": "reduzir_ruído"
      },
      "model_type": {
        "name": "tipo_de_modelo"
      },
      "steps": {
        "name": "passos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Painter": {
    "display_name": "Painter",
    "inputs": {
      "bg_color": {
        "name": "cor_de_fundo"
      },
      "height": {
        "name": "altura"
      },
      "image": {
        "name": "imagem",
        "tooltip": "Imagem base opcional para pintar por cima"
      },
      "mask": {
        "name": "mask"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "PairConditioningCombine": {
    "display_name": "Combinar Par de Condições",
    "inputs": {
      "negative_A": {
        "name": "negativo_A"
      },
      "negative_B": {
        "name": "negativo_B"
      },
      "positive_A": {
        "name": "positivo_A"
      },
      "positive_B": {
        "name": "positivo_B"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "PairConditioningSetDefaultCombine": {
    "display_name": "Combinar Par de Condições Padrão",
    "inputs": {
      "hooks": {
        "name": "ganchos"
      },
      "negative": {
        "name": "negativo"
      },
      "negative_DEFAULT": {
        "name": "negativo_PADRÃO"
      },
      "positive": {
        "name": "positivo"
      },
      "positive_DEFAULT": {
        "name": "positivo_PADRÃO"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "PairConditioningSetProperties": {
    "display_name": "Definir Propriedades do Par de Condições",
    "inputs": {
      "hooks": {
        "name": "ganchos"
      },
      "mask": {
        "name": "máscara"
      },
      "negative_NEW": {
        "name": "negativo_NOVO"
      },
      "positive_NEW": {
        "name": "positivo_NOVO"
      },
      "set_cond_area": {
        "name": "definir_área_cond"
      },
      "strength": {
        "name": "força"
      },
      "timesteps": {
        "name": "etapas"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "PairConditioningSetPropertiesAndCombine": {
    "display_name": "Definir Propriedades e Combinar Par de Condições",
    "inputs": {
      "hooks": {
        "name": "ganchos"
      },
      "mask": {
        "name": "máscara"
      },
      "negative": {
        "name": "negativo"
      },
      "negative_NEW": {
        "name": "negativo_NOVO"
      },
      "positive": {
        "name": "positivo"
      },
      "positive_NEW": {
        "name": "positivo_NOVO"
      },
      "set_cond_area": {
        "name": "definir_área_cond"
      },
      "strength": {
        "name": "força"
      },
      "timesteps": {
        "name": "etapas"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      }
    }
  },
  "PatchModelAddDownscale": {
    "display_name": "PatchModelAddDownscale (Kohya Deep Shrink)",
    "inputs": {
      "block_number": {
        "name": "número_do_bloco"
      },
      "downscale_after_skip": {
        "name": "reduzir_após_pular"
      },
      "downscale_factor": {
        "name": "fator_de_redução"
      },
      "downscale_method": {
        "name": "método_de_redução"
      },
      "end_percent": {
        "name": "percentual_final"
      },
      "model": {
        "name": "modelo"
      },
      "start_percent": {
        "name": "percentual_inicial"
      },
      "upscale_method": {
        "name": "método_de_ampliação"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerpNeg": {
    "display_name": "Perp-Neg (OBSOLETO por PerpNegGuider)",
    "inputs": {
      "empty_conditioning": {
        "name": "empty_conditioning"
      },
      "model": {
        "name": "model"
      },
      "neg_scale": {
        "name": "neg_scale"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerpNegGuider": {
    "display_name": "PerpNegGuider",
    "inputs": {
      "cfg": {
        "name": "cfg"
      },
      "empty_conditioning": {
        "name": "empty_conditioning"
      },
      "model": {
        "name": "model"
      },
      "neg_scale": {
        "name": "neg_scale"
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PerturbedAttentionGuidance": {
    "display_name": "PerturbedAttentionGuidance",
    "inputs": {
      "model": {
        "name": "model"
      },
      "scale": {
        "name": "scale"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PhotoMakerEncode": {
    "display_name": "PhotoMakerEncode",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "imagem"
      },
      "photomaker": {
        "name": "photomaker"
      },
      "text": {
        "name": "texto"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PhotoMakerLoader": {
    "display_name": "PhotoMakerLoader",
    "inputs": {
      "photomaker_model_name": {
        "name": "photomaker_model_name"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PiDConditioning": {
    "description": "Anexa um latent e um escalar degrade_sigma a um CONDITIONING para decodificação/upscaling PiD",
    "display_name": "PiD Condicionamento",
    "inputs": {
      "degrade_sigma": {
        "name": "degrade_sigma",
        "tooltip": "0 = latent limpo. Aumente para remover ruído de saídas latentes corrompidas."
      },
      "latent": {
        "name": "latent",
        "tooltip": "latent (de VAEEncode ou um KSampler)."
      },
      "latent_format": {
        "name": "formato do latent",
        "tooltip": "Latents do Flux1 e Flux2 são detectados automaticamente pela dimensão do canal, sd3 deve ser selecionado manualmente."
      },
      "positive": {
        "name": "positivo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseImageToVideoNode": {
    "description": "Gera vídeos com base no prompt e no output_size.",
    "display_name": "PixVerse Imagem para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration_seconds": {
        "name": "duração_segundos"
      },
      "image": {
        "name": "imagem"
      },
      "motion_mode": {
        "name": "modo_de_movimento"
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Uma descrição opcional em texto de elementos indesejados em uma imagem."
      },
      "pixverse_template": {
        "name": "pixverse_template",
        "tooltip": "Um template opcional para influenciar o estilo da geração, criado pelo nó PixVerse Template."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração do vídeo"
      },
      "quality": {
        "name": "qualidade"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para geração do vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseTemplateNode": {
    "display_name": "PixVerse Template",
    "inputs": {
      "template": {
        "name": "template"
      }
    },
    "outputs": {
      "0": {
        "name": "pixverse_template",
        "tooltip": null
      }
    }
  },
  "PixverseTextToVideoNode": {
    "description": "Gera vídeos com base no prompt e no output_size.",
    "display_name": "PixVerse Texto para Vídeo",
    "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": "Uma descrição opcional de elementos indesejados em uma imagem."
      },
      "pixverse_template": {
        "name": "pixverse_template",
        "tooltip": "Um template opcional para influenciar o estilo da geração, criado pelo nó PixVerse Template."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração do vídeo"
      },
      "quality": {
        "name": "quality"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para geração do vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PixverseTransitionVideoNode": {
    "description": "Gera vídeos com base no prompt e no output_size.",
    "display_name": "PixVerse Transição de Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration_seconds": {
        "name": "duration_seconds"
      },
      "first_frame": {
        "name": "first_frame"
      },
      "last_frame": {
        "name": "last_frame"
      },
      "motion_mode": {
        "name": "motion_mode"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Uma descrição opcional de elementos indesejados em uma imagem."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração do vídeo"
      },
      "quality": {
        "name": "quality"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para geração do vídeo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PolyexponentialScheduler": {
    "display_name": "PolyexponentialScheduler",
    "inputs": {
      "rho": {
        "name": "rho"
      },
      "sigma_max": {
        "name": "sigma_max"
      },
      "sigma_min": {
        "name": "sigma_min"
      },
      "steps": {
        "name": "steps"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PorterDuffImageComposite": {
    "display_name": "Composição de Imagem Porter-Duff",
    "inputs": {
      "destination": {
        "name": "destination"
      },
      "destination_alpha": {
        "name": "destination_alpha"
      },
      "mode": {
        "name": "mode"
      },
      "source": {
        "name": "source"
      },
      "source_alpha": {
        "name": "source_alpha"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "Preview3D": {
    "description": "Visualize um arquivo de modelo 3D sem salvá-lo no diretório de saída do ComfyUI.",
    "display_name": "Pré-visualização 3D & Animação",
    "inputs": {
      "bg_image": {
        "name": "bg_image"
      },
      "camera_info": {
        "name": "camera_info"
      },
      "image": {
        "name": "imagem"
      },
      "model_file": {
        "name": "model_file",
        "tooltip": "Arquivo de modelo 3D ou caminho do arquivo"
      }
    }
  },
  "Preview3DAdvanced": {
    "description": "Visualize um arquivo de modelo 3D sem salvá-lo no diretório de saída do ComfyUI.",
    "display_name": "Visualizar 3D (Avançado)",
    "inputs": {
      "camera_info": {
        "name": "info_câmera"
      },
      "height": {
        "name": "altura"
      },
      "model_3d": {
        "name": "modelo_3d",
        "tooltip": "Arquivo de modelo 3D de um nó 3D anterior."
      },
      "model_3d_info": {
        "name": "info_modelo_3d"
      },
      "viewport_state": {
        "name": "estado_da_janela_de_visualização"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_modelo",
        "tooltip": null
      },
      "1": {
        "name": "info_câmera",
        "tooltip": null
      },
      "2": {
        "name": "info_modelo_3d",
        "tooltip": null
      },
      "3": {
        "name": "largura",
        "tooltip": null
      },
      "4": {
        "name": "altura",
        "tooltip": null
      }
    }
  },
  "PreviewAny": {
    "description": "Visualize qualquer valor de entrada como texto.",
    "display_name": "Pré-visualizar como Texto",
    "inputs": {
      "preview_mode": "Modo de visualização",
      "preview_text": {},
      "source": {
        "name": "source"
      }
    }
  },
  "PreviewAudio": {
    "description": "Ouça o áudio sem salvá-lo no diretório de saída do ComfyUI.",
    "display_name": "Pré-visualizar Áudio",
    "inputs": {
      "audio": {
        "name": "audio"
      },
      "audioUI": {
        "name": "audioUI"
      }
    },
    "outputs": {
      "0": {
        "name": "áudio",
        "tooltip": null
      }
    }
  },
  "PreviewGaussianSplat": {
    "description": "Visualize um arquivo 3D gaussian splat sem salvá-lo no diretório de saída do ComfyUI.",
    "display_name": "Pré-visualizar Splat",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Um arquivo 3D de gaussian splat."
      },
      "model_3d_info": {
        "name": "model_3d_info"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "PreviewImage": {
    "description": "Salva as imagens de entrada no seu diretório de saída do ComfyUI.",
    "display_name": "Imagem de Pré-visualização",
    "inputs": {
      "images": {
        "name": "imagens"
      }
    },
    "outputs": {
      "0": {
        "name": "imagens"
      }
    }
  },
  "PreviewPointCloud": {
    "description": "Visualize um arquivo de nuvem de pontos 3D sem salvá-lo no diretório de saída do ComfyUI.",
    "display_name": "Pré-visualizar Nuvem de Pontos",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Arquivo de nuvem de pontos (.ply)"
      },
      "model_3d_info": {
        "name": "model_3d_info"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "PrimitiveBoolean": {
    "display_name": "Booleano",
    "inputs": {
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveBoundingBox": {
    "display_name": "Caixa Delimitadora",
    "inputs": {
      "height": {
        "name": "altura"
      },
      "width": {
        "name": "largura"
      },
      "x": {
        "name": "x"
      },
      "y": {
        "name": "y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveFloat": {
    "display_name": "Ponto Flutuante",
    "inputs": {
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveInt": {
    "display_name": "Inteiro",
    "inputs": {
      "fixed": {
        "name": "controle após gerar"
      },
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveString": {
    "display_name": "Texto",
    "inputs": {
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "PrimitiveStringMultiline": {
    "display_name": "Texto (Multilinha)",
    "inputs": {
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QuadrupleCLIPLoader": {
    "description": "[Receitas]\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": "Vetorização de uma imagem raster para SVG usando Quiver AI.",
    "display_name": "Quiver Imagem para SVG",
    "inputs": {
      "auto_crop": {
        "name": "corte_automático",
        "tooltip": "Recortar automaticamente para o sujeito dominante."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "imagem",
        "tooltip": "Imagem de entrada para vetorizar."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para vetorização 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": "semente",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QuiverTextToSVGNode": {
    "description": "Gerar um SVG a partir de um prompt de texto usando Quiver AI.",
    "display_name": "Quiver Texto para SVG",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "instructions": {
        "name": "instruções",
        "tooltip": "Orientações adicionais de estilo ou formatação."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para geração de SVG."
      },
      "model_presence_penalty": {
        "name": "presence_penalty"
      },
      "model_temperature": {
        "name": "temperature"
      },
      "model_top_p": {
        "name": "top_p"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto do SVG desejado."
      },
      "reference_images": {
        "name": "imagens_de_referência",
        "tooltip": "Até 4 imagens de referência para guiar a geração."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "QwenImageDiffsynthControlnet": {
    "display_name": "QwenImageDiffsynthControlnet",
    "inputs": {
      "image": {
        "name": "imagem"
      },
      "mask": {
        "name": "máscara"
      },
      "model": {
        "name": "modelo"
      },
      "model_patch": {
        "name": "patch do modelo"
      },
      "strength": {
        "name": "força"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "RTDETR_detect": {
    "display_name": "RT-DETR Detectar",
    "inputs": {
      "class_name": {
        "name": "class_name",
        "tooltip": "Filtrar detecções por classe. Defina como 'all' para desabilitar o filtro."
      },
      "image": {
        "name": "image"
      },
      "max_detections": {
        "name": "max_detections",
        "tooltip": "Número máximo de detecções a retornar por imagem. Em ordem decrescente de confiança."
      },
      "model": {
        "name": "model"
      },
      "threshold": {
        "name": "threshold"
      }
    },
    "outputs": {
      "0": {
        "name": "bboxes",
        "tooltip": null
      }
    }
  },
  "RandomCropImages": {
    "description": "Recorte aleatoriamente uma imagem para as dimensões especificadas.",
    "display_name": "Corte Aleatório de Imagens",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "height": {
        "name": "altura",
        "tooltip": "Altura do corte."
      },
      "images": {
        "name": "imagens",
        "tooltip": "Imagem para processar."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória."
      },
      "width": {
        "name": "largura",
        "tooltip": "Largura do corte."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Imagens processadas"
      }
    }
  },
  "RandomNoise": {
    "display_name": "Ruído Aleatório",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "noise_seed": {
        "name": "semente do ruído"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RebatchImages": {
    "display_name": "Reagrupar Imagens",
    "inputs": {
      "batch_size": {
        "name": "tamanho do lote"
      },
      "images": {
        "name": "imagens"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RebatchLatents": {
    "display_name": "Reagrupar Latents",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "latents": {
        "name": "latents"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecordAudio": {
    "display_name": "Gravar Áudio",
    "inputs": {
      "audio": {
        "name": "áudio"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftColorRGB": {
    "description": "Crie uma cor Recraft escolhendo valores RGB específicos.",
    "display_name": "Recraft Cor RGB",
    "inputs": {
      "b": {
        "name": "b",
        "tooltip": "Valor azul da cor."
      },
      "g": {
        "name": "g",
        "tooltip": "Valor verde da cor."
      },
      "r": {
        "name": "r",
        "tooltip": "Valor vermelho da cor."
      },
      "recraft_color": {
        "name": "recraft_color"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_color",
        "tooltip": null
      }
    }
  },
  "RecraftControls": {
    "description": "Crie Controles Recraft para personalizar a geração Recraft.",
    "display_name": "Controles Recraft",
    "inputs": {
      "background_color": {
        "name": "cor_de_fundo"
      },
      "colors": {
        "name": "cores"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_controls",
        "tooltip": null
      }
    }
  },
  "RecraftCreateStyleNode": {
    "description": "Crie um estilo personalizado a partir de imagens de referência. Faça upload de 1 a 5 imagens para usar como referência de estilo. O tamanho total de todas as imagens é limitado a 5 MB.",
    "display_name": "Recraft Criar Estilo",
    "inputs": {
      "images": {
        "name": "imagens"
      },
      "style": {
        "name": "estilo",
        "tooltip": "O estilo base das imagens geradas."
      }
    },
    "outputs": {
      "0": {
        "name": "id_estilo",
        "tooltip": null
      }
    }
  },
  "RecraftCreativeUpscaleNode": {
    "description": "Aumente a imagem de forma síncrona.\nAprimora uma imagem rasterizada usando a ferramenta de ‘ampliação criativa’, aumentando a resolução com foco no refinamento de pequenos detalhes e rostos.",
    "display_name": "Recraft Ampliação Criativa de Imagem",
    "inputs": {
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftCrispUpscaleNode": {
    "description": "Aumente a imagem de forma síncrona.\nAprimora uma imagem rasterizada usando a ferramenta de ‘ampliação nítida’, aumentando a resolução da imagem, tornando-a mais nítida e limpa.",
    "display_name": "Recraft Ampliação Nítida de Imagem",
    "inputs": {
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftImageInpaintingNode": {
    "description": "Modifique a imagem com base no prompt e na máscara.",
    "display_name": "Recraft Preenchimento de Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "image": {
        "name": "imagem"
      },
      "mask": {
        "name": "máscara"
      },
      "n": {
        "name": "n",
        "tooltip": "O número de imagens a serem geradas."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Uma descrição opcional em texto de elementos indesejados em uma imagem."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftImageToImageNode": {
    "description": "Modifique a imagem com base no prompt e intensidade.",
    "display_name": "Recraft Imagem para Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "image": {
        "name": "imagem"
      },
      "n": {
        "name": "n",
        "tooltip": "Número de imagens a serem geradas."
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Uma descrição opcional em texto de elementos indesejados na imagem."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controles adicionais opcionais sobre a geração via o nó Recraft Controls."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da semente."
      },
      "strength": {
        "name": "intensidade",
        "tooltip": "Define a diferença em relação à imagem original, deve estar em [0, 1], onde 0 significa quase idêntico e 1 significa semelhança mínima."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftRemoveBackgroundNode": {
    "description": "Remove o fundo da imagem e retorna a imagem processada e a máscara.",
    "display_name": "Recraft Remover Fundo",
    "inputs": {
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "RecraftReplaceBackgroundNode": {
    "description": "Substitua o fundo da imagem com base no prompt fornecido.",
    "display_name": "Recraft Substituir Fundo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "image": {
        "name": "imagem"
      },
      "n": {
        "name": "n",
        "tooltip": "Número de imagens a serem geradas."
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Uma descrição opcional em texto de elementos indesejados na imagem."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3DigitalIllustration": {
    "description": "Selecione o estilo realistic_image e subestilo opcional.",
    "display_name": "Recraft Estilo - Ilustração Digital",
    "inputs": {
      "substyle": {
        "name": "subestilo"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3InfiniteStyleLibrary": {
    "description": "Selecione o estilo com base no UUID pré-existente da Biblioteca de Estilos Infinita do Recraft.",
    "display_name": "Recraft Estilo - Biblioteca de Estilos Infinita",
    "inputs": {
      "style_id": {
        "name": "style_id",
        "tooltip": "UUID do estilo da Biblioteca de Estilos Infinita."
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3LogoRaster": {
    "description": "Selecione o estilo realistic_image e subestilo opcional.",
    "display_name": "Recraft Estilo - Logo Raster",
    "inputs": {
      "substyle": {
        "name": "subestilo"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftStyleV3RealisticImage": {
    "description": "Selecione o estilo realistic_image e um subestilo opcional.",
    "display_name": "Recraft Style - Imagem Realista",
    "inputs": {
      "substyle": {
        "name": "substyle"
      }
    },
    "outputs": {
      "0": {
        "name": "recraft_style",
        "tooltip": null
      }
    }
  },
  "RecraftTextToImageNode": {
    "description": "Gera imagens de forma síncrona com base no prompt e na resolução.",
    "display_name": "Recraft Texto para Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "n": {
        "name": "n",
        "tooltip": "O número de imagens a serem geradas."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Uma descrição opcional em texto de elementos indesejados na imagem."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controles adicionais opcionais sobre a geração via o nó Recraft Controls."
      },
      "recraft_style": {
        "name": "recraft_style"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente do seed."
      },
      "size": {
        "name": "size",
        "tooltip": "O tamanho da imagem gerada."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftTextToVectorNode": {
    "description": "Gera SVG de forma síncrona com base no prompt e na resolução.",
    "display_name": "Recraft Texto para Vetor",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "n": {
        "name": "n",
        "tooltip": "O número de imagens a serem geradas."
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Uma descrição opcional em texto de elementos indesejados na imagem."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controles adicionais opcionais sobre a geração via o nó Recraft Controls."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente do seed."
      },
      "size": {
        "name": "size",
        "tooltip": "O tamanho da imagem gerada."
      },
      "substyle": {
        "name": "substyle"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftV4TextToImageNode": {
    "description": "Gera imagens usando os modelos Recraft V4 ou V4 Pro.",
    "display_name": "Recraft V4 Texto para Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo a ser usado para geração."
      },
      "model_size": {
        "name": "tamanho"
      },
      "n": {
        "name": "n",
        "tooltip": "O número de imagens a serem geradas."
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Uma descrição opcional em texto de elementos indesejados em uma imagem."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem. Máximo de 10.000 caracteres."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controles adicionais opcionais sobre a geração via o nó Recraft Controls."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftV4TextToVectorNode": {
    "description": "Gera SVG usando os modelos Recraft V4 ou V4 Pro.",
    "display_name": "Recraft V4 Texto para Vetor",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo a ser usado para geração."
      },
      "model_size": {
        "name": "tamanho"
      },
      "n": {
        "name": "n",
        "tooltip": "O número de imagens a serem geradas."
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Uma descrição opcional em texto de elementos indesejados em uma imagem."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt para a geração da imagem. Máximo de 10.000 caracteres."
      },
      "recraft_controls": {
        "name": "recraft_controls",
        "tooltip": "Controles adicionais opcionais sobre a geração via o nó Recraft Controls."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para determinar se o nó deve ser executado novamente; os resultados reais são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RecraftVectorizeImageNode": {
    "description": "Gera SVG de forma síncrona a partir de uma imagem de entrada.",
    "display_name": "Recraft Vetorizar Imagem",
    "inputs": {
      "image": {
        "name": "image"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReferenceLatent": {
    "description": "Este nó define o latent de referência para um modelo de edição. Se o modelo suportar, você pode encadear vários para definir múltiplas imagens de referência.",
    "display_name": "ReferenceLatent",
    "inputs": {
      "conditioning": {
        "name": "conditioning"
      },
      "latent": {
        "name": "latent"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReferenceTimbreAudio": {
    "description": "Este nó define o áudio de referência para timbre (para ace step 1.5)",
    "display_name": "ReferenceTimbreAudio",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      },
      "latent": {
        "name": "latente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RegexExtract": {
    "display_name": "Extração por Regex",
    "inputs": {
      "case_insensitive": {
        "name": "ignorar_maiusculas_minusculas"
      },
      "dotall": {
        "name": "dotall"
      },
      "group_index": {
        "name": "indice_grupo"
      },
      "mode": {
        "name": "modo"
      },
      "multiline": {
        "name": "multilinha"
      },
      "regex_pattern": {
        "name": "regex_pattern"
      },
      "string": {
        "name": "string"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RegexMatch": {
    "display_name": "Correspondência Regex",
    "inputs": {
      "case_insensitive": {
        "name": "ignorar_maiusculas_minusculas"
      },
      "dotall": {
        "name": "dotall"
      },
      "multiline": {
        "name": "multilinha"
      },
      "regex_pattern": {
        "name": "regex_pattern"
      },
      "string": {
        "name": "string"
      }
    },
    "outputs": {
      "0": {
        "name": "correspondencias",
        "tooltip": null
      }
    }
  },
  "RegexReplace": {
    "description": "Localize e substitua texto usando padrões regex.",
    "display_name": "Substituir por Regex",
    "inputs": {
      "case_insensitive": {
        "name": "ignorar_maiusculas_minusculas"
      },
      "count": {
        "name": "quantidade",
        "tooltip": "Número máximo de substituições a serem feitas. Defina como 0 para substituir todas as ocorrências (padrão). Defina como 1 para substituir apenas a primeira correspondência, 2 para as duas primeiras, etc."
      },
      "dotall": {
        "name": "dotall",
        "tooltip": "Quando ativado, o ponto (.) corresponderá a qualquer caractere, incluindo quebras de linha. Quando desativado, pontos não corresponderão a quebras de linha."
      },
      "multiline": {
        "name": "multilinha"
      },
      "regex_pattern": {
        "name": "regex_pattern"
      },
      "replace": {
        "name": "substituir"
      },
      "string": {
        "name": "string"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RemoveBackground": {
    "description": "Gera uma máscara de primeiro plano para remover o fundo de uma imagem usando um modelo de remoção de fundo.",
    "display_name": "Remover Fundo",
    "inputs": {
      "bg_removal_model": {
        "name": "modelo_remoção_fundo",
        "tooltip": "Modelo de remoção de fundo usado para gerar a máscara"
      },
      "image": {
        "name": "imagem",
        "tooltip": "Imagem de entrada para remover o fundo"
      }
    },
    "outputs": {
      "0": {
        "name": "máscara",
        "tooltip": "Máscara de primeiro plano gerada"
      }
    }
  },
  "RenderSplat": {
    "description": "Renderize um gaussian splat como uma imagem com um rasterizador EWA anisotrópico (splats elípticos orientados, antialiasing, ordenados por profundidade do mais próximo para o mais distante). A câmera vem de uma entrada camera_info (Load / Preview 3D, ou um nó Create Camera Info); deixe vazio para enquadrar automaticamente o splat. Defina frames maior que 1 para um lote de imagens em turntable para alimentar um nó Video.",
    "display_name": "Render Splat",
    "inputs": {
      "background": {
        "name": "fundo"
      },
      "bg_image": {
        "name": "imagem_fundo",
        "tooltip": "Imagem de fundo opcional composta atrás do splat (substitui a cor sólida de fundo). Redimensionada para o tamanho do render; um lote é usado por frame, uma única imagem para todos. Apenas para color/clay."
      },
      "camera_info": {
        "name": "camera_info",
        "tooltip": "Câmera para renderizar - uma câmera Load3D / Preview3D ou um nó Create Camera Info. Se vazio, o splat é enquadrado automaticamente de uma visão padrão 3/4."
      },
      "frames": {
        "name": "frames",
        "tooltip": "-1, 0, 1 = imagem única; >1 = turntable, a câmera orbita em 360 graus completos (funciona com qualquer camera_info). Valor negativo orbita no sentido oposto."
      },
      "headlight_shading": {
        "name": "sombreamento_headlight",
        "tooltip": "Sombreamento difuso de uma luz na câmera (headlight), usando as normais dos surfels do splat: escurece superfícies que se afastam da visão para revelar forma/curvatura. 0 = albedo plano, 1 = sombreamento mais forte."
      },
      "height": {
        "name": "altura"
      },
      "opacity_threshold": {
        "name": "limite_opacidade",
        "tooltip": "Remove gaussians com opacidade abaixo deste valor (remove flutuantes fracos)."
      },
      "render_style": {
        "name": "estilo_render",
        "tooltip": "O que a imagem de saída mostra: color (cor), clay (sombreamento neutro), depth (próximo=claro), normal (mapa de normais OpenGL)."
      },
      "sharpen": {
        "name": "nitidez",
        "tooltip": "Aumenta a nitidez dos splats sobrepostos: 1.0 = mistura fisicamente correta; valores maiores tendem cada pixel ao splat dominante (mais próximo) para textura mais nítida, sem encolher splats ou abrir lacunas. Não físico acima de 1."
      },
      "splat": {
        "name": "splat"
      },
      "splat_scale": {
        "name": "escala_splat",
        "tooltip": "Multiplicador na projeção de cada splat (menor = pontos mais nítidos, maior = superfície mais suave/preenchida)."
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "imagem",
        "tooltip": null
      },
      "1": {
        "name": "mask",
        "tooltip": null
      }
    }
  },
  "RenormCFG": {
    "display_name": "RenormCFG",
    "inputs": {
      "cfg_trunc": {
        "name": "cfg_trunc"
      },
      "model": {
        "name": "modelo"
      },
      "renorm_cfg": {
        "name": "renorm_cfg"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RepeatImageBatch": {
    "display_name": "Repetir Lote de Imagem",
    "inputs": {
      "amount": {
        "name": "quantidade"
      },
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RepeatLatentBatch": {
    "display_name": "Repetir Lote Latent",
    "inputs": {
      "amount": {
        "name": "quantidade"
      },
      "samples": {
        "name": "amostras"
      }
    }
  },
  "ReplaceText": {
    "display_name": "Substituir Texto",
    "inputs": {
      "find": {
        "name": "procurar",
        "tooltip": "Texto a ser encontrado."
      },
      "replace": {
        "name": "substituir",
        "tooltip": "Texto para substituir."
      },
      "texts": {
        "name": "textos",
        "tooltip": "Texto a ser processado."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos processados"
      }
    }
  },
  "ReplaceVideoLatentFrames": {
    "display_name": "ReplaceVideoLatentFrames",
    "inputs": {
      "destination": {
        "name": "destino",
        "tooltip": "O espaço latente de destino onde os quadros serão substituídos."
      },
      "index": {
        "name": "índice",
        "tooltip": "O índice inicial do quadro latente no destino onde os quadros do espaço latente de origem serão inseridos. Valores negativos contam a partir do final."
      },
      "source": {
        "name": "origem",
        "tooltip": "O espaço latente de origem fornecendo quadros para inserir no espaço latente de destino. Se não for fornecido, o espaço latente de destino é retornado sem alterações."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RescaleCFG": {
    "display_name": "RescaleCFG",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "multiplier": {
        "name": "multiplicador"
      }
    }
  },
  "ResizeAndPadImage": {
    "display_name": "ResizeAndPadImage",
    "inputs": {
      "image": {
        "name": "imagem"
      },
      "interpolation": {
        "name": "interpolação"
      },
      "padding_color": {
        "name": "cor_do_preenchimento"
      },
      "target_height": {
        "name": "altura_alvo"
      },
      "target_width": {
        "name": "largura_alvo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ResizeImageMaskNode": {
    "description": "Redimensione uma imagem ou mask usando vários métodos de escala.",
    "display_name": "Redimensionar Imagem/Máscara",
    "inputs": {
      "input": {
        "name": "entrada"
      },
      "resize_type": {
        "name": "tipo_de_redimensionamento",
        "tooltip": "Selecione como redimensionar: por dimensões exatas, fator de escala, correspondendo a outra imagem, etc."
      },
      "resize_type_crop": {
        "name": "cortar"
      },
      "resize_type_height": {
        "name": "altura"
      },
      "resize_type_width": {
        "name": "largura"
      },
      "scale_method": {
        "name": "método_de_escala",
        "tooltip": "Algoritmo de interpolação. 'area' é melhor para reduzir, 'lanczos' para aumentar, 'nearest-exact' para pixel art."
      }
    },
    "outputs": {
      "0": {
        "name": "redimensionado",
        "tooltip": null
      }
    }
  },
  "ResizeImagesByLongerEdge": {
    "description": "Redimensione imagens para que a borda mais longa corresponda à dimensão especificada, preservando a proporção.",
    "display_name": "Redimensionar Imagens pela Borda Maior",
    "inputs": {
      "images": {
        "name": "imagens",
        "tooltip": "Imagem para processar."
      },
      "longer_edge": {
        "name": "borda_maior",
        "tooltip": "Comprimento alvo para a borda maior."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Imagens processadas"
      }
    }
  },
  "ResizeImagesByShorterEdge": {
    "description": "Redimensiona as imagens para que a borda mais curta corresponda à dimensão especificada, preservando a proporção.",
    "display_name": "Redimensionar Imagens pela Borda Menor",
    "inputs": {
      "images": {
        "name": "imagens",
        "tooltip": "Imagem para processar."
      },
      "shorter_edge": {
        "name": "borda_menor",
        "tooltip": "Comprimento alvo para a borda menor."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Imagens processadas"
      }
    }
  },
  "ResolutionBucket": {
    "description": "Agrupa latents e condicionamentos em buckets",
    "display_name": "Bucket de Resolução",
    "inputs": {
      "conditioning": {
        "name": "condicionamento",
        "tooltip": "Lista de listas de condicionamento (deve corresponder ao comprimento dos latentes)."
      },
      "latents": {
        "name": "latentes",
        "tooltip": "Lista de dicionários de espaço latente para agrupar por resolução."
      }
    },
    "outputs": {
      "0": {
        "name": "latentes",
        "tooltip": "Lista de dicionários de espaço latente em lotes, um por bucket de resolução."
      },
      "1": {
        "name": "condicionamento",
        "tooltip": "Lista de listas de condição, uma por bucket de resolução."
      }
    }
  },
  "ResolutionSelector": {
    "description": "Calcula a largura e altura a partir da proporção de aspecto e do alvo de megapixels. Útil para definir as dimensões da Imagem Latent Vazia.",
    "display_name": "Seletor de Resolução",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção_de_aspecto",
        "tooltip": "A proporção de aspecto para as dimensões de saída."
      },
      "megapixels": {
        "name": "megapixels",
        "tooltip": "Total de megapixels desejado. 1,0 MP ≈ 1024×1024 para quadrado."
      },
      "multiple": {
        "name": "múltiplo",
        "tooltip": "Múltiplo mais próximo do resultado para definir a resolução selecionada."
      }
    },
    "outputs": {
      "0": {
        "name": "largura",
        "tooltip": "Largura calculada em pixels (múltiplo de 8)."
      },
      "1": {
        "name": "altura",
        "tooltip": "Altura calculada em pixels (múltiplo de 8)."
      }
    }
  },
  "ReveImageCreateNode": {
    "description": "Gere imagens a partir de descrições de texto usando o Reve.",
    "display_name": "Reve Image Create",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Versão do modelo a ser usada para geração."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_test_time_scaling": {
        "name": "test_time_scaling"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto da imagem desejada. Máximo de 2560 caracteres."
      },
      "remove_background": {
        "name": "remove_background",
        "tooltip": "Remover o fundo da imagem gerada. Pode gerar custo adicional."
      },
      "seed": {
        "name": "seed",
        "tooltip": "O seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      },
      "upscale": {
        "name": "upscale",
        "tooltip": "Aumentar a resolução da imagem gerada. Pode gerar custo adicional."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReveImageEditNode": {
    "description": "Edite imagens usando instruções em linguagem natural com o Reve.",
    "display_name": "Reve Image Edit",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "edit_instruction": {
        "name": "edit_instruction",
        "tooltip": "Descrição em texto de como editar a imagem. Máximo de 2560 caracteres."
      },
      "image": {
        "name": "image",
        "tooltip": "A imagem a ser editada."
      },
      "model": {
        "name": "model",
        "tooltip": "Versão do modelo a ser usada para edição."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_test_time_scaling": {
        "name": "test_time_scaling"
      },
      "remove_background": {
        "name": "remove_background",
        "tooltip": "Remover o fundo da imagem gerada. Pode gerar custo adicional."
      },
      "seed": {
        "name": "seed",
        "tooltip": "O seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      },
      "upscale": {
        "name": "upscale",
        "tooltip": "Aumentar a resolução da imagem gerada. Pode gerar custo adicional."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ReveImageRemixNode": {
    "description": "Combine imagens de referência com prompts de texto para criar novas imagens usando o Reve.",
    "display_name": "Reve Image Remix",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model": {
        "name": "model",
        "tooltip": "Versão do modelo a ser usada para remix."
      },
      "model_aspect_ratio": {
        "name": "aspect_ratio"
      },
      "model_test_time_scaling": {
        "name": "test_time_scaling"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto da imagem desejada. Pode incluir tags XML img para referenciar imagens específicas pelo índice, por exemplo, <img>0</img>, <img>1</img>, etc."
      },
      "reference_images": {
        "name": "reference_images"
      },
      "remove_background": {
        "name": "remove_background",
        "tooltip": "Remover o fundo da imagem gerada. Pode gerar custo adicional."
      },
      "seed": {
        "name": "seed",
        "tooltip": "O seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      },
      "upscale": {
        "name": "upscale",
        "tooltip": "Aumentar a resolução da imagem gerada. Pode gerar custo adicional."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Rodin3D_Detail": {
    "description": "Gerar ativos 3D usando a API Rodin",
    "display_name": "Rodin 3D Gerar - Geração Detalhada",
    "inputs": {
      "Images": {
        "name": "Imagens"
      },
      "Material_Type": {
        "name": "Tipo de Material"
      },
      "Polygon_count": {
        "name": "Contagem de Polígonos"
      },
      "Seed": {
        "name": "Semente"
      }
    },
    "outputs": {
      "0": {
        "name": "Caminho do Modelo 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen2": {
    "description": "Gerar ativos 3D usando a API Rodin",
    "display_name": "Rodin 3D Gerar - Geração Gen-2",
    "inputs": {
      "Images": {
        "name": "Imagens"
      },
      "Material_Type": {
        "name": "Tipo de Material"
      },
      "Polygon_count": {
        "name": "Contagem de Polígonos"
      },
      "Seed": {
        "name": "Semente"
      },
      "TAPose": {
        "name": "TAPose"
      }
    },
    "outputs": {
      "0": {
        "name": "Caminho do Modelo 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen25_Image": {
    "description": "Gere um modelo 3D a partir de 1 a 5 imagens de referência via Rodin Gen-2.5. Escolha um modo (Rápido / Regular / Extremo-Alto) para ajustar qualidade versus custo.",
    "display_name": "Rodin 3D Gen-2.5 - Imagem para 3D",
    "inputs": {
      "TAPose": {
        "name": "TAPose",
        "tooltip": "Pose T/A para modelos humanoides."
      },
      "addon_highpack": {
        "name": "addon_highpack",
        "tooltip": "Addon HighPack: texturas 4K e ~16x faces no modo Quad."
      },
      "bbox_height": {
        "name": "altura_bbox",
        "tooltip": "Altura da caixa delimitadora (eixo Z)."
      },
      "bbox_length": {
        "name": "comprimento_bbox",
        "tooltip": "Comprimento da caixa delimitadora (eixo X)."
      },
      "bbox_width": {
        "name": "largura_bbox",
        "tooltip": "Largura da caixa delimitadora (eixo Y). Defina como 0 junto com os outros para pular a bbox."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "geometry_file_format": {
        "name": "formato_arquivo_geometria"
      },
      "hd_texture": {
        "name": "textura_hd",
        "tooltip": "Aprimoramento de textura de alta qualidade."
      },
      "height_cm": {
        "name": "altura_cm",
        "tooltip": "Altura aproximada do modelo em centímetros (0 para ignorar)."
      },
      "images": {
        "name": "imagens",
        "tooltip": "1 a 5 imagens. A primeira imagem é usada para materiais quando em multi-visão."
      },
      "material": {
        "name": "material"
      },
      "mode": {
        "name": "modo",
        "tooltip": "Modo de geração. Regular = equilibrado. Rápido = 1K-20K faces para prototipagem rápida. Extremo-Alto = 20K-2M faces com detalhes micro opcionais."
      },
      "mode_creative": {
        "name": "criativo"
      },
      "mode_polygon_count": {
        "name": "contagem_de_polígonos"
      },
      "mode_tier": {
        "name": "nível"
      },
      "seed": {
        "name": "semente"
      },
      "texture_delight": {
        "name": "remover_iluminação_textura",
        "tooltip": "Remove iluminação embutida das texturas."
      },
      "texture_mode": {
        "name": "modo_textura",
        "tooltip": "Predefinição de qualidade de textura. 'Padrão' usa o padrão do servidor para o nível selecionado."
      },
      "use_original_alpha": {
        "name": "preservar_alpha_original",
        "tooltip": "Preservar a transparência da imagem."
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_modelo",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Gen25_Text": {
    "description": "Gere um modelo 3D a partir de um prompt de texto via Rodin Gen-2.5. Escolha um modo (Rápido / Regular / Extremo-Alto) para ajustar qualidade versus custo.",
    "display_name": "Rodin 3D Gen-2.5 - Texto para 3D",
    "inputs": {
      "TAPose": {
        "name": "TAPose",
        "tooltip": "Pose T/A para modelos humanoides."
      },
      "addon_highpack": {
        "name": "addon_highpack",
        "tooltip": "Addon HighPack: texturas 4K e ~16x faces no modo Quad."
      },
      "bbox_height": {
        "name": "altura_bbox",
        "tooltip": "Altura da caixa delimitadora (eixo Z)."
      },
      "bbox_length": {
        "name": "comprimento_bbox",
        "tooltip": "Comprimento da caixa delimitadora (eixo X)."
      },
      "bbox_width": {
        "name": "largura_bbox",
        "tooltip": "Largura da caixa delimitadora (eixo Y). Defina como 0 junto com os outros para pular a bbox."
      },
      "control_after_generate": {
        "name": "controle_após_gerar"
      },
      "geometry_file_format": {
        "name": "formato_arquivo_geometria"
      },
      "hd_texture": {
        "name": "textura_hd",
        "tooltip": "Aprimoramento de textura em alta qualidade."
      },
      "height_cm": {
        "name": "altura_cm",
        "tooltip": "Altura aproximada do modelo em centímetros (0 para ignorar)."
      },
      "material": {
        "name": "material"
      },
      "mode": {
        "name": "modo",
        "tooltip": "Modo de geração. Regular = equilibrado. Rápido = 1K-20K faces para prototipagem rápida. Extremo-Alto = 20K-2M faces com microdetalhes opcionais."
      },
      "mode_creative": {
        "name": "criativo"
      },
      "mode_polygon_count": {
        "name": "contagem_de_polígonos"
      },
      "mode_tier": {
        "name": "nível"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para o modelo 3D."
      },
      "seed": {
        "name": "semente"
      },
      "texture_delight": {
        "name": "remover_iluminação_textura",
        "tooltip": "Remover iluminação embutida das texturas."
      },
      "texture_mode": {
        "name": "modo_textura",
        "tooltip": "Predefinição de qualidade de textura. 'Padrão' usa o padrão do servidor para o nível selecionado."
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_modelo",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Regular": {
    "description": "Gerar ativos 3D usando a API Rodin",
    "display_name": "Rodin 3D Gerar - Geração Regular",
    "inputs": {
      "Images": {
        "name": "Imagens"
      },
      "Material_Type": {
        "name": "Tipo de Material"
      },
      "Polygon_count": {
        "name": "Contagem de Polígonos"
      },
      "Seed": {
        "name": "Semente"
      }
    },
    "outputs": {
      "0": {
        "name": "Caminho do Modelo 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Sketch": {
    "description": "Gerar ativos 3D usando a API Rodin",
    "display_name": "Rodin 3D Gerar - Geração de Esboço",
    "inputs": {
      "Images": {
        "name": "Imagens"
      },
      "Seed": {
        "name": "Semente"
      }
    },
    "outputs": {
      "0": {
        "name": "Caminho do Modelo 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "Rodin3D_Smooth": {
    "description": "Gerar ativos 3D usando a API Rodin",
    "display_name": "Rodin 3D Gerar - Geração Suave",
    "inputs": {
      "Images": {
        "name": "Imagens"
      },
      "Material_Type": {
        "name": "Tipo de Material"
      },
      "Polygon_count": {
        "name": "Contagem de Polígonos"
      },
      "Seed": {
        "name": "Semente"
      }
    },
    "outputs": {
      "0": {
        "name": "Caminho do Modelo 3D",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "RunwayAleph2KeyframeNode": {
    "description": "Ancore uma imagem de referência a um momento do vídeo de entrada (origem), para que Aleph2 direcione a edição nesse ponto do seu vídeo. Conecte este nó à entrada 'keyframes' do nó Runway Aleph2 Vídeo para Vídeo; encadeie vários juntos (até 5) pela entrada opcional 'keyframes' abaixo.",
    "display_name": "Runway Aleph2 Quadro-chave",
    "inputs": {
      "image": {
        "name": "imagem",
        "tooltip": "A imagem de referência a ser aplicada no momento escolhido do vídeo de entrada."
      },
      "keyframes": {
        "name": "quadros-chave",
        "tooltip": "Quadros-chave anteriores opcionais para encadear com este."
      },
      "timing": {
        "name": "tempo",
        "tooltip": "Como posicionar esta imagem na linha do tempo do vídeo de entrada."
      },
      "timing_seconds": {
        "name": "segundos"
      }
    },
    "outputs": {
      "0": {
        "name": "quadros-chave",
        "tooltip": null
      }
    }
  },
  "RunwayAleph2PromptImageNode": {
    "description": "Ancore uma imagem de referência a um momento do vídeo de saída (resultado), para guiar como o vídeo editado ficará nesse ponto. Conecte este nó à entrada 'prompt_images' do nó Runway Aleph2 Vídeo para Vídeo; encadeie várias juntas (até 5) pela entrada opcional 'prompt_images' abaixo.",
    "display_name": "Runway Aleph2 Imagem de Prompt",
    "inputs": {
      "image": {
        "name": "imagem",
        "tooltip": "A imagem de referência a ser posicionada no momento escolhido do vídeo de saída."
      },
      "position": {
        "name": "posição",
        "tooltip": "Como posicionar esta imagem na linha do tempo do vídeo de saída."
      },
      "position_seconds": {
        "name": "segundos"
      },
      "prompt_images": {
        "name": "imagens_de_prompt",
        "tooltip": "Imagens de prompt anteriores opcionais para encadear com esta."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens_de_prompt",
        "tooltip": null
      }
    }
  },
  "RunwayAleph2VideoToVideoNode": {
    "description": "Edite um vídeo com um prompt de texto usando o modelo Aleph2 da Runway. O Aleph2 transforma sua filmagem (restiliza, reluz, adiciona ou remove elementos, altera o ponto de vista) mantendo o movimento e o tempo originais; a resolução de saída corresponde ao vídeo de entrada, que deve ter entre 2 e 30 segundos a 30 fps ou menos. Opcionalmente, direcione a edição com quadros-chave (ancorados ao vídeo de entrada) ou imagens de prompt (ancoradas ao vídeo de saída) – use um ou outro, não ambos.",
    "display_name": "Runway Aleph2 Vídeo para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "keyframes": {
        "name": "quadros-chave",
        "tooltip": "Imagens de orientação ancoradas ao vídeo de entrada, de nós Aleph2 Keyframe (até 5). Use quadros-chave ou imagens de prompt, não ambos."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descreve o que deve aparecer na saída (1-1000 caracteres)."
      },
      "prompt_images": {
        "name": "imagens de prompt",
        "tooltip": "Imagens de orientação ancoradas ao vídeo de saída, de nós Aleph2 Prompt Image (até 5). Use quadros-chave ou imagens de prompt, não ambos."
      },
      "public_figure_threshold": {
        "name": "limite de figura pública",
        "tooltip": "Moderação de conteúdo para figuras públicas reconhecíveis."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória para geração"
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Vídeo de entrada para editar. Deve ter entre 2 e 30 segundos a 30 fps ou menos."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayFirstLastFrameNode": {
    "description": "Envie os quadros-chave inicial e final, escreva um prompt e gere um vídeo. Transições mais complexas, como casos em que o quadro final é completamente diferente do inicial, podem se beneficiar da duração mais longa de 10s. Isso dará mais tempo para a geração fazer uma transição suave entre as duas entradas. Antes de começar, revise estas melhores práticas para garantir que suas seleções de entrada ajudarão no sucesso da geração: https://help.runwayml.com/hc/en-us/articles/34170748696595-Creating-with-Keyframes-on-Gen-3.",
    "display_name": "Runway Quadro Inicial-Final para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "end_frame": {
        "name": "quadro_final",
        "tooltip": "Quadro final a ser usado para o vídeo. Suportado apenas para gen3a_turbo."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para a geração"
      },
      "ratio": {
        "name": "proporção"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória para a geração"
      },
      "start_frame": {
        "name": "quadro_inicial",
        "tooltip": "Quadro inicial a ser usado para o vídeo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayImageToVideoNodeGen3a": {
    "description": "Gere um vídeo a partir de um único quadro inicial usando o modelo Gen3a Turbo. Antes de começar, revise estas melhores práticas para garantir que suas seleções de entrada ajudarão no sucesso da geração: https://help.runwayml.com/hc/en-us/articles/33927968552339-Creating-with-Act-One-on-Gen-3-Alpha-and-Turbo.",
    "display_name": "Runway Imagem para Vídeo (Gen3a Turbo)",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para a geração"
      },
      "ratio": {
        "name": "proporção"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória para a geração"
      },
      "start_frame": {
        "name": "quadro_inicial",
        "tooltip": "Quadro inicial a ser usado para o vídeo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayImageToVideoNodeGen4": {
    "description": "Gere um vídeo a partir de um único quadro inicial usando o modelo Gen4 Turbo. Antes de começar, revise estas melhores práticas para garantir que suas seleções de entrada ajudarão no sucesso da geração: https://help.runwayml.com/hc/en-us/articles/37327109429011-Creating-with-Gen-4-Video.",
    "display_name": "Runway Imagem para Vídeo (Gen4 Turbo)",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para a geração"
      },
      "ratio": {
        "name": "proporção"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória para a geração"
      },
      "start_frame": {
        "name": "quadro_inicial",
        "tooltip": "Quadro inicial a ser usado para o vídeo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "RunwayTextToImageNode": {
    "description": "Gere uma imagem a partir de um prompt de texto usando o modelo Gen 4 da Runway. Você também pode incluir uma imagem de referência para guiar a geração.",
    "display_name": "Runway Texto para Imagem",
    "inputs": {
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto para a geração"
      },
      "ratio": {
        "name": "proporção"
      },
      "reference_image": {
        "name": "imagem_de_referência",
        "tooltip": "Imagem de referência opcional para guiar a geração"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SAM3_Detect": {
    "display_name": "SAM3 Detect",
    "inputs": {
      "bboxes": {
        "name": "caixas_delimitadoras",
        "tooltip": "Caixas delimitadoras para segmentar dentro"
      },
      "conditioning": {
        "name": "condicionamento",
        "tooltip": "Condicionamento de texto do CLIPTextEncode"
      },
      "image": {
        "name": "imagem"
      },
      "individual_masks": {
        "name": "máscaras_individuais",
        "tooltip": "Gerar máscaras por objeto em vez de união"
      },
      "model": {
        "name": "model"
      },
      "negative_coords": {
        "name": "coordenadas_negativas",
        "tooltip": "Pontos negativos como JSON [{\"x\": int, \"y\": int}, ...] (coordenadas de pixels)"
      },
      "positive_coords": {
        "name": "coordenadas_positivas",
        "tooltip": "Pontos positivos como JSON [{\"x\": int, \"y\": int}, ...] (coordenadas de pixels)"
      },
      "refine_iterations": {
        "name": "iterações_de_refino",
        "tooltip": "Passagens de refinamento do decodificador SAM (0=usar máscaras brutas do detector)"
      },
      "threshold": {
        "name": "limiar"
      }
    },
    "outputs": {
      "0": {
        "name": "máscaras",
        "tooltip": null
      },
      "1": {
        "name": "caixas_delimitadoras",
        "tooltip": null
      }
    }
  },
  "SAM3_TrackPreview": {
    "display_name": "SAM3 Track Preview",
    "inputs": {
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "imagens"
      },
      "opacity": {
        "name": "opacidade"
      },
      "track_data": {
        "name": "dados_de_rastreamento"
      }
    }
  },
  "SAM3_TrackToMask": {
    "display_name": "SAM3 Track to Mask",
    "inputs": {
      "object_indices": {
        "name": "índices_de_objetos",
        "tooltip": "Índices de objetos separados por vírgula para incluir (ex: '0,2,3'). Vazio = todos os objetos."
      },
      "track_data": {
        "name": "dados_de_rastreamento"
      }
    },
    "outputs": {
      "0": {
        "name": "máscaras",
        "tooltip": null
      }
    }
  },
  "SAM3_VideoTrack": {
    "display_name": "SAM3 Video Track",
    "inputs": {
      "conditioning": {
        "name": "condicionamento",
        "tooltip": "Condicionamento de texto para detectar novos objetos durante o rastreamento"
      },
      "detect_interval": {
        "name": "intervalo_de_deteccao",
        "tooltip": "Executar detecção a cada N quadros (1=todo quadro). Valores maiores economizam processamento."
      },
      "detection_threshold": {
        "name": "limiar_de_deteccao",
        "tooltip": "Limiar de pontuação para detecção por texto"
      },
      "images": {
        "name": "imagens",
        "tooltip": "Quadros de vídeo como imagens em lote"
      },
      "initial_mask": {
        "name": "máscara_inicial",
        "tooltip": "Máscara(s) para o primeiro quadro a ser rastreado (uma por objeto)"
      },
      "max_objects": {
        "name": "máximo_de_objetos",
        "tooltip": "Máximo de objetos rastreados (0=ilimitado). Máscaras iniciais contam para este limite."
      },
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "name": "dados_de_rastreamento",
        "tooltip": null
      }
    }
  },
  "SCAIL2ColoredMask": {
    "display_name": "Criar Máscara Colorida SCAIL-2",
    "inputs": {
      "driving_track_data": {
        "name": "dados_de_rastreamento_driving",
        "tooltip": "Trilha SAM3 do vídeo de pose de condução. Será renderizada na saída pose_video_mask."
      },
      "object_indices": {
        "name": "índices_de_objetos",
        "tooltip": "Lista separada por vírgulas dos índices das pessoas a incluir (ex: '0,2,3'). Aplicado tanto às máscaras de vídeo de referência quanto de pose. Vazio = todos."
      },
      "ref_track_data": {
        "name": "dados_de_rastreamento_referência",
        "tooltip": "Trilha SAM3 da imagem de referência."
      },
      "replacement_mode": {
        "name": "modo_de_substituição",
        "tooltip": "Falso = mask_video tem fundo preto (Modo Animação). Verdadeiro = fundo branco (Modo Substituição). Defina o mesmo replacement_mode em WanSCAILToVideo. reference_image_mask é sempre com fundo preto."
      },
      "sort_by": {
        "name": "ordenar_por",
        "tooltip": "Ordem em que as cores da paleta são atribuídas aos objetos rastreados (aplicado tanto ao vídeo de referência quanto ao de pose para que cada identidade mantenha a mesma cor). left_to_right = objeto mais à esquerda (pelo centróide do primeiro quadro) recebe a primeira cor; area = maior objeto (pela área da máscara do primeiro quadro) recebe a primeira cor; none = mantém a ordem do SAM3."
      }
    },
    "outputs": {
      "0": {
        "name": "pose_video_mask",
        "tooltip": null
      },
      "1": {
        "name": "reference_image_mask",
        "tooltip": null
      }
    }
  },
  "SDPoseDrawKeypoints": {
    "display_name": "SDPoseDrawKeypoints",
    "inputs": {
      "draw_body": {
        "name": "desenhar_corpo"
      },
      "draw_face": {
        "name": "desenhar_rosto"
      },
      "draw_feet": {
        "name": "desenhar_pés"
      },
      "draw_hands": {
        "name": "desenhar_mãos"
      },
      "draw_head": {
        "name": "desenhar_cabeça"
      },
      "face_point_size": {
        "name": "tamanho_do_ponto_do_rosto"
      },
      "keypoints": {
        "name": "pontos-chave"
      },
      "score_threshold": {
        "name": "limite_de_pontuação"
      },
      "stick_width": {
        "name": "largura_da_linha"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SDPoseFaceBBoxes": {
    "display_name": "SDPoseFaceBBoxes",
    "inputs": {
      "force_square": {
        "name": "forçar_quadrado",
        "tooltip": "Expande o eixo menor da caixa para que a região recortada seja sempre quadrada."
      },
      "keypoints": {
        "name": "pontos-chave"
      },
      "scale": {
        "name": "escala",
        "tooltip": "Multiplicador para a área da caixa delimitadora ao redor de cada rosto detectado."
      }
    },
    "outputs": {
      "0": {
        "name": "caixas_delimitadoras",
        "tooltip": "Caixas delimitadoras de rosto por quadro, compatíveis com a entrada de caixas do SDPoseKeypointExtractor."
      }
    }
  },
  "SDPoseKeypointExtractor": {
    "description": "Extrai pontos-chave de pose das imagens usando o modelo SDPose: https://huggingface.co/Comfy-Org/SDPose/tree/main/checkpoints",
    "display_name": "SDPoseKeypointExtractor",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "bboxes": {
        "name": "caixas_delimitadoras",
        "tooltip": "Caixas delimitadoras opcionais para detecções mais precisas. Necessário para detecção de múltiplas pessoas."
      },
      "image": {
        "name": "imagem"
      },
      "model": {
        "name": "modelo"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "pontos-chave",
        "tooltip": "Pontos-chave no formato de quadro OpenPose (canvas_width, canvas_height, pessoas)"
      }
    }
  },
  "SDTurboScheduler": {
    "display_name": "SDTurboScheduler",
    "inputs": {
      "denoise": {
        "name": "redução_de_ruído"
      },
      "model": {
        "name": "modelo"
      },
      "steps": {
        "name": "passos"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SD_4XUpscale_Conditioning": {
    "display_name": "SD_4XUpscale_Conditioning",
    "inputs": {
      "images": {
        "name": "imagens"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_augmentation": {
        "name": "aumento_de_ruído"
      },
      "positive": {
        "name": "positivo"
      },
      "scale_ratio": {
        "name": "fator_de_escala"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "SUPIRApply": {
    "display_name": "SUPIRApply",
    "inputs": {
      "image": {
        "name": "image"
      },
      "model": {
        "name": "model"
      },
      "model_patch": {
        "name": "model_patch"
      },
      "restore_cfg": {
        "name": "restore_cfg",
        "tooltip": "Puxa a saída denoised em direção ao latent de entrada. Quanto maior, maior a fidelidade ao input. 0 para desabilitar."
      },
      "restore_cfg_s_tmin": {
        "name": "restore_cfg_s_tmin",
        "tooltip": "Limite de sigma abaixo do qual restore_cfg é desabilitado."
      },
      "strength_end": {
        "name": "strength_end",
        "tooltip": "Controla a intensidade no final da amostragem (sigma baixo). Interpolado linearmente a partir do início."
      },
      "strength_start": {
        "name": "strength_start",
        "tooltip": "Controla a intensidade no início da amostragem (sigma alto)."
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SV3D_Conditioning": {
    "display_name": "SV3D_Conditioning",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "elevação"
      },
      "height": {
        "name": "altura"
      },
      "init_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "video_frames": {
        "name": "quadros_de_vídeo"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "SVD_img2vid_Conditioning": {
    "display_name": "SVD_img2vid_Conditioning",
    "inputs": {
      "augmentation_level": {
        "name": "nível_de_aumento"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "fps": {
        "name": "fps"
      },
      "height": {
        "name": "altura"
      },
      "init_image": {
        "name": "imagem_inicial"
      },
      "motion_bucket_id": {
        "name": "id_bucket_movimento"
      },
      "vae": {
        "name": "vae"
      },
      "video_frames": {
        "name": "quadros_de_vídeo"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo"
      },
      "1": {
        "name": "negativo"
      },
      "2": {
        "name": "latent"
      }
    }
  },
  "SamplerARVideo": {
    "display_name": "Sampler AR Video",
    "inputs": {
      "num_frame_per_block": {
        "name": "num_frame_per_block",
        "tooltip": "Quadros por bloco autorregressivo. 1 = quadro a quadro, 3 = em blocos. Deve corresponder ao modo de treinamento do checkpoint."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerCustom": {
    "display_name": "SamplerCustom",
    "inputs": {
      "add_noise": {
        "name": "adicionar_ruído"
      },
      "cfg": {
        "name": "cfg"
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "latent_image": {
        "name": "imagem_latente"
      },
      "model": {
        "name": "modelo"
      },
      "negative": {
        "name": "negativo"
      },
      "noise_seed": {
        "name": "semente_de_ruído"
      },
      "positive": {
        "name": "positivo"
      },
      "sampler": {
        "name": "amostrador"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "name": "saída",
        "tooltip": null
      },
      "1": {
        "name": "saída_denoisada",
        "tooltip": null
      }
    }
  },
  "SamplerCustomAdvanced": {
    "display_name": "SamplerCustomAdvanced",
    "inputs": {
      "guider": {
        "name": "guia"
      },
      "latent_image": {
        "name": "imagem_latente"
      },
      "noise": {
        "name": "ruído"
      },
      "sampler": {
        "name": "amostrador"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "name": "saída",
        "tooltip": null
      },
      "1": {
        "name": "saída_denoisada",
        "tooltip": null
      }
    }
  },
  "SamplerDPMAdaptative": {
    "display_name": "SamplerDPMAdaptative",
    "inputs": {
      "accept_safety": {
        "name": "aceitar_segurança"
      },
      "atol": {
        "name": "atol"
      },
      "dcoeff": {
        "name": "dcoeff"
      },
      "eta": {
        "name": "eta"
      },
      "h_init": {
        "name": "h_init"
      },
      "icoeff": {
        "name": "icoeff"
      },
      "order": {
        "name": "ordem"
      },
      "pcoeff": {
        "name": "pcoeff"
      },
      "rtol": {
        "name": "rtol"
      },
      "s_noise": {
        "name": "s_ruído"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_2M_SDE": {
    "display_name": "SamplerDPMPP_2M_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "dispositivo_de_ruído"
      },
      "s_noise": {
        "name": "s_ruído"
      },
      "solver_type": {
        "name": "tipo_de_solvedor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_2S_Ancestral": {
    "display_name": "SamplerDPMPP_2S_Ancestral",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_ruído"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_3M_SDE": {
    "display_name": "SamplerDPMPP_3M_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "noise_device"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerDPMPP_SDE": {
    "display_name": "SamplerDPMPP_SDE",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "noise_device": {
        "name": "noise_device"
      },
      "r": {
        "name": "r"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerER_SDE": {
    "display_name": "SamplerER_SDE",
    "inputs": {
      "eta": {
        "name": "eta",
        "tooltip": "Intensidade estocástica do SDE de tempo reverso.\nQuando eta=0, reduz para ODE determinístico. Esta configuração não se aplica ao tipo de solver ER-SDE."
      },
      "max_stage": {
        "name": "max_stage"
      },
      "s_noise": {
        "name": "s_noise"
      },
      "solver_type": {
        "name": "solver_type"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerAncestral": {
    "display_name": "SamplerEulerAncestral",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerAncestralCFGPP": {
    "display_name": "SamplerEulerAncestralCFG++",
    "inputs": {
      "eta": {
        "name": "eta"
      },
      "s_noise": {
        "name": "s_noise"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerEulerCFGpp": {
    "display_name": "SamplerEulerCFG++",
    "inputs": {
      "version": {
        "name": "versão"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLCM": {
    "description": "Amostrador LCM com ruído ajustável por etapa. s_noise é um multiplicador na escala de ruído de treinamento do modelo",
    "display_name": "SamplerLCM",
    "inputs": {
      "noise_clip_std": {
        "name": "noise_clip_std",
        "tooltip": "Limita o ruído por etapa a +/- N*desvio padrão. 0 desativa."
      },
      "s_noise": {
        "name": "s_noise",
        "tooltip": "Multiplicador de ruído por etapa no primeiro passo (1.0 = igual ao treinamento)."
      },
      "s_noise_end": {
        "name": "s_noise_end",
        "tooltip": "Multiplicador de ruído por etapa no último passo. Defina igual ao s_noise para um agendamento constante."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLCMUpscale": {
    "display_name": "SamplerLCMUpscale",
    "inputs": {
      "scale_ratio": {
        "name": "proporção_de_escala"
      },
      "scale_steps": {
        "name": "etapas_de_escala"
      },
      "upscale_method": {
        "name": "método_de_upscale"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerLMS": {
    "display_name": "SamplerLMS",
    "inputs": {
      "order": {
        "name": "ordem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerSASolver": {
    "display_name": "SamplerSASolver",
    "inputs": {
      "corrector_order": {
        "name": "ordem_do_corretor"
      },
      "eta": {
        "name": "eta"
      },
      "model": {
        "name": "modelo"
      },
      "predictor_order": {
        "name": "ordem_do_preditor"
      },
      "s_noise": {
        "name": "s_noise"
      },
      "sde_end_percent": {
        "name": "percentual_final_sde"
      },
      "sde_start_percent": {
        "name": "percentual_inicial_sde"
      },
      "simple_order_2": {
        "name": "ordem_simples_2"
      },
      "use_pece": {
        "name": "usar_pece"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplerSEEDS2": {
    "description": "Este nó de amostragem pode representar vários amostradores:\n\nseeds_2\n- configuração padrão\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": "Intensidade estocástica"
      },
      "r": {
        "name": "r",
        "tooltip": "Tamanho relativo do passo para o estágio intermediário (nó c2)"
      },
      "s_noise": {
        "name": "s_noise",
        "tooltip": "Multiplicador de ruído SDE"
      },
      "solver_type": {
        "name": "solver_type"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SamplingPercentToSigma": {
    "display_name": "SamplingPercentToSigma",
    "inputs": {
      "model": {
        "name": "model"
      },
      "return_actual_sigma": {
        "name": "return_actual_sigma",
        "tooltip": "Retorna o valor sigma real em vez do valor usado para verificações de intervalo.\nIsso só afeta resultados em 0.0 e 1.0."
      },
      "sampling_percent": {
        "name": "sampling_percent"
      }
    },
    "outputs": {
      "0": {
        "name": "sigma_value",
        "tooltip": null
      }
    }
  },
  "Save3DAdvanced": {
    "display_name": "Salvar 3D (Avançado)",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Arquivo de modelo 3D de um nó 3D upstream."
      },
      "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": "Salvar PNG Animado",
    "inputs": {
      "compress_level": {
        "name": "nível_de_compressão"
      },
      "filename_prefix": {
        "name": "prefixo_do_arquivo"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "imagens"
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": null
      }
    }
  },
  "SaveAnimatedWEBP": {
    "display_name": "Salvar WEBP Animado",
    "inputs": {
      "filename_prefix": {
        "name": "prefixo_do_arquivo"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "imagens"
      },
      "lossless": {
        "name": "sem_perda"
      },
      "method": {
        "name": "método"
      },
      "quality": {
        "name": "qualidade"
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": null
      }
    }
  },
  "SaveAudio": {
    "display_name": "Salvar Áudio (FLAC)",
    "inputs": {
      "audio": {
        "name": "áudio"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "prefixo_do_arquivo"
      }
    },
    "outputs": {
      "0": {
        "name": "áudio",
        "tooltip": null
      }
    }
  },
  "SaveAudioAdvanced": {
    "description": "Salva o áudio de entrada no diretório de saída do ComfyUI.",
    "display_name": "Salvar Áudio (Avançado)",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "O áudio a ser salvo."
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "filename_prefix",
        "tooltip": "O prefixo para o arquivo a ser salvo. Pode incluir tokens de formatação como %date:yyyy-MM-dd%."
      },
      "format": {
        "name": "format",
        "tooltip": "O formato de arquivo no qual salvar o áudio."
      }
    },
    "outputs": {
      "0": {
        "name": "áudio",
        "tooltip": null
      }
    }
  },
  "SaveAudioMP3": {
    "display_name": "Salvar Áudio (MP3)",
    "inputs": {
      "audio": {
        "name": "áudio"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "prefixo_do_arquivo"
      },
      "quality": {
        "name": "qualidade"
      }
    },
    "outputs": {
      "0": {
        "name": "áudio",
        "tooltip": null
      }
    }
  },
  "SaveAudioOpus": {
    "display_name": "Salvar Áudio (Opus)",
    "inputs": {
      "audio": {
        "name": "áudio"
      },
      "audioUI": {
        "name": "audioUI"
      },
      "filename_prefix": {
        "name": "prefixo_do_arquivo"
      },
      "quality": {
        "name": "qualidade"
      }
    },
    "outputs": {
      "0": {
        "name": "áudio",
        "tooltip": null
      }
    }
  },
  "SaveGLB": {
    "display_name": "Salvar GLB",
    "inputs": {
      "filename_prefix": {
        "name": "prefixo_do_arquivo"
      },
      "image": {
        "name": "imagem"
      },
      "mesh": {
        "name": "malha",
        "tooltip": "Malha ou arquivo GLB para salvar"
      }
    }
  },
  "SaveGaussianSplat": {
    "display_name": "Salvar Splat",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Um arquivo 3D de gaussian splat."
      },
      "model_3d_info": {
        "name": "model_3d_info"
      },
      "viewport_state": {
        "name": "viewport_state"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "model_3d",
        "tooltip": null
      },
      "1": {
        "name": "model_3d_info",
        "tooltip": null
      },
      "2": {
        "name": "camera_info",
        "tooltip": null
      },
      "3": {
        "name": "width",
        "tooltip": null
      },
      "4": {
        "name": "height",
        "tooltip": null
      }
    }
  },
  "SaveImage": {
    "description": "Salva as imagens de entrada no diretório de saída do seu ComfyUI.",
    "display_name": "Salvar Imagem",
    "inputs": {
      "filename_prefix": {
        "name": "prefixo_do_arquivo",
        "tooltip": "O prefixo para o arquivo a ser salvo. Isso pode incluir informações de formatação como %date:yyyy-MM-dd% ou %Empty Latent Image.width% para incluir valores de nós."
      },
      "images": {
        "name": "imagens",
        "tooltip": "As imagens a serem salvas."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens"
      }
    }
  },
  "SaveImageAdvanced": {
    "description": "Salva as imagens de entrada no diretório de saída do seu ComfyUI.",
    "display_name": "Salvar Imagem (Avançado)",
    "inputs": {
      "filename_prefix": {
        "name": "prefixo_do_nome_do_arquivo",
        "tooltip": "O prefixo para o arquivo a ser salvo. Pode incluir tokens de formatação como %date:yyyy-MM-dd% ou %Empty Latent Image.width%."
      },
      "format": {
        "name": "formato",
        "tooltip": "O formato de arquivo no qual salvar a imagem."
      },
      "format_bit_depth": {
        "name": "profundidade_de_bits"
      },
      "format_input_color_space": {
        "name": "espaço_de_cor_de_entrada"
      },
      "images": {
        "name": "imagens",
        "tooltip": "As imagens a serem salvas."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": null
      }
    }
  },
  "SaveImageDataSetToFolder": {
    "description": "Salva um conjunto de imagens em uma pasta especificada. Formatos suportados: PNG.",
    "display_name": "Salvar Conjunto de Imagens na Pasta",
    "inputs": {
      "filename_prefix": {
        "name": "prefixo_do_arquivo",
        "tooltip": "Prefixo para os nomes dos arquivos de imagem salvos."
      },
      "folder_name": {
        "name": "nome_da_pasta",
        "tooltip": "Nome da pasta para salvar as imagens (dentro do diretório de saída)."
      },
      "images": {
        "name": "imagens",
        "tooltip": "Lista de imagens a serem salvas."
      },
      "mode": {
        "name": "modo",
        "tooltip": "Escolha entre sobrescrever arquivos existentes ou incrementar os nomes dos arquivos para evitar sobrescrita."
      }
    }
  },
  "SaveImageTextDataSetToFolder": {
    "description": "Salva um conjunto de pares de imagens e legendas de texto em uma pasta especificada. As imagens são salvas como arquivos PNG e as legendas como arquivos TXT com o mesmo prefixo de nome de arquivo.",
    "display_name": "Salvar Conjunto de Imagens e Textos na Pasta",
    "inputs": {
      "filename_prefix": {
        "name": "prefixo_do_arquivo",
        "tooltip": "Prefixo para os nomes dos arquivos de imagem salvos."
      },
      "folder_name": {
        "name": "nome_da_pasta",
        "tooltip": "Nome da pasta para salvar as imagens (dentro do diretório de saída)."
      },
      "images": {
        "name": "imagens",
        "tooltip": "Lista de imagens a serem salvas."
      },
      "mode": {
        "name": "modo",
        "tooltip": "Escolha entre sobrescrever arquivos existentes ou incrementar os nomes dos arquivos para evitar sobrescrita."
      },
      "texts": {
        "name": "textos",
        "tooltip": "Lista de legendas de texto a serem salvas."
      }
    }
  },
  "SaveImageWebsocket": {
    "display_name": "SalvarImagemWebsocket",
    "inputs": {
      "images": {
        "name": "imagens"
      }
    }
  },
  "SaveLatent": {
    "display_name": "SalvarLatent",
    "inputs": {
      "filename_prefix": {
        "name": "prefixo_do_arquivo"
      },
      "samples": {
        "name": "amostras"
      }
    },
    "outputs": {
      "0": {
        "name": "amostras"
      }
    }
  },
  "SaveLoRA": {
    "display_name": "Salvar Pesos LoRA",
    "inputs": {
      "lora": {
        "name": "lora",
        "tooltip": "O modelo LoRA a ser salvo. Não use o modelo com camadas LoRA."
      },
      "prefix": {
        "name": "prefixo",
        "tooltip": "O prefixo a ser usado para o arquivo LoRA salvo."
      },
      "steps": {
        "name": "etapas",
        "tooltip": "Opcional: O número de etapas para o qual o LoRA foi treinado, usado para nomear o arquivo salvo."
      }
    }
  },
  "SavePointCloud": {
    "display_name": "Salvar Nuvem de Pontos",
    "inputs": {
      "camera_info": {
        "name": "camera_info"
      },
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "height": {
        "name": "height"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Arquivo de nuvem de pontos (.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": "Salva arquivos SVG no disco.",
    "display_name": "Salvar Nó SVG",
    "inputs": {
      "filename_prefix": {
        "name": "prefixo_do_arquivo",
        "tooltip": "O prefixo para o arquivo a ser salvo. Isso pode incluir informações de formatação como %date:yyyy-MM-dd% ou %Empty Latent Image.width% para incluir valores de nós."
      },
      "svg": {
        "name": "svg"
      }
    },
    "outputs": {
      "0": {
        "name": "svg",
        "tooltip": null
      }
    }
  },
  "SaveText": {
    "description": "Salva o conteúdo de texto em um arquivo no diretório de saída.",
    "display_name": "Salvar Texto",
    "inputs": {
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "format": {
        "name": "format"
      },
      "preview_mode": {},
      "preview_text": {},
      "text": {
        "name": "text"
      }
    },
    "outputs": {
      "0": {
        "name": "text",
        "tooltip": null
      }
    }
  },
  "SaveTrainingDataset": {
    "description": "Salva o conjunto de dados de treinamento codificado (latents + condicionamento) no disco para carregamento eficiente durante o treinamento.",
    "display_name": "Salvar Conjunto de Dados de Treinamento",
    "inputs": {
      "conditioning": {
        "name": "condicionamento",
        "tooltip": "Lista de listas de condicionamento do MakeTrainingDataset."
      },
      "folder_name": {
        "name": "nome_da_pasta",
        "tooltip": "Nome da pasta para salvar o conjunto de dados (dentro do diretório de saída)."
      },
      "latents": {
        "name": "latents",
        "tooltip": "Lista de dicionários de latent do MakeTrainingDataset."
      },
      "shard_size": {
        "name": "tamanho_do_fragmento",
        "tooltip": "Número de amostras por arquivo de fragmento."
      }
    }
  },
  "SaveVideo": {
    "description": "Salva as imagens de entrada no diretório de saída do seu ComfyUI.",
    "display_name": "Salvar Vídeo",
    "inputs": {
      "codec": {
        "name": "codec",
        "tooltip": "O codec a ser usado para o vídeo."
      },
      "filename_prefix": {
        "name": "prefixo_do_arquivo",
        "tooltip": "O prefixo para o arquivo a ser salvo. Isso pode incluir informações de formatação como %date:yyyy-MM-dd% ou %Empty Latent Image.width% para incluir valores de nós."
      },
      "format": {
        "name": "formato",
        "tooltip": "O formato para salvar o vídeo."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "O vídeo a ser salvo."
      }
    },
    "outputs": {
      "0": {
        "name": "vídeo",
        "tooltip": null
      }
    }
  },
  "SaveWEBM": {
    "display_name": "Salvar WEBM",
    "inputs": {
      "codec": {
        "name": "codec"
      },
      "crf": {
        "name": "crf",
        "tooltip": "CRF mais alto significa menor qualidade e menor tamanho de arquivo, CRF mais baixo significa maior qualidade e maior tamanho de arquivo."
      },
      "filename_prefix": {
        "name": "prefixo_do_arquivo"
      },
      "fps": {
        "name": "fps"
      },
      "images": {
        "name": "imagens",
        "tooltip": "Imagens RGBA são salvas com seu canal alfa como transparência (apenas codec vp9)."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": null
      }
    }
  },
  "ScaleROPE": {
    "description": "Escala e desloca o ROPE do modelo.",
    "display_name": "Escalar ROPE",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "scale_t": {
        "name": "escala_t"
      },
      "scale_x": {
        "name": "escala_x"
      },
      "scale_y": {
        "name": "escala_y"
      },
      "shift_t": {
        "name": "deslocamento_t"
      },
      "shift_x": {
        "name": "deslocamento_x"
      },
      "shift_y": {
        "name": "deslocamento_y"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SeedNode": {
    "display_name": "Seed",
    "inputs": {
      "fixed": {
        "name": "controlar após gerar"
      },
      "seed": {
        "name": "semente"
      }
    },
    "outputs": {
      "0": {
        "name": "semente",
        "tooltip": null
      }
    }
  },
  "SeedVR2Conditioning": {
    "description": "Constrói o condicionamento positivo/negativo SeedVR2 a partir de um latent da VAE.",
    "display_name": "Aplicar Condicionamento SeedVR2",
    "inputs": {
      "model": {
        "name": "model",
        "tooltip": "O modelo SeedVR2."
      },
      "vae_conditioning": {
        "name": "vae_conditioning"
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": "O condicionamento positivo para amostragem."
      },
      "1": {
        "name": "negative",
        "tooltip": "O condicionamento negativo para amostragem."
      }
    }
  },
  "SeedVR2PostProcessing": {
    "description": "Alinhe a imagem gerada com a imagem original redimensionada e aplique correção de cor.",
    "display_name": "Pós-processar saída SeedVR2",
    "inputs": {
      "color_correction_method": {
        "name": "color_correction_method",
        "tooltip": "Método para igualar as cores da imagem gerada à imagem original. lab: transfere cor no espaço CIELAB, preservando detalhes (mais fiel). wavelet: transfere cor de baixa frequência, mantendo detalhes de alta frequência ampliados. adain: iguala média/desvio padrão por canal (mais rápido, tonalidade global). none: ignora transferência de cor (apenas alinhamento geométrico)."
      },
      "images": {
        "name": "images",
        "tooltip": "A imagem gerada para processar."
      },
      "original_resized_images": {
        "name": "original_resized_images",
        "tooltip": "A imagem original redimensionada antes do pré-processamento, usada como referência."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "A imagem alinhada e com correção de cor."
      }
    }
  },
  "SeedVR2Preprocess": {
    "description": "Adiciona bordas a uma imagem redimensionada para o modelo SeedVR2. O canal alfa é removido. O nó Pós-processar saída SeedVR2 reaplica o canal alfa da imagem original redimensionada.",
    "display_name": "Pré-processar entrada SeedVR2",
    "inputs": {
      "resized_images": {
        "name": "resized_images",
        "tooltip": "A imagem redimensionada para processar."
      }
    },
    "outputs": {
      "0": {
        "name": "images",
        "tooltip": "A imagem com bordas para codificação VAE."
      }
    }
  },
  "SeedVR2TemporalChunk": {
    "description": "Divide um latente de vídeo SeedVR2 em blocos temporais sobrepostos pequenos o suficiente para serem amostrados um de cada vez na VRAM, conectando as saídas dos latentes tanto ao nó Aplicar Condicionamento SeedVR2 quanto à entrada latente do sampler antes de recombinar com Unir Latentes SeedVR2.",
    "display_name": "Dividir latente SeedVR2",
    "inputs": {
      "chunking_mode": {
        "name": "chunking_mode",
        "tooltip": "manual = usa exatamente frames_per_chunk; auto = prevê o maior bloco que cabe na VRAM livre."
      },
      "latent": {
        "name": "latent",
        "tooltip": "O latente SeedVR2 codificado pelo VAE para dividir."
      },
      "temporal_overlap": {
        "name": "temporal_overlap",
        "tooltip": "Quadros latentes compartilhados entre blocos adjacentes e mesclados com crossfade; 0 = sem sobreposição."
      }
    },
    "outputs": {
      "0": {
        "name": "latents",
        "tooltip": "Os blocos temporais em ordem sequencial."
      },
      "1": {
        "name": "temporal_overlap",
        "tooltip": "A sobreposição efetiva de quadros latentes entre blocos adjacentes, para Unir Latentes SeedVR2."
      }
    }
  },
  "SeedVR2TemporalMerge": {
    "description": "Recombina blocos temporais amostrados do latente SeedVR2 em um único latente, mesclando cada sobreposição com uma janela de Hann dimensionada pelo temporal_overlap conectado do Dividir latente SeedVR2.",
    "display_name": "Unir latentes SeedVR2",
    "inputs": {
      "latents": {
        "name": "latents",
        "tooltip": "Os blocos temporais amostrados em ordem sequencial."
      },
      "temporal_overlap": {
        "name": "temporal_overlap",
        "tooltip": "A saída temporal_overlap de Dividir latente SeedVR2. 0 = concatenação simples."
      }
    },
    "outputs": {
      "0": {
        "name": "latent",
        "tooltip": "O latente recombinado de comprimento total."
      }
    }
  },
  "SelectCLIPDevice": {
    "description": "Coloca o codificador de texto CLIP em um dispositivo específico (default / cpu / gpu:N).\n\n- \"default\" restaura o dispositivo atribuído pelo carregador.\n- \"cpu\" fixa tanto o carregamento quanto o descarregamento no CPU.\n- \"gpu:N\" fixa o carregamento no N-ésimo GPU disponível.\n\nQuando o dispositivo selecionado não existe na máquina atual\n(por exemplo, um fluxo de trabalho criado em uma máquina com 2 GPUs aberto em uma com 1 GPU),\no nó passa o CLIP sem alterações e registra uma mensagem\nem vez de falhar.",
    "display_name": "Selecionar Dispositivo CLIP",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "device": {
        "name": "device"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelectModelDevice": {
    "description": "Coloca o modelo de difusão em um dispositivo específico (default / cpu / gpu:N).\n\n- \"default\" restaura o dispositivo atribuído pelo carregador (mesmo após uma\n  chamada anterior de Selecionar Dispositivo do Modelo).\n- \"cpu\" fixa tanto o carregamento quanto o descarregamento no CPU.\n- \"gpu:N\" fixa o carregamento no N-ésimo GPU disponível; o dispositivo de descarregamento\n  é restaurado para a escolha original do carregador.\n\nQuando o dispositivo solicitado difere do dispositivo em que o modelo de entrada já está,\num novo modelo é criado via a fábrica de recarregamento do carregador\n(cached_patcher_init) para que o novo patcher tenha pesos independentes no\nnovo dispositivo. Carregadores que não suportam multigpu (sem fábrica)\nfarão com que o nó passe sem alterações com um aviso.\n\nSe o fluxo de trabalho já tiver a Divisão de CFG MultiGPU aplicada e o GPU escolhido\ncolidir com um dos clones multigpu existentes, esse clone é\ndescartado para que dois patchers não fiquem vinculados ao mesmo dispositivo.\n\nQuando o dispositivo selecionado não existe na máquina atual\n(por exemplo, um fluxo de trabalho criado em uma máquina com 2 GPUs aberto em uma com 1 GPU),\no nó passa o modelo sem alterações e registra uma mensagem\nem vez de falhar.\n\nNOTA: Colocar Selecionar Dispositivo do Modelo *após* um nó que já\nconsumiu o mesmo modelo (por exemplo, um KSampler que rodou neste modelo no\ndispositivo original) não é recomendado -- qualquer estado que o consumidor anterior\nmutou no modelo original será observado quando o dispositivo selecionado corresponder ao original (caminho rápido). Coloque Selecionar Dispositivo do Modelo antes de qualquer consumidor do modelo.",
    "display_name": "Selecionar Dispositivo do Modelo",
    "inputs": {
      "device": {
        "name": "device"
      },
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelectVAEDevice": {
    "description": "Coloque o VAE em um dispositivo específico (padrão / gpu:N).\n\n- \"default\" restaura o dispositivo atribuído pelo carregador.\n- \"gpu:N\" fixa o dispositivo de carregamento para a N-ésima GPU disponível; o dispositivo de offload\n  é definido para o dispositivo padrão de offload do VAE.\n\nA CPU não é exibida intencionalmente na interface para o VAE; se um fluxo de trabalho\nfornecer \"cpu\" de qualquer forma (por exemplo, aberto de outra máquina), a solicitação\né ignorada com uma mensagem de log e o VAE é passado sem alterações.\n\nQuando o dispositivo selecionado não existe na máquina atual\n(por exemplo, um fluxo de trabalho criado em uma máquina com 2 GPUs aberto em uma máquina com 1 GPU),\no nó passa o VAE sem alterações e registra uma mensagem\nem vez de falhar.",
    "display_name": "Selecionar Dispositivo VAE",
    "inputs": {
      "device": {
        "name": "dispositivo"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SelfAttentionGuidance": {
    "display_name": "Orientação por Self-Attention",
    "inputs": {
      "blur_sigma": {
        "name": "sigma_de_desfoque"
      },
      "model": {
        "name": "modelo"
      },
      "scale": {
        "name": "escala"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SetClipHooks": {
    "display_name": "Definir Hooks do CLIP",
    "inputs": {
      "apply_to_conds": {
        "name": "aplicar_a_conds"
      },
      "clip": {
        "name": "clip"
      },
      "hooks": {
        "name": "hooks"
      },
      "schedule_clip": {
        "name": "agendar_clip"
      }
    }
  },
  "SetFirstSigma": {
    "display_name": "DefinirPrimeiroSigma",
    "inputs": {
      "sigma": {
        "name": "sigma"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SetHookKeyframes": {
    "display_name": "Definir Keyframes de Hook",
    "inputs": {
      "hook_kf": {
        "name": "hook_kf"
      },
      "hooks": {
        "name": "hooks"
      }
    }
  },
  "SetLatentNoiseMask": {
    "display_name": "Definir Máscara de Ruído Latent",
    "inputs": {
      "mask": {
        "name": "mask"
      },
      "samples": {
        "name": "amostras"
      }
    }
  },
  "SetUnionControlNetType": {
    "display_name": "DefinirTipoUnionControlNet",
    "inputs": {
      "control_net": {
        "name": "control_net"
      },
      "type": {
        "name": "tipo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ShuffleDataset": {
    "description": "Embaralha aleatoriamente a ordem das imagens em uma lista.",
    "display_name": "Embaralhar Conjunto de Imagens",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "images": {
        "name": "imagens",
        "tooltip": "Lista de imagens para processar."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Imagens processadas"
      }
    }
  },
  "ShuffleImageTextDataset": {
    "description": "Embaralha aleatoriamente a ordem dos pares de imagem-texto em uma lista.",
    "display_name": "Embaralhar Conjunto Imagem-Texto",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "images": {
        "name": "imagens",
        "tooltip": "Lista de imagens para embaralhar."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória."
      },
      "texts": {
        "name": "textos",
        "tooltip": "Lista de textos para embaralhar."
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": "Imagens embaralhadas"
      },
      "1": {
        "name": "textos",
        "tooltip": "Textos embaralhados"
      }
    }
  },
  "ShuffleVideoDataset": {
    "description": "Embaralha aleatoriamente a ordem dos vídeos em uma lista.",
    "display_name": "Embaralhar Lista de Vídeos",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória."
      },
      "videos": {
        "name": "vídeos",
        "tooltip": "Lista de vídeos para embaralhar."
      }
    },
    "outputs": {
      "0": {
        "name": "vídeos",
        "tooltip": "Vídeos embaralhados"
      }
    }
  },
  "ShuffleVideoTextDataset": {
    "description": "Embaralha aleatoriamente a ordem dos pares de vídeo-texto em uma lista.",
    "display_name": "Embaralhar Pares de Vídeo-Texto",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória."
      },
      "texts": {
        "name": "textos",
        "tooltip": "Lista de textos para embaralhar."
      },
      "videos": {
        "name": "vídeos",
        "tooltip": "Lista de vídeos para embaralhar."
      }
    },
    "outputs": {
      "0": {
        "name": "vídeos",
        "tooltip": "Vídeos embaralhados"
      },
      "1": {
        "name": "textos",
        "tooltip": "Textos embaralhados"
      }
    }
  },
  "SkipLayerGuidanceDiT": {
    "description": "Versão genérica do nó SkipLayerGuidance que pode ser usada em qualquer modelo DiT.",
    "display_name": "SkipLayerGuidanceDiT",
    "inputs": {
      "double_layers": {
        "name": "camadas duplas"
      },
      "end_percent": {
        "name": "percentual final"
      },
      "model": {
        "name": "modelo"
      },
      "rescaling_scale": {
        "name": "escala de reescalonamento"
      },
      "scale": {
        "name": "escala"
      },
      "single_layers": {
        "name": "camadas simples"
      },
      "start_percent": {
        "name": "percentual inicial"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SkipLayerGuidanceDiTSimple": {
    "description": "Versão simples do nó SkipLayerGuidanceDiT que apenas modifica a passagem uncond.",
    "display_name": "SkipLayerGuidanceDiTSimple",
    "inputs": {
      "double_layers": {
        "name": "camadas duplas"
      },
      "end_percent": {
        "name": "percentual final"
      },
      "model": {
        "name": "modelo"
      },
      "single_layers": {
        "name": "camadas simples"
      },
      "start_percent": {
        "name": "percentual inicial"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SkipLayerGuidanceSD3": {
    "description": "Versão genérica do nó SkipLayerGuidance que pode ser usada em qualquer modelo DiT.",
    "display_name": "SkipLayerGuidanceSD3",
    "inputs": {
      "end_percent": {
        "name": "percentual_final"
      },
      "layers": {
        "name": "camadas"
      },
      "model": {
        "name": "modelo"
      },
      "scale": {
        "name": "escala"
      },
      "start_percent": {
        "name": "percentual_inicial"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SolidMask": {
    "display_name": "SolidMask",
    "inputs": {
      "height": {
        "name": "altura"
      },
      "value": {
        "name": "valor"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SoniloTextToMusic": {
    "description": "Gere música a partir de um prompt de texto usando o modelo de IA do Sonilo. Deixe a duração em 0 para que o modelo infira a duração a partir do prompt.",
    "display_name": "Sonilo Texto para Música",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Duração alvo em segundos. Defina como 0 para que o modelo infira a duração a partir do prompt. Máximo: 6 minutos."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto descrevendo a música a ser gerada."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para reprodutibilidade. Atualmente ignorado pelo serviço Sonilo, mas mantido para consistência do grafo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SoniloVideoToMusic": {
    "description": "Gere música a partir de conteúdo de vídeo usando o modelo de IA do Sonilo. Analisa o vídeo e cria música correspondente.",
    "display_name": "Sonilo Vídeo para Música",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto opcional para guiar a geração da música. Deixe em branco para melhor qualidade - o modelo irá analisar completamente o conteúdo do vídeo."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para reprodutibilidade. Atualmente ignorado pelo serviço Sonilo, mas mantido para consistência do grafo."
      },
      "video": {
        "name": "video",
        "tooltip": "Vídeo de entrada para gerar música. Duração máxima: 6 minutos."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SplatToFile3D": {
    "description": "Serializa um gaussian splat para um objeto File3D para os nós Save / Preview 3D. Suporta apenas um item por lote.",
    "display_name": "Criar Arquivo 3D (de Splat)",
    "inputs": {
      "format": {
        "name": "formato",
        "tooltip": "ply: Gaussian Splat 3D padrão com harmônicos esféricos completos. ksplat: SplatBuffer mkkellogg (nível 0, sem compressão), apenas cor base. spz: Niantic gzip-comprimido (~10x menor), apenas cor base."
      },
      "splat": {
        "name": "splat"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo_3d",
        "tooltip": null
      }
    }
  },
  "SplatToMesh": {
    "description": "Extrai uma malha colorida de um gaussian splat.",
    "display_name": "Extrair Malha do Splat",
    "inputs": {
      "color_sharpen": {
        "name": "nitidez_cor",
        "tooltip": "Deixa a textura dos vértices mais nítida: 1.0 = mistura fisicamente correta; valores maiores tendem a cor de cada voxel para sua gaussiana dominante ao invés de fazer média com vizinhos (reduz borrão da textura). Apenas cor - geometria não é alterada."
      },
      "kernel": {
        "name": "kernel",
        "tooltip": "Largura máxima do splat em voxels (meia-largura). Cada gaussiana é rasterizada em uma janela do seu próprio 3-sigma, limitada aqui - surfels pequenos permanecem leves, grandes não são truncados. Aumente se splats esparsos deixarem lacunas."
      },
      "level": {
        "name": "nível",
        "tooltip": "Nível da iso-superfície. Escolhido automaticamente por Otsu; este valor o ajusta (1.0 = auto, menor = superfície mais grossa/conectada, maior = mais fina/justa)."
      },
      "min_component": {
        "name": "mín_componente",
        "tooltip": "Descarta componentes conectados menores que este número de vértices (0 = mantém todos). Remove blobs flutuantes desconectados e a camada interna da parede dupla."
      },
      "min_opacity": {
        "name": "mín_opacidade",
        "tooltip": "Ignora gaussianas mais fracas que este valor antes de gerar a malha."
      },
      "resolution": {
        "name": "resolução",
        "tooltip": "Resolução da grade de densidade ao longo do eixo mais longo. Maior = superfície mais fina, mais VRAM/tempo (cresce com resolução^3)."
      },
      "smooth": {
        "name": "suavizar",
        "tooltip": "Iterações de suavização de malha Taubin. Suaviza a superfície sem encolhê-la (preserva o volume), diferente do desfoque da densidade. 0 = superfície bruta."
      },
      "splat": {
        "name": "splat"
      }
    },
    "outputs": {
      "0": {
        "name": "malha",
        "tooltip": null
      }
    }
  },
  "SplitAudioChannels": {
    "description": "Separa o áudio em canais esquerdo e direito.",
    "display_name": "Dividir Canais de Áudio",
    "inputs": {
      "audio": {
        "name": "áudio"
      }
    },
    "outputs": {
      "0": {
        "name": "esquerdo",
        "tooltip": null
      },
      "1": {
        "name": "direito",
        "tooltip": null
      }
    }
  },
  "SplitImageToTileList": {
    "description": "Divide uma imagem em uma lista agrupada de blocos com uma sobreposição especificada.",
    "display_name": "Dividir Imagem em Lista de Blocos",
    "inputs": {
      "image": {
        "name": "image"
      },
      "overlap": {
        "name": "overlap"
      },
      "tile_height": {
        "name": "tile_height"
      },
      "tile_width": {
        "name": "tile_width"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SplitImageWithAlpha": {
    "display_name": "Dividir Imagem com Alpha",
    "inputs": {
      "image": {
        "name": "imagem"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      },
      "1": {
        "tooltip": null
      }
    }
  },
  "SplitSigmas": {
    "display_name": "SplitSigmas",
    "inputs": {
      "sigmas": {
        "name": "sigmas"
      },
      "step": {
        "name": "passo"
      }
    },
    "outputs": {
      "0": {
        "name": "sigmas_altos",
        "tooltip": null
      },
      "1": {
        "name": "sigmas_baixos",
        "tooltip": null
      }
    }
  },
  "SplitSigmasDenoise": {
    "display_name": "SplitSigmasDenoise",
    "inputs": {
      "denoise": {
        "name": "redução_de_ruído"
      },
      "sigmas": {
        "name": "sigmas"
      }
    },
    "outputs": {
      "0": {
        "name": "sigmas_altos",
        "tooltip": null
      },
      "1": {
        "name": "sigmas_baixos",
        "tooltip": null
      }
    }
  },
  "StableCascade_EmptyLatentImage": {
    "display_name": "StableCascade_EmptyLatentImage",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "compression": {
        "name": "compressão"
      },
      "height": {
        "name": "altura"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "stage_c",
        "tooltip": null
      },
      "1": {
        "name": "stage_b",
        "tooltip": null
      }
    }
  },
  "StableCascade_StageB_Conditioning": {
    "display_name": "StableCascade_StageB_Conditioning",
    "inputs": {
      "conditioning": {
        "name": "condicionamento"
      },
      "stage_c": {
        "name": "stage_c"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StableCascade_StageC_VAEEncode": {
    "display_name": "StableCascade_StageC_VAEEncode",
    "inputs": {
      "compression": {
        "name": "compressão"
      },
      "image": {
        "name": "imagem"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "stage_c",
        "tooltip": null
      },
      "1": {
        "name": "stage_b",
        "tooltip": null
      }
    }
  },
  "StableCascade_SuperResolutionControlnet": {
    "display_name": "StableCascade_SuperResolutionControlnet",
    "inputs": {
      "image": {
        "name": "imagem"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "controlnet_input",
        "tooltip": null
      },
      "1": {
        "name": "stage_c",
        "tooltip": null
      },
      "2": {
        "name": "stage_b",
        "tooltip": null
      }
    }
  },
  "StableZero123_Conditioning": {
    "display_name": "StableZero123_Conditioning",
    "inputs": {
      "azimuth": {
        "name": "azimute"
      },
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "elevação"
      },
      "height": {
        "name": "altura"
      },
      "init_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "StableZero123_Conditioning_Batched": {
    "display_name": "StableZero123_Conditioning_Batched",
    "inputs": {
      "azimuth": {
        "name": "azimute"
      },
      "azimuth_batch_increment": {
        "name": "incremento_de_lote_de_azimute"
      },
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "clip_vision": {
        "name": "clip_vision"
      },
      "elevation": {
        "name": "elevação"
      },
      "elevation_batch_increment": {
        "name": "incremento_de_lote_de_elevacao"
      },
      "height": {
        "name": "altura"
      },
      "init_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "StringCompare": {
    "display_name": "Comparar",
    "inputs": {
      "case_sensitive": {
        "name": "diferenciar_maiusculas_minusculas"
      },
      "mode": {
        "name": "modo"
      },
      "string_a": {
        "name": "string_a"
      },
      "string_b": {
        "name": "string_b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringConcatenate": {
    "display_name": "Concatenar",
    "inputs": {
      "delimiter": {
        "name": "delimitador"
      },
      "string_a": {
        "name": "string_a"
      },
      "string_b": {
        "name": "string_b"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringContains": {
    "display_name": "Contém",
    "inputs": {
      "case_sensitive": {
        "name": "diferenciar_maiusculas_minusculas"
      },
      "string": {
        "name": "string"
      },
      "substring": {
        "name": "substring"
      }
    },
    "outputs": {
      "0": {
        "name": "contém",
        "tooltip": null
      }
    }
  },
  "StringFormat": {
    "description": "Igual ao método de formatação de string do Python. Suporta todas as opções e recursos de formatação do Python.",
    "display_name": "Formatar Texto",
    "inputs": {
      "f_string": {
        "name": "f_string"
      },
      "values": {
        "name": "values"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringLength": {
    "display_name": "Comprimento",
    "inputs": {
      "string": {
        "name": "string"
      }
    },
    "outputs": {
      "0": {
        "name": "comprimento",
        "tooltip": null
      }
    }
  },
  "StringReplace": {
    "display_name": "Substituir",
    "inputs": {
      "find": {
        "name": "encontrar"
      },
      "replace": {
        "name": "substituir"
      },
      "string": {
        "name": "string"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringSubstring": {
    "display_name": "Subsequência",
    "inputs": {
      "end": {
        "name": "fim"
      },
      "start": {
        "name": "início"
      },
      "string": {
        "name": "string"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StringTrim": {
    "display_name": "Remover Espaços",
    "inputs": {
      "mode": {
        "name": "modo"
      },
      "string": {
        "name": "string"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "StripWhitespace": {
    "display_name": "Remover Espaços em Branco",
    "inputs": {
      "texts": {
        "name": "textos",
        "tooltip": "Texto para processar."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos processados"
      }
    }
  },
  "StyleModelApply": {
    "display_name": "Aplicar Modelo de Estilo",
    "inputs": {
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "conditioning": {
        "name": "condicionamento"
      },
      "strength": {
        "name": "força"
      },
      "strength_type": {
        "name": "tipo_de_força"
      },
      "style_model": {
        "name": "style_model"
      }
    }
  },
  "StyleModelLoader": {
    "display_name": "Carregar Modelo de Estilo",
    "inputs": {
      "style_model_name": {
        "name": "style_model_name"
      }
    }
  },
  "SyncLipSyncNode": {
    "description": "Re-sincronize o movimento da boca em um vídeo com um novo áudio de fala usando sync.so. Lida automaticamente com closes, perfis e obstruções, preservando a expressão do orador. O custo aumenta conforme a duração do resultado.",
    "display_name": "sync.so Lip Sync",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "Áudio de fala para sincronizar com a boca."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo de geração do sync.so."
      },
      "model_speaker_frame": {
        "name": "quadro_orador"
      },
      "model_speaker_selection": {
        "name": "seleção_orador"
      },
      "model_speaker_x": {
        "name": "orador_x"
      },
      "model_speaker_y": {
        "name": "orador_y"
      },
      "model_sync_mode": {
        "name": "modo_sincronização"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Filmagem do orador para re-sincronizar. Até 4K (4096x2160); uma taxa de quadros constante de 24/25/30 fps funciona melhor."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "SyncTalkingImageNode": {
    "description": "Anime um retrato estático em um vídeo falante guiado por áudio de fala, usando o modelo sync-3 do sync.so. A duração do resultado corresponde ao áudio. O custo aumenta conforme a duração do resultado.",
    "display_name": "sync.so Talking Image",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "Áudio de fala que guia o vídeo falante; a duração do resultado corresponde a ele. Encadeie qualquer nó TTS aqui para animar a partir de texto."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "image": {
        "name": "imagem",
        "tooltip": "Uma única imagem com um rosto claramente visível, até 4K (4096x2160)."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo de geração do sync.so. A entrada de imagem é exclusiva do sync-3."
      },
      "model_auto_downscale": {
        "name": "redução_automática"
      },
      "model_speaker_selection": {
        "name": "seleção_orador"
      },
      "model_speaker_x": {
        "name": "orador_x"
      },
      "model_speaker_y": {
        "name": "orador_y"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Orientação opcional de como o retrato deve ganhar vida, por exemplo: 'faça o sujeito sorrir e olhar para a câmera'. Deixe vazio para um movimento natural de fala."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "T5TokenizerOptions": {
    "display_name": "Opções do T5Tokenizer",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "min_length": {
        "name": "comprimento_mínimo"
      },
      "min_padding": {
        "name": "preenchimento_mínimo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TCFG": {
    "description": "TCFG – Tangential Damping CFG (2503.18137)\n\nRefina o uncond (negativo) para alinhar com o cond (positivo) e melhorar a qualidade.",
    "display_name": "Tangential Damping CFG",
    "inputs": {
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "name": "patched_model",
        "tooltip": null
      }
    }
  },
  "TemporalScoreRescaling": {
    "description": "[Função Pós-CFG]\nTSR - Redimensionamento Temporal de Pontuação (2510.01184)\n\nRedimensiona a pontuação ou o ruído do modelo para direcionar a diversidade da amostragem.\n",
    "display_name": "TSR - Redimensionamento Temporal de Pontuação",
    "inputs": {
      "model": {
        "name": "model"
      },
      "tsr_k": {
        "name": "tsr_k",
        "tooltip": "Controla a intensidade do redimensionamento.\nValores menores de k produzem resultados mais detalhados; valores maiores de k produzem resultados mais suaves na geração de imagens. Definir k = 1 desativa o redimensionamento."
      },
      "tsr_sigma": {
        "name": "tsr_sigma",
        "tooltip": "Controla quão cedo o redimensionamento entra em efeito.\nValores maiores fazem efeito mais cedo."
      }
    },
    "outputs": {
      "0": {
        "name": "patched_model",
        "tooltip": null
      }
    }
  },
  "Tencent3DPartNode": {
    "description": "Realiza automaticamente a identificação e geração de componentes com base na estrutura do modelo.",
    "display_name": "Hunyuan3D: Parte 3D",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "model_3d": {
        "name": "modelo_3d",
        "tooltip": "Modelo 3D no formato FBX. O modelo deve ter menos de 30.000 faces."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "name": "FBX",
        "tooltip": null
      }
    }
  },
  "Tencent3DTextureEditNode": {
    "description": "Após inserir o modelo 3D, realize a repintura da textura do modelo 3D.",
    "display_name": "Hunyuan3D: Edição de Textura 3D",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Modelo 3D no formato FBX. O modelo deve ter menos de 100000 faces."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descreve a edição da textura. Suporta até 1024 caracteres UTF-8."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente do seed."
      }
    },
    "outputs": {
      "0": {
        "name": "GLB",
        "tooltip": null
      },
      "1": {
        "name": "OBJ",
        "tooltip": null
      },
      "2": {
        "name": "texture_image",
        "tooltip": null
      }
    }
  },
  "TencentImageToModelNode": {
    "display_name": "Hunyuan3D: Imagem(ns) para Modelo (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "face_count": {
        "name": "número_de_faces"
      },
      "generate_type": {
        "name": "tipo_de_geração"
      },
      "generate_type_pbr": {
        "name": "pbr"
      },
      "image": {
        "name": "imagem"
      },
      "image_back": {
        "name": "imagem_traseira"
      },
      "image_left": {
        "name": "imagem_esquerda"
      },
      "image_right": {
        "name": "imagem_direita"
      },
      "model": {
        "name": "modelo",
        "tooltip": "A opção LowPoly não está disponível para o modelo `3.1`."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "OBJ",
        "tooltip": null
      },
      "3": {
        "name": "texture_image",
        "tooltip": null
      },
      "4": {
        "name": "optional_metallic",
        "tooltip": null
      },
      "5": {
        "name": "optional_normal",
        "tooltip": null
      },
      "6": {
        "name": "optional_roughness",
        "tooltip": null
      }
    }
  },
  "TencentModelTo3DUVNode": {
    "description": "Realiza o desdobramento UV em um modelo 3D para gerar textura UV. O modelo de entrada deve ter menos de 30.000 faces.",
    "display_name": "Hunyuan3D: Modelo para UV",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "model_3d": {
        "name": "modelo_3d",
        "tooltip": "Modelo 3D de entrada (GLB, OBJ ou FBX)"
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "name": "OBJ",
        "tooltip": null
      },
      "1": {
        "name": "FBX",
        "tooltip": null
      },
      "2": {
        "name": "imagem UV",
        "tooltip": null
      }
    }
  },
  "TencentSmartTopologyNode": {
    "description": "Realiza retopologia inteligente em um modelo 3D. Suporta formatos GLB/OBJ; máximo de 200MB; recomendado para modelos de alta poligonagem.",
    "display_name": "Hunyuan3D: Topologia Inteligente",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "face_level": {
        "name": "nível_de_faces",
        "tooltip": "Nível de redução de polígonos."
      },
      "model_3d": {
        "name": "modelo_3d",
        "tooltip": "Modelo 3D de entrada (GLB ou OBJ)"
      },
      "polygon_type": {
        "name": "tipo_de_polígono",
        "tooltip": "Tipo de composição da superfície."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "name": "OBJ",
        "tooltip": null
      }
    }
  },
  "TencentTextToModelNode": {
    "display_name": "Hunyuan3D: Texto para Modelo (Pro)",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "face_count": {
        "name": "número_de_faces"
      },
      "generate_type": {
        "name": "tipo_de_geração"
      },
      "generate_type_pbr": {
        "name": "pbr"
      },
      "model": {
        "name": "modelo",
        "tooltip": "A opção LowPoly não está disponível para o modelo `3.1`."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Suporta até 1024 caracteres."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente controla se o nó deve ser executado novamente; os resultados são não determinísticos independentemente da semente."
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "GLB",
        "tooltip": null
      },
      "2": {
        "name": "OBJ",
        "tooltip": null
      },
      "3": {
        "name": "texture_image",
        "tooltip": null
      }
    }
  },
  "TextEncodeAceStepAudio": {
    "display_name": "TextEncodeAceStepAudio",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "lyrics": {
        "name": "lyrics"
      },
      "lyrics_strength": {
        "name": "lyrics_strength"
      },
      "tags": {
        "name": "tags"
      }
    },
    "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": "controle após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "generate_audio_codes": {
        "name": "gerar_códigos_de_áudio",
        "tooltip": "Ativa o LLM que gera códigos de áudio. Isso pode ser lento, mas aumentará a qualidade do áudio gerado. Desative se você fornecer uma referência de áudio ao modelo."
      },
      "keyscale": {
        "name": "escala tonal"
      },
      "language": {
        "name": "idioma"
      },
      "lyrics": {
        "name": "letra"
      },
      "min_p": {
        "name": "min_p"
      },
      "seed": {
        "name": "semente"
      },
      "tags": {
        "name": "tags"
      },
      "temperature": {
        "name": "temperatura"
      },
      "timesignature": {
        "name": "fórmula de compasso"
      },
      "top_k": {
        "name": "top_k"
      },
      "top_p": {
        "name": "top_p"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeBooguEdit": {
    "display_name": "TextEncodeBooguEdit",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "images": {
        "name": "imagens",
        "tooltip": "Imagem(ns) de referência para editar. O Boogu foca em uma referência por amostra; mais são permitidas."
      },
      "negative_prompt": {
        "name": "negative_prompt"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      }
    }
  },
  "TextEncodeHunyuanVideo_ImageToVideo": {
    "display_name": "TextEncodeHunyuanVideo_ImageToVideo",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "image_interleave": {
        "name": "image_interleave",
        "tooltip": "Quanto a imagem influencia em relação ao prompt de texto. Um valor mais alto significa mais influência do prompt de texto."
      },
      "prompt": {
        "name": "prompt"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeJoyImageEdit": {
    "display_name": "TextEncodeJoyImageEdit",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "images": {
        "name": "imagens"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeMageFlowEdit": {
    "description": "Codifica uma instrução de edição com uma ou mais imagens de referência para Mage-Flow-Edit. Os latents de referência são redimensionados para a resolução de saída (largura/altura, ou o tamanho da primeira imagem quando 0). Use a saída latent para amostragem para que os tamanhos sempre correspondam.",
    "display_name": "TextEncodeMageFlowEdit",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "clip": {
        "name": "clip"
      },
      "height": {
        "name": "height",
        "tooltip": "Altura de saída. 0 = usar o tamanho da primeira imagem de referência."
      },
      "images": {
        "name": "images",
        "tooltip": "Imagem(ns) de referência para editar. Todas as referências são redimensionadas para a resolução de saída antes da codificação."
      },
      "negative_prompt": {
        "name": "negative_prompt"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "width",
        "tooltip": "Largura de saída. 0 = usar o tamanho da primeira imagem de referência."
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "TextEncodeQwenImageEdit": {
    "display_name": "TextEncodeQwenImageEdit",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "image"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeQwenImageEditPlus": {
    "display_name": "TextEncodeQwenImageEditPlus",
    "inputs": {
      "clip": {
        "name": "clip"
      },
      "image1": {
        "name": "image1"
      },
      "image2": {
        "name": "image2"
      },
      "image3": {
        "name": "image3"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextEncodeZImageOmni": {
    "display_name": "TextEncodeZImageOmni",
    "inputs": {
      "auto_resize_images": {
        "name": "redimensionar_imagens_automaticamente"
      },
      "clip": {
        "name": "clip"
      },
      "image1": {
        "name": "imagem1"
      },
      "image2": {
        "name": "imagem2"
      },
      "image3": {
        "name": "imagem3"
      },
      "image_encoder": {
        "name": "codificador_de_imagem"
      },
      "prompt": {
        "name": "prompt"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TextGenerate": {
    "display_name": "TextGenerate",
    "inputs": {
      "audio": {
        "name": "áudio"
      },
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "imagem"
      },
      "max_length": {
        "name": "comprimento_máximo"
      },
      "prompt": {
        "name": "prompt"
      },
      "sampling_mode": {
        "name": "modo_de_amostragem"
      },
      "sampling_mode_min_p": {
        "name": "min_p"
      },
      "sampling_mode_presence_penalty": {
        "name": "penalidade_de_presença"
      },
      "sampling_mode_repetition_penalty": {
        "name": "penalidade_de_repetição"
      },
      "sampling_mode_seed": {
        "name": "semente"
      },
      "sampling_mode_temperature": {
        "name": "temperatura"
      },
      "sampling_mode_top_k": {
        "name": "top_k"
      },
      "sampling_mode_top_p": {
        "name": "top_p"
      },
      "thinking": {
        "name": "pensando",
        "tooltip": "Operar no modo de pensamento se o modelo suportar."
      },
      "use_default_template": {
        "name": "use_default_template",
        "tooltip": "Use o prompt/modelo de sistema padrão se o modelo possuir um."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Quadros de vídeo como lote de imagens. Considera-se 24 FPS; amostrado internamente para 1 FPS."
      }
    },
    "outputs": {
      "0": {
        "name": "texto_gerado",
        "tooltip": null
      }
    }
  },
  "TextGenerateLTX2Prompt": {
    "display_name": "TextGenerateLTX2Prompt",
    "inputs": {
      "audio": {
        "name": "áudio"
      },
      "clip": {
        "name": "clip"
      },
      "image": {
        "name": "imagem"
      },
      "max_length": {
        "name": "comprimento_máximo"
      },
      "prompt": {
        "name": "prompt"
      },
      "sampling_mode": {
        "name": "modo_de_amostragem"
      },
      "sampling_mode_min_p": {
        "name": "min_p"
      },
      "sampling_mode_presence_penalty": {
        "name": "penalidade_de_presença"
      },
      "sampling_mode_repetition_penalty": {
        "name": "penalidade_de_repetição"
      },
      "sampling_mode_seed": {
        "name": "semente"
      },
      "sampling_mode_temperature": {
        "name": "temperatura"
      },
      "sampling_mode_top_k": {
        "name": "top_k"
      },
      "sampling_mode_top_p": {
        "name": "top_p"
      },
      "thinking": {
        "name": "pensando",
        "tooltip": "Operar no modo de pensamento se o modelo suportar."
      },
      "use_default_template": {
        "name": "use_default_template",
        "tooltip": "Use o prompt/modelo de sistema padrão se o modelo possuir um."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Quadros de vídeo como lote de imagens. Considera-se 24 FPS; amostrado internamente para 1 FPS."
      }
    },
    "outputs": {
      "0": {
        "name": "texto_gerado",
        "tooltip": null
      }
    }
  },
  "TextOverlay": {
    "description": "Desenha uma sobreposição de texto em uma imagem ou lote de imagens.",
    "display_name": "Desenhar Sobreposição de Texto",
    "inputs": {
      "align": {
        "name": "alinhamento"
      },
      "color": {
        "name": "cor",
        "tooltip": "Cor do texto."
      },
      "font_size": {
        "name": "tamanho_da_fonte",
        "tooltip": "Tamanho da fonte como porcentagem da altura da imagem."
      },
      "images": {
        "name": "imagens"
      },
      "outline": {
        "name": "contorno",
        "tooltip": "Desenhar um contorno preto ao redor do texto."
      },
      "position": {
        "name": "posição"
      },
      "text": {
        "name": "texto"
      }
    },
    "outputs": {
      "0": {
        "name": "imagens",
        "tooltip": null
      }
    }
  },
  "TextToLowercase": {
    "display_name": "Texto para minúsculas",
    "inputs": {
      "texts": {
        "name": "texts",
        "tooltip": "Texto para processar."
      }
    },
    "outputs": {
      "0": {
        "name": "texts",
        "tooltip": "Textos processados"
      }
    }
  },
  "TextToUppercase": {
    "display_name": "Texto para Maiúsculas",
    "inputs": {
      "texts": {
        "name": "textos",
        "tooltip": "Texto a ser processado."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos processados"
      }
    }
  },
  "ThresholdMask": {
    "display_name": "ThresholdMask",
    "inputs": {
      "mask": {
        "name": "mask"
      },
      "value": {
        "name": "valor"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TomePatchModel": {
    "display_name": "TomePatchModel",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "ratio": {
        "name": "proporção"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazImageEnhance": {
    "description": "Aprimoramento e upscaling de imagem padrão da indústria.",
    "display_name": "Topaz Image Enhance",
    "inputs": {
      "color_preservation": {
        "name": "preservação_de_cores",
        "tooltip": "Preservar as cores originais."
      },
      "creativity": {
        "name": "criatividade"
      },
      "crop_to_fill": {
        "name": "cortar_para_preencher",
        "tooltip": "Por padrão, a imagem é exibida com faixas quando a proporção de aspecto de saída é diferente. Ative para cortar a imagem e preencher as dimensões de saída."
      },
      "face_enhancement": {
        "name": "aprimoramento_de_rostos",
        "tooltip": "Aprimore rostos (se presentes) durante o processamento."
      },
      "face_enhancement_creativity": {
        "name": "criatividade_no_aprimoramento_de_rostos",
        "tooltip": "Defina o nível de criatividade para o aprimoramento de rostos."
      },
      "face_enhancement_strength": {
        "name": "força_do_aprimoramento_de_rostos",
        "tooltip": "Controla o quão nítidos os rostos aprimorados ficam em relação ao fundo."
      },
      "face_preservation": {
        "name": "preservação_de_rostos",
        "tooltip": "Preservar a identidade facial dos sujeitos."
      },
      "image": {
        "name": "imagem"
      },
      "model": {
        "name": "modelo"
      },
      "output_height": {
        "name": "altura_de_saida",
        "tooltip": "Valor zero significa manter a mesma altura da original ou da largura de saída."
      },
      "output_width": {
        "name": "largura_de_saida",
        "tooltip": "Valor zero significa calcular automaticamente (normalmente será o tamanho original ou a altura de saída, se especificada)."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt de texto opcional para orientação criativa no upscaling."
      },
      "subject_detection": {
        "name": "detecção_de_sujeito"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazImageEnhanceV2": {
    "description": "Aprimoramento e upscaling de imagem padrão da indústria.",
    "display_name": "Topaz Aprimoramento de Imagem",
    "inputs": {
      "image": {
        "name": "imagem"
      },
      "model": {
        "name": "modelo"
      },
      "model_color_preservation": {
        "name": "preservação de cor"
      },
      "model_creativity": {
        "name": "criatividade"
      },
      "model_crop_to_fill": {
        "name": "cortar para preencher"
      },
      "model_face_enhancement": {
        "name": "aprimoramento facial"
      },
      "model_face_enhancement_creativity": {
        "name": "criatividade do aprimoramento facial"
      },
      "model_face_enhancement_strength": {
        "name": "força do aprimoramento facial"
      },
      "model_face_preservation": {
        "name": "preservação facial"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_subject_detection": {
        "name": "detecção de sujeito"
      },
      "output_height": {
        "name": "altura de saída",
        "tooltip": "Valor zero significa manter a mesma altura do original ou proporcional à output_width, se especificado. Wonder 3.5 suporta fatores de upscaling de 1x a 6x apenas. Bloom 2 e Wonder 3.5 preservam a proporção da entrada e tratam o tamanho solicitado como alvo."
      },
      "output_width": {
        "name": "largura de saída",
        "tooltip": "Valor zero significa calcular automaticamente (normalmente será o tamanho original ou proporcional à output_height, se especificado). Wonder 3.5 suporta fatores de upscaling de 1x a 6x apenas. Bloom 2 e Wonder 3.5 preservam a proporção da entrada e tratam o tamanho solicitado como alvo."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazVideoEnhance": {
    "description": "Dê nova vida aos seus vídeos com tecnologia avançada de upscaling e recuperação.",
    "display_name": "Topaz Video Enhance",
    "inputs": {
      "dynamic_compression_level": {
        "name": "dynamic_compression_level",
        "tooltip": "Nível CQP."
      },
      "interpolation_duplicate": {
        "name": "interpolation_duplicate",
        "tooltip": "Analisa o vídeo de entrada para quadros duplicados e os remove."
      },
      "interpolation_duplicate_threshold": {
        "name": "interpolation_duplicate_threshold",
        "tooltip": "Sensibilidade de detecção para quadros duplicados."
      },
      "interpolation_enabled": {
        "name": "interpolation_enabled"
      },
      "interpolation_frame_rate": {
        "name": "interpolation_frame_rate",
        "tooltip": "Taxa de quadros de saída."
      },
      "interpolation_model": {
        "name": "interpolation_model"
      },
      "interpolation_slowmo": {
        "name": "interpolation_slowmo",
        "tooltip": "Fator de câmera lenta aplicado ao vídeo de entrada. Por exemplo, 2 deixa o resultado duas vezes mais lento e dobra a duração."
      },
      "upscaler_creativity": {
        "name": "upscaler_creativity",
        "tooltip": "Nível de criatividade (aplicável apenas ao Starlight (Astra) Creative)."
      },
      "upscaler_enabled": {
        "name": "upscaler_enabled"
      },
      "upscaler_model": {
        "name": "upscaler_model"
      },
      "upscaler_resolution": {
        "name": "upscaler_resolution"
      },
      "video": {
        "name": "vídeo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TopazVideoEnhanceV2": {
    "description": "Dê nova vida aos vídeos com tecnologia poderosa de upscaling e recuperação.",
    "display_name": "Topaz Video Enhance",
    "inputs": {
      "dynamic_compression_level": {
        "name": "nível de compressão dinâmica",
        "tooltip": "Nível CQP."
      },
      "interpolation_model": {
        "name": "modelo de interpolação"
      },
      "upscaler_model": {
        "name": "modelo de upscaling"
      },
      "upscaler_model_creativity": {
        "name": "criatividade"
      },
      "upscaler_model_prompt": {
        "name": "prompt"
      },
      "upscaler_model_realism": {
        "name": "realismo"
      },
      "upscaler_model_sharp": {
        "name": "nitidez"
      },
      "upscaler_model_upscaler_resolution": {
        "name": "resolução do upscaler"
      },
      "video": {
        "name": "vídeo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TorchCompileModel": {
    "display_name": "TorchCompileModel",
    "inputs": {
      "backend": {
        "name": "backend"
      },
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TrainLoraNode": {
    "display_name": "Treinar LoRA",
    "inputs": {
      "algorithm": {
        "name": "algoritmo",
        "tooltip": "O algoritmo a ser usado para o treinamento."
      },
      "batch_size": {
        "name": "tamanho_do_lote",
        "tooltip": "O tamanho do lote a ser usado para o treinamento."
      },
      "bucket_mode": {
        "name": "modo_bucket",
        "tooltip": "Ativar modo de bucket de resolução. Quando ativado, espera latents pré-bucketados do nó ResolutionBucket."
      },
      "bypass_mode": {
        "name": "bypass_mode",
        "tooltip": "Ativar modo bypass para treinamento. Quando ativado, os adaptadores são aplicados via hooks de encaminhamento em vez de modificação de pesos. Útil para modelos quantizados onde os pesos não podem ser modificados diretamente."
      },
      "checkpoint_depth": {
        "name": "checkpoint_depth",
        "tooltip": "Nível de profundidade para checkpointing de gradiente."
      },
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "existing_lora": {
        "name": "lora_existente",
        "tooltip": "A LoRA existente para anexar. Defina como Nenhum para nova LoRA."
      },
      "grad_accumulation_steps": {
        "name": "passos_de_acumulo_de_gradiente",
        "tooltip": "O número de passos de acumulação de gradiente a serem usados para o treinamento."
      },
      "gradient_checkpointing": {
        "name": "checkpointing_de_gradiente",
        "tooltip": "Usar checkpointing de gradiente para o treinamento."
      },
      "latents": {
        "name": "latents",
        "tooltip": "Os latents a serem usados para o treinamento, servem como conjunto de dados/entrada do modelo."
      },
      "learning_rate": {
        "name": "taxa_de_aprendizado",
        "tooltip": "A taxa de aprendizado a ser usada para o treinamento."
      },
      "lora_dtype": {
        "name": "lora_dtype",
        "tooltip": "O dtype a ser usado para a lora."
      },
      "loss_function": {
        "name": "função_de_perda",
        "tooltip": "A função de perda a ser usada para o treinamento."
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo no qual treinar a LoRA."
      },
      "offloading": {
        "name": "offloading",
        "tooltip": "Nível de profundidade para checkpointing de gradiente."
      },
      "optimizer": {
        "name": "otimizador",
        "tooltip": "O otimizador a ser usado para o treinamento."
      },
      "positive": {
        "name": "positivo",
        "tooltip": "O condicionamento positivo a ser usado para o treinamento."
      },
      "quantized_backward": {
        "name": "quantized_backward",
        "tooltip": "Ao usar 'training_dtype' como 'none' e treinar em um modelo quantizado, realiza o backward com matmul quantizado quando ativado."
      },
      "rank": {
        "name": "rank",
        "tooltip": "O rank das camadas da LoRA."
      },
      "seed": {
        "name": "semente",
        "tooltip": "A semente a ser usada para o treinamento (usada no gerador para inicialização dos pesos da LoRA e amostragem de ruído)"
      },
      "steps": {
        "name": "passos",
        "tooltip": "O número de passos para treinar a LoRA."
      },
      "training_dtype": {
        "name": "dtype_de_treinamento",
        "tooltip": "O dtype a ser usado para o treinamento."
      }
    },
    "outputs": {
      "0": {
        "name": "modelo",
        "tooltip": "Modelo com LoRA aplicada"
      },
      "1": {
        "name": "lora",
        "tooltip": "Pesos da LoRA"
      },
      "2": {
        "name": "mapa_de_perda",
        "tooltip": "Histórico de perda"
      }
    }
  },
  "TransformSplat": {
    "description": "Translada, rotaciona e escala um gaussian splat. Escala não uniforme também deforma cada splat individualmente, processo mais lento.",
    "display_name": "Transformar Splat",
    "inputs": {
      "rotate_x": {
        "name": "rotacionar_x"
      },
      "rotate_y": {
        "name": "rotacionar_y"
      },
      "rotate_z": {
        "name": "rotacionar_z"
      },
      "scale_x": {
        "name": "escala_x"
      },
      "scale_y": {
        "name": "escala_y"
      },
      "scale_z": {
        "name": "escala_z"
      },
      "splat": {
        "name": "splat"
      },
      "translate_x": {
        "name": "transladar_x"
      },
      "translate_y": {
        "name": "transladar_y"
      },
      "translate_z": {
        "name": "transladar_z"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "TrimAudioDuration": {
    "description": "Corta o tensor de áudio no intervalo de tempo escolhido.",
    "display_name": "Cortar Duração do Áudio",
    "inputs": {
      "audio": {
        "name": "áudio"
      },
      "duration": {
        "name": "duração",
        "tooltip": "Duração em segundos"
      },
      "start_index": {
        "name": "índice_inicial",
        "tooltip": "Tempo inicial em segundos, pode ser negativo para contar a partir do final (suporta frações de segundo)."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TrimVideoLatent": {
    "display_name": "Cortar Latent de Vídeo",
    "inputs": {
      "samples": {
        "name": "amostras"
      },
      "trim_amount": {
        "name": "quantidade_de_corte"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripleCLIPLoader": {
    "description": "[Receitas]\n\nsd3: clip-l, clip-g, t5",
    "display_name": "TripleCLIPLoader",
    "inputs": {
      "clip_name1": {
        "name": "clip_name1"
      },
      "clip_name2": {
        "name": "clip_name2"
      },
      "clip_name3": {
        "name": "clip_name3"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripoConversionNode": {
    "display_name": "Tripo: Converter modelo",
    "inputs": {
      "animate_in_place": {
        "name": "animar_no_local"
      },
      "bake": {
        "name": "bake"
      },
      "export_orientation": {
        "name": "exportar_orientação"
      },
      "export_vertex_colors": {
        "name": "exportar_cores_dos_vértices"
      },
      "face_limit": {
        "name": "limite_de_faces"
      },
      "fbx_preset": {
        "name": "preset_fbx"
      },
      "flatten_bottom": {
        "name": "achatar_base"
      },
      "flatten_bottom_threshold": {
        "name": "limite_achatamento_base"
      },
      "force_symmetry": {
        "name": "forçar_simetria"
      },
      "format": {
        "name": "formato"
      },
      "original_model_task_id": {
        "name": "original_model_task_id"
      },
      "pack_uv": {
        "name": "empacotar_uv"
      },
      "part_names": {
        "name": "nomes_das_partes"
      },
      "pivot_to_center_bottom": {
        "name": "pivô_para_centro_base"
      },
      "quad": {
        "name": "quad"
      },
      "scale_factor": {
        "name": "fator_de_escala"
      },
      "texture_format": {
        "name": "formato_da_textura"
      },
      "texture_size": {
        "name": "tamanho_da_textura"
      },
      "with_animation": {
        "name": "com_animação"
      }
    }
  },
  "TripoImageToModelNode": {
    "display_name": "Tripo: Imagem para Modelo",
    "inputs": {
      "face_limit": {
        "name": "limite_de_faces"
      },
      "geometry_quality": {
        "name": "qualidade_da_geometria"
      },
      "image": {
        "name": "imagem"
      },
      "model_seed": {
        "name": "semente_do_modelo"
      },
      "model_version": {
        "name": "versão_do_modelo",
        "tooltip": "A versão do modelo a ser usada para geração"
      },
      "orientation": {
        "name": "orientação"
      },
      "pbr": {
        "name": "pbr"
      },
      "quad": {
        "name": "quad"
      },
      "style": {
        "name": "estilo"
      },
      "texture": {
        "name": "textura"
      },
      "texture_alignment": {
        "name": "alinhamento_da_textura"
      },
      "texture_quality": {
        "name": "qualidade_da_textura"
      },
      "texture_seed": {
        "name": "semente_da_textura"
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "task_id_do_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoImportModelNode": {
    "description": "Importe um modelo 3D externo (por exemplo, do Rodin, Hunyuan3D ou de um arquivo local) para o Tripo para usá-lo com os nós de pós-processamento do Tripo: Texture, Rig, Convert. GLB é recomendado: as texturas só permanecem após a importação quando estão incorporadas no arquivo. Observe que texturizar um modelo importado requer um prompt de textura.",
    "display_name": "Tripo: Importar Modelo",
    "inputs": {
      "model_3d": {
        "name": "model_3d",
        "tooltip": "Modelo 3D para importar (GLB / FBX / OBJ / STL, até 150 MB). Arquivos OBJ e STL não possuem texturas incorporadas."
      }
    },
    "outputs": {
      "0": {
        "name": "model task_id",
        "tooltip": null
      }
    }
  },
  "TripoMultiviewToModelNode": {
    "display_name": "Tripo: Multiview para Modelo",
    "inputs": {
      "face_limit": {
        "name": "limite_de_faces"
      },
      "geometry_quality": {
        "name": "qualidade_da_geometria"
      },
      "image": {
        "name": "imagem"
      },
      "image_back": {
        "name": "imagem_traseira"
      },
      "image_left": {
        "name": "imagem_esquerda"
      },
      "image_right": {
        "name": "imagem_direita"
      },
      "model_seed": {
        "name": "semente_do_modelo"
      },
      "model_version": {
        "name": "versão_do_modelo",
        "tooltip": "A versão do modelo a ser usada para geração"
      },
      "orientation": {
        "name": "orientação"
      },
      "pbr": {
        "name": "pbr"
      },
      "quad": {
        "name": "quad",
        "tooltip": "Este parâmetro está obsoleto e não faz nada."
      },
      "texture": {
        "name": "textura"
      },
      "texture_alignment": {
        "name": "alinhamento_da_textura"
      },
      "texture_quality": {
        "name": "qualidade_da_textura"
      },
      "texture_seed": {
        "name": "semente_da_textura"
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "task_id_do_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoP1ImageToModelNode": {
    "description": "Tripo P1 imagem para 3D. Otimizado para malhas low-poly prontas para jogos.",
    "display_name": "Tripo P1: Imagem para Modelo",
    "inputs": {
      "auto_size": {
        "name": "tamanho_automático",
        "tooltip": "Escala a saída para aproximar metros reais."
      },
      "compress_geometry": {
        "name": "comprimir_geometria",
        "tooltip": "Aplicar compressão baseada em geometria. Descompacte antes de editar."
      },
      "enable_image_autofix": {
        "name": "habilitar_autoajuste_imagem",
        "tooltip": "Pré-processa a imagem de entrada para melhor qualidade de geração."
      },
      "export_uv": {
        "name": "exportar_uv",
        "tooltip": "Desenrolar UV durante a geração. Desative para execuções mais rápidas apenas de geometria."
      },
      "face_limit": {
        "name": "limite_de_faces",
        "tooltip": "Quantidade alvo de faces, 48-20000. -1 permite que o Tripo escolha de forma adaptativa."
      },
      "image": {
        "name": "imagem"
      },
      "model_seed": {
        "name": "semente_do_modelo"
      },
      "output_mode": {
        "name": "modo_de_saida",
        "tooltip": "\"Apenas geometria\" retorna uma malha sem textura. \"Texturizado\" adiciona mapas de cor/PBR."
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_modelo",
        "tooltip": null
      },
      "1": {
        "name": "id_tarefa_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoP1MultiviewToModelNode": {
    "description": "Tripo P1 multivisual para 3D a partir de 2-4 imagens de referência nas ordens [frente, esquerda, trás, direita]. Frente é obrigatória; qualquer combinação das outras três pode ser omitida.",
    "display_name": "Tripo P1: Multivisual para Modelo",
    "inputs": {
      "auto_size": {
        "name": "tamanho_automático",
        "tooltip": "Escala a saída para aproximar metros reais."
      },
      "compress_geometry": {
        "name": "comprimir_geometria",
        "tooltip": "Aplicar compressão baseada em geometria. Descompacte antes de editar."
      },
      "export_uv": {
        "name": "exportar_uv",
        "tooltip": "Desenrolar UV durante a geração. Desative para execuções mais rápidas apenas de geometria."
      },
      "face_limit": {
        "name": "limite_de_faces",
        "tooltip": "Quantidade alvo de faces, 48-20000. -1 permite que o Tripo escolha de forma adaptativa."
      },
      "image": {
        "name": "imagem",
        "tooltip": "Vista frontal (0°). Obrigatória."
      },
      "image_back": {
        "name": "imagem_traseira",
        "tooltip": "Vista traseira (180°)."
      },
      "image_left": {
        "name": "imagem_esquerda",
        "tooltip": "Vista esquerda (90°), ou seja, o lado esquerdo do sujeito."
      },
      "image_right": {
        "name": "imagem_direita",
        "tooltip": "Vista direita (270°), ou seja, o lado direito do sujeito."
      },
      "model_seed": {
        "name": "semente_do_modelo"
      },
      "output_mode": {
        "name": "modo_de_saida",
        "tooltip": "\"Apenas geometria\" retorna uma malha sem textura. \"Texturizado\" adiciona mapas de cor/PBR."
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_modelo",
        "tooltip": null
      },
      "1": {
        "name": "id_tarefa_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoP1TextToModelNode": {
    "description": "Tripo P1 texto para 3D. Otimizado para malhas low-poly, prontas para jogos, com topologia estável.",
    "display_name": "Tripo P1: Texto para Modelo",
    "inputs": {
      "auto_size": {
        "name": "auto_size",
        "tooltip": "Escala a saída para aproximar metros reais."
      },
      "compress_geometry": {
        "name": "compress_geometry",
        "tooltip": "Aplica compressão baseada em geometria. Descompacte antes de editar."
      },
      "export_uv": {
        "name": "export_uv",
        "tooltip": "Faz o UV unwrap durante a geração. Desative para execuções mais rápidas apenas com geometria."
      },
      "face_limit": {
        "name": "face_limit",
        "tooltip": "Quantidade alvo de faces, 48-20000. -1 permite que o Tripo escolha de forma adaptativa."
      },
      "image_seed": {
        "name": "image_seed"
      },
      "model_seed": {
        "name": "model_seed"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Até 255 caracteres."
      },
      "output_mode": {
        "name": "output_mode",
        "tooltip": "\"Apenas geometria\" retorna uma malha sem textura. \"Texturizado\" adiciona mapas de cor/PBR."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Até 1024 caracteres."
      }
    },
    "outputs": {
      "0": {
        "name": "model_file",
        "tooltip": null
      },
      "1": {
        "name": "model task_id",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRefineNode": {
    "description": "Refine um modelo rascunho criado apenas por modelos Tripo v1.4.",
    "display_name": "Tripo: Refinar Modelo Rascunho",
    "inputs": {
      "model_task_id": {
        "name": "id_da_tarefa_do_modelo",
        "tooltip": "Deve ser um modelo Tripo v1.4"
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "task_id_do_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRetargetNode": {
    "display_name": "Tripo: Retarget para modelo com rig",
    "inputs": {
      "animation": {
        "name": "animação"
      },
      "original_model_task_id": {
        "name": "id_da_tarefa_do_modelo_original"
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "task_id_de_retarget",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoRigNode": {
    "display_name": "Tripo: Rig no modelo",
    "inputs": {
      "original_model_task_id": {
        "name": "id_da_tarefa_do_modelo_original"
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "task_id_de_rig",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoSplatConditioning": {
    "description": "Codifica a imagem com DINOv3 e o Flux2 VAE em condicionamento positivo/negativo TripoSplat, e cria o alvo de ruído de tamanho fixo (latent + câmera) para o KSampler",
    "display_name": "Condicionamento TripoSplat",
    "inputs": {
      "clip_vision": {
        "name": "clip_vision",
        "tooltip": "Codificador de imagem DINOv3 ViT-H/16+"
      },
      "image": {
        "name": "imagem"
      },
      "vae": {
        "name": "vae",
        "tooltip": "Flux2 VAE"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": "O alvo de ruído de tamanho fixo (latent + câmera)."
      }
    }
  },
  "TripoSplatPreprocessImage": {
    "description": "Recorta o centro de cada imagem para um canvas quadrado em fundo preto e adiciona preenchimento.",
    "display_name": "TripoSplat Pré-processar Imagem",
    "inputs": {
      "erode_radius": {
        "name": "raio_de_erosão",
        "tooltip": "Erosiona o canal alfa por este raio em pixels antes de recortar (evita vazamento nas bordas)."
      },
      "image": {
        "name": "imagem"
      },
      "mask": {
        "name": "mask"
      },
      "size": {
        "name": "tamanho",
        "tooltip": "Tamanho da imagem quadrada. O modelo foi treinado em 1024; outros tamanhos funcionam, mas ficam fora da distribuição."
      }
    },
    "outputs": {
      "0": {
        "name": "imagem",
        "tooltip": null
      }
    }
  },
  "TripoSplatSamplingPreview": {
    "description": "Adapta o modelo TripoSplat para o nó padrão Ksampler para mostrar uma prévia ao vivo do gaussian splat decodificado em cada etapa.",
    "display_name": "Pré-visualização de Amostragem TripoSplat",
    "inputs": {
      "model": {
        "name": "modelo"
      },
      "num_gaussians": {
        "name": "número_de_gaussianos",
        "tooltip": "Número de gaussianos a serem produzidos para a pré-visualização (arredondado para múltiplos de 32)."
      },
      "octree_level": {
        "name": "nível_octree",
        "tooltip": "Profundidade da octree para a pré-visualização da decodificação (menor = mais barato/grosseiro)."
      },
      "pitch": {
        "name": "pitch",
        "tooltip": "Ângulo de pitch da câmera de pré-visualização em graus."
      },
      "point_size": {
        "name": "tamanho_do_ponto",
        "tooltip": "Raio máximo do splat em pixels. Cada gaussiano é dimensionado a partir de sua escala e limitado aqui; menor = mais fino/pontudo, maior = mais grosso."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Decodificador VAE do TripoSplat"
      },
      "yaw": {
        "name": "yaw",
        "tooltip": "Ângulo de yaw da câmera de pré-visualização em graus."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "TripoTextToModelNode": {
    "display_name": "Tripo: Texto para Modelo",
    "inputs": {
      "face_limit": {
        "name": "limite_de_faces"
      },
      "geometry_quality": {
        "name": "qualidade_da_geometria"
      },
      "image_seed": {
        "name": "semente_da_imagem"
      },
      "model_seed": {
        "name": "semente_do_modelo"
      },
      "model_version": {
        "name": "versão_do_modelo"
      },
      "negative_prompt": {
        "name": "prompt_negativo"
      },
      "pbr": {
        "name": "pbr"
      },
      "prompt": {
        "name": "prompt"
      },
      "quad": {
        "name": "quad"
      },
      "style": {
        "name": "estilo"
      },
      "texture": {
        "name": "textura"
      },
      "texture_quality": {
        "name": "qualidade_da_textura"
      },
      "texture_seed": {
        "name": "semente_da_textura"
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "task_id_do_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TripoTextureNode": {
    "display_name": "Tripo: Modelo de Textura",
    "inputs": {
      "model_task_id": {
        "name": "model_task_id"
      },
      "pbr": {
        "name": "pbr"
      },
      "texture": {
        "name": "textura"
      },
      "texture_alignment": {
        "name": "alinhamento_textura"
      },
      "texture_prompt": {
        "name": "texture_prompt",
        "tooltip": "Orientação textual opcional para texturização. Necessário na prática para modelos importados (Tripo: Importar Modelo), que não possuem imagem de origem para inferir cores."
      },
      "texture_quality": {
        "name": "qualidade_textura"
      },
      "texture_seed": {
        "name": "semente_textura"
      }
    },
    "outputs": {
      "0": {
        "name": "arquivo_do_modelo",
        "tooltip": null
      },
      "1": {
        "name": "task_id_do_modelo",
        "tooltip": null
      },
      "2": {
        "name": "GLB",
        "tooltip": null
      }
    }
  },
  "TruncateText": {
    "display_name": "Truncar Texto",
    "inputs": {
      "max_length": {
        "name": "comprimento_máximo",
        "tooltip": "Comprimento máximo do texto."
      },
      "texts": {
        "name": "textos",
        "tooltip": "Texto para processar."
      }
    },
    "outputs": {
      "0": {
        "name": "textos",
        "tooltip": "Textos processados"
      }
    }
  },
  "UNETLoader": {
    "display_name": "Carregar Modelo de Difusão",
    "inputs": {
      "unet_name": {
        "name": "unet_name"
      },
      "weight_dtype": {
        "name": "tipo_peso"
      }
    }
  },
  "UNetCrossAttentionMultiply": {
    "display_name": "UNetCrossAttentionMultiply",
    "inputs": {
      "k": {
        "name": "k"
      },
      "model": {
        "name": "modelo"
      },
      "out": {
        "name": "saída"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "UNetSelfAttentionMultiply": {
    "display_name": "UNetSelfAttentionMultiply",
    "inputs": {
      "k": {
        "name": "k"
      },
      "model": {
        "name": "modelo"
      },
      "out": {
        "name": "saída"
      },
      "q": {
        "name": "q"
      },
      "v": {
        "name": "v"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "UNetTemporalAttentionMultiply": {
    "display_name": "UNetTemporalAttentionMultiply",
    "inputs": {
      "cross_structural": {
        "name": "cruzado_estrutural"
      },
      "cross_temporal": {
        "name": "cruzado_temporal"
      },
      "model": {
        "name": "modelo"
      },
      "self_structural": {
        "name": "auto_estrutural"
      },
      "self_temporal": {
        "name": "auto_temporal"
      }
    },
    "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": "Carregar Modelo de Upscale",
    "inputs": {
      "model_name": {
        "name": "nome_modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecode": {
    "description": "Decodifica imagens latentes de volta para imagens no espaço de pixels.",
    "display_name": "VAE Decodificar",
    "inputs": {
      "samples": {
        "name": "amostras",
        "tooltip": "O latente a ser decodificado."
      },
      "vae": {
        "name": "vae",
        "tooltip": "O modelo VAE usado para decodificar o latente."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "A imagem decodificada."
      }
    }
  },
  "VAEDecodeAudio": {
    "display_name": "VAE Decodificar Áudio",
    "inputs": {
      "samples": {
        "name": "amostras"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeAudioTiled": {
    "display_name": "VAE Decodificar Áudio (Em Blocos)",
    "inputs": {
      "overlap": {
        "name": "sobreposição"
      },
      "samples": {
        "name": "amostras"
      },
      "tile_size": {
        "name": "tamanho_do_bloco"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeHunyuan3D": {
    "display_name": "VAEDecodeHunyuan3D",
    "inputs": {
      "num_chunks": {
        "name": "num_chunks"
      },
      "octree_resolution": {
        "name": "octree_resolution"
      },
      "samples": {
        "name": "amostras"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEDecodeTiled": {
    "display_name": "VAE Decodificar (Em Blocos)",
    "inputs": {
      "overlap": {
        "name": "sobreposição"
      },
      "samples": {
        "name": "amostras"
      },
      "temporal_overlap": {
        "name": "sobreposição_temporal",
        "tooltip": "Usado apenas para VAEs de vídeo: Quantidade de quadros para sobrepor."
      },
      "temporal_size": {
        "name": "tamanho_temporal",
        "tooltip": "Usado apenas para VAEs de vídeo: Quantidade de quadros para decodificar por vez."
      },
      "tile_size": {
        "name": "tamanho_do_bloco"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEDecodeTripoSplat": {
    "description": "Decodifica o latent TripoSplat amostrado em um gaussian splat 3D. Modifique o número de gaussianos para variar a densidade.",
    "display_name": "Decodificar TripoSplat",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "num_gaussians": {
        "name": "número_de_gaussianos",
        "tooltip": "Número de gaussianos a serem produzidos (arredondado para múltiplos de 32). 262144 corresponde à densidade de pontos da octree; valores maiores superamostram os mesmos pontos (mais denso, mas sem novos detalhes) e custam proporcionalmente mais VRAM/tempo."
      },
      "samples": {
        "name": "amostras"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Define a semente do amostrador de pontos da octree (RNG global) para decodificações determinísticas."
      },
      "vae": {
        "name": "vae",
        "tooltip": "Decodificador VAE do TripoSplat"
      }
    },
    "outputs": {
      "0": {
        "name": "splat",
        "tooltip": null
      }
    }
  },
  "VAEEncode": {
    "display_name": "VAE Codificar",
    "inputs": {
      "pixels": {
        "name": "pixels"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEEncodeAudio": {
    "display_name": "VAE Codificar Áudio",
    "inputs": {
      "audio": {
        "name": "áudio"
      },
      "vae": {
        "name": "vae"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VAEEncodeForInpaint": {
    "display_name": "VAE Codificar (para Inpainting)",
    "inputs": {
      "grow_mask_by": {
        "name": "aumentar_máscara_em"
      },
      "mask": {
        "name": "máscara"
      },
      "pixels": {
        "name": "pixels"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAEEncodeTiled": {
    "display_name": "VAE Codificar (Em Blocos)",
    "inputs": {
      "overlap": {
        "name": "sobreposição"
      },
      "pixels": {
        "name": "pixels"
      },
      "temporal_overlap": {
        "name": "sobreposição_temporal",
        "tooltip": "Usado apenas para VAEs de vídeo: Quantidade de quadros para sobrepor."
      },
      "temporal_size": {
        "name": "tamanho_temporal",
        "tooltip": "Usado apenas para VAEs de vídeo: Quantidade de quadros para codificar por vez."
      },
      "tile_size": {
        "name": "tamanho_do_bloco"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VAELoader": {
    "display_name": "Carregar VAE",
    "inputs": {
      "vae_name": {
        "name": "vae_name"
      }
    }
  },
  "VAESave": {
    "display_name": "Salvar VAE",
    "inputs": {
      "filename_prefix": {
        "name": "filename_prefix"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "VOIDInpaintConditioning": {
    "display_name": "VOIDInpaintConditioning",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length",
        "tooltip": "Número de quadros de pixels a processar. Para CogVideoX-Fun-V1.5 (patch_size_t=2), latent_t deve ser par — comprimentos que produzem latent_t ímpar são arredondados para baixo (ex.: 49 → 45)."
      },
      "negative": {
        "name": "negative"
      },
      "positive": {
        "name": "positive"
      },
      "quadmask": {
        "name": "quadmask",
        "tooltip": "Quadmask pré-processada do VOIDQuadmaskPreprocess [T, H, W]"
      },
      "vae": {
        "name": "vae"
      },
      "video": {
        "name": "video",
        "tooltip": "Quadros de vídeo de origem [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": "Raio de dilatação para a região principal da máscara (0 = sem dilatação)"
      },
      "mask": {
        "name": "mask"
      }
    },
    "outputs": {
      "0": {
        "name": "quadmask",
        "tooltip": null
      }
    }
  },
  "VOIDSampler": {
    "display_name": "VOIDSampler",
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VOIDWarpedNoise": {
    "display_name": "VOIDWarpedNoise",
    "inputs": {
      "batch_size": {
        "name": "batch_size"
      },
      "height": {
        "name": "height"
      },
      "length": {
        "name": "length",
        "tooltip": "Número de quadros de pixels. Arredondado para baixo para tornar latent_t par (requisito patch_size_t=2), ex.: 49 → 45."
      },
      "optical_flow": {
        "name": "optical_flow",
        "tooltip": "Modelo de optical flow do OpticalFlowLoader (RAFT-large)."
      },
      "video": {
        "name": "video",
        "tooltip": "Quadros de vídeo de saída da Passagem 1 [T, H, W, 3]"
      },
      "width": {
        "name": "width"
      }
    },
    "outputs": {
      "0": {
        "name": "warped_noise",
        "tooltip": null
      }
    }
  },
  "VOIDWarpedNoiseSource": {
    "display_name": "VOIDWarpedNoiseSource",
    "inputs": {
      "warped_noise": {
        "name": "warped_noise",
        "tooltip": "Latente de ruído distorcido do 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": "etapas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Veo3FirstLastFrameNode": {
    "description": "Gerar vídeo usando prompt e quadros inicial e final.",
    "display_name": "Google Veo 3 Quadro Inicial-Final para Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Proporção do vídeo de saída"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Duração do vídeo de saída em segundos"
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Quadro inicial"
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Gerar áudio para o vídeo."
      },
      "last_frame": {
        "name": "last_frame",
        "tooltip": "Quadro final"
      },
      "model": {
        "name": "model"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt negativo para guiar o que evitar no vídeo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto do vídeo"
      },
      "resolution": {
        "name": "resolution"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semente para geração do vídeo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Veo3VideoGenerationNode": {
    "description": "Gera vídeos a partir de prompts de texto usando a API Google Veo 3",
    "display_name": "Google Veo 3 Geração de Vídeo",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Proporção do vídeo de saída"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration_seconds": {
        "name": "duration_seconds",
        "tooltip": "Duração do vídeo de saída em segundos (Veo 3 suporta apenas 8 segundos)"
      },
      "enhance_prompt": {
        "name": "enhance_prompt",
        "tooltip": "Este parâmetro está obsoleto e será ignorado."
      },
      "generate_audio": {
        "name": "generate_audio",
        "tooltip": "Gerar áudio para o vídeo. Suportado por todos os modelos Veo 3."
      },
      "image": {
        "name": "image",
        "tooltip": "Imagem de referência opcional para guiar a geração do vídeo"
      },
      "model": {
        "name": "model",
        "tooltip": "Modelo Veo 3 a ser usado para geração de vídeo"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt negativo para guiar o que evitar no vídeo"
      },
      "person_generation": {
        "name": "person_generation",
        "tooltip": "Permitir ou não a geração de pessoas no vídeo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto do vídeo"
      },
      "resolution": {
        "name": "resolução",
        "tooltip": "Resolução do vídeo de saída. 4K não está disponível para os modelos veo-3.1-lite e veo-3.0."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semente para geração do vídeo (0 para aleatório)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VeoVideoGenerationNode": {
    "description": "Gera vídeos a partir de prompts de texto usando a API Veo 2 do Google",
    "display_name": "Geração de Vídeo Google Veo 2",
    "inputs": {
      "aspect_ratio": {
        "name": "aspect_ratio",
        "tooltip": "Proporção do vídeo de saída"
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration_seconds": {
        "name": "duration_seconds",
        "tooltip": "Duração do vídeo de saída em segundos"
      },
      "enhance_prompt": {
        "name": "enhance_prompt",
        "tooltip": "Se deve aprimorar o prompt com assistência de IA"
      },
      "image": {
        "name": "image",
        "tooltip": "Imagem de referência opcional para guiar a geração do vídeo"
      },
      "model": {
        "name": "model",
        "tooltip": "Modelo Veo 2 a ser usado para geração de vídeo"
      },
      "negative_prompt": {
        "name": "negative_prompt",
        "tooltip": "Prompt negativo para orientar o que evitar no vídeo"
      },
      "person_generation": {
        "name": "person_generation",
        "tooltip": "Se permite gerar pessoas no vídeo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição em texto do vídeo"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semente para geração de vídeo (0 para aleatório)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Video Slice": {
    "display_name": "Corte de Vídeo",
    "inputs": {
      "duration": {
        "name": "duração",
        "tooltip": "Duração em segundos, ou 0 para duração ilimitada"
      },
      "start_time": {
        "name": "início",
        "tooltip": "Tempo de início em segundos"
      },
      "strict_duration": {
        "name": "duração_estrita",
        "tooltip": "Se Verdadeiro, quando a duração especificada não for possível, um erro será exibido."
      },
      "video": {
        "name": "vídeo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VideoFrameSample": {
    "description": "Amostre um número fixo de quadros de um vídeo usando várias estratégias.",
    "display_name": "Amostrar Quadro de Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "num_frames": {
        "name": "número_de_quadros",
        "tooltip": "Número de quadros a serem amostrados."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória (usada apenas com a estratégia 'random')."
      },
      "strategy": {
        "name": "estratégia",
        "tooltip": "uniform: espaçamento uniforme, head: primeiros N, tail: últimos N, random: aleatórios ordenados."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Vídeo de entrada."
      }
    },
    "outputs": {
      "0": {
        "name": "vídeo",
        "tooltip": "Vídeo amostrado."
      }
    }
  },
  "VideoLinearCFGGuidance": {
    "display_name": "VideoLinearCFGGuidance",
    "inputs": {
      "min_cfg": {
        "name": "min_cfg"
      },
      "model": {
        "name": "model"
      }
    }
  },
  "VideoRandomTemporalCrop": {
    "description": "Corte aleatoriamente um intervalo contínuo de quadros de um vídeo.",
    "display_name": "Cortar Vídeo (Temporal Aleatório)",
    "inputs": {
      "control_after_generate": {
        "name": "controlar após gerar"
      },
      "length": {
        "name": "comprimento",
        "tooltip": "Número de quadros a serem mantidos."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente aleatória."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Vídeo de entrada."
      }
    },
    "outputs": {
      "0": {
        "name": "vídeo",
        "tooltip": "Vídeo cortado (lazy)."
      }
    }
  },
  "VideoTemporalCrop": {
    "description": "Corte um intervalo contínuo de quadros de um vídeo.",
    "display_name": "Cortar Vídeo (Temporal)",
    "inputs": {
      "length": {
        "name": "comprimento",
        "tooltip": "Número de quadros a serem mantidos."
      },
      "start_frame": {
        "name": "quadro_inicial",
        "tooltip": "Índice do quadro inicial."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "Vídeo de entrada."
      }
    },
    "outputs": {
      "0": {
        "name": "vídeo",
        "tooltip": "Vídeo cortado (lazy)."
      }
    }
  },
  "VideoTriangleCFGGuidance": {
    "display_name": "VideoTriangleCFGGuidance",
    "inputs": {
      "min_cfg": {
        "name": "min_cfg"
      },
      "model": {
        "name": "model"
      }
    }
  },
  "Vidu2ImageToVideoNode": {
    "description": "Gere um vídeo a partir de uma imagem e um prompt opcional.",
    "display_name": "Geração de Vídeo a partir de Imagem Vidu2",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "image": {
        "name": "imagem",
        "tooltip": "Uma imagem a ser usada como quadro inicial do vídeo gerado."
      },
      "model": {
        "name": "modelo"
      },
      "movement_amplitude": {
        "name": "amplitude_de_movimento",
        "tooltip": "A amplitude de movimento dos objetos no quadro."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Um prompt de texto opcional para geração de vídeo (máx. 2000 caracteres)."
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2ReferenceVideoNode": {
    "description": "Gere um vídeo a partir de múltiplas imagens de referência e um prompt.",
    "display_name": "Geração de Vídeo por Referência Vidu2",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção"
      },
      "audio": {
        "name": "áudio",
        "tooltip": "Quando ativado, o vídeo conterá fala gerada e música de fundo com base no prompt."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "model": {
        "name": "modelo"
      },
      "movement_amplitude": {
        "name": "amplitude_de_movimento",
        "tooltip": "A amplitude de movimento dos objetos no quadro."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Quando ativado, o vídeo incluirá fala gerada e música de fundo com base no prompt."
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente"
      },
      "subjects": {
        "name": "sujeitos",
        "tooltip": "Para cada sujeito, forneça até 3 imagens de referência (7 imagens no total entre todos os sujeitos). Referencie-os nos prompts via @subject{subject_id}."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2StartEndToVideoNode": {
    "description": "Gere um vídeo a partir de um quadro inicial, um quadro final e um prompt.",
    "display_name": "Geração de Vídeo Vidu2 de Quadro Inicial/Final",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "end_frame": {
        "name": "quadro_final"
      },
      "first_frame": {
        "name": "quadro_inicial"
      },
      "model": {
        "name": "modelo"
      },
      "movement_amplitude": {
        "name": "amplitude_de_movimento",
        "tooltip": "A amplitude de movimento dos objetos no quadro."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição do prompt (máx. 2000 caracteres)."
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu2TextToVideoNode": {
    "description": "Gerar vídeo a partir de um prompt de texto",
    "display_name": "Geração de Vídeo Vidu2 a partir de Texto",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção"
      },
      "background_music": {
        "name": "música_de_fundo",
        "tooltip": "Se deve adicionar música de fundo ao vídeo gerado."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "model": {
        "name": "modelo"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Uma descrição textual para geração de vídeo, com comprimento máximo de 2000 caracteres."
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3ImageToVideoNode": {
    "description": "Gere um vídeo a partir de uma imagem e um prompt opcional.",
    "display_name": "Geração de Vídeo de Imagem para Vídeo Vidu Q3",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "image": {
        "name": "imagem",
        "tooltip": "Uma imagem a ser usada como quadro inicial do vídeo gerado."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para geração de vídeo."
      },
      "model_audio": {
        "name": "áudio"
      },
      "model_duration": {
        "name": "duração"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Um prompt de texto opcional para geração de vídeo (máx. 2000 caracteres)."
      },
      "seed": {
        "name": "semente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3StartEndToVideoNode": {
    "description": "Gere um vídeo a partir de um quadro inicial, um quadro final e um prompt.",
    "display_name": "Geração de Vídeo Quadro Inicial/Final Vidu Q3",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "end_frame": {
        "name": "quadro final"
      },
      "first_frame": {
        "name": "quadro inicial"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para geração de vídeo."
      },
      "model_audio": {
        "name": "áudio"
      },
      "model_duration": {
        "name": "duração"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição do prompt (máx. 2000 caracteres)."
      },
      "seed": {
        "name": "semente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Vidu3TextToVideoNode": {
    "description": "Gere um vídeo a partir de um prompt de texto.",
    "display_name": "Geração de Vídeo de Texto para Vídeo Vidu Q3",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para geração de vídeo."
      },
      "model_aspect_ratio": {
        "name": "proporção"
      },
      "model_audio": {
        "name": "áudio"
      },
      "model_duration": {
        "name": "duração"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Uma descrição textual para geração de vídeo, com comprimento máximo de 2000 caracteres."
      },
      "seed": {
        "name": "semente"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduExtendVideoNode": {
    "description": "Estenda um vídeo existente gerando quadros adicionais.",
    "display_name": "Extensão de Vídeo Vidu",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "end_frame": {
        "name": "quadro_final"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser usado para extensão de vídeo."
      },
      "model_duration": {
        "name": "duração"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Um prompt de texto opcional para o vídeo estendido (máx. 2000 caracteres)."
      },
      "seed": {
        "name": "semente"
      },
      "video": {
        "name": "vídeo",
        "tooltip": "O vídeo de origem a ser estendido."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduImageToVideoNode": {
    "description": "Gera vídeo a partir de uma imagem e prompt opcional",
    "display_name": "Geração de Vídeo a partir de Imagem Vidu",
    "inputs": {
      "control_after_generate": {
        "name": "control after generate"
      },
      "duration": {
        "name": "duration",
        "tooltip": "Duração do vídeo de saída em segundos"
      },
      "image": {
        "name": "image",
        "tooltip": "Uma imagem a ser usada como quadro inicial do vídeo gerado"
      },
      "model": {
        "name": "model",
        "tooltip": "Nome do modelo"
      },
      "movement_amplitude": {
        "name": "movement_amplitude",
        "tooltip": "A amplitude de movimento dos objetos no quadro"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Descrição textual para geração de vídeo"
      },
      "resolution": {
        "name": "resolution",
        "tooltip": "Os valores suportados podem variar conforme o modelo e a duração"
      },
      "seed": {
        "name": "seed",
        "tooltip": "Semente para geração de vídeo (0 para aleatório)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduMultiFrameVideoNode": {
    "description": "Gere um vídeo com múltiplas transições de quadros-chave.",
    "display_name": "Geração de Vídeo com Múltiplos Quadros Vidu",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "frames": {
        "name": "quadros",
        "tooltip": "Número de transições de quadros-chave (2-9)."
      },
      "frames_duration1": {
        "name": "duração1"
      },
      "frames_duration2": {
        "name": "duração2"
      },
      "frames_prompt1": {
        "name": "prompt1"
      },
      "frames_prompt2": {
        "name": "prompt2"
      },
      "model": {
        "name": "modelo"
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente"
      },
      "start_image": {
        "name": "imagem_inicial",
        "tooltip": "A imagem do quadro inicial. A proporção deve estar entre 1:4 e 4:1."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduReferenceVideoNode": {
    "description": "Gerar vídeo a partir de múltiplas imagens e prompt",
    "display_name": "Geração de Vídeo por Referência Vidu",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção",
        "tooltip": "A proporção do vídeo de saída"
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração",
        "tooltip": "Duração do vídeo de saída em segundos"
      },
      "images": {
        "name": "imagens",
        "tooltip": "Imagens para usar como referência para gerar um vídeo com sujeitos consistentes (máx. 7 imagens)."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Nome do modelo"
      },
      "movement_amplitude": {
        "name": "amplitude de movimento",
        "tooltip": "A amplitude de movimento dos objetos no quadro"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Uma descrição textual para geração de vídeo"
      },
      "resolution": {
        "name": "resolução",
        "tooltip": "Os valores suportados podem variar conforme o modelo e a duração"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para geração de vídeo (0 para aleatório)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduStartEndToVideoNode": {
    "description": "Gerar um vídeo a partir dos quadros inicial e final e um prompt",
    "display_name": "Geração de Vídeo Vidu de Início e Fim",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração",
        "tooltip": "Duração do vídeo de saída em segundos"
      },
      "end_frame": {
        "name": "quadro final",
        "tooltip": "Quadro final"
      },
      "first_frame": {
        "name": "quadro inicial",
        "tooltip": "Quadro inicial"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Nome do modelo"
      },
      "movement_amplitude": {
        "name": "amplitude de movimento",
        "tooltip": "A amplitude de movimento dos objetos no quadro"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Uma descrição textual para geração de vídeo"
      },
      "resolution": {
        "name": "resolução",
        "tooltip": "Os valores suportados podem variar conforme o modelo e a duração"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para geração de vídeo (0 para aleatório)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "ViduTextToVideoNode": {
    "description": "Gerar vídeo a partir de um prompt de texto",
    "display_name": "Geração de Vídeo Vidu por Texto",
    "inputs": {
      "aspect_ratio": {
        "name": "proporção",
        "tooltip": "A proporção do vídeo de saída"
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração",
        "tooltip": "Duração do vídeo de saída em segundos"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Nome do modelo"
      },
      "movement_amplitude": {
        "name": "amplitude de movimento",
        "tooltip": "A amplitude de movimento dos objetos no quadro"
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Uma descrição textual para geração de vídeo"
      },
      "resolution": {
        "name": "resolução",
        "tooltip": "Os valores suportados podem variar conforme o modelo e a duração"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente para geração de vídeo (0 para aleatório)"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VoxelToMesh": {
    "description": "Converte uma grade de voxel em uma malha.",
    "display_name": "VoxelParaMalha",
    "inputs": {
      "algorithm": {
        "name": "algoritmo"
      },
      "threshold": {
        "name": "limiar"
      },
      "voxel": {
        "name": "voxel"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "VoxelToMeshBasic": {
    "description": "Converte uma grade de voxel em uma malha.",
    "display_name": "VoxelToMeshBasic",
    "inputs": {
      "threshold": {
        "name": "limiar"
      },
      "voxel": {
        "name": "voxel"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan22FunControlToVideo": {
    "display_name": "Wan22FunControlToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "control_video": {
        "name": "vídeo_de_controle"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_image": {
        "name": "imagem_de_referência"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "Wan22ImageToVideoLatent": {
    "display_name": "Wan22ImageToVideoLatent",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2ImageToVideoApi": {
    "description": "Gere um vídeo a partir de uma imagem do primeiro quadro, com opção de imagem do último quadro e áudio.",
    "display_name": "Wan 2.7 Imagem para Vídeo",
    "inputs": {
      "audio": {
        "name": "audio",
        "tooltip": "Áudio para direcionar a geração do vídeo (ex: sincronização labial, movimento no ritmo da batida). Duração: 2s-30s. Se não for fornecido, o modelo gera automaticamente música de fundo ou efeitos sonoros correspondentes."
      },
      "control_after_generate": {
        "name": "control after generate"
      },
      "first_frame": {
        "name": "first_frame",
        "tooltip": "Imagem do primeiro quadro. A proporção de aspecto de saída é derivada desta imagem."
      },
      "last_frame": {
        "name": "last_frame",
        "tooltip": "Imagem do último quadro. O modelo gera um vídeo fazendo a transição do primeiro para o último quadro."
      },
      "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": "Se deseja aprimorar o prompt com assistência de IA."
      },
      "seed": {
        "name": "seed",
        "tooltip": "Seed para usar na geração."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se deseja adicionar uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2ReferenceVideoApi": {
    "description": "Gere um vídeo apresentando uma pessoa ou objeto a partir de materiais de referência. Suporta performances de personagem único e interações entre múltiplos personagens.",
    "display_name": "Wan 2.7 Referência para Vídeo",
    "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": "Seed para usar na geração."
      },
      "watermark": {
        "name": "watermark",
        "tooltip": "Se deseja adicionar uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2TextToVideoApi": {
    "description": "Gera um vídeo com base em um prompt de texto usando o modelo Wan 2.7.",
    "display_name": "Wan 2.7 Texto para Vídeo",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "Áudio para direcionar a geração do vídeo (ex: sincronização labial, movimento no ritmo da música). Duração: 3s-30s. Se não fornecido, o modelo gera automaticamente música de fundo ou efeitos sonoros compatíveis."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo"
      },
      "model_duration": {
        "name": "duração"
      },
      "model_negative_prompt": {
        "name": "prompt_negativo"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "proporção"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "prompt_extend": {
        "name": "estender_prompt",
        "tooltip": "Se deseja aprimorar o prompt com assistência de IA."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente a ser usada para a geração."
      },
      "watermark": {
        "name": "marca_d'água",
        "tooltip": "Se deseja adicionar uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2VideoContinuationApi": {
    "description": "Continue um vídeo de onde parou, com controle opcional do último quadro.",
    "display_name": "Wan 2.7 Continuação de Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "first_clip": {
        "name": "primeiro_clip",
        "tooltip": "Vídeo de entrada para continuar. Duração: 2s-10s. A proporção de aspecto de saída é derivada deste vídeo."
      },
      "last_frame": {
        "name": "último_quadro",
        "tooltip": "Imagem do último quadro. A continuação fará a transição para este quadro."
      },
      "model": {
        "name": "modelo"
      },
      "model_duration": {
        "name": "duração"
      },
      "model_negative_prompt": {
        "name": "prompt_negativo"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "prompt_extend": {
        "name": "estender_prompt",
        "tooltip": "Se deseja aprimorar o prompt com assistência de IA."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente a ser usada para a geração."
      },
      "watermark": {
        "name": "marca_d'água",
        "tooltip": "Se deseja adicionar uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "Wan2VideoEditApi": {
    "description": "Edite um vídeo usando instruções de texto, imagens de referência ou transferência de estilo.",
    "display_name": "Wan 2.7 Edição de Vídeo",
    "inputs": {
      "audio_setting": {
        "name": "configuração_de_áudio",
        "tooltip": "'auto': o modelo decide se deve regenerar o áudio com base no prompt. 'origin': preserva o áudio original do vídeo de entrada."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "model": {
        "name": "modelo"
      },
      "model_duration": {
        "name": "duração"
      },
      "model_prompt": {
        "name": "prompt"
      },
      "model_ratio": {
        "name": "proporção"
      },
      "model_resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente a ser usada para a geração."
      },
      "video": {
        "name": "vídeo",
        "tooltip": "O vídeo a ser editado."
      },
      "watermark": {
        "name": "marca_d'água",
        "tooltip": "Se deseja adicionar uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanAnimate2Cache": {
    "description": "Armazena em cache as ativações por bloco do vídeo de pose para que ele seja executado apenas uma vez, em vez de a cada etapa de amostragem. Reduz aproximadamente pela metade o tempo de geração. O custo é cerca de 12,5 GB de RAM do sistema em 480x832/81 quadros em bf16 (escala conforme a resolução e duração). Com janelas de contexto, cada janela é armazenada em cache separadamente, então a RAM aumenta conforme o número de janelas; use o agendamento static_standard, pois agendamentos uniformes deslocam as janelas a cada etapa e nada retorna para aproveitar o cache.",
    "display_name": "WanAnimate2Cache",
    "inputs": {
      "device": {
        "name": "device",
        "tooltip": "Onde manter o cache. cpu (RAM) é a escolha mais segura, pois o cache não cabe na VRAM junto com o modelo em tamanhos típicos. gpu (VRAM) pode ser mais rápido se couber."
      },
      "dtype": {
        "name": "dtype",
        "tooltip": "Precisão de armazenamento. default armazena as ativações no dtype de computação do modelo. int8 reduz o cache pela metade, int4 reduz para um quarto, convrot é usado para manter a precisão."
      },
      "model": {
        "name": "model"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanAnimate2ToVideo": {
    "description": "Anime um personagem em uma imagem de referência usando um vídeo, replicando efetivamente a animação facial, o movimento corporal e os gestos das mãos do vídeo.",
    "display_name": "WanAnimate2ToVideo",
    "inputs": {
      "batch_size": {
        "name": "batch_size",
        "tooltip": "Número de vídeos a serem gerados simultaneamente."
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "CLIP vision da imagem de referência."
      },
      "clip_vision_output_pose": {
        "name": "clip_vision_output_pose",
        "tooltip": "CLIP vision do primeiro quadro do vídeo de pose. Padrão é clip_vision_output."
      },
      "continue_motion": {
        "name": "continue_motion",
        "tooltip": "Sequência de movimento anterior para continuar, garantindo consistência temporal."
      },
      "height": {
        "name": "height",
        "tooltip": "Altura do vídeo de saída em pixels."
      },
      "length": {
        "name": "length",
        "tooltip": "Número de quadros a serem gerados."
      },
      "negative": {
        "name": "negative"
      },
      "pose_end_percent": {
        "name": "pose_end_percent",
        "tooltip": "Porcentagem de amostragem em que a influência da pose termina. O movimento é estabelecido principalmente no início, então, por exemplo, 0.7 pode suavizar detalhes finos mantendo a coreografia."
      },
      "pose_start_percent": {
        "name": "pose_start_percent",
        "tooltip": "Porcentagem de amostragem em que a influência da pose começa. Fora da janela, o ramo de pose é totalmente ignorado, o que também acelera essas etapas."
      },
      "pose_strength": {
        "name": "pose_strength",
        "tooltip": "Escala a influência do vídeo de pose no movimento. 1.0 é o comportamento treinado; abaixo disso enfraquece a aderência, acima amplifica. 0.0 silencia, mas não remove totalmente."
      },
      "pose_video": {
        "name": "pose_video",
        "tooltip": "O vídeo cujo movimento será transferido para o personagem de referência."
      },
      "positive": {
        "name": "positive"
      },
      "positive_pose": {
        "name": "positive_pose",
        "tooltip": "Prompt para o ramo do vídeo de pose, descrevendo o movimento em vez do personagem. Padrão é positive. Usado tanto para as passagens cond quanto uncond."
      },
      "reference_image": {
        "name": "reference_image",
        "tooltip": "O personagem a ser animado."
      },
      "reference_image_strength": {
        "name": "reference_image_strength",
        "tooltip": "Escala o quanto os quadros gerados seguem o quadro latente da imagem de referência. Abaixo de 1.0 afrouxa a aderência à identidade/aparência (por exemplo, para permitir que o prompt altere o estilo), acima disso reforça contra desvios."
      },
      "vae": {
        "name": "vae"
      },
      "video_frame_offset": {
        "name": "video_frame_offset",
        "tooltip": "Quadros para avançar no vídeo de pose. Conecte à saída video_frame_offset do nó anterior ao estender."
      },
      "width": {
        "name": "width",
        "tooltip": "Largura do vídeo de saída em pixels."
      }
    },
    "outputs": {
      "0": {
        "name": "positive",
        "tooltip": null
      },
      "1": {
        "name": "negative",
        "tooltip": null
      },
      "2": {
        "name": "latent",
        "tooltip": null
      },
      "3": {
        "name": "trim_latent",
        "tooltip": "Número de quadros latentes que devem ser removidos antes da decodificação."
      },
      "4": {
        "name": "trim_image",
        "tooltip": "Número de quadros de imagem sobrepostos ao estender um vídeo."
      },
      "5": {
        "name": "video_frame_offset",
        "tooltip": "Quadros para avançar no vídeo de pose."
      }
    }
  },
  "WanAnimateToVideo": {
    "display_name": "WanAnimateToVideo",
    "inputs": {
      "background_video": {
        "name": "vídeo_de_fundo"
      },
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "character_mask": {
        "name": "máscara_de_personagem"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "continue_motion": {
        "name": "continuar_movimento"
      },
      "continue_motion_max_frames": {
        "name": "continuar_movimento_máx_quadros"
      },
      "face_video": {
        "name": "vídeo_de_rosto"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "negative": {
        "name": "negativo"
      },
      "pose_video": {
        "name": "vídeo_de_pose"
      },
      "positive": {
        "name": "positivo"
      },
      "reference_image": {
        "name": "imagem_de_referência"
      },
      "vae": {
        "name": "vae"
      },
      "video_frame_offset": {
        "name": "deslocamento_quadro_vídeo",
        "tooltip": "A quantidade de quadros a avançar em todos os vídeos de entrada. Usado para gerar vídeos mais longos em partes. Conecte à saída video_frame_offset do nó anterior para estender um vídeo."
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      },
      "3": {
        "name": "latente_recortado",
        "tooltip": null
      },
      "4": {
        "name": "imagem_recortada",
        "tooltip": null
      },
      "5": {
        "name": "deslocamento_quadro_vídeo",
        "tooltip": null
      }
    }
  },
  "WanCameraEmbedding": {
    "display_name": "WanCameraEmbedding",
    "inputs": {
      "camera_pose": {
        "name": "pose_da_câmera"
      },
      "cx": {
        "name": "cx"
      },
      "cy": {
        "name": "cy"
      },
      "fx": {
        "name": "fx"
      },
      "fy": {
        "name": "fy"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "speed": {
        "name": "velocidade"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "camera_embedding",
        "tooltip": null
      },
      "1": {
        "name": "largura",
        "tooltip": null
      },
      "2": {
        "name": "altura",
        "tooltip": null
      },
      "3": {
        "name": "duração",
        "tooltip": null
      }
    }
  },
  "WanCameraImageToVideo": {
    "display_name": "WanCameraImageToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "camera_conditions": {
        "name": "condições_da_câmera"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "comprimento"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanContextWindowsManual": {
    "description": "Defina manualmente as janelas de contexto para modelos do tipo WAN (dim=2).",
    "display_name": "WAN Context Windows (Manual)",
    "inputs": {
      "closed_loop": {
        "name": "ciclo_fechado",
        "tooltip": "Se deve fechar o ciclo da janela de contexto; aplicável apenas para agendamentos em loop."
      },
      "context_length": {
        "name": "comprimento_do_contexto",
        "tooltip": "O comprimento da janela de contexto."
      },
      "context_overlap": {
        "name": "sobreposição_do_contexto",
        "tooltip": "A sobreposição da janela de contexto."
      },
      "context_schedule": {
        "name": "agendamento_do_contexto",
        "tooltip": "O passo da janela de contexto."
      },
      "context_stride": {
        "name": "passo_do_contexto",
        "tooltip": "O passo da janela de contexto; aplicável apenas para agendamentos uniformes."
      },
      "freenoise": {
        "name": "freenoise",
        "tooltip": "Se deve aplicar embaralhamento de ruído FreeNoise, melhora a mesclagem das janelas."
      },
      "fuse_method": {
        "name": "método_de_fusão",
        "tooltip": "O método a ser usado para fundir as janelas de contexto."
      },
      "model": {
        "name": "modelo",
        "tooltip": "O modelo ao qual aplicar as janelas de contexto durante a amostragem."
      },
      "retain_first_frame": {
        "name": "reter_primeiro_quadro",
        "tooltip": "Reter o primeiro quadro I2V em cada janela de contexto (pode ajudar a manter a referência inicial)."
      },
      "split_conds_to_windows": {
        "name": "dividir_condições_para_janelas",
        "tooltip": "Se deve dividir múltiplas condicionantes (criadas por ConditionCombine) para cada janela com base no índice da região."
      }
    },
    "outputs": {
      "0": {
        "tooltip": "O modelo com janelas de contexto aplicadas durante a amostragem."
      }
    }
  },
  "WanDancerEncodeAudio": {
    "display_name": "WanDancerEncodeAudio",
    "inputs": {
      "audio": {
        "name": "áudio"
      },
      "audio_inject_scale": {
        "name": "escala_de_injeção_de_áudio",
        "tooltip": "A escala para as características do áudio ao serem injetadas no modelo de vídeo."
      },
      "video_frames": {
        "name": "quadros_de_vídeo"
      }
    },
    "outputs": {
      "0": {
        "name": "saída_do_codificador_de_áudio",
        "tooltip": null
      },
      "1": {
        "name": "string_fps",
        "tooltip": "O fps calculado com base na duração do áudio e no número de quadros de vídeo. Usado no prompt."
      }
    }
  },
  "WanDancerPadKeyframes": {
    "display_name": "WanDancerPadKeyframes",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "Áudio para calcular o total de quadros de saída e extrair o áudio do segmento."
      },
      "images": {
        "name": "imagens"
      },
      "segment_index": {
        "name": "índice_do_segmento",
        "tooltip": "Qual segmento é este (0 para o primeiro, 1 para o segundo, etc.)"
      },
      "segment_length": {
        "name": "comprimento_do_segmento",
        "tooltip": "Comprimento deste segmento (geralmente 149 quadros)"
      }
    },
    "outputs": {
      "0": {
        "name": "sequência_de_keyframes",
        "tooltip": "Sequência de keyframes preenchida"
      },
      "1": {
        "name": "máscara_de_keyframes",
        "tooltip": "Máscara indicando quadros válidos"
      },
      "2": {
        "name": "segmento_de_áudio",
        "tooltip": "Segmento de áudio para este segmento de vídeo"
      }
    }
  },
  "WanDancerPadKeyframesList": {
    "display_name": "WanDancerPadKeyframesList",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "Áudio a ser dividido para cada segmento emitido."
      },
      "images": {
        "name": "imagens"
      },
      "num_segments": {
        "name": "número_de_segmentos",
        "tooltip": "Quantos segmentos preenchidos emitir como listas."
      },
      "segment_length": {
        "name": "comprimento_do_segmento",
        "tooltip": "Comprimento de cada segmento (geralmente 149 quadros)"
      }
    },
    "outputs": {
      "0": {
        "name": "sequências_de_keyframes",
        "tooltip": "Sequências de keyframes preenchidas"
      },
      "1": {
        "name": "máscaras_de_keyframes",
        "tooltip": "Máscaras indicando quadros válidos"
      },
      "2": {
        "name": "segmento_de_áudio",
        "tooltip": "Segmento de áudio para cada segmento de vídeo"
      }
    }
  },
  "WanDancerVideo": {
    "display_name": "WanDancerVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "audio_encoder_output"
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "Os embeddings de visão do CLIP para o primeiro quadro."
      },
      "clip_vision_output_ref": {
        "name": "clip_vision_output_ref",
        "tooltip": "Os embeddings de visão do CLIP para a imagem de referência."
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração",
        "tooltip": "O número de quadros no vídeo gerado. Deve permanecer 149 para WanDancer."
      },
      "mask": {
        "name": "máscara",
        "tooltip": "Máscara de condicionamento de imagem para a(s) imagem(ns) inicial(is). Branco é mantido, preto é gerado. Usado para as gerações locais."
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagem_inicial",
        "tooltip": "A(s) imagem(ns) inicial(is) a serem codificadas, pode ser qualquer quantidade de quadros."
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": "Latente vazio."
      }
    }
  },
  "WanFirstLastFrameToVideo": {
    "display_name": "WanFirstLastFrameToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "clip_vision_end_image": {
        "name": "clip_vision_end_image"
      },
      "clip_vision_start_image": {
        "name": "clip_vision_start_image"
      },
      "end_image": {
        "name": "imagem_final"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "comprimento"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanFunControlToVideo": {
    "display_name": "WanFunControlToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "control_video": {
        "name": "vídeo_de_controle"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanFunInpaintToVideo": {
    "display_name": "WanFunInpaintToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "end_image": {
        "name": "imagem_final"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanHuMoImageToVideo": {
    "display_name": "WanHuMoImageToVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "saída_do_codificador_de_áudio"
      },
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_image": {
        "name": "imagem_de_referência"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanImageToImageApi": {
    "description": "Gera uma imagem a partir de uma ou duas imagens de entrada e um prompt de texto. A imagem de saída atualmente é fixa em 1,6 MP, e sua proporção corresponde à(s) imagem(ns) de entrada.",
    "display_name": "Wan Imagem para Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "image": {
        "name": "imagem",
        "tooltip": "Edição de imagem única ou fusão de múltiplas imagens. Máximo de 2 imagens."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser utilizado."
      },
      "negative_prompt": {
        "name": "prompt negativo",
        "tooltip": "Prompt negativo descrevendo o que evitar."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt descrevendo os elementos e características visuais. Suporta inglês e chinês."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente a ser utilizada para a geração."
      },
      "watermark": {
        "name": "marca d'água",
        "tooltip": "Se deve adicionar uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanImageToVideo": {
    "display_name": "WanImagemParaVídeo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanImageToVideoApi": {
    "description": "Gera um vídeo a partir do primeiro quadro e de um prompt de texto.",
    "display_name": "Wan Imagem para Vídeo",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "O áudio deve conter uma voz clara e alta, sem ruídos ou música de fundo."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração",
        "tooltip": "Duração 15 disponível apenas para o modelo WAN2.6."
      },
      "generate_audio": {
        "name": "gerar_áudio",
        "tooltip": "Se nenhum áudio for fornecido, gerar áudio automaticamente."
      },
      "image": {
        "name": "imagem"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser utilizado."
      },
      "negative_prompt": {
        "name": "prompt negativo",
        "tooltip": "Prompt negativo descrevendo o que evitar."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt descrevendo os elementos e características visuais. Suporta inglês e chinês."
      },
      "prompt_extend": {
        "name": "estender_prompt",
        "tooltip": "Se deve aprimorar o prompt com assistência de IA."
      },
      "resolution": {
        "name": "resolução"
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente a ser utilizada para a geração."
      },
      "shot_type": {
        "name": "tipo_de_tomada",
        "tooltip": "Especifica o tipo de tomada para o vídeo gerado, ou seja, se o vídeo é uma única tomada contínua ou múltiplas tomadas com cortes. Este parâmetro só tem efeito quando prompt_extend é True."
      },
      "watermark": {
        "name": "marca d'água",
        "tooltip": "Se deve adicionar uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanInfiniteTalkToVideo": {
    "display_name": "WanInfiniteTalkToVideo",
    "inputs": {
      "audio_encoder_output_1": {
        "name": "saída do codificador de áudio 1"
      },
      "audio_scale": {
        "name": "escala de áudio"
      },
      "clip_vision_output": {
        "name": "saída do clip vision"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "mode": {
        "name": "modo"
      },
      "model": {
        "name": "modelo"
      },
      "model_patch": {
        "name": "patch do modelo"
      },
      "motion_frame_count": {
        "name": "quantidade de quadros de movimento",
        "tooltip": "Número de quadros anteriores a serem usados como contexto de movimento."
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "previous_frames": {
        "name": "quadros anteriores"
      },
      "start_image": {
        "name": "imagem inicial"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "modelo",
        "tooltip": null
      },
      "1": {
        "name": "positivo",
        "tooltip": null
      },
      "2": {
        "name": "negativo",
        "tooltip": null
      },
      "3": {
        "name": "latente",
        "tooltip": null
      },
      "4": {
        "name": "imagem recortada",
        "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": "tamanho_do_lote"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "comprimento"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "strength": {
        "name": "força",
        "tooltip": "Força do condicionamento da trilha."
      },
      "tracks": {
        "name": "trilhas"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "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": "tamanho_do_círculo"
      },
      "images": {
        "name": "imagens"
      },
      "line_resolution": {
        "name": "resolução_da_linha"
      },
      "line_width": {
        "name": "largura_da_linha"
      },
      "opacity": {
        "name": "opacidade"
      },
      "tracks": {
        "name": "trilhas"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanPhantomSubjectToVideo": {
    "display_name": "WanPhantomSubjectToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "height": {
        "name": "altura"
      },
      "images": {
        "name": "imagens"
      },
      "length": {
        "name": "comprimento"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "texto_negativo",
        "tooltip": null
      },
      "2": {
        "name": "texto_img_negativo",
        "tooltip": null
      },
      "3": {
        "name": "latent",
        "tooltip": null
      }
    }
  },
  "WanReferenceVideoApi": {
    "description": "Use o personagem e a voz dos vídeos de entrada, combinados com um prompt, para gerar um novo vídeo que mantém a consistência do personagem.",
    "display_name": "Wan Referência para Vídeo",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração"
      },
      "model": {
        "name": "modelo"
      },
      "negative_prompt": {
        "name": "prompt negativo",
        "tooltip": "Prompt negativo descrevendo o que deve ser evitado."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt descrevendo os elementos e características visuais. Suporta inglês e chinês. Use identificadores como `character1` e `character2` para se referir aos personagens de referência."
      },
      "reference_videos": {
        "name": "vídeos de referência"
      },
      "seed": {
        "name": "semente"
      },
      "shot_type": {
        "name": "tipo de tomada",
        "tooltip": "Especifica o tipo de tomada para o vídeo gerado, ou seja, se o vídeo é uma única tomada contínua ou múltiplas tomadas com cortes."
      },
      "size": {
        "name": "tamanho"
      },
      "watermark": {
        "name": "marca d'água",
        "tooltip": "Se deve adicionar uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanSCAILToVideo": {
    "display_name": "WanSCAILToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "clip_vision_output": {
        "name": "clip_vision_output",
        "tooltip": "Recursos de visão do CLIP para condicionamento. O modelo é treinado com redimensionamento esticado para a proporção de aspecto."
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "negative": {
        "name": "negativo"
      },
      "pose_end": {
        "name": "fim_da_pose",
        "tooltip": "Etapa final para usar o condicionamento de pose."
      },
      "pose_start": {
        "name": "início_da_pose",
        "tooltip": "Etapa inicial para usar o condicionamento de pose."
      },
      "pose_strength": {
        "name": "força_da_pose",
        "tooltip": "Força do espaço latente da pose."
      },
      "pose_video": {
        "name": "vídeo_de_pose",
        "tooltip": "Vídeo usado para condicionamento de pose. Será redimensionado para metade da resolução do vídeo principal."
      },
      "pose_video_mask": {
        "name": "pose_video_mask",
        "tooltip": "Apenas SCAIL-2. Vídeo de máscara SAM3 colorido por identidade na mesma resolução de pose_video."
      },
      "positive": {
        "name": "positivo"
      },
      "previous_frame_count": {
        "name": "previous_frame_count",
        "tooltip": "Quadros finais de previous_frames para ancorar. SCAIL-2 foi treinado com 5 (segmentos de 81 quadros, passo de 76 quadros)."
      },
      "previous_frames": {
        "name": "previous_frames",
        "tooltip": "Apenas SCAIL-2. Saída totalmente decodificada do segmento anterior. Apenas os últimos previous_frame_count são usados como âncora de extensão."
      },
      "reference_image": {
        "name": "imagem_de_referência",
        "tooltip": "Imagem de referência; para múltiplas referências, componha todas em uma única imagem."
      },
      "reference_image_mask": {
        "name": "reference_image_mask",
        "tooltip": "Apenas SCAIL-2. Máscara de referência colorida na mesma resolução da reference_image."
      },
      "replacement_mode": {
        "name": "replacement_mode",
        "tooltip": "Apenas SCAIL-2. Falso = Modo Animação (pose_video_mask deve ter fundo preto). Verdadeiro = Modo Substituição (pose_video_mask deve ter fundo branco)."
      },
      "vae": {
        "name": "vae"
      },
      "video_frame_offset": {
        "name": "video_frame_offset",
        "tooltip": "Quadro cumulativo de saída onde este segmento começa. Conecte a partir da saída video_frame_offset do segmento anterior."
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": "Espaço latente vazio do tamanho da geração."
      },
      "3": {
        "name": "video_frame_offset",
        "tooltip": "Offset ajustado + comprimento. Conecte ao próximo segmento."
      }
    }
  },
  "WanSoundImageToVideo": {
    "display_name": "WanSoundImageToVideo",
    "inputs": {
      "audio_encoder_output": {
        "name": "saída do codificador de áudio"
      },
      "batch_size": {
        "name": "tamanho do lote"
      },
      "control_video": {
        "name": "vídeo de controle"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "comprimento"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_image": {
        "name": "imagem de referência"
      },
      "ref_motion": {
        "name": "referência de movimento"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanSoundImageToVideoExtend": {
    "display_name": "WanSoundImageToVideoExtend",
    "inputs": {
      "audio_encoder_output": {
        "name": "saída do codificador de áudio"
      },
      "control_video": {
        "name": "vídeo de controle"
      },
      "length": {
        "name": "comprimento"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "ref_image": {
        "name": "imagem de referência"
      },
      "vae": {
        "name": "vae"
      },
      "video_latent": {
        "name": "latente de vídeo"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanTextToImageApi": {
    "description": "Gera uma imagem com base em um prompt de texto.",
    "display_name": "Wan Texto para Imagem",
    "inputs": {
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "height": {
        "name": "altura"
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser utilizado."
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Prompt negativo descrevendo o que evitar."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt descrevendo os elementos e características visuais. Suporta inglês e chinês."
      },
      "prompt_extend": {
        "name": "estender_prompt",
        "tooltip": "Se deve aprimorar o prompt com assistência de IA."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente a ser utilizada para a geração."
      },
      "watermark": {
        "name": "marca_d'água",
        "tooltip": "Se deve adicionar uma marca d'água gerada por IA ao resultado."
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanTextToVideoApi": {
    "description": "Gera um vídeo com base em um prompt de texto.",
    "display_name": "Wan Texto para Vídeo",
    "inputs": {
      "audio": {
        "name": "áudio",
        "tooltip": "O áudio deve conter uma voz clara e alta, sem ruídos ou música de fundo."
      },
      "control_after_generate": {
        "name": "controle após gerar"
      },
      "duration": {
        "name": "duração",
        "tooltip": "Uma duração de 15 segundos está disponível apenas para o modelo Wan 2.6."
      },
      "generate_audio": {
        "name": "gerar_áudio",
        "tooltip": "Se nenhum áudio for fornecido, gerar áudio automaticamente."
      },
      "model": {
        "name": "modelo",
        "tooltip": "Modelo a ser utilizado."
      },
      "negative_prompt": {
        "name": "prompt_negativo",
        "tooltip": "Prompt negativo descrevendo o que evitar."
      },
      "prompt": {
        "name": "prompt",
        "tooltip": "Prompt descrevendo os elementos e características visuais. Suporta inglês e chinês."
      },
      "prompt_extend": {
        "name": "estender_prompt",
        "tooltip": "Se deve aprimorar o prompt com assistência de IA."
      },
      "seed": {
        "name": "semente",
        "tooltip": "Semente a ser utilizada para a geração."
      },
      "shot_type": {
        "name": "tipo_de_tomada",
        "tooltip": "Especifica o tipo de tomada para o vídeo gerado, ou seja, se o vídeo é uma única tomada contínua ou múltiplas tomadas com cortes. Este parâmetro só tem efeito quando estender_prompt está ativado."
      },
      "size": {
        "name": "tamanho"
      },
      "watermark": {
        "name": "marca_d'água",
        "tooltip": "Se deve adicionar uma marca d'água gerada por IA ao resultado."
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WanTrackToVideo": {
    "display_name": "WanTrackToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "start_image": {
        "name": "imagem_inicial"
      },
      "temperature": {
        "name": "temperatura"
      },
      "topk": {
        "name": "topk"
      },
      "tracks": {
        "name": "faixas"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      }
    }
  },
  "WanUni3CControlnetApply": {
    "display_name": "Aplicar Wan Uni3C ControlNet",
    "inputs": {
      "end_percent": {
        "name": "percentual_final"
      },
      "model": {
        "name": "modelo"
      },
      "model_patch": {
        "name": "model_patch"
      },
      "render_video": {
        "name": "renderizar_vídeo",
        "tooltip": "O vídeo de orientação renderizado a partir da trajetória da câmera, geralmente renderizações de nuvem de pontos distorcidas da imagem de entrada."
      },
      "start_percent": {
        "name": "percentual_inicial"
      },
      "strength": {
        "name": "força"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "WanVaceToVideo": {
    "display_name": "WanVaceToVideo",
    "inputs": {
      "batch_size": {
        "name": "tamanho_do_lote"
      },
      "control_masks": {
        "name": "máscaras_de_controle"
      },
      "control_video": {
        "name": "control_video"
      },
      "height": {
        "name": "altura"
      },
      "length": {
        "name": "duração"
      },
      "negative": {
        "name": "negativo"
      },
      "positive": {
        "name": "positivo"
      },
      "reference_image": {
        "name": "imagem_de_referência"
      },
      "strength": {
        "name": "força"
      },
      "vae": {
        "name": "vae"
      },
      "width": {
        "name": "largura"
      }
    },
    "outputs": {
      "0": {
        "name": "positivo",
        "tooltip": null
      },
      "1": {
        "name": "negativo",
        "tooltip": null
      },
      "2": {
        "name": "latente",
        "tooltip": null
      },
      "3": {
        "name": "latente_recortado",
        "tooltip": null
      }
    }
  },
  "WavespeedFlashVSRNode": {
    "description": "Aprimorador de vídeo rápido e de alta qualidade que aumenta a resolução e restaura a nitidez de vídeos de baixa resolução ou borrados.",
    "display_name": "FlashVSR Video Upscale",
    "inputs": {
      "target_resolution": {
        "name": "resolução_alvo"
      },
      "video": {
        "name": "vídeo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WavespeedImageUpscaleNode": {
    "description": "Aumente a resolução e a qualidade da imagem, ampliando fotos para 4K ou 8K para resultados nítidos e detalhados.",
    "display_name": "WaveSpeed Image Upscale",
    "inputs": {
      "image": {
        "name": "imagem"
      },
      "model": {
        "name": "modelo"
      },
      "target_resolution": {
        "name": "resolução_alvo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  },
  "WebcamCapture": {
    "display_name": "Captura da Webcam",
    "inputs": {
      "capture_on_queue": {
        "name": "capturar_na_fila"
      },
      "height": {
        "name": "altura"
      },
      "image": {
        "name": "imagem"
      },
      "waiting for camera___": {},
      "width": {
        "name": "largura"
      }
    }
  },
  "ZImageFunControlnet": {
    "display_name": "ZImageFunControlnet",
    "inputs": {
      "image": {
        "name": "imagem"
      },
      "inpaint_image": {
        "name": "imagem_para_retouch"
      },
      "mask": {
        "name": "máscara"
      },
      "model": {
        "name": "modelo"
      },
      "model_patch": {
        "name": "patch_do_modelo"
      },
      "strength": {
        "name": "força"
      },
      "vae": {
        "name": "vae"
      }
    }
  },
  "unCLIPCheckpointLoader": {
    "display_name": "unCLIPCheckpointLoader",
    "inputs": {
      "ckpt_name": {
        "name": "ckpt_name"
      }
    }
  },
  "unCLIPConditioning": {
    "display_name": "unCLIPConditioning",
    "inputs": {
      "clip_vision_output": {
        "name": "clip_vision_output"
      },
      "conditioning": {
        "name": "condicionamento"
      },
      "noise_augmentation": {
        "name": "aumento_ruído"
      },
      "strength": {
        "name": "força"
      }
    }
  },
  "wanBlockSwap": {
    "description": "NOP",
    "display_name": "wanBlockSwap",
    "inputs": {
      "model": {
        "name": "modelo"
      }
    },
    "outputs": {
      "0": {
        "tooltip": null
      }
    }
  }
}
