# Nodaro com o n8n

> Inicie um workflow do Nodaro no n8n com um nó HTTP Request e receba a imagem ou o vídeo pronto em um nó Webhook do n8n. Não é preciso chave de API.

Source: https://nodaro.ai/pt-BR/docs/guides/n8n-integration

O **n8n** pode iniciar qualquer workflow do Nodaro com uma única requisição HTTP e receber a imagem, o vídeo ou o áudio pronto em um nó Webhook do n8n. O Nodaro faz a geração. O n8n decide quando a execução acontece e para onde o resultado vai depois. Nenhuma das duas direções precisa de uma chave de API do Nodaro, porque o próprio endereço de webhook do workflow inicia a execução.

## Como os dois se conectam
1. Um nó **HTTP Request** do n8n envia por POST um corpo JSON, por exemplo um prompt, ao endereço de webhook de um workflow do Nodaro.
2. O workflow do Nodaro começa com um [Gatilho de webhook](https://nodaro.ai/docs/nodes/automate/webhook-trigger), executa os nós dele e termina com uma [Saída de webhook](https://nodaro.ai/docs/nodes/publish/webhook-output).
3. A Saída de webhook envia o resultado por POST a um nó **Webhook** do n8n, e o restante do seu workflow do n8n continua a partir dali.

Workflow: O lado do Nodaro: o n8n inicia o Gatilho de webhook, e a Saída de webhook envia o endereço da imagem de volta ao n8n.

- Gatilho de webhook → Gerar imagem (prompt)
- Gerar imagem → Saída de webhook (image_url)

## Etapa 1: receber o resultado no n8n
Crie primeiro o lado que recebe, porque o workflow do Nodaro precisa do endereço dele.

1. No n8n, adicione um nó **Webhook**.
2. Defina **HTTP Method** como **POST** e dê ao nó um **Path**, por exemplo `nodaro-result`.
3. Mantenha **Respond** em **Immediately**, para que o n8n responda ao Nodaro na hora.
4. Copie a **Production URL**.

O n8n registra a Production URL quando você publica o workflow do n8n. A **Test URL** escuta por apenas 120 segundos depois que você seleciona **Listen for test event**; por isso, use-a só enquanto monta o workflow.

## Etapa 2: montar o workflow do Nodaro
1. Adicione um nó **Gatilho de webhook**. Em **Parâmetros de saída**, adicione um parâmetro chamado `prompt`, do tipo **Texto**.
2. Conecte a saída `prompt` à entrada de prompt de um nó [Gerar imagem](https://nodaro.ai/docs/nodes/image/generate-image), ou de qualquer outro nó que crie um resultado.
3. Adicione um nó **Saída de webhook**. Cole a Production URL do n8n em **URL do webhook**. Em **Parâmetros de entrada**, adicione `image_url`, do tipo **URL de imagem**, e conecte a imagem a ele.
4. Salve o workflow. Selecione o Gatilho de webhook e copie o endereço dele em **URL do webhook**.

O endereço tem a forma `https://app.nodaro.ai/v1/webhooks/<token>`. O token funciona como uma senha: qualquer pessoa que tenha o endereço pode iniciar o workflow.

## Etapa 3: iniciar a execução pelo n8n
1. No n8n, adicione um nó **HTTP Request** no ponto em que a execução deve começar.
2. Defina **Method** como **POST** e cole o endereço do Nodaro em **URL**.
3. Ative **Send Body**, defina **Body Content Type** como **JSON** e escolha **Using JSON** em **Specify Body**.
4. Digite o corpo. As chaves são os nomes dos seus parâmetros de saída:

```json
{ "prompt": "{{ $json.prompt }}" }
```

Um jeito mais rápido: selecione **Import cURL** no nó HTTP Request e cole este comando com o seu token:

```bash
curl -X POST "https://app.nodaro.ai/v1/webhooks/<token>" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "A red kite over a green hill, morning light"}'
```

## O que volta
O Nodaro responde ao nó HTTP Request na hora, antes de gerar qualquer coisa. A resposta é `202`, com o ID da execução:

```json
{ "executionId": "3f9e2b1a-7c6d-4e5f-8a9b-0c1d2e3f4a5b", "status": "pending" }
```

Quando a execução termina, a Saída de webhook envia o resultado por POST ao seu nó Webhook do n8n. O corpo tem uma chave por parâmetro de entrada, e os valores de mídia são endereços de arquivos no Nodaro:

```json
{ "image_url": "https://cdn.nodaro.ai/images/2538b658-d2e1-42ee-890a-72ce06089feb.png" }
```

No n8n, o corpo recebido fica em `body`; por isso, o nó seguinte lê o endereço como `{{ $json.body.image_url }}`.

## Consultar periodicamente em vez de usar um webhook
Quando o n8n não consegue receber uma requisição vinda da internet, consulte o resultado periodicamente com um [token de API pessoal](https://nodaro.ai/docs/developers/api/authentication). A consulta periódica funciona para workflows dos seus projetos pessoais.

1. Mantenha o nó HTTP Request da etapa 3. Ele retorna o `executionId`.
2. Adicione um nó **Wait** com **Resume** definido como **After Time Interval**, por exemplo 10 segundos.
3. Adicione um nó **HTTP Request** com **Method** **GET** e a URL `https://app.nodaro.ai/v1/api/status/{{ $json.executionId }}`. Envie o cabeçalho `Authorization` com o valor `Bearer <your API token>`, salvo como credencial do n8n.
4. Adicione um nó **If**. Enquanto `status` for `pending` ou `running`, conecte o ramo dele de volta ao nó Wait.
5. Quando o status for `completed`, chame `https://app.nodaro.ai/v1/api/result/<executionId>` do mesmo jeito. A resposta lista as saídas da execução com os endereços delas.

[Executar um workflow com novos valores de entrada](https://nodaro.ai/docs/developers/api/workflows#run-a-workflow-with-new-input-values) descreve as respostas de status e de resultado.

## Limites a considerar
| Limite | O que acontece | O que fazer |
| --- | --- | --- |
| Uma execução por vez em cada workflow | Uma requisição durante uma execução responde `409`, com o `executionId` da execução em andamento. | Envie a próxima requisição depois que o resultado anterior chegar, ou copie o workflow. |
| 10 requisições por minuto por endereço | As requisições a mais respondem `429`. | Espace as requisições. |
| Uma única tentativa de entrega | A Saída de webhook espera 30 segundos por uma resposta e não tenta de novo. Uma entrega com falha faz o nó falhar. | Mantenha **Respond** em **Immediately** e publique o workflow do n8n. |
| Só endereços públicos https:// | A Saída de webhook não envia para localhost nem para endereços privados. | Use o n8n Cloud, ou dê um endereço público a um n8n auto-hospedado. |

## Quanto custa
O Gatilho de webhook e a Saída de webhook não custam nada. Você paga os créditos dos nós entre eles, pelos mesmos preços do editor. No exemplo acima, cada execução custa o preço de uma imagem do Nano Banana 2, 22 créditos. Os créditos reservados para um nó que falha voltam automaticamente.

O mesmo padrão funciona no [Make](https://nodaro.ai/docs/guides/make-integration) e no [Zapier](https://nodaro.ai/docs/guides/zapier-integration). [Automações](https://nodaro.ai/docs/guides/automations) trata dos agendamentos e das outras formas de iniciar um workflow.

## Perguntas frequentes

### Preciso de uma chave de API do Nodaro para usar o Nodaro pelo n8n?

Não. O nó HTTP Request do n8n inicia a execução pelo endereço de webhook do workflow do Nodaro, e o nó Saída de webhook envia o resultado de volta ao n8n. Você só precisa de uma chave de API se consultar o resultado periodicamente.

### Como o n8n recebe a imagem ou o vídeo pronto?

Coloque um nó Saída de webhook no fim do workflow do Nodaro e cole nele a Production URL de um nó Webhook do n8n. Quando a execução termina, o Nodaro envia ao n8n um corpo JSON com o endereço do resultado.

### Por que o Nodaro responde 409?

O workflow do Nodaro já tem uma execução em andamento, e um workflow atende uma requisição por vez. Envie a próxima requisição depois que o resultado anterior chegar, ou faça uma cópia do workflow para execuções em paralelo.

### Um n8n auto-hospedado pode receber o resultado?

Sim, quando o Nodaro consegue alcançá-lo. O nó Saída de webhook envia para um endereço público https://; por isso, um n8n que roda só em localhost precisa antes de um endereço público, por exemplo um túnel.

### Quanto custa?

O Gatilho de webhook e a Saída de webhook são gratuitos. Você paga os créditos dos nós entre eles, pelos mesmos preços do editor.
