PopNowDocs da API
Integrações
Conteúdo principal

Fluxo do n8n para imagens e vídeo com IA

Gere imagens, vídeo e áudio com IA no n8n usando o nó HTTP Request nativo e a API do PopNow. JSON do fluxo para importar, configuração da credencial, loop de polling, webhooks e correção dos erros mais comuns.

O n8n não precisa de nó da comunidade para usar o PopNow: dois nós nativos HTTP Request, um Wait e um If bastam para criar uma tarefa, esperar por ela e entregar o arquivo ao resto do seu fluxo. O mesmo padrão funciona para todos os modelos de imagem, vídeo e áudio, então você pode mandar uma planilha de prompts para um modelo de texto para imagem, transformar fotos de produto novas em vídeos curtos ou gravar a narração de um roteiro linha por linha.

Esta página acompanha a página do n8n no popnow.ai, que monta o mesmo fluxo para o modelo que você escolher. No n8n self-hosted, você também pode instalar o nó da comunidade do PopNow: abra Settings > Community Nodes > Install e digite n8n-nodes-popnow (npm, GitHub).

Uma raposinha vermelha enrolada numa xícara de chá, gerada pelo Z-Image Turbo
O fluxo abaixo como está escrito: Z-Image Turbo, uma imagem quadrada, $0.01 USD.

O que você precisa

  • n8n 1.x (na nuvem ou self-hosted). O nó HTTP Request precisa ser da versão 4 ou mais nova.
  • Uma chave de API do PopNow, do console da API. Dê ao n8n uma chave própria com limite de gasto diário, para que um loop descontrolado não esvazie o seu saldo.
  • Fundos no seu saldo separado da API em USD. Ele começa em $0; adicione fundos em API billing. Os testes com o modelo abaixo custam $0.01 cada; créditos do site não pagam esses testes.

1. Crie a credencial

No n8n, abra Credentials → Add credential → Header Auth e preencha:

CampoValor
NamePopNow
Header nameAuthorization
Header valueBearer sk-popnow-… (sua chave, com a palavra Bearer e um espaço antes)

Para testar a chave antes de montar qualquer coisa, rode isto num terminal; ele lê o seu saldo e não custa nada:

curl "https://api.popnow.ai/api/v1/chat/credit" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Leia availableUsd, heldUsd e totalUsd como strings decimais em USD para o saldo da API.

2. Importe o fluxo

Copie o JSON, clique num espaço vazio da tela do n8n e cole. Depois abra Create task e Check task e selecione a credencial PopNow nos dois.

O fluxo roda assim: Start → Create task → Wait 5 s → Check task → Finished? Se a tarefa ainda estiver rodando, ele volta para a espera; quando ela termina, o nó File URL entrega state, fileUrl e error.

O que cada nó faz:

NóConfiguraçãoPor quê
Create taskPOST /api/v1/jobs/createTask, corpo JSON { "model", "input" }model é qualquer ID de modelo de Modelos; input precisa seguir o schema desse modelo
Create taskCabeçalho Idempotency-Key: {{ $execution.id }}Se o n8n repetir o nó, você recebe a mesma tarefa de volta em vez de pagar duas vezes. Veja Idempotência
Wait 5 s5 segundosImagens costumam terminar em uma ou duas voltas; vídeo leva de um a três minutos
Check taskGET /api/v1/jobs/recordInfo?taskId=…Lê o state e o output da tarefa
Finished?state é final e nenhum arquivo ainda está sendo copiadosucceeded, failed e expired são finais; veja Tarefas
File URLdata.output.assets[0].urlUm link assinado que funciona por uns 20 minutos. Baixe o arquivo no próximo nó se precisar guardá-lo

Troque o modelo ou a entrada

Edite o corpo JSON do Create task. A página de cada modelo lista o ID, os campos e o preço; algumas trocas comuns:

Objetivomodelinput
Texto melhor nas imagensgoogle/nano-banana-2.1/text-to-imageprompt, aspect_ratio, resolution ($0.048 em 1K)
Editar uma fotogoogle/nano-banana-2.1/editprompt, image_urls
Foto para vídeominimax/h3/image-to-videoprompt, image_url, duration_seconds ($0.185 por 5 s em 768p)
Narraçãogoogle/gemini-3.8-flash-tts/text-to-speechtext, voice_id

Para usar dados de um nó anterior, troque o corpo por uma expressão, por exemplo:

n8n expression for the JSON body
{{ JSON.stringify({ model: 'alibaba/z-image-turbo/text-to-image', input: { prompt: $json.prompt, aspect_ratio: '16:9' } }) }}

Arquivos de nós anteriores precisam de uma URL https pública ou de um upload antes; Mídia mostra as três chamadas de upload, que correspondem a três nós HTTP Request.

Use um webhook em vez de polling

Para tarefas longas de vídeo, deixe o PopNow chamar o n8n em vez de ficar em loop. Adicione um gatilho Webhook (POST) em um segundo fluxo, copie a URL de produção e passe-a como callBackUrl no corpo do Create task:

{
  "model": "minimax/h3/image-to-video",
  "input": { "image_url": "https://media.popnow.ai/movie/lighthouse.webp", "prompt": "The waves roll in slowly" },
  "callBackUrl": "https://your-n8n.example.com/webhook/popnow"
}

A URL do webhook precisa ser HTTPS pública, então um n8n local precisa de um túnel. Cada entrega é assinada; Webhooks mostra como verificar a assinatura num nó Code, e por que você deve guardar o request_id para ignorar entregas repetidas.

A mesma chamada fora do n8n

Útil para testar um corpo antes de colá-lo no nó.

curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask?wait=60" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"model": "alibaba/z-image-turbo/text-to-image", "input": {"prompt": "A small red fox curled up in a teacup, soft morning light, studio photo", "aspect_ratio": "1:1"}}'
Python
import os, uuid, requests

res = requests.post(
    "https://api.popnow.ai/api/v1/jobs/createTask",
    params={"wait": 60},
    headers={"Authorization": f"Bearer {os.environ['POPNOW_API_KEY']}", "Idempotency-Key": str(uuid.uuid4())},
    json={"model": "alibaba/z-image-turbo/text-to-image", "input": {"prompt": "A small red fox curled up in a teacup, soft morning light, studio photo", "aspect_ratio": "1:1"}},
    timeout=90,
).json()
print(res["data"]["state"], res["data"].get("output", {}).get("assets", [{}])[0].get("url"))
JavaScript
const res = await fetch('https://api.popnow.ai/api/v1/jobs/createTask?wait=60', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.POPNOW_API_KEY}`,
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify({
    model: 'alibaba/z-image-turbo/text-to-image',
    input: { prompt: 'A small red fox curled up in a teacup, soft morning light, studio photo', aspect_ratio: '1:1' },
  }),
});
const { data } = await res.json();
console.log(data.state, data.output?.assets?.[0]?.url);

Preços

O fluxo gasta USD da API só no Create task; ler tarefas é de graça. Uma tarefa que falha ou expira não custa nada, e um nó repetido com o mesmo Idempotency-Key não é cobrado duas vezes. Calcule o preço de cada modelo com jobs/quote antes de rodar em grande escala, e veja Saldo da API e reembolsos para as regras.

Erros comuns

O n8n mostraPor quêCorreção
401 no Create taskA credencial está faltando, ou o valor não tem Bearer O valor do cabeçalho precisa ser Bearer sk-popnow-…
code: 400 com um nome de campo em msgUm campo não está no schema do modelo, ou um valor está fora do intervaloConfira a página do modelo; campos desconhecidos são recusados
code: 40201USD insuficientes na API para a reserva desta tarefaAdicione fundos em API billing, ou escolha um modelo ou uma opção mais barata
code: 40202O limite de gasto da chave seria ultrapassadoAumente o limite desta chave no console da API
code: 429Requisições demaisAumente a espera, ou rode menos itens em paralelo; veja Limites de taxa
O loop nunca terminaA tarefa ainda está rodando, ou o Finished? lê o campo erradoVídeo pode levar minutos; confirme que o Check task lê o taskId do Create task
fileUrl funciona e depois retorna 403Links assinados duram uns 20 minutosBaixe o arquivo na mesma execução, ou leia a tarefa de novo para obter um link novo
state: failedO modelo não conseguiu terminar, ou recusou o conteúdoNada foi cobrado; leia o errorCode e veja Erros

Existe um nó da comunidade oficial do PopNow para o n8n?

Existe: o n8n-nodes-popnow está no npm e é código aberto no GitHub. No n8n self-hosted, abra Settings > Community Nodes > Install, digite n8n-nodes-popnow e confirme; pelo terminal, rode npm install n8n-nodes-popnow dentro de ~/.n8n/nodes e reinicie o n8n. Ele ainda não é um nó verificado, por isso o n8n Cloud não consegue instalá-lo. Você não precisa dele: o nó HTTP Request nativo cobre tudo o que a API faz, funciona no n8n Cloud, e o fluxo desta página entra com uma única colagem.

Dá para o n8n rodar várias gerações ao mesmo tempo?

Dá. Cada item que chega ao Create task vira uma tarefa própria, e elas são geradas em paralelo. Fique de olho nos limites de taxa e use um limite de gasto na chave.

Como salvo o arquivo gerado no Google Drive ou no S3?

Adicione um nó HTTP Request depois do File URL que baixe o fileUrl como arquivo (formato de resposta File), e depois passe-o para o nó do Google Drive, S3 ou qualquer outro armazenamento.

Nesta página