# Componentes e sub-workflows

> Junte um grupo de nós em um nó reutilizável: um sub-workflow editável ali mesmo ou um componente publicado com entradas, configurações e preço próprios.

Source: https://nodaro.ai/pt-BR/docs/concepts/components-and-sub-workflows

Um **sub-workflow** é um workflow colocado dentro de outro workflow como um único nó. Um **componente** é um workflow publicado e com versões que qualquer pessoa pode colocar nos próprios workflows da mesma forma. Os dois transformam um grupo de nós em um nó com entradas e saídas nomeadas. Use-os para reutilizar uma sequência já testada, como “remover o fundo e depois aumentar a resolução”, e para manter legível um workflow grande.

## Sub-workflow ou componente
| | Sub-workflow | Componente |
| --- | --- | --- |
| **Nó** | [**Sub-workflow**](https://nodaro.ai/docs/nodes/automate/sub-workflow) | [**Componente** (Component)](https://nodaro.ai/docs/nodes/automate/component) |
| **O que contém** | Um dos seus workflows | Um workflow que alguém publicou como componente, ou um que você publicou |
| **Dá para ver e editar o interior?** | Sim. Abra ali mesmo, a partir do nó. | Não. Você define só as entradas e as configurações que o autor expôs. |
| **Entradas e saídas** | Os conectores que você declara com os nós [**Entrada do sub-workflow** (Sub-Workflow Input)](https://nodaro.ai/docs/nodes/automate/sub-workflow-input) e [**Saída do sub-workflow** (Sub-Workflow Output)](https://nodaro.ai/docs/nodes/automate/sub-workflow-output) | As entradas e as saídas que o autor escolheu ao publicar |
| **Alterações** | Segue o workflow para o qual aponta. Clique em **Atualizar** depois de mudar os conectores dele. | Mantém a versão com que foi adicionado até você atualizá-lo |
| **Preço** | Os nós de dentro cobram o preço normal | Um preço estimado, que pode incluir o acréscimo do autor |
| **Ideal para** | Estruturar os seus workflows grandes | Compartilhar uma etapa pronta com outras pessoas |

## Criar um sub-workflow
### Adicionar o nó Sub-workflow
Salve o workflow primeiro. Depois, abra o menu **Adicionar nó** e escolha **Automatizar › Workflows › Sub-workflow**.

### Criar ou escolher o workflow interno
No painel de configurações, clique em **Criar sub-workflow vazio**. O Nodaro cria um novo workflow interno com um nó de entrada e um nó de saída e o abre para edição. Para reutilizar um workflow que você já tem, escolha-o na lista **Workflow**. Ative **Todos os projetos** para ver workflows dos seus outros projetos.

### Declarar as entradas e as saídas
Dentro do workflow interno, o nó **Entrada do sub-workflow** lista os conectores que o workflow pai pode alimentar. Cada conector tem um nome e um tipo de mídia: texto, imagem, vídeo, áudio ou qualquer um. O nó **Saída do sub-workflow** lista os conectores que devolvem resultados. No nó de saída, escolha em **Saída visível** qual conector tem o resultado que o workflow pai mostra como prévia do nó.

### Conectar no workflow pai
Volte ao workflow pai pela trilha de navegação no topo do editor. Agora o nó **Sub-workflow** tem uma entrada e uma saída para cada conector. Conecte-o como qualquer outro nó e execute o workflow pai.

Workflow: Uma sequência de limpeza em duas etapas fica dentro de um único nó “Sub-workflow”, então o canvas do workflow pai continua enxuto.

- Enviar imagem → Sub-workflow (imagem)
- Sub-workflow → Gerar imagem (referências)
- Gerar imagem → Gerar vídeo (quadro inicial)

### Abrir, visualizar e navegar
- **Expandir**, no nó, abre o workflow interno para edição. Uma trilha de navegação no topo do editor mostra o caminho, como seu workflow › o sub-workflow › um sub-workflow aninhado. Clique em qualquer parte do caminho para ir até ela.
- **Ver workflow** abre o workflow interno em uma janela somente leitura, sem sair do workflow pai.
- Se você tiver alterações não salvas ao expandir um nó, o editor pede que você as salve ou descarte antes.

Um sub-workflow criado com **Criar sub-workflow vazio** pertence ao workflow pai. Ele não aparece na lista de workflows do seu projeto, e você só chega a ele pelo nó. Um workflow que você escolhe na lista **Workflow** continua sendo um workflow normal, que outros workflows pais também podem usar.

## Rotas: vários pontos de entrada em um workflow
Uma **rota** é um par formado por um nó **Entrada do sub-workflow** e um nó **Saída do sub-workflow** correspondentes. Um workflow pode ter várias rotas, e cada rota é um caminho separado dentro dele. No nó **Sub-workflow**, escolha a rota em **Rota**. A **Interface** mostra as entradas e as saídas dessa rota.

Só são executados os nós que a rota escolhida alcança. O resto do workflow interno fica como está.

## Regras e limites
- **Até 5 níveis.** Sub-workflows podem conter sub-workflows, com até 5 níveis de profundidade. Mantenha o aninhamento raso, porque cadeias profundas são mais difíceis de depurar.
- **Sem loops.** Um workflow não pode chamar a si mesmo, nem diretamente nem por meio de outro workflow. Mesmo assim, o mesmo workflow pode ser usado duas vezes por duas rotas diferentes.
- **Toda rota precisa estar completa.** Quando você salva, o Nodaro verifica três coisas. Cada nó de entrada tem um nó de saída correspondente. Cada nó de saída tem pelo menos um conector. Dois nós de entrada nunca compartilham uma rota, e dois nós de saída também não.
- **Atualize depois de alterar.** Quando você muda os conectores de um workflow que outros workflows usam, clique em **Atualizar** em cada nó **Sub-workflow** que o usa.

## Usar um componente
### Adicionar um nó Componente
Abra o menu **Adicionar nó** e escolha **Automatizar › Workflows › Componente**. Em vez de um nó vazio, abre-se o catálogo de componentes, com três abas: **Explorar**, **Meus componentes** e **Favoritos**. Pesquise pelo nome e ordene por **Mais populares**, **Mais recentes** ou **Mais favoritados**.

### Escolher um componente
Clique no cartão de um componente. O nó chega ao canvas já configurado, com as entradas e as saídas do componente.

### Definir as entradas e as configurações
O painel de configurações tem três partes:

- **Entradas**: uma entrada conectada mostra que vem de um nó anterior. Você pode digitar ali mesmo uma entrada de texto não conectada. As entradas de imagem, vídeo e áudio precisam de uma conexão.
- **Configurações**: as opções que o autor deixou ajustáveis, como uma qualidade ou uma proporção.
- **Saídas**: o nome e o tipo de cada saída, para ajudar você a conectar os próximos nós.

### Conferir o preço e executar
O painel de configurações mostra um preço estimado em créditos, que é atualizado conforme você muda as configurações. Execute o nó, ou o workflow inteiro, como de costume.

Um nó **Componente** mantém a versão com que foi adicionado, então uma nova versão do autor nunca muda o seu workflow de surpresa. Clique no ícone de atualizar no painel de configurações para passar para a versão mais recente e a nova estimativa de preço dela.

## Publicar o seu próprio componente
Um componente começa como um workflow normal. Publique-o pela aba **Apresentar** do editor:

1. Na aba Apresentar, adicione os nós que devem virar as entradas e as saídas do componente.
2. Clique em **Publicar** e escolha **Componente**. Insira um **Nome do componente** e uma descrição.
3. Em **Conectores do componente**, dê um nome a cada entrada e saída. Marque as entradas obrigatórias e escolha uma saída como a **prévia** que o nó mostra no canvas.
4. Escolha se quer listá-lo no catálogo de componentes e publique.

No Nodaro Cloud, você pode cobrar um acréscimo quando outras pessoas usam o seu componente: uma taxa fixa em créditos, uma porcentagem ou as duas. As configurações mostram o custo base e quanto os usuários vão pagar. Os seus componentes aparecem em **Meus componentes**, onde você pode editá-los, listá-los, deixar de listá-los ou arquivá-los.

Um workflow pode ser publicado tanto como componente quanto como [miniapp](https://nodaro.ai/docs/concepts/apps). O miniapp dá às pessoas um formulário para preencher, e o componente dá a elas um nó para conectar.

## Frequently asked questions

### Qual é a diferença entre um sub-workflow e um componente?

Um sub-workflow é um dos seus workflows colocado dentro de outro como um nó, e você pode abri-lo e editá-lo ali mesmo. Um componente é um workflow publicado e com versões, vindo do catálogo de componentes, usado como um nó fechado com as entradas, as configurações e as saídas que o autor escolheu.

### Quantos níveis de sub-workflows posso aninhar?

Até 5 níveis. O Nodaro também recusa loops, como um workflow que chama a si mesmo diretamente ou por meio de outro workflow.

### Um nó “Sub-workflow” ou “Componente” custa créditos?

O nó em si não custa nada. Os nós dentro dele cobram o preço normal quando são executados. Um componente mostra um preço estimado no painel de configurações, que pode incluir um acréscimo definido pelo autor.

### Um componente é atualizado quando o autor publica uma nova versão?

Não. Um nó “Componente” mantém a versão com que foi adicionado. Clique no ícone de atualizar no painel de configurações dele quando quiser a versão mais recente.
