# Listas e lotes

> Processe muitos prompts, imagens ou linhas em um workflow, com uma execução por item. Coletar, Selecionar itens e Escolher o melhor reduzem tudo a um só.

Source: https://nodaro.ai/pt-BR/docs/concepts/lists-and-batching

Uma **lista** é um conjunto de itens que um workflow processa junto: prompts, imagens, vídeos, arquivos de áudio ou as linhas de uma tabela. A **execução por item** (fan-out) executa um nó uma vez para cada item, então dez prompts viram dez imagens. A **consolidação** (fan-in) transforma muitos resultados de volta em um só, por exemplo juntando clipes em um único vídeo ou deixando um juiz de IA escolher a melhor imagem.

## Como funciona
Workflow: Cinco prompts se desdobram em cinco imagens. “Escolher o melhor” avalia as cinco imagens e passa adiante só a vencedora, então o vídeo é executado uma vez.

- Lista → Gerar imagem (prompt)
- Gerar imagem → Escolher o melhor (candidatos)
- Escolher o melhor → Gerar vídeo (quadro inicial)

O **modo de conexão** decide se uma lista é processada item por item ou toda de uma vez. Uma conexão no modo **Cada item** executa o próximo nó uma vez por item. Uma conexão no modo **Conjunto** entrega a lista inteira em uma única execução. [Nós e conexões](https://nodaro.ai/docs/concepts/nodes-and-connections#connection-modes) explica todos os modos.

## De onde vêm as listas
| Origem | O que você recebe |
| --- | --- |
| [**Lista** (List)](https://nodaro.ai/docs/nodes/automate/list) | Itens que você digita, cola ou envia, um por linha. A lista pode virar uma tabela com várias colunas tipadas. Gratuito. |
| [**Dividir texto** (Split Text)](https://nodaro.ai/docs/nodes/automate/split-text) | Um texto cortado em itens a cada nova linha, a cada vírgula ou em um separador que você escolhe. Gratuito. |
| [**Prompt**](https://nodaro.ai/docs/nodes/automate/prompt) | A saída **Itens** divide a resposta do modelo onde houver `===NEXT===`, então uma resposta pode virar vários prompts. |
| Um nó com vários resultados | Um nó que você executou várias vezes, por exemplo com **Repetir**, guarda várias versões que uma conexão pode passar como lista. |
| [**Coletar** (Collect)](https://nodaro.ai/docs/nodes/automate/collect) | Os resultados de vários nós separados, reunidos em uma lista para cada tipo de mídia. Gratuito. |

## Fan-out: uma execução por item
Quando uma conexão no modo **Cada item** leva uma lista até um nó, o nó é executado uma vez para cada item e guarda todos os resultados. As conexões que saem de **Lista** e de **Dividir texto** usam **Cada item** por padrão.

- **Os itens substituem o prompt digitado.** Cada item vira o prompt da própria execução. Ele substitui o prompt digitado no nó, em vez de ser adicionado a ele. Em uma linha cujo prompt está vazio, o prompt digitado é usado.
- **Os itens são executados um depois do outro.** Um nó processa os itens em ordem, da primeira linha à última. Mais itens significam uma execução mais longa.
- **As cadeias continuam pareadas.** Quando o próximo nó também recebe os resultados por uma conexão **Cada item**, ele é executado uma vez por resultado, na mesma ordem. Cinco prompts geram cinco imagens e depois cinco vídeos, não vinte e cinco.
- **Repetir multiplica.** Com **Repetir** definido como 2 em um nó, cada item é executado duas vezes.
- **Os créditos se multiplicam.** O nó custa o preço dele vezes o número de itens, vezes o valor de **Repetir**. Quando cinco itens chegam a um nó que custa 4 créditos, o nó custa 20 créditos. O botão **Executar** mostra o total antes de você executar.

**Os selos mostram o lote.** Antes de uma execução, o cabeçalho de um nó que vai ser executado uma vez por item mostra o número de execuções, como `x5`. Durante a execução, ele mostra o progresso, como `3/5`, e uma barra **Processando lista…** que mostra **Concluído** no final.

**As falhas ficam isoladas.** Quando um item falha, os itens que deram certo mantêm os resultados, e os créditos do item que falhou são reembolsados.

## Tabelas: vários valores por execução
Um nó [Lista](https://nodaro.ai/docs/nodes/automate/list) começa como uma coluna de texto. Quando uma execução precisa de mais de um valor, por exemplo um prompt e uma imagem de referência, a lista vira uma tabela.

1. Conecte um nó à entrada **+** no canto inferior esquerdo da lista. Uma nova coluna aparece.
2. Defina o tipo de cada coluna: texto, imagem, vídeo, áudio ou JSON. Cada coluna tem a própria entrada e a própria saída.
3. Conecte a saída de cada coluna à entrada do nó que precisa dela, por exemplo a coluna de prompt a **Prompt** e a coluna de imagem a **Referências**.

As linhas se combinam assim:

- **A linha 3 continua sendo a linha 3.** Todas as entradas de uma execução recebem o valor da mesma linha. Uma célula vazia não passa nada para aquela entrada naquela execução, e as linhas de baixo não sobem.
- **Uma linha é executada quando qualquer célula dela tem valor.** Uma linha vazia em todas as colunas é ignorada, então a linha em branco do final nunca acrescenta uma execução.
- **A ordem das conexões não importa.** A coluna conectada à entrada de prompt fornece o prompt, seja qual for a conexão que você fez primeiro. Uma coluna conectada a **Negativo** nunca é usada como prompt.
- **Listas de tamanhos diferentes se repetem.** Quando duas listas com números de linhas diferentes alimentam um nó, a lista mais longa define o número de execuções. A lista mais curta recomeça da primeira linha quando acaba.
- **Só o modo Cada item desdobra a lista.** Uma coluna conectada no modo **Conjunto** entrega a lista inteira em uma única execução.

No canvas, uma lista mostra um resumo compacto, como “4 linhas × 2 colunas”, ou a tabela ou a galeria completa. Um pequeno botão sob o nó alterna entre as duas visualizações. Uma tabela com imagens, vídeos ou áudios abre na visualização de galeria por padrão.

## Fan-in: de muitos resultados para um
| O que você quer | Use |
| --- | --- |
| Combinar todos os itens em uma execução, como clipes em um único vídeo | Uma conexão **Conjunto** para um nó que combina, como [**Combinar vídeos** (Combine Videos)](https://nodaro.ai/docs/nodes/video/combine-videos), [**Mixar áudio** (Mix Audio)](https://nodaro.ai/docs/nodes/audio/mix-audio) ou [**Combinar áudio** (Combine Audio)](https://nodaro.ai/docs/nodes/audio/combine-audio) |
| Manter um item, como o primeiro ou o último | Uma conexão **Item** ou um nó [**Selecionar itens** (Selector)](https://nodaro.ai/docs/nodes/automate/selector) |
| Deixar um juiz de IA escolher o melhor resultado | [**Escolher o melhor** (Choose Best)](https://nodaro.ai/docs/nodes/automate/choose-best) com **A IA escolhe o melhor** |
| Juntar textos, contar resultados ou manter a resposta mais comum | [Escolher o melhor](https://nodaro.ai/docs/nodes/automate/choose-best) com uma opção gratuita |
| Reunir os resultados de vários nós diferentes | [Coletar](https://nodaro.ai/docs/nodes/automate/collect) |

### Escolher o melhor
O nó [Escolher o melhor](https://nodaro.ai/docs/nodes/automate/choose-best) transforma uma lista de candidatos em um único resultado. Escolha o que ele faz em **O que fazer com os candidatos**:

| Opção | O que retorna | Créditos |
| --- | --- | --- |
| **A IA escolhe o melhor** | O candidato que um juiz de IA considera o melhor segundo os seus critérios, com uma justificativa de uma frase | 4, 11 ou 28, conforme o nível do juiz |
| **Juntar em um só texto** | Todos os candidatos em um texto, com um separador que você escolhe | Gratuito |
| **Primeiro com conteúdo** | O primeiro candidato que não está vazio | Gratuito |
| **Contar** | Quantos candidatos chegaram | Gratuito |
| **Resposta mais comum** | O candidato que aparece mais vezes. Em caso de empate, vence o primeiro. | Gratuito |
| **Mesclar objetos JSON** | Um objeto JSON, mesclado de forma **Profunda** ou **Superficial** | Gratuito |

Para **A IA escolhe o melhor**, defina três coisas:

- **Modelo de IA**: o juiz. Um modelo **Econômico** custa 4 créditos, um modelo **Padrão** custa 11 créditos e um modelo **Premium** custa 28 créditos. A opção inicial é **Padrão**.
- **Critério**: como é um vencedor, por exemplo “a capa que mais chama a atenção para um feed editorial escuro, legível como miniatura”.
- **Os candidatos são**: **Textos** ou **Imagens**. Escolha **Imagens** quando os candidatos forem imagens, porque com **Textos** o juiz compara só os links das imagens.

O nó mostra o resultado escolhido, a posição dele entre os candidatos e a justificativa do juiz. A aba **Candidatos** do painel de configurações lista todos os candidatos e marca o escolhido. Cinco imagens avaliadas por um modelo **Padrão** custam as cinco imagens mais 11 créditos.

**Candidatos vazios são ignorados.** Um item que falhou deixa um candidato vazio, e **Escolher o melhor** remove os candidatos vazios primeiro. Por isso, **Contar** conta só os itens que deram certo. Quando todos os candidatos estão vazios, **Juntar em um só texto** retorna um texto vazio e **Contar** retorna `0`. As outras opções falham, e os nós depois de **Escolher o melhor** não são executados.

### Coletar
O nó [Coletar](https://nodaro.ai/docs/nodes/automate/collect) reúne os resultados de qualquer número de nós em quatro listas, uma para cada tipo: texto, imagem, vídeo e áudio. As quatro saídas dele estão sempre lá, então você pode conectar os próximos nós antes de qualquer execução. Arraste as linhas no painel de configurações dele para mudar a ordem dos itens. **Coletar** é gratuito.

Conecte **Coletar** a um nó [Escolher o melhor](https://nodaro.ai/docs/nodes/automate/choose-best) para comparar resultados vindos de nós diferentes, por exemplo três capas feitas por três modelos diferentes.

### Selecionar itens
O nó [Selecionar itens](https://nodaro.ai/docs/nodes/automate/selector) escolhe itens de uma lista e tem duas saídas: **Selecionados**, os itens que ele escolheu, e **Restantes**, todos os outros itens. Use-o em vez de uma conexão **Item** ou de intervalo quando vários nós precisam da mesma seleção, ou quando você precisa de um modo que as conexões não têm.

| Modo | O que escolhe |
| --- | --- |
| **Item (índice único)** | Um item, como `3`, `last` ou `last-1` |
| **Intervalo (de/até/passo)** | Um intervalo de itens, como os itens 2 a 4 |
| **Lista (expressão com vírgulas)** | Os itens de uma expressão, como `1, 3, 5..last` |
| **Aleatório (com seed)** | Uma amostra aleatória. A mesma seed sempre dá a mesma escolha. |
| **Módulo (ciclo por índice)** | O item em uma posição que percorre a lista em ciclo |
| **Predicado (filtro)** | Os itens cujo campo atende a uma condição, como uma pontuação acima de 15 |
| **Chave nomeada (busca)** | O item cujo campo tem um valor específico, como o item chamado “hero” |

**Selecionar itens** nunca interrompe o workflow por causa de uma configuração: um índice fora do intervalo, ou uma expressão que o nó não consegue ler, recai em uma escolha sensata. **Selecionar itens** é gratuito.

## Outras ferramentas de lista
A família **Listas e lotes** do menu **Adicionar nó** também tem [**Filtrar lista** (Filter List)](https://nodaro.ai/docs/nodes/automate/filter-list), para manter os itens que atendem a condições, [**Ordenar lista** (Sort List)](https://nodaro.ai/docs/nodes/automate/sort-list) e [**Remover duplicatas** (Remove Duplicates)](https://nodaro.ai/docs/nodes/automate/remove-duplicates). Ela também tem [**Mesclar listas** (Merge Lists)](https://nodaro.ai/docs/nodes/automate/merge-lists), para juntar duas listas uma após a outra ou item a item. Os quatro são gratuitos.

## Dicas
- **Uma ideia por item.** Cada item deve ser, sozinho, um prompt ou um valor completo.
- **Teste com uma lista curta.** Execute primeiro uma lista de dois ou três itens, confira os resultados e depois adicione o resto.
- **Divida lotes grandes.** Uma lista muito grande gera uma execução longa. Várias listas menores são mais fáceis de conferir.
- **Feche cada fan-out.** Quando um lote deve terminar em um único resultado, finalize-o com **Escolher o melhor**, uma conexão **Conjunto** ou uma conexão **Item**.
- **Use variáveis nos itens.** Os itens podem conter [variáveis de prompt](https://nodaro.ai/docs/concepts/prompt-variables), como `{Style}`, para que todas as execuções compartilhem o mesmo texto.

## Frequently asked questions

### Como faço dez imagens a partir de dez prompts?

Coloque os dez prompts em um nó “Lista”, um por linha, e conecte a lista à entrada “Prompt” de “Gerar imagem”. A conexão usa o modo “Cada item”, então “Gerar imagem” é executado dez vezes e guarda dez resultados.

### Quantos créditos custa um lote?

O preço do nó multiplicado pelo número de itens e pelo valor de “Repetir”, quando você o define. Cinco itens em um nó que custa 4 créditos custam 20 créditos. O botão “Executar” mostra o total antes de você executar.

### O que acontece quando um item de um lote falha?

Os outros itens mantêm os resultados, e os créditos do item que falhou são reembolsados. “Escolher o melhor” ignora o resultado vazio de um item que falhou, então “Contar” conta só os itens que deram certo.

### Como mantenho só o melhor resultado de um lote?

Conecte o lote a um nó “Escolher o melhor” e escolha “A IA escolhe o melhor”. Descreva como é um vencedor em “Critério” e escolha “Imagens” quando os candidatos forem imagens.

### Qual é a diferença entre “Coletar” e “Escolher o melhor”?

“Coletar” reúne os resultados de vários nós em uma lista para cada tipo de mídia. “Escolher o melhor” transforma uma lista de candidatos em um único resultado, por julgamento de IA, contagem, junção ou votação.
