# Prompts e texto

> Transforme uma ideia bruta num prompt testado, escreva um roteiro de vídeo cena a cena e deixe um LLM juiz escolher o melhor resultado com o MCP do Nodaro.

Source: https://nodaro.ai/pt-BR/docs/mcp/tools/prompts-and-text

As **ferramentas de prompt e texto** ajudam um assistente a escrever entradas melhores para as ferramentas de geração do Nodaro e a escolher entre resultados. `enhance_prompt`, `analyze_prompt` e `generate_prompt` transformam uma ideia bruta num prompt escrito para um nó específico, `generate_script` escreve um roteiro de vídeo cena a cena e `reduce` junta ou julga uma lista de candidatos.

## `enhance_prompt`
Reescreve uma ideia bruta como um único prompt otimizado para um tipo de nó de destino, sem perguntas no meio do caminho. Use-a para uma melhoria rápida.

**Permissão:** `workflows:execute`. **Créditos:** uma execução de LLM, com preço definido pelo nível do modelo.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `nodeType` | string | **Obrigatório.** O nó a que o prompt se destina, como `generate-image`, `image-to-video` ou `generate-music`. |
| `prompt` | string | A ideia bruta, com até 5.000 caracteres. Omita-a para começar do zero. |
| `provider`, `style`, `aspectRatio`, `duration` | string or number | O modelo e as configurações planejados, para que o prompt combine com eles. |
| `llmModel` | string | O LLM que escreve o prompt, um dos IDs que a ferramenta lista, como `gemini-3.6-flash` ou `claude-sonnet-4.6`. Omita-o para usar o padrão. |
| `reasoning_effort` | string | `none`, `low`, `medium`, `high`, `xhigh` ou `max`. `xhigh` e `max` são cobrados um nível acima, até o limite do premium. |
| `advanced_mode` | boolean | Somente modelos Gemini. Executa a requisição diretamente no serviço do desenvolvedor do modelo, para que `temperature` e `max_tokens` sejam aplicados. É cobrado um nível acima, até o limite do premium. Outro modelo retorna `400 advanced_mode_unsupported`. |
| `temperature`, `max_tokens` | number | Só com `advanced_mode`. `temperature` de 0 a 2, `max_tokens` até 32.768. |

**Retorna:** `jobId`, o `prompt` e um `recommendedModel`, quando a ferramenta tem uma recomendação.

## `analyze_prompt`
Transforma uma ideia bruta em perguntas com opções, para um tipo de nó de destino. Use-a com `generate_prompt` quando quiser orientar o prompt: responda às perguntas e depois monte o prompt a partir das respostas.

**Permissão:** `workflows:execute`. **Créditos:** uma execução de LLM, com preço definido pelo nível do modelo.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `nodeType` | string | **Obrigatório.** O nó a que o prompt se destina, como `generate-image`. |
| `prompt` | string | A ideia bruta, com até 5.000 caracteres. Omita-a para começar do zero. |
| Modelo e configurações | | `provider`, `style`, `aspectRatio`, `duration`, `llmModel`, `reasoning_effort`, `advanced_mode`, `temperature` e `max_tokens`, como em `enhance_prompt`. |

**Retorna:** `jobId` e `questions`. Cada pergunta tem uma `category`, um `label`, `options`, a opção `selected`, se uma resposta personalizada é permitida (`allowCustom`) e se várias respostas são permitidas (`multi`).

## `generate_prompt`
Monta um único prompt otimizado a partir das respostas às perguntas de `analyze_prompt`.

**Permissão:** `workflows:execute`. **Créditos:** uma execução de LLM, com preço definido pelo nível do modelo.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `nodeType` | string | **Obrigatório.** O mesmo tipo de nó usado em `analyze_prompt`. |
| `selections` | array | **Obrigatório.** Um `{ category, value, isCustom }` por pergunta respondida. |
| `originalPrompt` | string | A ideia inicial, com até 5.000 caracteres, para incorporar ao resultado. |
| Modelo e configurações | | `provider`, `style`, `aspectRatio`, `duration`, `llmModel`, `reasoning_effort`, `advanced_mode`, `temperature` e `max_tokens`, como em `enhance_prompt`. |

**Retorna:** `jobId`, o `prompt` e um `recommendedModel`, quando a ferramenta tem uma recomendação.

O mesmo assistente de prompt está disponível no editor e pela [API REST](https://nodaro.ai/docs/developers/api/prompt-wizard).

## `generate_script`
Escreve um roteiro de vídeo estruturado a partir de uma descrição: um texto cena a cena que pode guiar uma série de gerações de imagem ou vídeo. Funciona como o nó [**Gerar roteiro** (Generate Script)](https://nodaro.ai/docs/nodes/video/generate-script).

**Permissão:** `workflows:execute`. **Créditos:** de 11 a 33 créditos, conforme o modelo.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `prompt` | string | **Obrigatório.** Sobre o que é o vídeo: tema, estilo, público. Até 10.000 caracteres. |
| `model` | string | `gemini` (padrão), `claude` ou `gpt`. |
| `scene_count` | integer | O número de cenas, de 1 a 20. Padrão: `5`. |
| `target_duration` | integer | A duração do vídeo em segundos, de 5 a 600. Padrão: `60`. |
| `tone` | string | O tom, como `dramatic` ou `lighthearted`, com até 200 caracteres. |
| `style_guide` | string | O estilo que o roteiro segue: voz, visual e ritmo. Até 100.000 caracteres. |

**Retorna:** um ID de job. O roteiro fica na saída do job. Nos clientes com MCP Apps, o cartão do job o mostra com um botão **Copy**.

## `reduce`
Junta uma lista de candidatos num único resultado ou faz um LLM juiz escolher o melhor. É o mecanismo do nó [**Escolher o melhor** (Choose Best)](https://nodaro.ai/docs/nodes/automate/choose-best).

**Permissão:** `workflows:execute`. **Créditos:** grátis nas estratégias lógicas. `pick-best-llm` custa 4, 11 ou 28 créditos, para um modelo juiz econômico, padrão ou premium.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `strategyId` | string | **Obrigatório.** `pick-best-llm`, `concat`, `first-non-empty`, `count`, `vote` ou `merge-json`. |
| `inputs` | array | **Obrigatório.** Até 1.000 strings: fragmentos de texto ou URLs. |
| `strategyConfig` | object | As configurações da estratégia, abaixo. |

| Estratégia | O que faz | `strategyConfig` |
| --- | --- | --- |
| `pick-best-llm` | Um LLM juiz escolhe o melhor candidato segundo os seus critérios | `criteria` (texto), `inputKind` (`text` ou `image-url`) e um `llmModel` opcional para o juiz |
| `concat` | Junta todas as entradas | `separator` |
| `first-non-empty` | Retorna a primeira entrada que não está vazia | nenhum |
| `count` | Conta as entradas | nenhum |
| `vote` | Retorna a entrada que aparece mais vezes; um empate fica com a primeira | `caseSensitive` |
| `merge-json` | Mescla objetos JSON | `strategy`: `deep` ou `shallow` |

**Retorna:** `jobId`, o `output` como string e `meta.summary`, que diz o que aconteceu. `pick-best-llm` também retorna `meta.selectedIndex` e `meta.reasoning`, a explicação do juiz.

Quando os candidatos forem imagens, defina `inputKind` como `image-url`. Com `text`, o juiz compara os links como texto, o que parece uma escolha real, mas não é.

## Frequently asked questions

### Qual é a diferença entre enhance_prompt e analyze_prompt?

enhance_prompt reescreve uma ideia bruta como um único prompt otimizado, numa só chamada. analyze_prompt primeiro retorna perguntas com opções, e generate_prompt monta o prompt a partir das suas respostas, para que você possa orientar o resultado.

### As ferramentas de prompt custam créditos?

Sim, um pouco. Cada chamada é uma execução de LLM, com preço definido pelo nível do modelo que você escolher. O modo avançado e os esforços de raciocínio mais altos são cobrados um nível acima, até o limite do premium.

### Como um assistente pode escolher a melhor entre várias imagens?

Chame reduce com a estratégia pick-best-llm, as URLs das imagens como entradas, inputKind definido como image-url e os seus critérios. O juiz retorna a vencedora, o índice dela e a justificativa.
