# Variáveis de prompt

> Coloque o valor de outro nó em um prompt escrevendo o rótulo dele entre chaves, defina um padrão com duas barras e use @ para anexar personagens e imagens.

Source: https://nodaro.ai/pt-BR/docs/concepts/prompt-variables

Uma **variável de prompt** coloca o valor de outro nó em um prompt. Você escreve o rótulo do nó entre chaves, como `{Mood}`, e, quando o prompt é executado, o Nodaro substitui a variável pelo texto ou pela escolha desse nó. Com variáveis, você escreve um prompt uma vez e muda partes dele a partir de outros nós, seletores ou itens de lista. Para personagens, locais e imagens, uma menção com `@` anexa a própria imagem, não só palavras.

## Como funciona
Workflow: O prompt de “Gerar imagem” cita dois outros nós. Na execução, as variáveis viram o texto do nó Subject e o texto do seletor “Clima”.

- Texto → Gerar imagem (prompt)
- Clima → Gerar imagem (look)

1. Dê um rótulo ao nó de origem, como “Subject”. Um seletor já tem um rótulo, como “Mood”.
2. No prompt de outro nó, escreva o rótulo entre chaves: `A portrait of {Subject}, {Mood}, soft window light`.
3. Conecte o nó de origem ao nó que tem o prompt. O valor de um seletor fica disponível em todo o workflow, mesmo sem conexão.
4. Execute o nó. O Nodaro substitui cada variável pelo valor atual do nó correspondente.

Digite `{` em um editor de prompt para inserir uma variável. Os nomes de variáveis não diferenciam maiúsculas de minúsculas: `{mood}`, `{Mood}` e `{MOOD}` indicam um nó com o rótulo “Mood”. Dê a cada nó de origem um rótulo único, para que cada variável tenha uma só origem. Em outro idioma da interface, o rótulo padrão de um nó continua em inglês, então a variável continua sendo `{Mood}` quando o cabeçalho mostra um nome traduzido.

## Valores padrão
Uma variável pode ter um valor alternativo depois de duas barras verticais. O Nodaro usa o valor alternativo quando nada fornece a variável.

- `{person || man}` usa o seletor [**Pessoa** (Person)](https://nodaro.ai/docs/nodes/creative-controls/person) conectado, quando houver um, e a palavra “man” quando não houver. O prompt `generate a {person || man} running` vira “generate a man running” sem um seletor **Pessoa**.
- `{person || }`, sem nada depois das barras, resulta em nada quando nenhum nó fornece a variável.
- Os espaços em volta do valor alternativo são removidos.

Muitas [predefinições](https://nodaro.ai/docs/concepts/presets) de fábrica usam valores padrão, como `{brand || a modern tech startup}`, para que uma predefinição dê um resultado sensato mesmo se você executá-la sem alterações. Substitua a variável inteira pelas suas próprias palavras ou conecte um nó com um rótulo correspondente para preenchê-la na execução.

## Destaque
No editor de prompt do painel de configurações e no editor de prompt maior que abre com Ctrl+E, as variáveis ficam destacadas:

| Destaque | Significado |
| --- | --- |
| Ciano | Um nó conectado fornece esse nome, ou o nome é uma variável de template interna. |
| Âmbar | Nada conectado fornece esse nome ainda. É um aviso, não um erro: uma variável com valor padrão continua funcionando. |

Dentro de uma variável com valor padrão, o texto padrão fica em destaque quando vai ser usado, e cinza e riscado quando o valor de um nó conectado o substitui.

Para ver o texto exato que um nó vai enviar, mude a área de prompt do nó de **Edição** para **Final** ou clique em **Mostrar prompt final** em um campo de prompt do painel de configurações. A visualização final colore cada parte do prompt de acordo com a origem, com uma legenda: **Variável**, **Seletor**, **Trecho**, **Texto antes/depois**, **Referências**, **Estilo** e **Negativo**. **Copiar prompt final** copia o resultado.

![O prompt de “Gerar imagem” na visualização final, com uma variável resolvida, o texto de seletores e o texto antes e depois em cores diferentes, e a legenda de cores abaixo.](https://nodaro.ai/docs-media/screens/en/concepts/prompt-final-view.light.webp)

## Quando uma variável não pode ser resolvida
- **Um nome que não corresponde a nenhum nó interrompe a execução.** Se uma variável sem valor padrão cita um nó que não existe em nenhum lugar do workflow, a execução é recusada antes de qualquer envio ou cobrança. Assim, um erro de digitação nunca gera uma imagem errada.
- **Um nó sem valor gera texto vazio.** Se o nó existe, mas ainda não produziu nada, uma variável sem valor padrão vira texto vazio.
- **O texto conectado nunca é reescrito.** O texto que chega por uma entrada, e não por uma variável, é usado como está. As chaves dentro dele não são tratadas como variáveis.
- **Alguns nomes são reservados.** Os templates de prompt usam alguns nomes internos, como `{userPrompt}`. Esses nomes não são rótulos de nós.

**Falta um nó?** Selecione o nó que tem o prompt e pressione Tab para adicionar um nó. Com **Conexão automática** ativada, a caixa de diálogo de conexão lista as **Variáveis ausentes** do prompt. Escolha uma, e o novo nó recebe esse nome e é conectado automaticamente.

## Prompts digitados e prompts conectados
Um nó pode ter, ao mesmo tempo, um prompt digitado e um prompt conectado à entrada **Prompt**.

- **Em Gerar imagem (Generate Image) e em Gerar vídeo (Generate Video)**, o prompt conectado é adicionado depois do prompt digitado. Se o prompt digitado já cita o nó conectado como variável, o texto aparece só onde está a variável. Desative **Inserir prompt** em **Inserção no prompt**, no painel de configurações, para parar de adicionar prompts conectados. Uma conexão fica cinza só quando o nó não usa o texto conectado. Isso acontece quando **Inserir prompt** está desativado e o prompt não cita o nó conectado, ou quando outro nó de texto é conectado depois dele. Passe o mouse sobre a conexão cinza para ver qual é o caso: “Sem uso: a opção ‘Inserir prompt’ está desativada” ou “Sem uso: um nó de texto conectado depois deste ocupa o lugar dele”.
- **Nos outros nós**, o prompt digitado prevalece. O prompt conectado é usado quando o prompt digitado está vazio, ou onde o prompt digitado o cita como variável. Quando o nó não o usa, a conexão fica cinza e mostra “Sem referência no prompt”.
- **Em um lote**, cada item da lista substitui o prompt da própria execução. Veja [Listas e lotes](https://nodaro.ai/docs/concepts/lists-and-batching).

## Como os seletores adicionam texto
Um [seletor](https://nodaro.ai/docs/nodes/creative-controls), como **Clima** (Mood), **Iluminação** (Lighting) ou **Enquadramento** (Framing), nunca executa um modelo. Ele adiciona um texto testado ao prompt dos nós que alimenta, de uma de duas formas:

- **Conectado a Look ou a Elementos.** O texto do seletor é adicionado ao final do prompt de [Gerar imagem](https://nodaro.ai/docs/nodes/image/generate-image) ou de [Gerar vídeo](https://nodaro.ai/docs/nodes/video/generate-video). Desative **Inserir look** ou **Inserir elementos** no painel de configurações para impedir isso.
- **Citado como variável.** `{Mood}` coloca o texto do seletor exatamente onde você o escreve. Isso funciona em qualquer prompt, mesmo sem conexão.

Todo seletor de catálogo tem a chave **Trecho do prompt**. **Completo** adiciona uma descrição mais longa da escolha, e **Compacto** adiciona só o termo curto, o que mantém o prompt curto quando muitos seletores alimentam um nó. O **Texto personalizado (antes)** e o **Texto personalizado (depois)** do próprio seletor são adicionados em volta do texto dele nos dois modos. Mude o seletor para o modo de exibição **Prompt** ou **Ambos** para ler as palavras exatas que ele adiciona.

## Mencionar personagens e imagens com @
Uma menção com `@` anexa uma imagem de referência e escreve uma frase correspondente onde você digitou. Digite `@` no prompt de um nó de imagem ou de vídeo para escolher entre as opções.

| Menção | O que anexa |
| --- | --- |
| Um personagem, como `@maya` | A imagem aprovada e a descrição do personagem, de um nó [**Personagem** (Character Asset)](https://nodaro.ai/docs/nodes/assets/character) conectado |
| Um local, como `@old-library` | A imagem e a descrição do local, de um nó [**Local** (Location Asset)](https://nodaro.ai/docs/nodes/assets/location) conectado |
| Uma imagem nomeada, como `@town:1` | Um nó [**Enviar imagem** (Upload Image)](https://nodaro.ai/docs/nodes/image/upload-image) conectado com o rótulo “Town” |
| Uma criatura ou um objeto, como `@nessie:1` | Um nó [**Animal/criatura** (Animal/Creature Asset)](https://nodaro.ai/docs/nodes/assets/creature) ou [**Objeto/adereço** (Object/Props Asset)](https://nodaro.ai/docs/nodes/assets/object) conectado. Digite essas menções à mão: elas não têm lista de sugestões. |

Uma menção também pode dizer o que tirar da referência. `@town:1:background` vira “the background from reference image A”, e `@maya:1:clothes` pega só a roupa. Personagens e locais aparecem como pílulas no prompt: clique na miniatura de uma pílula para escolher outra imagem do personagem ou do local, e no rótulo da pílula para escolher o que tirar dele. [Papéis de referência](https://nodaro.ai/docs/guides/reference-roles) lista todos os papéis e o bloqueio de identidade.

Um rótulo que começa com um dígito não pode formar uma menção, então renomeie-o. Quando um personagem ou um local tem o mesmo nome de uma imagem, o personagem ou o local prevalece.

## Apontar para uma referência conectada
Em modelos de vídeo que aceitam várias referências, como o [Seedance 2](https://nodaro.ai/docs/models/video/seedance-2), um token posicional aponta uma frase para uma referência conectada:

| Token | Vira |
| --- | --- |
| `{image:1:person}` | “the person from @image_1” |
| `{image:2:jacket}` | “the jacket from @image_2” |
| `{image:1}` | “the subject in @image_1” |
| `{video:1:clip}` | “the clip from @video_1” |
| `{audio:1:voice}` | “the voice from @audio_1” |

As imagens conectadas a **Refs. de imagem** são numeradas primeiro, na ordem delas, e depois as entidades conectadas a **Entidades**. Um token com número maior que o de referências conectadas vira o rótulo simples, e os modelos sem suporte a referências também leem o rótulo simples.

## Onde as variáveis funcionam
- **Prompts** de nós de imagem, vídeo, áudio, música, fala e texto, e o texto dos nós [**Texto** (Text)](https://nodaro.ai/docs/nodes/automate/text).
- **Texto antes e depois.** Veja [Texto antes e depois do prompt](https://nodaro.ai/docs/concepts/prompt-pre-post-text).
- **Itens de lista.** Cada item de um lote pode conter variáveis.
- **Algumas configurações utilitárias**, como os campos de divisor, valor e seed do nó [**Selecionar itens** (Selector)](https://nodaro.ai/docs/nodes/automate/selector).

Para inserir um texto reutilizável em vez de um valor, digite `/` em um prompt para abrir os [trechos de prompt](https://nodaro.ai/docs/guides/prompt-snippets). Um trecho é inserido como texto simples.

## Frequently asked questions

### O que é uma variável de prompt no Nodaro?

É o rótulo de um nó entre chaves, como {Mood}, escrito dentro de um prompt. Quando o nó é executado, o Nodaro substitui a variável pelo texto ou pela escolha desse nó, para que você possa alterar parte de um prompt a partir de outro nó.

### O que acontece quando uma variável cita um nó que não existe?

A execução para antes de qualquer envio ou cobrança, então um erro de digitação nunca gera um resultado errado. Corrija o nome ou adicione um valor padrão depois de duas barras verticais.

### Como dou um valor padrão a uma variável?

Escreva o valor padrão depois de duas barras verticais, como {person || man}. O Nodaro usa o nó conectado quando ele existe e a palavra “man” quando não existe. Um padrão vazio, como {person || }, resulta em nada.

### Por que minha variável está destacada em âmbar?

Âmbar significa que nada conectado fornece esse nome ainda. É um aviso, não um erro. Uma variável com valor padrão continua funcionando, e o valor de um seletor fica disponível mesmo sem conexão.

### Qual é a diferença entre uma variável e uma menção com @?

Uma variável insere texto. Uma menção com @ anexa um personagem, um local ou uma imagem nomeada como imagem de referência e escreve uma frase como “the person from reference image A” onde você digitou.
