New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

n8n-nodes-popnow

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

n8n-nodes-popnow

n8n community node for PopNow (popnow.ai): AI video, image, music and speech generation with Kling, Seedance, Wan, Nano Banana, Flux, Suno and more, priced in credits before every run.

latest
Source
npmnpm
Version
0.1.1
Version published
Weekly downloads
68
Maintainers
1
Weekly downloads
 
Created
Source

PopNow

PopNow n8n Node — AI Video, Image & Music Generation in n8n Workflows

n8n-nodes-popnow is the n8n community node for PopNow, a single API for AI video, image, music and speech generation with models such as Kling, Seedance, Wan, Vidu, MiniMax, Nano Banana, GPT Image, Flux and Suno, priced in credits before every run.

License: MIT TypeScript n8n community node Website Docs

PopNow is a browser-based AI studio for videos, images and music: image-to-video, text-to-video, AI images, music and speech, one-tap trending video effects and image styles. This node brings the same models, prices and credit wallet as popnow.ai into n8n: pick a model, fill in a form generated from its schema, and get the finished file back as n8n binary data.

Install status: the npm release (and with it one-click install from n8n's Community nodes screen) is coming. Until then, install it manually from GitHub as shown below, or use the HTTP Request workflow that needs no install at all.

Quickstart

1. Install the node on self-hosted n8n: open Settings > Community Nodes > Install, enter n8n-nodes-popnow and confirm. Or from a shell, then restart n8n:

mkdir -p ~/.n8n/nodes && cd ~/.n8n/nodes
npm install n8n-nodes-popnow

2. Connect your account: create a PopNow API credential with a key from popnow.ai/api/console/keys (sk-popnow-...).

3. Generate: add the PopNow node, choose Image > Generate, pick alibaba/z-image-turbo/text-to-image (about 2 credits), type a prompt and run it. The image arrives in the data binary field, ready for Google Drive, S3, Slack or any other node.

Installation

Unverified community nodes run on self-hosted n8n. On n8n Cloud, use the HTTP Request workflow instead.

The package is on npm as n8n-nodes-popnow. The easiest way in is Settings > Community Nodes > Install in the n8n editor; the shell and Docker methods below do the same thing.

npm / bare-metal n8n

mkdir -p ~/.n8n/nodes && cd ~/.n8n/nodes
npm install n8n-nodes-popnow
# then restart n8n

n8n loads every n8n-nodes-* package in ~/.n8n/nodes/node_modules at startup. In queue mode, install it the same way on the main instance and on every worker. To update, run the same npm install again and restart. To remove it, run npm uninstall n8n-nodes-popnow in the same folder.

Docker: install into a running container

The official image keeps ~/.n8n on the /home/node/.n8n volume, so a package installed there survives image upgrades:

docker exec -it n8n sh -c 'mkdir -p ~/.n8n/nodes && cd ~/.n8n/nodes && npm install n8n-nodes-popnow'
docker restart n8n

Replace n8n with your container name.

Docker: custom image

To bake the node into an image instead, install it outside the ~/.n8n volume and point N8N_CUSTOM_EXTENSIONS at it:

FROM n8nio/n8n:latest

USER root
RUN mkdir -p /opt/n8n-custom-nodes \
 && cd /opt/n8n-custom-nodes \
 && npm init -y > /dev/null \
 && npm install --omit=dev n8n-nodes-popnow \
 && chown -R node:node /opt/n8n-custom-nodes
USER node

ENV N8N_CUSTOM_EXTENSIONS=/opt/n8n-custom-nodes/node_modules/n8n-nodes-popnow
docker build -t n8n-popnow .
docker run -it --rm -p 5678:5678 -v n8n_data:/home/node/.n8n n8n-popnow

n8n registers nodes from custom extension folders under its custom prefix, so use one install method per instance and keep it; workflows reference the node by that registered name.

Build from source

git clone https://github.com/popnow-ai/n8n-nodes-popnow.git
cd n8n-nodes-popnow
npm ci && npm run build && npm pack          # creates n8n-nodes-popnow-<version>.tgz
cd ~/.n8n/nodes && npm install /path/to/n8n-nodes-popnow/n8n-nodes-popnow-<version>.tgz

From npm (coming)

Once the package is on npm, you will be able to install it from Settings > Community nodes > Install by entering n8n-nodes-popnow.

Credentials

Create a PopNow API credential:

FieldValue
API KeyA key from popnow.ai/api/console/keys. It starts with sk-popnow-.
Base URLLeave https://api.popnow.ai unless PopNow support tells you otherwise.

Saving the credential checks the key by reading your balance (GET /api/v1/chat/credit; the path name is historical and has nothing to do with chat), which is free. Give n8n its own key with a spend cap in the API console: automations can run far more often than a person clicks.

Operations

ResourceOperationWhat it doesAPI call
ImageGenerateText to image, image editing, upscaling, background removal and other image modelsjobs/quote, jobs/createTask, jobs/recordInfo
VideoGenerateText to video, image to video, video extend and other video modelssame
AudioGenerateText to speech, music and other audio modelssame
TaskGetRead a task by ID, optionally wait for it and download its filesGET /api/v1/jobs/recordInfo
TaskRetryCreate a new task from a failed or expired one, optionally wait and downloadPOST /api/v1/jobs/retry
FileUploadUpload a binary file and get a popnow://f/... URI to use as model inputcommon/upload-url, PUT, files/{id}/commit
ModelGet ManyThe model catalogue with credit prices, filtered by modality and keywordGET /api/v1/models
ModelGetOne model with its input schema, examples and credit priceGET /api/v1/models/{model}
ModelGet QuoteThe exact price of a request in credits, without running itPOST /api/v1/jobs/quote
AccountGet BalanceAvailable, held and total balance in credits and US dollarsGET /api/v1/chat/credit

The node is marked usable as a tool, so an n8n AI Agent can call it too.

Example models

Every image, video and audio model on PopNow works with the same node. A model ID is <maker>/<model>/<task>; the model picker lists the live catalogue with prices.

KindExample model IDs
Text to imagealibaba/z-image-turbo/text-to-image, google/nano-banana-2.1/text-to-image, openai/gpt-image-2/text-to-image, black-forest-labs/flux-2-dev/text-to-image
Image editinggoogle/nano-banana-2.1/edit, alibaba/qwen-image-2.1/edit, popnow/background-remover-v1/edit, popnow/image-upscaler-v1/upscale
Image to videokling/3.0/image-to-video, minimax/h3/image-to-video, alibaba/wan-3.0/image-to-video, bytedance/seedance-1.5-pro/image-to-video
Text to videokling/3.0/text-to-video, alibaba/wan-3.0/text-to-video, minimax/h3/text-to-video
Music and speechsuno/v6/text-to-audio, google/gemini-3.8-flash-tts/text-to-speech, alibaba/qwen-3-tts/text-to-speech

Generating images, video and audio

  • Model: pick from the list (models of the selected resource with their starting price in credits) or enter a model ID. Every model, its fields and price are listed at popnow.ai/models.
  • Prompt: the model's main text input. For speech models this is the text to speak. Leave it empty for models without a prompt, such as upscalers.
  • Media Inputs: images, videos or audio the model reads. Pick the field (the list shows the selected model's file inputs), then either a binary field from the previous node or a URL: a public https:// link, a popnow://f/... URI from File > Upload, or a popnow://a/... URI of a saved asset. Binary files are uploaded automatically. Add several inputs for the same field to fill list fields such as reference images.
  • Model Parameters: a form generated from the model's input schema (aspect ratio, resolution, duration, seed and so on). Fields left empty are not sent, so the model uses its own default.
  • Additional Parameters (JSON): any other input fields as a JSON object. They override the fields above.

The output is the task record (taskId, state, credits, cost, settled, output) and, with Download Output on (the default), the files as binary data in data, data_1 and so on. Links in output.assets[].url expire after about 20 minutes; the binary copies do not.

Large videos are held in memory unless n8n stores binary data on disk. On self-hosted n8n, set N8N_DEFAULT_BINARY_DATA_MODE=filesystem when you work with video.

Credit limits and retries

  • Every item is priced first. The node calls jobs/quote, and when the quote is above Max Credits per Item (default 200 credits = $2) it stops with an error before anything is created. Nothing is charged. Set the limit to 0 to remove it. 1 credit = $0.01.
  • The task is created at the quoted price. The node sends quoteId and expectedCredits with createTask. If the price changed in between (code 40901), it quotes again, checks the limit again and resubmits under the same key.
  • Retries never charge twice. Each item is sent with an Idempotency-Key derived from the execution, the node, the item and its input. When n8n retries the node (Retry On Fail) or a request times out and is resent, PopNow returns the task it already created. A new execution, a changed input or another loop pass is new work and gets a new key.
  • Failed runs are refunded. Failed and expired tasks release their hold. See credits and refunds.
  • Retention: the Retention (Seconds) option sends X-PopNow-Retention to delete a task's prompt and files sooner than your account default.

Long-running tasks

By default the node waits for the result: image and audio models usually answer within one request (the node asks the API to hold the connection for up to 50 seconds), and video is polled with backoff until the task's own deadline. Set Max Wait Time to stop earlier. When the node stops waiting, the task keeps running and is charged if it succeeds, so fetch it later with Task > Get instead of submitting it again.

For long videos you can avoid holding an execution open:

  • Turn off Wait for Completion, then use a Wait node and Task > Get (with Wait for Completion on).
  • Or set Callback URL to {{ $execution.resumeUrl }} and follow with a Wait node set to resume on a webhook call. Your n8n instance must be reachable over public HTTPS. After it resumes, read the task with Task > Get rather than trusting the callback body (or verify the signature as described in webhooks).

Errors

Errors show the API's message, a hint on what to do, the HTTP status, the business code and the request_id (include it when you contact support). Transient failures (network errors, 429, 500, 502-504, 50301) are retried with backoff and Retry-After. Turn on Continue On Fail to get an item with error, description and taskId instead of stopping the workflow.

CodeMeaningWhat to do
401The API key is missing or invalidCheck the credential
40201Not enough credits for the task's holdBuy credits at popnow.ai/pricing
40202The key's spend cap was reachedRaise the cap in the API console
40301The key may not call this modelAllow the model for the key
40901The price changed between quote and createHandled automatically once; run again otherwise
429Too many requestsRun fewer items in parallel; see limits
state: failedThe model could not finish or declined the contentNothing was charged; read errorCode

Full list: popnow.ai/docs/errors.

Alternative: HTTP Request workflow (no install)

If you cannot install community nodes (for example on n8n Cloud), import examples/http-request-workflow.json. It uses only built-in nodes: Start > Create task > Wait 5 s > Check task > Finished?, looping until the task is done, then File URL outputs state, fileUrl and error.

  • In n8n open Credentials > Add credential > Header Auth: name PopNow, header name Authorization, value Bearer sk-popnow-....
  • Copy the JSON file's contents, click an empty spot on the canvas and paste (or use Workflow menu > Import from File).
  • Select the PopNow credential in Create task and Check task, then run it. The example uses alibaba/z-image-turbo/text-to-image and costs about 2 credits.

To change the model or the input, edit the JSON body of Create task. The n8n guide on popnow.ai explains each node, webhooks instead of polling, and common errors.

FAQ

How do I generate AI images in n8n?

Install this node, add a PopNow API credential, then use Image > Generate with a text-to-image model such as alibaba/z-image-turbo/text-to-image. The image comes back as binary data you can pass to any storage or messaging node.

How do I turn an image into a video with n8n?

Use Video > Generate with an image-to-video model such as kling/3.0/image-to-video or minimax/h3/image-to-video. Add a Media Input for image_url from the incoming item's binary field or from a URL; binary files are uploaded for you.

Is there an official PopNow community node for n8n?

Yes, this repository, published on npm as n8n-nodes-popnow. On self-hosted n8n, install it from Settings > Community Nodes or with npm install n8n-nodes-popnow in ~/.n8n/nodes.

Can I use PopNow on n8n Cloud?

n8n Cloud only installs verified community nodes, so use the HTTP Request workflow. It calls the same API with built-in nodes.

How much does a generation cost, and can I cap it?

Prices are in credits (1 credit = $0.01), the same as on popnow.ai. Every item is quoted first and the node refuses to run anything above Max Credits per Item. Use Model > Get Quote to price a request without running it. Failed runs are refunded. See pricing.

Will a retried n8n node charge me twice?

No. The node sends a deterministic Idempotency-Key per execution, node, item and input, so a retry gets the original task back.

Can n8n run several generations at once?

Yes. Each incoming item becomes its own task. Keep an eye on the rate limits and use a spend cap on the key.

Development

npm ci            # install scripts stay off (.npmrc)
npm run lint      # n8n community node rules (strict mode)
npm test          # builds, then runs the unit tests in test/ with a fake API
npm run dev       # starts n8n with this node and rebuilds on change

Tests never call the live API. test/repo-guard.test.js also checks that every tracked file is English.

License

MIT © PopNow

Keywords

n8n-community-node-package

FAQs

Package last updated on 19 Oct 2026

Related posts